From 3e30bbfd7be4d5a37ba9e7238a3204ea96380191 Mon Sep 17 00:00:00 2001 From: Wim Muskee Date: Fri, 7 Dec 2012 20:25:47 +0100 Subject: Generate localelist from glibc supported locales and packaged list. --- defaultlist | 346 ------------------------------------------------------- localelist-extra | 44 +++++++ localepurge | 37 +++++- 3 files changed, 77 insertions(+), 350 deletions(-) delete mode 100644 defaultlist create mode 100644 localelist-extra diff --git a/defaultlist b/defaultlist deleted file mode 100644 index 59c5d3f..0000000 --- a/defaultlist +++ /dev/null @@ -1,346 +0,0 @@ -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 diff --git a/localelist-extra b/localelist-extra new file mode 100644 index 0000000..848bb99 --- /dev/null +++ b/localelist-extra @@ -0,0 +1,44 @@ +ang +az_IR +be@latin +ca@valencia +ca_ES@valencia +chs +cht +cz +dk +el_GR@euro +en@IPA +en@boldquot +en@quot +en@shaw +en_RN +en_UK +eo +eo_EO +fa_IR.UTF8 +gr +haw +hi_IN.UTF8 +ia +ja_JP +ja_JP.EUC +ja_JP.eucJP +ko_KR +la +mr_IN.UTF8 +no +no_NO +nyc +rm +sp +sr@Latn +sr@ije +sr@latin +sr_YU +sr_YU@cyrillic +syr +uz@Latn +vi_VN.UTF8 +zh_CN.GB2312 +zh_TW.Big5 diff --git a/localepurge b/localepurge index f31867f..28e2091 100755 --- a/localepurge +++ b/localepurge @@ -13,7 +13,10 @@ LOCALEDIRS="/usr/share/locale /usr/local/share/locale /usr/kde/?.?/share/locale MANPAGEDIRS="/usr/share/man /usr/man /usr/local/share/man /usr/kde/?.?/share/man /usr/kde/?.?/man /opt/sun-jdk-*/man /opt/sun-jre-bin-*/man" LOCALELIST="${PREFIX}/var/cache/localepurge/localelist" +LOCALELIST_GLIBC="${PREFIX}/var/cache/localepurge/localelist-glibc" +LOCALELIST_EXTRA="${PREFIX}/var/cache/localepurge/localelist-extra" CONFIGFILE="${PREFIX}/etc/locale.nopurge" + VERSION="0.5.4" LOCALETOTAL=0 @@ -72,6 +75,25 @@ version () { einfo "${BRACKET}[${NORMAL} ${GOOD}${VERSION}${NORMAL} ${BRACKET}]${NORMAL}" } +# Creates new localelist +# from glibc supported locales and the packaged extra locales + +createlist() { + if [ "$VERBOSE" = "enabled" ]; then + einfo "localepurge: updating list of locales in ${LOCALELIST} ..." + fi + + # select all supported glibc locales + localeworkfile=$(mktemp) + cat /usr/share/i18n/SUPPORTED | cut -d ' ' -f 1 > ${localeworkfile} + cat /usr/share/i18n/SUPPORTED | cut -d '_' -f 1 | uniq >> ${localeworkfile} + cat ${localeworkfile} | sort > ${LOCALELIST_GLIBC} + rm ${localeworkfile} + + # add the extra locales + cat ${LOCALELIST_GLIBC} ${LOCALELIST_EXTRA} | sort | uniq > ${LOCALELIST} +} + # Check options in CONFIGFILE grep -xq SHOWFREEDSPACE ${CONFIGFILE} && SHOWFREEDSPACE=enabled @@ -151,10 +173,6 @@ else fi fi -# Prune the locale list using CONFIGFILE as a list of regex patterns: - -PURGELIST=`grep -xvf ${CONFIGFILE} "${LOCALELIST}"` - # Deleting a filepath and optionally counting freed space @@ -247,6 +265,17 @@ purgeman () { fi } +# If running for the first time, create new localelist: +if [ ! -f ${LOCALELIST_GLIBC} ]; then + if [ "$VERBOSE" = "enabled" ]; then + einfo "localepurge: running for the first time" + fi + createlist +fi + +# Prune the locale list using CONFIGFILE as a list of regex patterns: +PURGELIST=`grep -xvf ${CONFIGFILE} "${LOCALELIST}"` + [ "${LIST}" = "enabled" ] && [ "${VERBOSE}" = "enabled" ] && ewarn "If not in list mode, localepurge would clear the following directories:\n" -- cgit v1.2.3-65-gdbad