Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 150097 | Differences between
and this patch

Collapse All | Expand All

(-)localepurge (-105 / +79 lines)
Lines 23-29 Link Here
23
BOLD=$'\e[1m'
23
BOLD=$'\e[1m'
24
24
25
eerror () {
25
eerror () {
26
    echo -e " ${BAD}*${NORMAL} $*"
26
    echo -e " ${BAD}*${NORMAL} $*" >> /dev/stderr
27
}
27
}
28
28
29
ewarn () {
29
ewarn () {
Lines 45-56 Link Here
45
    echo
45
    echo
46
    einfo "Usage: `basename $0` [options]"
46
    einfo "Usage: `basename $0` [options]"
47
    echo
47
    echo
48
    etab "${BOLD}-help (-h)     ${NORMAL}  : show this help."
49
    etab "${BOLD}-debug (-d)    ${NORMAL}  : debug mode."
48
    etab "${BOLD}-debug (-d)    ${NORMAL}  : debug mode."
50
    etab "${BOLD}-verbose (-v)  ${NORMAL}  : verbose mode."
49
    etab "${BOLD}-help (-h)	${NORMAL}  : show this help."
51
    etab "${BOLD}-nocolor (-nc) ${NORMAL}  : no color mode."
50
    etab "${BOLD}-nocolor (-nc) ${NORMAL}  : no color mode."
52
    etab "${BOLD}-pretend (-p) ${NORMAL}   : pretend mode."
51
    etab "${BOLD}-pretend (-p)  ${NORMAL}  : pretend mode."
53
    etab "${BOLD}-version	${NORMAL}      : show version."
52
    etab "${BOLD}-verbose (-v)	${NORMAL}  : verbose mode."
53
    etab "${BOLD}-version	${NORMAL}  : show version."
54
    echo
54
    echo
55
}
55
}
56
56
Lines 85-128 Link Here
85
for x in $@
85
for x in $@
86
do
86
do
87
87
88
    if [ "$x" = "-verbose" ] || [ "$x" = "-v" ]; then
88
    if [ "$x" = "-help" ] || [ "$x" = "-h" ]; then
89
        VERBOSE=enabled
89
        ayuda
90
    fi
91
92
    if [ "$x" = "-version" ] ; then
93
        version
94
	exit 0
90
	exit 0
95
    fi
96
91
97
    if [ "$x" = "-p" ] || [ "$x" = "-pretend" ]; then
92
    elif [ "$x" = "-pretend" ] || [ "$x" = "-p" ]; then
98
        PRETEND=enabled
93
        PRETEND=enabled
99
    fi
100
94
101
    if [ "$x" = "-help" ] || [ "$x" = "-h" ]; then
95
    elif [ "$x" = "-verbose" ] || [ "$x" = "-v" ]; then
102
	ayuda
96
        VERBOSE=enabled
97
98
    elif [ "$x" = "-version" ] ; then
99
        version
103
	exit 0
100
	exit 0
101
102
    else
103
        eerror "Unrecognised option: ${x}"
104
	eerror "Please see `basename $0` -help"
105
	exit 1
104
    fi
106
    fi
105
107
106
done
108
done
107
109
108
# Do nothing and report why if no valid configuration file exists:
110
# Do nothing and report why if no valid configuration file exists:
109
111
110
if [ ! -f ${CONFIGFILE} ]
112
if [ ! -f ${CONFIGFILE} ]; then
111
    then
113
    eerror " No ${CONFIGFILE} file present, exiting ..."
112
        eerror " No ${CONFIGFILE} file present, exiting ..."
114
    exit 0
115
else
116
    if [ "`grep -x ^NEEDSCONFIGFIRST ${CONFIGFILE}`" ]; then
117
        echo ""
118
        einfo "    You have to configure \"${CONFIGFILE}\" "
119
        echo ""
120
        einfo "    to make $0 actually start to function."
121
        echo ""
122
        einfo "    Nothing to be done, exiting ..."
123
        echo ""
113
        exit 0
124
        exit 0
114
    else
125
    fi
115
        if [ "`grep -x ^NEEDSCONFIGFIRST ${CONFIGFILE}`" ]
116
            then
117
                echo ""
118
                einfo "    You have to configure \"${CONFIGFILE}\" "
119
                echo ""
120
                einfo "    to make $0 actually start to function."
121
                echo ""
122
                einfo "    Nothing to be done, exiting ..."
123
                echo ""
124
                exit 0
125
        fi
