Dan Nicholson пишет: > After the error the other day with dash and glibc-2.3.6, I decided to > install dash[1] and give it a whirl as /bin/sh. Things went mostly > pretty well with respect to rogue bashisms throughout the system. I've > attached some patches to fix up the bootscripts while consulting the > POSIX spec on shells[2]. > > First patch is to eliminated "echo -[en]" since it's not always > supported by POSIX shells. I chose to use printf since it was a > builtin in dash. I didn't notice until later that it's not mentioned > in POSIX. And the executable printf is in /usr/bin. We can maintain > the same "echo -[en]" syntax by switching in /bin/echo everywhere, > too.
Could you please install posh from http://ftp.debian.org/debian/pool/main/p/posh/posh_0.5.4.tar.gz and test whether it reveals any additional breakage? > Second patch is just a tweak for boot_mesg. There's an excessive > pipeline using sed and grep to count the characters in the input > string. Fortunately, POSIX mandates that shells respect ${#var} to > return the length of the string. I chose to add 1 for an extra space > (the old way ended up with 2 spaces for some reason). $((...)) can be > used for arithmetic expansion according to POSIX. The reason for this sed was that I planned to include translation of boot messages and cope with broken shells like ash that don't count characters in UTF-8 locales properly (i.e., the reality is that ${#var} is a bashism, even though it is mandated by POSIX). However, since two earlier attempts produced working boot scripts that caused absolutely no interest in the LFS community, I revoke the plan, and propose to use ${#var}, because it works correctly for English messages (and our bootscripts will not produce anything else). > ## Figure out the length of what is to be printed to be used > - ## for warning messges. > - STRING_LENGTH="`echo "${1}" | sed \ > - -e 's,.,.,g' -e 'l 1' | grep -c \$`" > + ## for warning messges. > + STRING_LENGTH=$((${#1} + 1)) +1 -- Alexander E. Patrakov -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page