Roman Kyrylych schrieb:
OK, I've attached the patch below.
I've successfully tested it in the following configurations: 1) LOCALE="uk_UA.utf8" KEYMAP="ua-utf" CONSOLEFONT=cyr-sun16 CONSOLEMAP= 2) LOCALE="uk_UA.koi8-u" KEYMAP="ua" CONSOLEFONT=koi8u_8x16 CONSOLEMAP= 3) LOCALE="ru_RU.koi8-r" KEYMAP="ru" CONSOLEFONT=Cyr_a8x16 CONSOLEMAP=koi2alt 4) LOCALE="uk_UA.utf8" KEYMAP="ua-utf" CONSOLEFONT=LatArCyrHeb-16 CONSOLEMAP=
I would like to hear a confirmation that original report in http://bugs.archlinux.org/task/7641 is fixed too.
Few notices: 1) It seems that "\e(K" is non needed for UTF-8 mode, right now it is appended to locale.sh in when CONSOLEFONT is set, regardless of LOCALE. But it doesn't hurt and I didn't want to complicate our if/then/else magic more. 2) *If* we'll have localized dmesg, rc.* output or /etc/issue in future - we'll need to echo "\e%G" or "\e(K" for current (or, for /etc/issue - all consoles) in rc.sysinit too, because right now non-Latin chars will get correctly displayed only after login. I think we don't need this because a) we don't have localized dmesg and rc.* output and b) if user wants non-Latin chars in /etc/issue - he can incorporate "\e%G" or "\e(K" codes directly in /etc/issue. 3) With some fonts (e.g. LatArCyrHeb-16) everything printed on screen before setfont is broken - I couldn't find the way to avoid this. IMO this is a non-issue (at least noone even complained about this ever). All 3 are not bugs.
I applied your patch. However, doesn't your patch (re)introduce a problem with non-latin characters in user names? The reason we set the UTF8 consoles was that login wouldn't use UTF-8 otherwise. http://projects.archlinux.org/git/?p=initscripts.git;a=summary
I remember runlevel switching issues (switching from 3rd to 1st to 3rd level is wrong) but it's not very important (exists for more than year already) because almost nobody does this.
Why not shutdown *all* daemons in reverse order, not just those that are not in DAEMONS?
That breaks if you restart a daemon after you booted, because it will be shut down in the beginning. This will hurt if you restart network, because umounting network filesystems will hang indefinitely.