config is in localepurge 0.7.3.2.
This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | #!/bin/sh
set -e
. /usr/share/debconf/confmodule
# first get all possible locales and create a full list of locale values:
CONFIG_FILE="/etc/locale.nopurge"
TEMPFILE="$(mktemp --suffix ".locales")"
LOCALELIST=/var/cache/localepurge/localelist
conf_has_key() {
local key="$1"
if [ -f "$CONFIG_FILE" ] && fgrep --quiet --line-regexp \
"$key" "$CONFIG_FILE"; then
echo "true"
else
echo "false"
fi
}
# for the purpose of presenting a ready made preselection at the very first
# configuration, include already configured locales from locales package:
LOCALEGEN="$(mktemp --suffix ".locale.gen")"
if [ -f /etc/locale.gen ]; then
grep ^[a-z] /etc/locale.gen | cut -d" " -f1 > "$LOCALEGEN"
# add double character locale names from underscore variations
# for later preselection:
cut -d"_" -f1 "$LOCALEGEN" | sort -u >> "$LOCALEGEN"
fi
# if it already exists, include locales from /etc/locale.nopurge:
if [ -f /etc/locale.nopurge ]; then
grep ^[a-z] /etc/locale.nopurge | cut -d" " -f1 >> "$LOCALEGEN"
fi
# add values from "$LOCALEGEN" to "$TEMPFILE":
cat "$LOCALEGEN" >> "$TEMPFILE"
# include locales supported by the locales package:
if [ -f /usr/share/i18n/SUPPORTED ]; then
grep ^[a-z] /usr/share/i18n/SUPPORTED | cut -d' ' -f1 | sort -u >> "$TEMPFILE"
fi
# include locales from our previous localelist if it already exists:
if [ -f "$LOCALELIST" ]; then
cat "$LOCALELIST" >> "$TEMPFILE"
fi
# include locales from newly added locales:
NEWLOCALELIST="$LOCALELIST"-new
if [ -f "$NEWLOCALELIST" ] && \
[ $(ps w -p "$PPID" | grep -c dpkg-reconfigure) = "1" ]; then
cat "$NEWLOCALELIST" >> "$TEMPFILE"
rm -f "$NEWLOCALELIST"
fi
# creating double character locale names from underscore variations:
cut -d"_" -f1 "$TEMPFILE" | sort -u >> "$TEMPFILE"
# save full list of locale values into locale list:
if [ ! -f "$LOCALELIST" ]; then
if [ ! -d /var/cache/localepurge ]; then
mkdir -m 755 /var/cache/localepurge
fi
sort -u "$TEMPFILE" > "$LOCALELIST"
else
mv "$LOCALELIST" "$LOCALELIST"-old
sort -u "$TEMPFILE" > "$LOCALELIST"
fi
# finally sort and create full list of all collected locale names
LOCALES=$(sort -u "$TEMPFILE" | tr '\n' ' ' \
| sed 's/\ /,\ /g' | sed 's/,\ $//g')
if [ -f "$CONFIG_FILE" ] ; then
# Update the debconf database
PRESELECT="$(grep --extended-regexp '^[[:lower:]][[:lower:]]' \
"$CONFIG_FILE" | tr '\n' ' ' | sed 's/\ /,\ /g' | \
sed 's/,\ $//g')"
db_set localepurge/nopurge "$PRESELECT"
db_set localepurge/use-dpkg-feature "$(conf_has_key USE_DPKG)"
db_set localepurge/mandelete "$(conf_has_key MANDELETE)"
db_set localepurge/dontbothernew "$(conf_has_key DONTBOTHERNEWLOCALE)"
db_set localepurge/showfreedspace "$(conf_has_key SHOWFREEDSPACE)"
db_set localepurge/quickndirtycalc "$(conf_has_key QUICKNDIRTYCALC)"
db_set localepurge/verbose "$(conf_has_key VERBOSE)"
else
# sort and create preselection values from "$LOCALEGEN"
PRESELECT=$(sort -u "$LOCALEGEN" | tr '\n' ' ' \
| sed 's/\ /,\ /g' | sed 's/,\ $//g')
fi
# deleting temporary files not needed anymore:
rm -f "$TEMPFILE" "$LOCALEGEN"
#############################################################
# now that all locale data is in place let debconf take over:
db_subst localepurge/nopurge locales "$LOCALES"
# uncomment for debugging:
#echo "$LOCALES" > /tmp/locales.list
db_get localepurge/nopurge
if [ "$RET" = "" ] && [ "$RET" != "PURGE_ALL" ] \
|| [ "$RET" = "NEEDSCONFIGFIRST" ]; then
db_set localepurge/nopurge "$PRESELECT"
db_fset localepurge/nopurge seen false
# uncomment for debugging:
#echo "$PRESELECT" > /tmp/preselect.list
fi
db_input high localepurge/nopurge || true
db_go
db_get localepurge/nopurge
if [ "$RET" = "" ] || [ "$RET" = "PURGE_ALL" ]; then
db_input high localepurge/none_selected || true
db_go
db_get localepurge/none_selected
if [ "$RET" = "false" ]; then
db_input high localepurge/remove_no || true
db_go
fi
fi
db_input high localepurge/use-dpkg-feature || true
db_go
if [ "$RET" = "" -o "$RET" = "true" ] ; then
USE_DPKG=yes
else
USE_DPKG=no
fi
db_input medium localepurge/mandelete || true
db_go
if [ "$USE_DPKG" = "xno" ] ; then
# Features incompatible with the dpkg approach.
db_input medium localepurge/dontbothernew || true
db_go
db_input low localepurge/showfreedspace || true
db_go
db_get localepurge/showfreedspace
if [ "$RET" = "true" ]; then
db_input low localepurge/quickndirtycalc || true
db_go
fi
db_input low localepurge/verbose || true
db_go
fi
|