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"
53 if [ "${DESTDIR}" = "" ] && rpm -qf ${ARCHIVE} >/dev/null 2>&1 ; then
54 echo "${ARCHIVE} belongs to `rpm -qf ${ARCHIVE}` package - uninstall it first!"
58 rm -rf ${DESTDIR}${LOCDIR}
59 install -d ${DESTDIR}${LOCDIR}
61 if [ "${DESTDIR}" = "" ]; then
64 DESTDIROPT="--prefix ${DESTDIR}"
67 for loc in ${SUPPORTED_LOCALES} ; do
68 if echo ${loc} | grep -q / ; then
69 chset="`echo ${loc} | sed -e 's@^.*/@@'`"
70 loc="`echo ${loc} | sed -e 's@/.*$@@'`"
71 elif echo ${loc} | grep -q '\.' ; then
72 chset="`echo ${loc} | sed -e 's@^.*\.@@'`"
73 elif grep -qs "^${loc}/[^ ]* .*$" /usr/share/i18n/SUPPORTED ; then
74 chset="`grep \"^${loc}/.* .*$\" /usr/share/i18n/SUPPORTED | sed -e 's@^.*/\([^ ]*\) .*$@\1@'`"
76 echo "Charset not known for locale ${loc} - skipping..."
79 echo -n "Generating ${loc} using charset ${chset}... "
80 if [ "${OLD_STYLE}" = "yes" ]; then
81 localedef -f ${chset} -i ${loc} ${DESTDIR}${LOCDIR}${loc}
83 localedef -f ${chset} -i ${loc} ${loc} ${DESTDIROPT}