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 |