summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlibc/debian/locale-gen4
-rw-r--r--libc/debian/locales.install4
-rwxr-xr-xlibc/debian/locales.postinst2
-rwxr-xr-xlibc/debian/rules12
4 files changed, 17 insertions, 5 deletions
diff --git a/libc/debian/locale-gen b/libc/debian/locale-gen
index 5fab9b8..8219554 100755
--- a/libc/debian/locale-gen
+++ b/libc/debian/locale-gen
@@ -41,7 +41,9 @@ while read locale charset; do
echo -n ".$charset"
echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`
echo -n '...'
- localedef -i $LOCALES/$locale.src -f $LOCALES/$charset.cm \
+
+ (cat $LOCALES/$locale.src && gunzip -c /usr/share/i18n/LC_DATA.gz) | \
+ localedef -f $LOCALES/$charset.cm \
/usr/lib/locale/$locale || :
echo ' done'
done < $LOCALEGEN
diff --git a/libc/debian/locales.install b/libc/debian/locales.install
index 8bd9daa..1e76e59 100644
--- a/libc/debian/locales.install
+++ b/libc/debian/locales.install
@@ -1,5 +1,7 @@
-localedef/data/* /usr/share/i18n/locales/
+localedef/data/*.src /usr/share/i18n/locales/
+localedef/data/*.cm /usr/share/i18n/locales/
localedef/localedef /usr/bin/
debian/locale-gen /usr/sbin/
debian/update-locale /usr/sbin/
debian/SUPPORTED /usr/share/i18n/
+debian/LC_DATA.gz /usr/share/i18n/
diff --git a/libc/debian/locales.postinst b/libc/debian/locales.postinst
index 333b552..7871e53 100755
--- a/libc/debian/locales.postinst
+++ b/libc/debian/locales.postinst
@@ -51,12 +51,10 @@ EOF
fi
done
- set -x
# Uncomment selected locales
echo "$SELECTED_LOCALES" | while read locale ; do
sed -i -e "0,/^[# ]*$locale *$/ s/^[# ]*$locale *$/$locale/" $LG
done
- set +x
fi
# Update requested locales if locales-all is not installed
diff --git a/libc/debian/rules b/libc/debian/rules
index 93629cc..9095ea5 100755
--- a/libc/debian/rules
+++ b/libc/debian/rules
@@ -20,6 +20,13 @@ localedef/localedef: $(localedef_src)
# Usage:
# ./localedef/localedef -U -i localedef/data/ru_RU.UTF-8.src -f localedef/data/UTF-8.cm ru_RU.UTF-8
+# We remove LC_DATA from all *.UTF-8.src
+# and when regenerating locales will insert contents of LC_DATA
+# into source locale file. Illumos localedef does not support
+# copy action for including other files source files.
+debian/LC_DATA.gz:
+ sh localedef/data/ctype.sh localedef/data/*.UTF-8.src | gzip -c -9 > $@
+
override_dh_auto_build:
# Here we go! The first compilations.
# by default this program is 32-bit,
@@ -32,6 +39,7 @@ override_dh_auto_clean:
rm -f localedef/localedef
rm -f localedef/parser.tab.[ch]
rm -f debian/locales.config
+ rm -f debian/LC_DATA*
override_dh_auto_test:
@@ -48,8 +56,10 @@ debian/locales.config: debian/locales.config.in
perl -pe 'BEGIN {undef $$/; open(IN, "debian/SUPPORTED"); $$j=<IN>;} s/__PROVIDED_LOCALES__/$$j/g;' \
$< > $@
-override_dh_install: localedef/localedef debian/locales.config
+override_dh_install: localedef/localedef debian/locales.config debian/LC_DATA.gz
dh_install
+ find debian/locales/usr/share/i18n/locales -name *.UTF-8.src | \
+ xargs sed -i '/^LC_CTYPE/,/^END LC_CTYPE/d'
# Seed for ld.so
# Will be copied to /var/ld/ld.config