FS#8843 - [initscripts-2007.11-2] no colors in rc.sysinit when /usr is on a separate partition
Attached to Project:
Arch Linux
Opened by Roman Kyrylych (Romashka) - Wednesday, 05 December 2007, 15:27 GMT
Last edited by Roman Kyrylych (Romashka) - Thursday, 28 February 2008, 10:28 GMT
Opened by Roman Kyrylych (Romashka) - Wednesday, 05 December 2007, 15:27 GMT
Last edited by Roman Kyrylych (Romashka) - Thursday, 28 February 2008, 10:28 GMT
|
Details
When /usr is on a separate partition user will see no colors
until a first output of rc.multi (first daemon starts)
This is because `tput colors` cannot find terminal 'linux' because /etc/rc.d/functions is sourced at the top of rc.sysinit when /usr/share/terminfo doesn't exist yet (/usr is not mounted). When tput cannot find terminal it returns 3 as exit code while TERM_COLORS is assigned an empty string, thus -n $TERM_COLORS fails and USECOLOR is reset. On the next sourcing of /etc/rc.d/functions (which happens in rc.multi) everything is OK because /usr is mounted. P.S.: this one was hard to track, we've spent almost a hour on #archlinux-ua trying to catch it, including >10 reboots. :-) |
This task depends upon
Thomas, please check it on some weird terminal(s) (for which that change between 2007.11-1 and 2007.11-2 was made).
http://code.phraktured.net/?p=initscripts.git;a=commitdiff;h=24da9b477fa1fc813950ff3401bb4054d045eae5
For the record, a quick way to test would be to rename your terminfo directory so that tput errors.
The only difference is that your patch explicitly sets USECOLORS to "Y" which may be not what user wants.
I think it's ok without USECOLORS="Y" line.