#!/bin/bash # (C) Martin V\"ath # 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