This file is indexed.

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