]> git.pld-linux.org Git - packages/glibc.git/blame - glibc-localedb-gen
- rel 2; branch diff updated
[packages/glibc.git] / glibc-localedb-gen
CommitLineData
38b77968
JB
1#!/bin/sh
2
3SUPPORTED_LOCALES=x
4OLD_STYLE="no"
5DESTDIR=
6
7[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
37cd6ebc 8[ -f /etc/sysconfig/localedb ] && . /etc/sysconfig/localedb
38b77968 9
09df111e 10LOCDIR=/usr/lib/locale
38b77968
JB
11ARCHIVE=${LOCDIR}/locale-archive
12
13while [ $# -gt 0 ]; do
14 case $1 in
15 -l=* | --locales=*)
16 SUPPORTED_LOCALES="`echo $1 | sed -e 's/^[^=]*=//'`"
17 ;;
18 -l | --locales)
19 SUPPORTED_LOCALES="$2"
20 shift
21 ;;
22 -o | --old-style)
23 OLD_STYLE="yes"
24 ;;
25 -d=* | --destdir=*)
26 DESTDIR="`echo $1 | sed -e 's/^[^]]*=//'`"
27 ;;
28 -d | --destdir)
29 DESTDIR="$2"
30 shift
31 ;;
32 -h | --help | --usage)
33 cat <<EOF
34Usage: localedb-gen [-l|--locales <locales>] [-o|--old-style]
35 [-d|--destdir <DESTDIR>]
36 localedb-gen [-h|--help|--usage]
37EOF
38 exit
39 ;;
40 *)
41 echo "Unrecognized option: $1"
42 exit 1
43 ;;
44 esac
45 shift
46done
47
48if [ "${SUPPORTED_LOCALES}" = "x" ]; then
49 echo "SUPPORTED_LOCALES not set"
37566d3b 50 echo "You can set it in /etc/sysconfig/i18n file"
38b77968
JB
51 exit 1
52fi
53
54if [ "${DESTDIR}" = "" ] && rpm -qf ${ARCHIVE} >/dev/null 2>&1 ; then
55 echo "${ARCHIVE} belongs to `rpm -qf ${ARCHIVE}` package - uninstall it first!"
56 exit 1
57fi
58
59rm -rf ${DESTDIR}${LOCDIR}
60install -d ${DESTDIR}${LOCDIR}
c6d84547 61cd ${DESTDIR}${LOCDIR}
38b77968
JB
62
63if [ "${DESTDIR}" = "" ]; then
64 DESTDIROPT=
65else
66 DESTDIROPT="--prefix ${DESTDIR}"
67fi
68
69for 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
37cd6ebc 76 chset="`grep \"^${loc}/.* .*$\" /usr/share/i18n/SUPPORTED | sed -e 's@^.*/\([^ ]*\) .*$@\1@'`"
38b77968
JB
77 else
78 echo "Charset not known for locale ${loc} - skipping..."
79 continue
80 fi
37566d3b 81 iloc="`echo ${loc} | sed -e 's/\.[^@]*//'`"
38b77968
JB
82 echo -n "Generating ${loc} using charset ${chset}... "
83 if [ "${OLD_STYLE}" = "yes" ]; then
37566d3b 84 localedef -f ${chset} -i ${iloc} ${DESTDIR}${LOCDIR}${loc}
38b77968 85 else
37566d3b 86 localedef -f ${chset} -i ${iloc} ${loc} ${DESTDIROPT}
38b77968
JB
87 fi
88 echo
89done
90
91echo "DONE."
This page took 0.110518 seconds and 4 git commands to generate.