Package: locales Version: 2.3.2.ds1-21 Severity: normal Tags: patch This patch prepends LC_ALL=C to locale-dependent commands. With et_EE locale, z is sorted after s, so it is not the last letter: $ echo pqrstuvwxyz | LC_ALL=C sed -e 's/[a-z]//g'
$ echo pqrstuvwxyz | LC_ALL=et_EE sed -e 's/[a-z]//g' tuvwxy Denis
Index: debhelper.in/locales.config =================================================================== --- debhelper.in/locales.config (revision 932) +++ debhelper.in/locales.config (working copy) @@ -15,7 +15,7 @@ # With current implementation, this string has to be removed. grep -q "Leave alone" $LG && sed -e '/^Leave alone/d' $LG > $LG.tmp && mv $LG.tmp $LG - SELECTED_LOCALES=$(sed -e '/^[a-zA-Z]/!d' $LG | tr '\n' ',' | sed -e 's/,/, /g' -e 's/, *$//') + SELECTED_LOCALES=$(LC_ALL=C sed -e '/^[a-zA-Z]/!d' $LG | tr '\n' ',' | sed -e 's/,/, /g' -e 's/, *$//') db_set locales/locales_to_be_generated "${SELECTED_LOCALES}" else LG=/dev/null @@ -29,7 +29,7 @@ # Add a newline in case /etc/locale.gen has no trailing newline at EOF SUPPORTED_LOCALES=" __SUPPORTED_LOCALES__" -SUPPORTED_LOCALES=$( (cat $LG && echo "$SUPPORTED_LOCALES") | sed -e '/^[a-zA-Z]/!d' | sort -u | tr '\n' ',' | sed -e 's/,/, /g' -e 's/, *$//') +SUPPORTED_LOCALES=$( (cat $LG && echo "$SUPPORTED_LOCALES") | LC_ALL=C sed -e '/^[a-zA-Z]/!d' | LC_ALL=C sort -u | tr '\n' ',' | sed -e 's/,/, /g' -e 's/, *$//') db_subst locales/locales_to_be_generated locales "${SUPPORTED_LOCALES}" STATE=1 Index: debhelper.in/locales.postinst =================================================================== --- debhelper.in/locales.postinst (revision 932) +++ debhelper.in/locales.postinst (working copy) @@ -15,7 +15,7 @@ if [ -n "$SELECTED_LOCALES" ]; then if [ -e $LG ]; then # Comment previous defined locales - sed -e 's/^[a-zA-Z]/#&/' $LG > $LG.tmp || true + LC_ALL=C sed -e 's/^[a-zA-Z]/#&/' $LG > $LG.tmp || true mv -f $LG.tmp $LG last=`tail -n 1 "$LG"` if test -n "$last"; then echo >> $LG; fi @@ -45,7 +45,7 @@ IFS=$save_IFS else if [ -e $LG ]; then - sed -e 's/^[a-zA-Z]/#&/' $LG > $LG.tmp || true + LC_ALL=C sed -e 's/^[a-zA-Z]/#&/' $LG > $LG.tmp || true mv -f $LG.tmp $LG fi fi