FS#26178 - [initscripts] 2011.09.2-1 rc.conf sourced by locale.sh breaks if login sh isn't bash-compatible

Attached to Project: Arch Linux
Opened by fmk (clownish) - Saturday, 01 October 2011, 17:31 GMT
Last edited by Tom Gundersen (tomegun) - Tuesday, 18 October 2011, 16:51 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Tom Gundersen (tomegun)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

At login, the login shell sources /etc/profile which in turn sources /etc/profile.d/locale.sh, which sources rc.conf, which breaks when sourced by a shell which is not bash-compatible (dash e.g).
Setting the right LOCALE directly in locale.sh and removing '. /etc/rc.conf' solves this.

Additional info:
* package version(s) initscripts-2011.09.2
* config and/or log files etc.


Steps to reproduce:
Set login shell to something nonbash-compatible like dash and log in. (e.g dash will break with: '-dash: 42: /etc/rc.conf: Syntax error: "(" unexcepted'
This task depends upon

Closed by  Tom Gundersen (tomegun)
Tuesday, 18 October 2011, 16:51 GMT
Reason for closing:  Implemented
Comment by quantax (quantax) - Sunday, 16 October 2011, 23:51 GMT
Here is a quick hack allowing bash incompatible shells setting LOCALE.
Comment by Tom Gundersen (tomegun) - Monday, 17 October 2011, 05:29 GMT
@quantax: thanks, I might end up using something like this (I was just about to get this done today). However, I don't think the users of dash would appreciate bash being ran all the time, so I'd like to find some better way, maybe using grep. Also, I'd like a solution that fixes all of rc.conf being sourced (we don't want all these vars in the environment).
Comment by Matthias Dienstbier (fs4000) - Tuesday, 18 October 2011, 11:20 GMT
In the current solution I don't think DAEMON_LOCALE with locale.conf will work because $LANG doesn't get exported.
Comment by Tom Gundersen (tomegun) - Tuesday, 18 October 2011, 16:50 GMT
The fix for this is in [testing]. Thanks for pointing it out.

Loading...