wok-next rev 20414

slitaz-i18n: provide locale-*-base packages without reference to SliTaz LXDE-based flavors (for using in LXQt-based flavor)
author Aleksej Bobylev <al.bobylev@gmail.com>
date Tue Jan 09 15:40:25 2018 +0200 (2018-01-09)
parents 4f7bb0dba96f
children d0bc8a3d010a
files slitaz-i18n/receipt slitaz-i18n/stuff/locale-pack.functions
line diff
     1.1 --- a/slitaz-i18n/receipt	Sun Jan 07 17:52:41 2018 +0100
     1.2 +++ b/slitaz-i18n/receipt	Tue Jan 09 15:40:25 2018 +0200
     1.3 @@ -10,19 +10,27 @@
     1.4  HOST_ARCH="i486 arm"
     1.5  
     1.6  BUILD_DEPENDS_arm=" "
     1.7 -SPLIT="locale-ar locale-ca locale-cs locale-da locale-de locale-el locale-en \
     1.8 -locale-es locale-fi locale-fr locale-hr locale-hu locale-id locale-is \
     1.9 -locale-it locale-ja locale-nb locale-nl locale-nn locale-pl locale-pt \
    1.10 -locale-pt_BR locale-ro locale-ru locale-sl locale-sv locale-tr locale-uk \
    1.11 -locale-zh_CN locale-zh_TW slitaz-i18n"
    1.12 +SPLIT="\
    1.13 +locale-ar-base locale-ar  locale-ca-base locale-ca  locale-cs-base locale-cs \
    1.14 +locale-da-base locale-da  locale-de-base locale-de  locale-el-base locale-el \
    1.15 +locale-en-base locale-en  locale-es-base locale-es  locale-fi-base locale-fi \
    1.16 +locale-fr-base locale-fr  locale-hr-base locale-hr  locale-hu-base locale-hu \
    1.17 +locale-id-base locale-id  locale-is-base locale-is  locale-it-base locale-it \
    1.18 +locale-ja-base locale-ja  locale-nb-base locale-nb  locale-nl-base locale-nl \
    1.19 +locale-nn-base locale-nn  locale-pl-base locale-pl  locale-pt-base locale-pt \
    1.20 +locale-pt_BR-base locale-pt_BR \
    1.21 +locale-ro-base locale-ro  locale-ru-base locale-ru  locale-sl-base locale-sl \
    1.22 +locale-sv-base locale-sv  locale-tr-base locale-tr  locale-uk-base locale-uk \
    1.23 +locale-zh_CN-base locale-zh_CN \
    1.24 +locale-zh_TW-base locale-zh_TW \
    1.25 +slitaz-i18n"
    1.26  
    1.27 -# Rules to gen a SliTaz package suitable for Tazpkg.
    1.28 -genpkg_rules()
    1.29 -{
    1.30 +genpkg_rules() {
    1.31  	. $stuff/locale-pack.functions
    1.32  	. $stuff/locale-pack.conf
    1.33 +
    1.34  	case $PACKAGE in
    1.35 -		*-i18n)
    1.36 +		slitaz-i18n)
    1.37  			# Allow to build the packages who want me...
    1.38  			sed -i "/^$PACKAGE\$/d" $CACHE/broken 2>/dev/null || true
    1.39  
    1.40 @@ -52,129 +60,137 @@
    1.41  ================================================================================
    1.42  EOT
    1.43  			;;
    1.44 -		*-ar) C="Arabic"
    1.45 +	esac
    1.46 +
    1.47 +	locale="$(echo $PACKAGE | cut -d- -f2)" # ar, ca, cs, da, de..., i18n
    1.48 +	option="$(echo $PACKAGE | cut -d- -f3)" # '', base
    1.49 +
    1.50 +	case $locale in
    1.51 +		i18n) # nothing to do here
    1.52 +			;;
    1.53 +		ar) C="Arabic"
    1.54  			get_locale "ar" "" "" \
    1.55  			"" "SA:ara US:us" \
    1.56  			"ISO8859-6 IBM864 CP1256";;
    1.57 -		*-ca) C="Catalan"
    1.58 +		ca) C="Catalan"
    1.59  			# it_IT for ca_IT
    1.60  			get_locale "ca" "it_IT" "" \
    1.61  			"" "AD:ad" \
    1.62  			"CP1252 ISO8859-1 ISO8859-3 ISO8859-9 ISO8859-9E ISO8859-15";;
    1.63 -		*-cs) C="Czech"
    1.64 +		cs) C="Czech"
    1.65  			get_locale "cs" "" "" \
    1.66  			"cz-lat2" "CZ:cz" \
    1.67  			"ISO8859-2 IBM852 CP1250";;
    1.68 -		*-da) C="Danish"
    1.69 +		da) C="Danish"
    1.70  			get_locale "da" "" "" \
    1.71  			"dk-latin1" "DK:dk" \
    1.72  			"IBM865 ISO8859-1 ISO8859-15";;
    1.73 -		*-de) C="German"
    1.74 +		de) C="German"
    1.75  			# fr_BE for de_BE
    1.76  			get_locale "de" "fr_BE" "" \
    1.77  			"de-latin1 de_CH-latin1 sg-latin1" "DE:de AT:at CH:ch" \
    1.78  			"ISO8859-1 ISO8859-15";;
    1.79 -		*-el) C="Greek"
    1.80 +		el) C="Greek"
    1.81  			get_locale "el" "" "" \
    1.82  			"gr" "GR:gr US:us" \
    1.83  			"ISO8859-7 IBM869 CP1253 ISO8859-15";;
    1.84 -		*-en) C="English"
    1.85 +		en) C="English"
    1.86  			get_locale "en" "" "" \
    1.87  			"uk us us-acentos dvorak dvorak-l dvorak-r" "CM:cm GH:gh NG:ng ZA:za GB:gb US:us" \
    1.88  			"ISO8859-1 ISO8859-15";;
    1.89 -		*-es) C="Spanish"
    1.90 +		es) C="Spanish"
    1.91  			get_locale "es" "" "" \
    1.92  			"es" "ES:es ES:latam" \
    1.93  			"ISO8859-1 ISO8859-15";;
    1.94 -		*-fi) C="Finnish"
    1.95 +		fi) C="Finnish"
    1.96  			get_locale "fi" "" "" \
    1.97  			"fi" "FI:fi" \
    1.98  			"ISO8859-1 ISO8859-15";;
    1.99 -		*-fr) C="French"
   1.100 +		fr) C="French"
   1.101  			# en_CA for fr_CA; de_CH for fr_CH
   1.102  			get_locale "fr" "en_CA de_CH" "" \
   1.103  			"fr-latin1 be-latin1 cf fr_CH-latin1" "FR:fr CA:ca CD:cd GN:gn" \
   1.104  			"ISO8859-1 ISO8859-15";;
   1.105 -		*-hr) C="Croatian"
   1.106 +		hr) C="Croatian"
   1.107  			get_locale "hr" "" "" \
   1.108  			"croat" "HR:hr" \
   1.109  			"ISO8859-2";;
   1.110 -		*-hu) C="Hungarian"
   1.111 +		hu) C="Hungarian"
   1.112  			get_locale "hu" "" "" \
   1.113  			"hu" "HU:hu" \
   1.114  			"ISO8859-2 IBM852 CP1250";;
   1.115 -		*-id) C="Indonesian"
   1.116 +		id) C="Indonesian"
   1.117  			get_locale "id" "" "" \
   1.118  			"" "" \
   1.119  			"ISO8859-1 ISO8859-15";;
   1.120 -		*-is) C="Icelandic"
   1.121 +		is) C="Icelandic"
   1.122  			get_locale "is" "" "" \
   1.123  			"is-latin1" "IS:is" \
   1.124  			"ISO8859-1 ISO8859-15";;
   1.125 -		*-it) C="Italian"
   1.126 +		it) C="Italian"
   1.127  			# de_CH for it_CH
   1.128  			get_locale "it" "de_CH" "" \
   1.129  			"it" "IT:it" \
   1.130  			"ISO8859-1 ISO8859-15";;
   1.131 -		*-ja) C="Japanese"
   1.132 +		ja) C="Japanese"
   1.133  			get_locale "ja" "translit_cjk_variants" "" \
   1.134  			"jp106" "JP:jp US:us" \
   1.135  			"EUC-JP EUC-JP-MS SJIS   libJIS";;
   1.136 -		*-nb) C="Norwegian (Bokmål)"
   1.137 +		nb) C="Norwegian (Bokmål)"
   1.138  			get_locale "nb" "" "" \
   1.139  			"no-latin1" "NO:no" \
   1.140  			"ISO8859-1 ISO8859-15";;
   1.141 -		*-nl) C="Dutch"
   1.142 +		nl) C="Dutch"
   1.143  			get_locale "nl" "" "" \
   1.144  			"nl2" "NL:nl" \
   1.145  			"ISO8859-1 ISO8859-15";;
   1.146 -		*-nn) C="Norwegian (Nynorsk)"
   1.147 +		nn) C="Norwegian (Nynorsk)"
   1.148  			get_locale "nn" "" "" \
   1.149  			"no-latin1" "NO:no" \
   1.150  			"ISO8859-1 ISO8859-15";;
   1.151 -		*-pl) C="Polish"
   1.152 +		pl) C="Polish"
   1.153  			get_locale "pl" "" "" \
   1.154  			"pl2" "PL:pl" \
   1.155  			"ISO8859-2 IBM852 CP1250";;
   1.156 -		*-pt) C="Portuguese"
   1.157 +		pt) C="Portuguese"
   1.158  			get_locale "pt" "" "pt_PT pt_PT@euro" \
   1.159  			"pt-latin1" "PT:pt" \
   1.160  			"ISO8859-1 ISO8859-15";;
   1.161 -		*-pt_BR) C="Portuguese/Brazilian"
   1.162 +		pt_BR) C="Portuguese/Brazilian"
   1.163  			# pt_PT for pt_BR
   1.164  			get_locale "pt_BR" "pt_PT" "" \
   1.165  			"br-abnt2 us-acentos" "BR:br" \
   1.166  			"ISO8859-1 ISO8859-15";;
   1.167 -		*-ro) C="Romanian"
   1.168 +		ro) C="Romanian"
   1.169  			get_locale "ro" "" "" \
   1.170  			"ro ro_std ro_win" "RO:ro" \
   1.171  			"IBM852 CP1250 ISO8859-2 ISO8859-16";;
   1.172 -		*-ru) C="Russian"
   1.173 +		ru) C="Russian"
   1.174  			get_locale "ru" "" "" \
   1.175  			"ru" "US:us RU:ru UA:ua" \
   1.176  			"ISO8859-5 KOI8-R KOI8-U IBM866 CP1251";;
   1.177 -		*-sl) C="Slovenian"
   1.178 +		sl) C="Slovenian"
   1.179  			get_locale "sl" "" "" \
   1.180  			"slovene" "SI:si" \
   1.181  			"ISO8859-2 IBM852 CP1250";;
   1.182 -		*-sv) C="Swedish"
   1.183 +		sv) C="Swedish"
   1.184  			# fi_FI for sv_FI; fi_FI@euro for sv_FI@euro
   1.185  			get_locale "sv" "fi_FI fi_FI@euro" "" \
   1.186  			"se-lat6" "SE:se" \
   1.187  			"ISO8859-1 ISO8859-15";;
   1.188 -		*-tr) C="Turkish"
   1.189 +		tr) C="Turkish"
   1.190  			get_locale "tr" "" "" \
   1.191  			"trq tr_q-latin5" "TR:tr" \
   1.192  			"ISO8859-9";;
   1.193 -		*-uk) C="Ukrainian"
   1.194 +		uk) C="Ukrainian"
   1.195  			get_locale "uk" "" "" \
   1.196  			"ua" "US:us RU:ru UA:ua" \
   1.197  			"ISO8859-5 KOI8-R KOI8-U IBM866 CP1251";;
   1.198 -		*-zh_CN) C="Chinese Simplified"
   1.199 +		zh_CN) C="Chinese Simplified"
   1.200  			get_locale "zh_CN" "iso14651_t1_pinyin" "" \
   1.201  			"" "CN:cn" \
   1.202  			"EUC-CN GBK GB18030   libGB";;
   1.203 -		*-zh_TW) C="Chinese Traditional"
   1.204 +		zh_TW) C="Chinese Traditional"
   1.205  			get_locale "zh_TW" "zh_CN" "" \
   1.206  			"" "TW:tw" \
   1.207  			"BIG5 EUC-TW   libCNS";;
   1.208 @@ -182,20 +198,23 @@
   1.209  
   1.210  	case $PACKAGE in
   1.211  		*-i18n)   DEPENDS="";;
   1.212 -		*-zh_CN)  DEPENDS="glibc-base wqy-microhei";;
   1.213 -		*-zh_TW)  DEPENDS="glibc-base pcf-uming";;
   1.214 -		*)        DEPENDS="glibc-base";;
   1.215 +		*-base)   DEPENDS="glibc-base";;
   1.216 +		*-zh_CN)  DEPENDS="locale-zh_CN-base wqy-microhei";;
   1.217 +		*-zh_TW)  DEPENDS="locale-zh_TW-base pcf-uming";;
   1.218 +		*)        DEPENDS="$PACKAGE-base";;
   1.219  	esac
   1.220  
   1.221  	case $PACKAGE in
   1.222 -		locale-*) CAT="localization|$C locale pack";;
   1.223 +		locale-*-base) CAT="localization|$C base locale pack";;
   1.224 +		locale-*)      CAT="localization|$C locale pack";;
   1.225  	esac
   1.226  }
   1.227  
   1.228  # Back to C if it's the last used locale.
   1.229  post_remove() {
   1.230 -	[ "$PACKAGE" == 'slitaz-i18n' ] ||
   1.231 -	echo -e "LANG=C\nLC_ALL=C" > "$1/etc/locale.conf"
   1.232 +	case $PACKAGE in
   1.233 +		*-base) echo -e "LANG=C\nLC_ALL=C" > "$1/etc/locale.conf";;
   1.234 +	esac
   1.235  }
   1.236  
   1.237  post_install_locale_zh_CN() {
     2.1 --- a/slitaz-i18n/stuff/locale-pack.functions	Sun Jan 07 17:52:41 2018 +0100
     2.2 +++ b/slitaz-i18n/stuff/locale-pack.functions	Tue Jan 09 15:40:25 2018 +0200
     2.3 @@ -1,169 +1,192 @@
     2.4 -get_locale()
     2.5 -{
     2.6 -	LOCALE="$1"; LOCALE_DEPENDS="$2"; LOCALEDEF="$3"
     2.7 -	KBD="$4"; KB_FLAGS="$5"; GCONV="$6"
     2.8 +get_locale() {
     2.9 +	LOCALE="$1"
    2.10 +	LOCALE_DEPENDS="$2"
    2.11 +	LOCALEDEF="$3"
    2.12 +	KBD="$4"
    2.13 +	KB_FLAGS="$5"
    2.14 +	GCONV="$6"
    2.15  	[ -z "$CHARMAP" ] && CHARMAP='UTF-8'
    2.16  
    2.17 -	case "$SLITAZ_ARCH" in
    2.18 -		arm*) ;;
    2.19 -		i?86)
    2.20 -			# Get translated Openbox menu from SliTaz sub project slitaz-configs
    2.21 -			obmenu="$WOK/slitaz-configs/install/etc/xdg/openbox/menu.$LOCALE.xml"
    2.22 -			if [ -f "$obmenu" ]; then
    2.23 -				mkdir -p $fs/etc/xdg/openbox
    2.24 -				echo "* Found $LOCALE translations for: openbox menu"
    2.25 -				cp $obmenu $fs/etc/xdg/openbox
    2.26 +
    2.27 +	case "$option" in
    2.28 +		base)
    2.29 +			# for locale-*-base packages =======================================
    2.30 +			# (locale-related files shared across all the flavors, for example LXQt flavor)
    2.31 +
    2.32 +			case "$SLITAZ_ARCH" in
    2.33 +				arm*) ;;
    2.34 +				i?86)
    2.35 +					# Get translated Openbox menu from SliTaz sub project slitaz-configs
    2.36 +					obmenu="$WOK/slitaz-configs/install/etc/xdg/openbox/menu.$LOCALE.xml"
    2.37 +					if [ -f "$obmenu" ]; then
    2.38 +						mkdir -p $fs/etc/xdg/openbox
    2.39 +						echo "* Found $LOCALE translations for: openbox menu"
    2.40 +						cp $obmenu $fs/etc/xdg/openbox
    2.41 +					fi
    2.42 +					;;
    2.43 +			esac
    2.44 +
    2.45 +			# List of available locales
    2.46 +			if [ -d "$WOK/glibc/install/usr/share/i18n/locales" ]; then
    2.47 +				cd $WOK/glibc/install/usr/share/i18n/locales
    2.48 +				locales=$(ls -1 | sed -n '/^'$LOCALE'$/p; /^'$LOCALE'_.*/p' | sed '/translit/d')
    2.49 +			else
    2.50 +				locales=''
    2.51  			fi
    2.52 +			[ -n "$LOCALEDEF" ] && locales="$LOCALEDEF"
    2.53 +
    2.54 +			# Get X11 locale
    2.55 +			for def in $locales; do
    2.56 +				x11_locale="$WOK/xorg-libX11/install/usr/share/X11/locale/$def.$CHARMAP"
    2.57 +				case "$def.$CHARMAP" in
    2.58 +					en_US.UTF-8)
    2.59 +						# belongs to "xorg-libX11" package, skip it
    2.60 +						;;
    2.61 +					*)
    2.62 +						if [ -d "$x11_locale" ]; then
    2.63 +							echo "* Found $def.$CHARMAP locale for: X11"
    2.64 +							mkdir -p $fs/usr/share/X11/locale
    2.65 +							cp -a $x11_locale $fs/usr/share/X11/locale
    2.66 +						fi
    2.67 +						;;
    2.68 +				esac
    2.69 +			done
    2.70 +
    2.71 +			# Get locale definition files
    2.72 +			if [ -d "$WOK/glibc/install" ]; then
    2.73 +				for def in $locales; do
    2.74 +					case $def in
    2.75 +						en_US|en_GB)
    2.76 +							# already in glibc-base
    2.77 +							;;
    2.78 +						*)
    2.79 +							echo "* Copying $def locale files"
    2.80 +							mkdir -p $fs/usr/share/i18n/locales
    2.81 +							cp -a $WOK/glibc/install/usr/share/i18n/locales/$def \
    2.82 +								$fs/usr/share/i18n/locales
    2.83 +							;;
    2.84 +					esac
    2.85 +				done
    2.86 +
    2.87 +				if [ -n "$LOCALE_DEPENDS" ]; then
    2.88 +					for dep in $LOCALE_DEPENDS; do
    2.89 +						echo "* Copying additional $dep locale files"
    2.90 +						cp -a $WOK/glibc/install/usr/share/i18n/locales/$dep \
    2.91 +							$fs/usr/share/i18n/locales
    2.92 +					done
    2.93 +				fi
    2.94 +			fi
    2.95 +
    2.96 +			#grep -r 'include' $fs/usr/share/i18n/locales	# test includes in locales
    2.97 +
    2.98 +			# Get timezones from tzdata
    2.99 +			if [ -d "$WOK/tzdata/install" ]; then
   2.100 +				countries=$(echo $locales | \
   2.101 +					sed 's|@[^ ]*||g; s|[^ _]*_||g' | tr ' ' '\n' | sort -u)
   2.102 +				echo "* Copy timezone info for countries: "$countries
   2.103 +				locations=''
   2.104 +				for country in $countries; do
   2.105 +					location=$(grep '^'$country \
   2.106 +						$WOK/tzdata/install/usr/share/zoneinfo/zone.tab | awk '{ print $3}')
   2.107 +					locations="$locations $location"
   2.108 +				done
   2.109 +				for location in $locations; do
   2.110 +					for tz in $location; do
   2.111 +						install -Dm644 $WOK/tzdata/install/usr/share/zoneinfo/$tz \
   2.112 +							$fs/usr/share/zoneinfo/$tz
   2.113 +					done
   2.114 +				done
   2.115 +			fi
   2.116 +
   2.117 +			# Gconv modules for encodings other than default
   2.118 +			if [ -n "$GCONV" -a -d "$WOK/glibc/install" ]; then
   2.119 +				mkdir -p $fs/usr/lib/gconv
   2.120 +				for enc in $GCONV; do
   2.121 +					case $enc in
   2.122 +						ISO8859-1|ISO8859-15)
   2.123 +							# already in glibc-base
   2.124 +							;;
   2.125 +						*)
   2.126 +							if [ -e "$WOK/glibc/install/usr/lib/gconv/$enc.so" ]; then
   2.127 +								echo "* Copying $enc gconv module"
   2.128 +								cp -a $WOK/glibc/install/usr/lib/gconv/$enc.so $fs/usr/lib/gconv
   2.129 +							fi
   2.130 +							;;
   2.131 +					esac
   2.132 +				done
   2.133 +				#ldd $fs/usr/lib/gconv/*	# test depends in gconv modules
   2.134 +			fi
   2.135 +
   2.136 +			# Console keyboard layouts
   2.137 +			if [ -n "$KBD" -a -d "$WOK/kbd/install" ]; then
   2.138 +				cd $WOK/kbd/install
   2.139 +				for map in $KBD; do
   2.140 +					mapfiles=$(find . -type f -name $map.map.gz)
   2.141 +					if [ -n "$mapfiles" ]; then
   2.142 +						echo "* Copying $map kbd map"
   2.143 +						for mapfile in $mapfiles; do
   2.144 +							mkdir -p "$fs/$(dirname "${mapfile#./}")"
   2.145 +							cp "$WOK/kbd/install/${mapfile#./}" "$fs/${mapfile#./}"
   2.146 +						done
   2.147 +					fi
   2.148 +				done
   2.149 +			fi
   2.150 +
   2.151 +			# Get country flags
   2.152 +			if [ -d "$WOK/flag-icons/install" ]; then
   2.153 +				echo "* Copy flag icons for countries: "$countries
   2.154 +				for country in $countries; do
   2.155 +					for size in 16x16 48x48; do
   2.156 +						install -Dm644 \
   2.157 +							$WOK/flag-icons/install/usr/share/icons/hicolor/$size/intl/$country.png \
   2.158 +							$fs/usr/share/icons/hicolor/$size/intl/$country.png
   2.159 +					done
   2.160 +				done
   2.161 +				# above icons credits
   2.162 +				mkdir -p $fs/usr/share/licenses
   2.163 +				cp $WOK/flag-icons/install/usr/share/licenses/gosquared.txt \
   2.164 +					$fs/usr/share/licenses
   2.165 +			fi
   2.166 +
   2.167 +			;;
   2.168 +
   2.169 +		'')
   2.170 +			# for locale-* packages ============================================
   2.171 +			# (locale-related files for only main LXDE-based SliTaz flavor)
   2.172 +
   2.173 +			# Get the core packages translations.
   2.174 +			case "$SLITAZ_ARCH" in
   2.175 +				arm*) CORE_PKGS="$CORE_PKGS_ARM" ;;
   2.176 +			esac
   2.177 +			mkdir -p $fs/usr/share/locale/$LOCALE
   2.178 +			for app in $CORE_PKGS; do
   2.179 +				app_locale="$WOK/$app/install/usr/share/locale/$LOCALE"
   2.180 +				if [ -d "$app_locale" ]; then
   2.181 +					echo "* Found $LOCALE translations for: $app"
   2.182 +					cp -a $app_locale $fs/usr/share/locale
   2.183 +				fi
   2.184 +			done
   2.185 +
   2.186 +			case "$SLITAZ_ARCH" in
   2.187 +				arm*) return 0 ;;
   2.188 +			esac
   2.189 +
   2.190 +			# Keyboard flags for default LXPanel keyboard applet
   2.191 +			if [ -n "$KB_FLAGS" -a -d "$WOK/flag-icons/install" ]; then
   2.192 +				uslix='usr/share/lxpanel/images/xkb-flags'
   2.193 +				mkdir -p $fs/usr/share/lxpanel/images/xkb-flags
   2.194 +				for i in $KB_FLAGS; do
   2.195 +					install -Dm644 \
   2.196 +						$WOK/flag-icons/install/usr/share/icons/hicolor/16x16/intl/${i%%:*}.png \
   2.197 +						$fs/usr/share/icons/hicolor/16x16/intl/${i%%:*}.png
   2.198 +					ln -s ../../../icons/hicolor/16x16/intl/${i%%:*}.png \
   2.199 +						$fs/usr/share/lxpanel/images/xkb-flags/${i##*:}.png
   2.200 +				done
   2.201 +			fi
   2.202 +
   2.203  			;;
   2.204  	esac
   2.205  
   2.206 -	# Get the core packages messages.
   2.207 -	case "$SLITAZ_ARCH" in
   2.208 -		arm*) CORE_PKGS="$CORE_PKGS_ARM" ;;
   2.209 -	esac
   2.210 -	mkdir -p $fs/usr/share/locale/$LOCALE
   2.211 -	for app in $CORE_PKGS; do
   2.212 -		app_locale="$WOK/$app/install/usr/share/locale/$LOCALE"
   2.213 -		if [ -d "$app_locale" ]; then
   2.214 -			echo "* Found $LOCALE translations for: $app"
   2.215 -			cp -a $app_locale $fs/usr/share/locale
   2.216 -		fi
   2.217 -	done
   2.218 -
   2.219 -	# List of available locales
   2.220 -	if [ -d "$WOK/glibc/install" ]; then
   2.221 -		cd $WOK/glibc/install/usr/share/i18n/locales
   2.222 -		locales=$(ls -1 | sed -n '/^'$LOCALE'$/p; /^'$LOCALE'_.*/p' | sed '/translit/d')
   2.223 -	else
   2.224 -		locales=''
   2.225 -	fi
   2.226 -	[ -n "$LOCALEDEF" ] && locales="$LOCALEDEF"
   2.227 -
   2.228 -	# Get X11 locale
   2.229 -	for def in $locales; do
   2.230 -		x11_locale="$WOK/xorg-libX11/install/usr/share/X11/locale/$def.$CHARMAP"
   2.231 -		case "$def.$CHARMAP" in
   2.232 -			en_US.UTF-8)
   2.233 -				# belongs to "xorg-libX11" package, skip it
   2.234 -				;;
   2.235 -			*)
   2.236 -				if [ -d "$x11_locale" ]; then
   2.237 -					echo "* Found $def.$CHARMAP locale for: X11"
   2.238 -					mkdir -p $fs/usr/share/X11/locale
   2.239 -					cp -a $x11_locale $fs/usr/share/X11/locale
   2.240 -				fi
   2.241 -				;;
   2.242 -		esac
   2.243 -	done
   2.244 -
   2.245 -	# Get locale definition files
   2.246 -	if [ -d "$WOK/glibc/install" ]; then
   2.247 -		for def in $locales; do
   2.248 -			case $def in
   2.249 -				en_US|en_GB)
   2.250 -					# already in glibc-base
   2.251 -					;;
   2.252 -				*)
   2.253 -					echo "* Copying $def locale files"
   2.254 -					mkdir -p $fs/usr/share/i18n/locales
   2.255 -					cp -a $WOK/glibc/install/usr/share/i18n/locales/$def \
   2.256 -						$fs/usr/share/i18n/locales
   2.257 -					;;
   2.258 -			esac
   2.259 -		done
   2.260 -
   2.261 -		if [ -n "$LOCALE_DEPENDS" ]; then
   2.262 -			for dep in $LOCALE_DEPENDS; do
   2.263 -				echo "* Copying additional $dep locale files"
   2.264 -				cp -a $WOK/glibc/install/usr/share/i18n/locales/$dep \
   2.265 -					$fs/usr/share/i18n/locales
   2.266 -			done
   2.267 -		fi
   2.268 -	fi
   2.269 -
   2.270 -	#grep -r 'include' $fs/usr/share/i18n/locales	# test includes in locales
   2.271 -
   2.272 -	# Get timezones from tzdata
   2.273 -	if [ -d "$WOK/tzdata/install" ]; then
   2.274 -		countries=$(echo $locales | \
   2.275 -			sed 's|@[^ ]*||g; s|[^ _]*_||g' | tr ' ' '\n' | sort -u)
   2.276 -		echo "* Copy timezone info for countries: "$countries
   2.277 -		locations=''
   2.278 -		for country in $countries; do
   2.279 -			location=$(grep '^'$country \
   2.280 -				$WOK/tzdata/install/usr/share/zoneinfo/zone.tab | awk '{ print $3}')
   2.281 -			locations="$locations $location"
   2.282 -		done
   2.283 -		for location in $locations; do
   2.284 -			for tz in $location; do
   2.285 -				install -Dm644 $WOK/tzdata/install/usr/share/zoneinfo/$tz \
   2.286 -					$fs/usr/share/zoneinfo/$tz
   2.287 -			done
   2.288 -		done
   2.289 -	fi
   2.290 -
   2.291 -	case "$SLITAZ_ARCH" in
   2.292 -		arm*) return 0 ;;
   2.293 -	esac
   2.294 -
   2.295 -	# Get country flags
   2.296 -	if [ -d "$WOK/flag-icons/install" ]; then
   2.297 -		echo "* Copy flag icons for countries: "$countries
   2.298 -		for country in $countries; do
   2.299 -			for size in 16x16 48x48; do
   2.300 -				install -Dm644 \
   2.301 -					$WOK/flag-icons/install/usr/share/icons/hicolor/$size/intl/$country.png \
   2.302 -					$fs/usr/share/icons/hicolor/$size/intl/$country.png
   2.303 -			done
   2.304 -		done
   2.305 -		# above icons credits
   2.306 -		mkdir -p $fs/usr/share/licenses
   2.307 -		cp $WOK/flag-icons/install/usr/share/licenses/gosquared.txt \
   2.308 -			$fs/usr/share/licenses
   2.309 -	fi
   2.310 -
   2.311 -	# Gconv modules for encodings other than default
   2.312 -	if [ -n "$GCONV" -a -d "$WOK/glibc/install" ]; then
   2.313 -		mkdir -p $fs/usr/lib/gconv
   2.314 -		for enc in $GCONV; do
   2.315 -			case $enc in
   2.316 -				ISO8859-1|ISO8859-15)
   2.317 -					# already in glibc-base
   2.318 -					;;
   2.319 -				*)
   2.320 -					echo "* Copying $enc gconv module"
   2.321 -					cp -a $WOK/glibc/install/usr/lib/gconv/$enc.so $fs/usr/lib/gconv
   2.322 -					;;
   2.323 -			esac
   2.324 -		done
   2.325 -		#ldd $fs/usr/lib/gconv/*	# test depends in gconv modules
   2.326 -	fi
   2.327 -
   2.328 -	# Console keyboard layouts
   2.329 -	if [ -n "$KBD" -a -d "$WOK/kbd/install" ]; then
   2.330 -		cd $WOK/kbd/install
   2.331 -		for map in $KBD; do
   2.332 -			echo "* Copying $map kbd map"
   2.333 -			mapfiles=$(find . -type f -name $map.map.gz)
   2.334 -			for mapfile in $mapfiles; do
   2.335 -				mkdir -p "$fs/$(dirname "${mapfile#./}")"
   2.336 -				cp "$WOK/kbd/install/${mapfile#./}" "$fs/${mapfile#./}"
   2.337 -			done
   2.338 -		done
   2.339 -	fi
   2.340 -
   2.341 -	# Keyboard flags for default lxpanel keyboard applet
   2.342 -	if [ -n "$KB_FLAGS" -a -d "$WOK/flag-icons/install" ]; then
   2.343 -		uslix='usr/share/lxpanel/images/xkb-flags'
   2.344 -		mkdir -p $fs/usr/share/lxpanel/images/xkb-flags
   2.345 -		for i in $KB_FLAGS; do
   2.346 -			install -Dm644 \
   2.347 -				$WOK/flag-icons/install/usr/share/icons/hicolor/16x16/intl/${i%%:*}.png \
   2.348 -				$fs/usr/share/icons/hicolor/16x16/intl/${i%%:*}.png
   2.349 -			ln -s ../../../icons/hicolor/16x16/intl/${i%%:*}.png \
   2.350 -				$fs/usr/share/lxpanel/images/xkb-flags/${i##*:}.png
   2.351 -		done
   2.352 -	fi
   2.353  
   2.354  	# exit code OK
   2.355  	echo