413 lines
3.2 KiB
Bash
413 lines
3.2 KiB
Bash
|
#!/bin/bash
|
||
|
# (C) Martin V\"ath <martin at mvath.de>
|
||
|
# SPDX-License-Identifier: GPL-2.0-only
|
||
|
|
||
|
ALL_LOCALES="
|
||
|
aa
|
||
|
af
|
||
|
af_ZA
|
||
|
am
|
||
|
am_ET
|
||
|
ang
|
||
|
ar
|
||
|
ar_AE
|
||
|
ar_BH
|
||
|
ar_DZ
|
||
|
ar_EG
|
||
|
ar_IN
|
||
|
ar_IQ
|
||
|
ar_JO
|
||
|
ar_KW
|
||
|
ar_LB
|
||
|
ar_LY
|
||
|
ar_MA
|
||
|
ar_OM
|
||
|
ar_QA
|
||
|
ar_SA
|
||
|
ar_SD
|
||
|
ar_SY
|
||
|
ar_TN
|
||
|
ar_YE
|
||
|
as
|
||
|
ast
|
||
|
az
|
||
|
az_AZ
|
||
|
az_IR
|
||
|
be
|
||
|
be@latin
|
||
|
be_BY
|
||
|
bg
|
||
|
bg_BG
|
||
|
bn
|
||
|
bn_IN
|
||
|
br
|
||
|
br_FR
|
||
|
bs
|
||
|
bs_BA
|
||
|
byn
|
||
|
ca
|
||
|
ca@valencia
|
||
|
ca_ES
|
||
|
ca_ES@euro
|
||
|
ca_ES@valencia
|
||
|
chs
|
||
|
cht
|
||
|
crh
|
||
|
cs
|
||
|
cs_CZ
|
||
|
cy
|
||
|
cy_GB
|
||
|
cz
|
||
|
da
|
||
|
da_DK
|
||
|
de
|
||
|
de_AT
|
||
|
de_AT@euro
|
||
|
de_BE
|
||
|
de_BE@euro
|
||
|
de_CH
|
||
|
de_DE
|
||
|
de_DE.UTF-8
|
||
|
de_DE@euro
|
||
|
de_LU
|
||
|
de_LU@euro
|
||
|
dk
|
||
|
dv
|
||
|
dz
|
||
|
el
|
||
|
el_GR
|
||
|
el_GR.UTF-8
|
||
|
el_GR@euro
|
||
|
en
|
||
|
en@IPA
|
||
|
en@boldquot
|
||
|
en@quot
|
||
|
en@shaw
|
||
|
en_AU
|
||
|
en_BW
|
||
|
en_CA
|
||
|
en_DK
|
||
|
en_GB
|
||
|
en_GB.UTF-8
|
||
|
en_HK
|
||
|
en_IE
|
||
|
en_IE@euro
|
||
|
en_IN
|
||
|
en_NZ
|
||
|
en_PH
|
||
|
en_RN
|
||
|
en_SG
|
||
|
en_UK
|
||
|
en_US
|
||
|
en_US.UTF-8
|
||
|
en_ZA
|
||
|
en_ZW
|
||
|
eo
|
||
|
eo_EO
|
||
|
es
|
||
|
es_AR
|
||
|
es_BO
|
||
|
es_CL
|
||
|
es_CO
|
||
|
es_CR
|
||
|
es_DO
|
||
|
es_EC
|
||
|
es_ES
|
||
|
es_ES.UTF-8
|
||
|
es_ES@euro
|
||
|
es_GT
|
||
|
es_HN
|
||
|
es_MX
|
||
|
es_NI
|
||
|
es_PA
|
||
|
es_PE
|
||
|
es_PR
|
||
|
es_PY
|
||
|
es_SV
|
||
|
es_US
|
||
|
es_UY
|
||
|
es_VE
|
||
|
et
|
||
|
et_EE
|
||
|
eu
|
||
|
eu_ES
|
||
|
eu_ES@euro
|
||
|
fa
|
||
|
fa_IR
|
||
|
fa_IR.UTF-8
|
||
|
fi
|
||
|
fi_FI
|
||
|
fi_FI@euro
|
||
|
fo
|
||
|
fo_FO
|
||
|
fr
|
||
|
fr_BE
|
||
|
fr_BE@euro
|
||
|
fr_CA
|
||
|
fr_CH
|
||
|
fr_FR
|
||
|
fr_FR.UTF-8
|
||
|
fr_FR@euro
|
||
|
fr_LU
|
||
|
fr_LU@euro
|
||
|
fur
|
||
|
fy
|
||
|
ga
|
||
|
ga_IE
|
||
|
ga_IE@euro
|
||
|
gd
|
||
|
gd_GB
|
||
|
gez
|
||
|
gl
|
||
|
gl_ES
|
||
|
gl_ES@euro
|
||
|
gr
|
||
|
gu
|
||
|
gv
|
||
|
gv_GB
|
||
|
haw
|
||
|
he
|
||
|
he_IL
|
||
|
hi
|
||
|
hi_IN
|
||
|
hi_IN.UTF-8
|
||
|
hr
|
||
|
hr_HR
|
||
|
hu
|
||
|
hu_HU
|
||
|
hy
|
||
|
hy_AM
|
||
|
ia
|
||
|
id
|
||
|
id_ID
|
||
|
is
|
||
|
is_IS
|
||
|
it
|
||
|
it_CH
|
||
|
it_IT
|
||
|
it_IT@euro
|
||
|
iu
|
||
|
iw
|
||
|
iw_IL
|
||
|
ja
|
||
|
ja_JP
|
||
|
ja_JP.EUC
|
||
|
ja_JP.EUC-JP
|
||
|
ja_JP.UTF-8
|
||
|
ja_JP.eucJP
|
||
|
ka
|
||
|
ka_GE
|
||
|
kk
|
||
|
kl
|
||
|
kl_GL
|
||
|
km
|
||
|
km_KH
|
||
|
kn
|
||
|
ko
|
||
|
ko_KR
|
||
|
ko_KR.EUC-KR
|
||
|
ko_KR.UTF-8
|
||
|
kok
|
||
|
ku
|
||
|
kw
|
||
|
kw_GB
|
||
|
ky
|
||
|
la
|
||
|
lg
|
||
|
li
|
||
|
lo
|
||
|
lt
|
||
|
lt_LT
|
||
|
lv
|
||
|
lv_LV
|
||
|
mai
|
||
|
mg
|
||
|
mhr
|
||
|
mi
|
||
|
mi_NZ
|
||
|
mk
|
||
|
mk_MK
|
||
|
ml
|
||
|
mn
|
||
|
mr
|
||
|
mr_IN
|
||
|
mr_IN.UTF-8
|
||
|
ms
|
||
|
ms_MY
|
||
|
mt
|
||
|
mt_MT
|
||
|
my
|
||
|
my_MM
|
||
|
nb
|
||
|
nb_NO
|
||
|
nds
|
||
|
ne
|
||
|
nl
|
||
|
nl_BE
|
||
|
nl_BE@euro
|
||
|
nl_NL
|
||
|
nl_NL@euro
|
||
|
nn
|
||
|
nn_NO
|
||
|
no
|
||
|
no_NO
|
||
|
nso
|
||
|
nyc
|
||
|
oc
|
||
|
oc_FR
|
||
|
om
|
||
|
or
|
||
|
pa
|
||
|
pl
|
||
|
pl_PL
|
||
|
ps
|
||
|
pt
|
||
|
pt_BR
|
||
|
pt_PT
|
||
|
pt_PT@euro
|
||
|
rm
|
||
|
ro
|
||
|
ro_RO
|
||
|
ru
|
||
|
ru_RU
|
||
|
ru_RU.KOI8-R
|
||
|
ru_RU.UTF-8
|
||
|
ru_UA
|
||
|
rw
|
||
|
sa
|
||
|
si
|
||
|
sid
|
||
|
sk
|
||
|
sk_SK
|
||
|
sl
|
||
|
sl_SI
|
||
|
so
|
||
|
sp
|
||
|
sq
|
||
|
sq_AL
|
||
|
sr
|
||
|
sr@Latn
|
||
|
sr@ije
|
||
|
sr@latin
|
||
|
sr_RS
|
||
|
sr_YU
|
||
|
sr_YU@cyrillic
|
||
|
sv
|
||
|
sv_FI
|
||
|
sv_FI@euro
|
||
|
sv_SE
|
||
|
sw
|
||
|
syr
|
||
|
ta
|
||
|
ta_IN
|
||
|
te
|
||
|
te_IN
|
||
|
tg
|
||
|
tg_TJ
|
||
|
th
|
||
|
th_TH
|
||
|
ti
|
||
|
ti_ER
|
||
|
ti_ET
|
||
|
tig
|
||
|
tk
|
||
|
tl
|
||
|
tl_PH
|
||
|
tr
|
||
|
tr_TR
|
||
|
tt
|
||
|
tt_RU
|
||
|
ug
|
||
|
uk
|
||
|
uk_UA
|
||
|
ur
|
||
|
ur_PK
|
||
|
uz
|
||
|
uz@Latn
|
||
|
uz_UZ
|
||
|
ve
|
||
|
vi
|
||
|
vi_VN
|
||
|
vi_VN.UTF-8
|
||
|
wa
|
||
|
wal
|
||
|
wo
|
||
|
xh
|
||
|
yi
|
||
|
yi_US
|
||
|
zh
|
||
|
zh_CN
|
||
|
zh_CN.GB18030
|
||
|
zh_CN.GB2312
|
||
|
zh_CN.GBK
|
||
|
zh_CN.UTF-8
|
||
|
zh_HK
|
||
|
zh_HK.UTF-8
|
||
|
zh_SG
|
||
|
zh_TW
|
||
|
zh_TW.Big5
|
||
|
zh_TW.EUC-TW
|
||
|
zh_TW.UTF-8
|
||
|
zu
|
||
|
"
|
||
|
|
||
|
LocalePurgeNokeep() {
|
||
|
local locale_keep
|
||
|
for locale_keep in $KEEP_LOCALES
|
||
|
do case $1 in
|
||
|
$locale_keep)
|
||
|
return 1;;
|
||
|
esac
|
||
|
done
|
||
|
}
|
||
|
|
||
|
LocalePurgeMain() {
|
||
|
local locale_list locale_item locale_cmd
|
||
|
locale_list=
|
||
|
for locale_item in $ALL_LOCALES ${ALL_LOCALES_ADD-}
|
||
|
do [ -n "$locale_item" ] && LocalePurgeNokeep "$locale_item" && \
|
||
|
locale_list=$locale_list' '$locale_item
|
||
|
done
|
||
|
locale_cmd='for d
|
||
|
do for l in $locale_list
|
||
|
do if test -d "$d/$l$k"
|
||
|
then rm -rvf -- "$d/$l"
|
||
|
fi
|
||
|
done
|
||
|
done'
|
||
|
export locale_list
|
||
|
shell=`command -v sh` || shell=
|
||
|
: ${shell:=/bin/sh}
|
||
|
if BashrcdTrue $LOCALEPURGE
|
||
|
then einfo 'removing undesired locales'
|
||
|
find "$ED" -name locale -type d \
|
||
|
-exec "$shell" -c "k='/LC_MESSAGES'
|
||
|
$locale_cmd" sh '{}' '+'
|
||
|
fi
|
||
|
if BashrcdTrue $MANPURGE
|
||
|
then einfo 'removing undesired manpages'
|
||
|
find "$ED" -name man -type d \
|
||
|
-exec "$shell" -c "k=
|
||
|
$locale_cmd" sh '{}' '+'
|
||
|
fi
|
||
|
unset locale_list
|
||
|
}
|
||
|
|
||
|
LocalePurge() {
|
||
|
if BashrcdTrue $NOLOCALEPURGE || {
|
||
|
! BashrcdTrue $LOCALEPURGE && ! BashrcdTrue $MANPURGE
|
||
|
} || [ -z "${KEEP_LOCALES++}" ]
|
||
|
then return 0
|
||
|
fi
|
||
|
case $- in
|
||
|
*f*)
|
||
|
LocalePurgeMain;;
|
||
|
*)
|
||
|
set -f
|
||
|
LocalePurgeMain
|
||
|
set +f;;
|
||
|
esac
|
||
|
}
|
||
|
|
||
|
BashrcdPhase preinst LocalePurge
|