#! /bin/sh # Original files are copied into localedata.orig and patched files are # put under localedata if [ ! -d localedata.orig ]; then cp -a localedata localedata.orig patch -p0 < collate-iso.patch # Workaround for BZ645 so that iso14651_t1 has only one ruleset sed -i -e '/^order_start /,$s/^order_start/#&/' localedata/locales/iso14651_t1 fi # Generate locales tempdir=$(mktemp -d) rm -rf "$tempdir/orig" "$tempdir/new" mkdir "$tempdir/orig" "$tempdir/new" for l in ca_ES da_DK en_CA es_US fi_FI nb_NO do I18NPATH=$(pwd)/localedata.orig localedef -c --no-archive -i $l -f ISO-8859-1 "$tempdir/orig/$l" I18NPATH=$(pwd)/localedata localedef -c --no-archive -i $l -f ISO-8859-1 "$tempdir/new/$l" done # Generate sorted output for l in ca_ES da_DK en_CA es_US fi_FI nb_NO do LOCPATH="$tempdir/orig" LC_ALL=$l ./tst-show-table-sorted > $l.orig LOCPATH="$tempdir/new" LC_ALL=$l ./tst-show-table-sorted > $l.new done # Compare output # : FEMININE ORDINAL INDICATOR # : MASCULINE ORDINAL INDICATOR # : LATIN CAPITAL LETTER ETH # : LATIN SMALL LETTER ETH # : LATIN CAPITAL LETTER THORN # : LATIN SMALL LETTER THORN # : LATIN SMALL LETTER SHARP S diff -u -I '' -I '' -I '' ca_ES.orig ca_ES.new > ca_ES.diff diff -u -I '' -I '' da_DK.orig da_DK.new > da_DK.diff diff -u -I '' -I '' -I '' en_CA.orig en_CA.new > en_CA.diff diff -u -I '' -I '' -I '' es_US.orig es_US.new > es_US.diff # Original fi_FI does not define collation rules for / diff -u -I '' -I '' -I '' fi_FI.orig fi_FI.new > fi_FI.diff diff -u -I '' -I '' nb_NO.orig nb_NO.new > nb_NO.diff ls -l *.diff