7 [ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
8 [ -f /etc/sysconfig/localedb ] && . /etc/sysconfig/localedb
10 LOCDIR=/usr/lib/locale
11 ARCHIVE=${LOCDIR}/locale-archive
13 while [ $# -gt 0 ]; do
16 SUPPORTED_LOCALES="`echo $1 | sed -e 's/^[^=]*=//'`"
19 SUPPORTED_LOCALES="$2"
26 DESTDIR="`echo $1 | sed -e 's/^[^]]*=//'`"
32 -h | --help | --usage)
34 Usage: localedb-gen [-l|--locales <locales>] [-o|--old-style]
35 [-d|--destdir <DESTDIR>]
36 localedb-gen [-h|--help|--usage]
41 echo "Unrecognized option: $1"
48 if [ "${SUPPORTED_LOCALES}" = "x" ]; then
49 echo "SUPPORTED_LOCALES not set"
50 echo "You can set it in /etc/sysconfig/i18n file"
54 if [ "${DESTDIR}" = "" ] && rpm -qf ${ARCHIVE} >/dev/null 2>&1 ; then
55 echo "${ARCHIVE} belongs to `rpm -qf ${ARCHIVE}` package - uninstall it first!"
59 rm -rf ${DESTDIR}${LOCDIR}
60 install -d ${DESTDIR}${LOCDIR}
61 cd ${DESTDIR}${LOCDIR}
63 if [ "${DESTDIR}" = "" ]; then
66 DESTDIROPT="--prefix ${DESTDIR}"
69 for loc in ${SUPPORTED_LOCALES} ; do
70 if echo ${loc} | grep -q / ; then
71 chset="`echo ${loc} | sed -e 's@^.*/@@'`"
72 loc="`echo ${loc} | sed -e 's@/.*$@@'`"
73 elif echo ${loc} | grep -q '\.' ; then
74 chset="`echo ${loc} | sed -e 's@^.*\.@@'`"
75 elif grep -qs "^${loc}/[^ ]* .*$" /usr/share/i18n/SUPPORTED ; then
76 chset="`grep \"^${loc}/.* .*$\" /usr/share/i18n/SUPPORTED | sed -e 's@^.*/\([^ ]*\) .*$@\1@'`"
78 echo "Charset not known for locale ${loc} - skipping..."
81 iloc="`echo ${loc} | sed -e 's/\.[^@]*//'`"
82 echo -n "Generating ${loc} using charset ${chset}... "
83 if [ "${OLD_STYLE}" = "yes" ]; then
84 localedef -f ${chset} -i ${iloc} ${DESTDIR}${LOCDIR}${loc}
86 localedef -f ${chset} -i ${iloc} ${loc} ${DESTDIROPT}