126
fi
126
fi
127
127
128
# Prune the locale list using CONFIGFILE as a list of regex patterns:
128
# Prune the locale list using CONFIGFILE as a list of regex patterns:
Lines 133-235 Link Here
133
133
134
purgelocale () {
134
purgelocale () {
135
    local LOCALEDIR="$1"
135
    local LOCALEDIR="$1"
136
if [ -d $LOCALEDIR ]; then
136
    if [ -d $LOCALEDIR ]; then
137
137
138
    if [ "$SHOWFREEDSPACE" = "enabled" ]; then
138
        if [ "$SHOWFREEDSPACE" = "enabled" ]; then
139
        LOCALEBEFORE=$(df -P $LOCALEDIR | awk '{if ( NR==2 ) { print $3 }}')
139
            LOCALEBEFORE=$(df -P $LOCALEDIR | awk '{if ( NR==2 ) { print $3 }}')
140
    fi
140
        fi
141
141
142
    if [ "$VERBOSE" = "enabled" ]; then
142
        if [ "$VERBOSE" = "enabled" ]; then
143
        einfo "localepurge: processing locale files in ${LOCALEDIR} ..."
143
            einfo "localepurge: processing locale files in ${LOCALEDIR} ..."
144
        for LOCALE in `/bin/ls ${LOCALEDIR}` 
144
        fi
145
         do
145
146
          if echo "${PURGELIST}" | grep -xq ${LOCALE}; then
146
        for LOCALE in `/bin/ls ${LOCALEDIR}`; do
147
            if [ -d ${LOCALEDIR}/${LOCALE}/LC_MESSAGES ]; then
147
    	    if echo "${PURGELIST}" | grep -xq ${LOCALE}; then
148
                if [ "${PRETEND}" = "enabled" ]; then 
148
	        if [ -d ${LOCALEDIR}/${LOCALE}/LC_MESSAGES ]; then
149
                    echo "${LOCALEDIR}/${LOCALE}"
149
                    if [ "${PRETEND}" = "enabled" ]; then 
150
                else
150
                        echo "${LOCALEDIR}/${LOCALE}"
151
                    /bin/rm -vf `find ${LOCALEDIR}/${LOCALE} -type f`
151
                    else
152
                fi
152
                        /bin/rm -vf `find ${LOCALEDIR}/${LOCALE} -type f`
153
            fi
153
                    fi
154
          fi
155
         done
156
    else
157
        for LOCALE in `/bin/ls ${LOCALEDIR}`
158
         do
159
          if echo "${PURGELIST}" | grep -xq ${LOCALE}; then
160
            if [ -d ${LOCALEDIR}/${LOCALE}/LC_MESSAGES ]; then
161
                if [ "${PRETEND}" = "enabled" ]; then 
162
                    echo "${LOCALEDIR}/${LOCALE}"
163
                else
164
                    /bin/rm -vf `find ${LOCALEDIR}/${LOCALE} -type f`
165
                fi
154
                fi
166
            fi
155
            fi
167
          fi
156
        done
168
         done
169
    fi
170
157
171
    if [ "$SHOWFREEDSPACE" = "enabled" ]; then
158
        if [ "$SHOWFREEDSPACE" = "enabled" ]; then
172
        LOCALEAFTER=$(df -P $LOCALEDIR | awk '{if ( NR==2 ) { print $3 }}')
159
            LOCALEAFTER=$(df -P $LOCALEDIR | awk '{if ( NR==2 ) { print $3 }}')
173
        LOCALESUM=$(($LOCALEBEFORE - $LOCALEAFTER))
160
            LOCALESUM=$(($LOCALEBEFORE - $LOCALEAFTER))
174
	LOCALETOTAL=$(($LOCALETOTAL + $LOCALESUM))
161
	    LOCALETOTAL=$(($LOCALETOTAL + $LOCALESUM))
175
	if [ ! $LOCALEBEFORE = $LOCALEAFTER ]; then
162
	    if [ ! $LOCALEBEFORE = $LOCALEAFTER ]; then
176
            einfo "localepurge: Disk space freed in $LOCALEDIR: ${BOLD}"$LOCALESUM"K${NORMAL}"
163
                einfo "localepurge: Disk space freed in $LOCALEDIR: ${BOLD}"$LOCALESUM"K${NORMAL}"
164
            fi
177
        fi
165
        fi
178
    fi
166
    fi
179
fi
180
}
167
}
181
168
182
# Getting rid of localized man pages in $MANPAGEDIR
169
# Getting rid of localized man pages in $MANPAGEDIR
183
170
184
purgeman () {
171
purgeman () {
185
    local MANPAGEDIR="$1"
172
    local MANPAGEDIR="$1"
186
if [ -d $MANPAGEDIR ] && [ "`grep -x ^MANDELETE ${CONFIGFILE}`" ]; then
173
    if [ -d $MANPAGEDIR ] && [ "`grep -x ^MANDELETE ${CONFIGFILE}`" ]; then
187
174
188
    if [ "$SHOWFREEDSPACE" = "enabled" ]; then
175
        if [ "$SHOWFREEDSPACE" = "enabled" ]; then
189
        MANBEFORE=$(df -P $MANPAGEDIR | awk '{if ( NR==2 ) { print $3 }}')
176
            MANBEFORE=$(df -P $MANPAGEDIR | awk '{if ( NR==2 ) { print $3 }}')
190
        fi
177
        fi
191
178
192
    if [ "$VERBOSE" = "enabled" ]; then
179
        if [ "$VERBOSE" = "enabled" ]; then
193
        einfo "localepurge: processing man pages in ${MANPAGEDIR} ..."
180
            einfo "localepurge: processing man pages in ${MANPAGEDIR} ..."
194
        for LOCALE in `/bin/ls ${MANPAGEDIR} | grep -v ^man[1-9]`
181
        fi
195
         do
182
196
          if echo "${PURGELIST}" | grep -xq ${LOCALE}; then
183
        for LOCALE in `/bin/ls ${MANPAGEDIR} | grep -v ^man[1-9]`; do
197
            if [ -d ${MANPAGEDIR}/${LOCALE} ]; then
184
            if echo "${PURGELIST}" | grep -xq ${LOCALE}; then
198
                if [ "${PRETEND}" = "enabled" ]; then 
185
                if [ -d ${MANPAGEDIR}/${LOCALE} ]; then
199
                    echo "${MANPAGEDIR}/${LOCALE}"
186
                    if [ "${PRETEND}" = "enabled" ]; then 
200
                else
187
                        echo "${MANPAGEDIR}/${LOCALE}"
201
                    /bin/rm -f `find ${MANPAGEDIR}/${LOCALE} -type f`
188
                    else
202
                fi
189
                        /bin/rm -f `find ${MANPAGEDIR}/${LOCALE} -type f`
203
            fi
190
                    fi
204
          fi
205
         done
206
    else
207
        for LOCALE in `/bin/ls ${MANPAGEDIR} | grep -v ^man[1-9]`
208
         do
209
          if echo "${PURGELIST}" | grep -xq ${LOCALE}; then
210
            if [ -d ${MANPAGEDIR}/${LOCALE} ]; then
211
                if [ "${PRETEND}" = "enabled" ]; then 
212
                    echo "${MANPAGEDIR}/${LOCALE}"
213
                else
214
                    /bin/rm -f `find ${MANPAGEDIR}/${LOCALE} -type f`
215
                fi
191
                fi
216
            fi
192
            fi
217
          fi
193
        done
218
         done
219
    fi
220
194
221
    if [ "$SHOWFREEDSPACE" = "enabled" ]; then
195
        if [ "$SHOWFREEDSPACE" = "enabled" ]; then
222
        MANAFTER=$(df -P $MANPAGEDIR | awk '{if ( NR==2 ) { print $3 }}')
196
            MANAFTER=$(df -P $MANPAGEDIR | awk '{if ( NR==2 ) { print $3 }}')
223
	MANSUM=$(($MANBEFORE - $MANAFTER))
197
	    MANSUM=$(($MANBEFORE - $MANAFTER))
224
        MANTOTAL=$(($MANTOTAL + $MANSUM))
198
            MANTOTAL=$(($MANTOTAL + $MANSUM))
225
	if [ ! $MANBEFORE = $MANAFTER ]; then
199
	    if [ ! $MANBEFORE = $MANAFTER ]; then
226
            einfo "localepurge: Disk space freed in $MANPAGEDIR: ${BOLD}"$MANSUM"K${NORMAL}"
200
                einfo "localepurge: Disk space freed in $MANPAGEDIR: ${BOLD}"$MANSUM"K${NORMAL}"
201
            fi
227
        fi
202
        fi
228
    fi
203
    fi
229
fi
230
}
204
}
231
205
232
[ "${PRETEND}" = "enabled" ] &&
206
[ "${PRETEND}" = "enabled" ] && [ "${VERBOSE}" = "enabled" ] &&
233
        ewarn "If not pretending, localepurge would clear the following directories:\n"
207
        ewarn "If not pretending, localepurge would clear the following directories:\n"
234
208
235
for folder in ${LOCALEDIRS}; do
209
for folder in ${LOCALEDIRS}; do

Return to bug 150097