slackbuilds/system/localepurge/localepurge.diff

207 lines
6.1 KiB
Diff

--- ../localepurge-orig/usr/sbin/localepurge 2013-06-15 18:46:01.000000000 +0200
+++ localepurge 2013-09-21 12:04:38.155721151 +0200
@@ -1,6 +1,6 @@
#! /bin/bash
-# Deleting all locale files and localized man pages installed
+# Deleting all locale files and localized man pages installed
# on system which are *not* listed in /etc/locale.nopurge
set -e
@@ -12,48 +12,35 @@
fi
if [ "$1" = "--help" ] || [ "$1" = "-h" ]; then
- echo ""
- echo "Verbose output is triggered with option '-v' or '-verbose'."
- echo "Debugging output is triggered with option '-d' or '-debug'."
- echo "To reconfigure it, run 'dpkg-reconfigure localepurge'."
- echo "Documentation is either available via 'man localepurge'"
- echo "or by reading the docs in /usr/share/doc/localepurge."
- echo ""
- if [ -f $NOPURGECONF ] && fgrep --quiet --line-regexp USE_DPKG $NOPURGECONF ; then
- echo "NB: localepurge has been configured to use dpkg. Therefore,"
- echo "this script will not do anything."
- fi
- exit 0
+ echo ""
+ echo "Verbose output is triggered with option '-v' or '-verbose'."
+ echo "Debugging output is triggered with option '-d' or '-debug'."
+ echo "To reconfigure it, edit /etc/locale.nopurge file."
+ echo "Documentation is available via 'man 8 localepurge'."
+ echo ""
+ exit 0
fi
-
# Do nothing and report why if no valid configuration file exists:
-if [ ! -f $NOPURGECONF ]
- then
- echo " No $NOPURGECONF file present, exiting ..."
+if [ ! -f $NOPURGECONF ]; then
+ echo " No $NOPURGECONF file present, exiting ..."
+ exit 0
+else
+ if fgrep --quiet --line-regexp NEEDSCONFIGFIRST $NOPURGECONF ; then
+ echo
+ echo " You have to configure \"localepurge\" by editing"
+ echo
+ echo " /etc/locale.nopurge file"
+ echo
+ echo " to make $0 actually start to function."
+ echo
+ echo " Nothing to be done, exiting ..."
+ echo
exit 0
- else
- if fgrep --quiet --line-regexp USE_DPKG $NOPURGECONF
- then
- # Do nothing, dpkg does all the work for us.
- exit 0
- elif fgrep --quiet --line-regexp NEEDSCONFIGFIRST $NOPURGECONF
- then
- echo
- echo " You have to configure \"localepurge\" with the command"
- echo
- echo " dpkg-reconfigure localepurge"
- echo
- echo " to make $0 actually start to function."
- echo
- echo " Nothing to be done, exiting ..."
- echo
- exit 0
- fi
+ fi
fi
-
################################################################
## Initialise variables
@@ -85,7 +72,6 @@
VERBOSE=1
fi
-
################################################################
## Manage the list of locales
@@ -97,57 +83,57 @@
((VERBOSE)) && echo "localepurge: checking for existence of $LOCALECACHEDIR..."
if [ ! -d $LOCALECACHEDIR ]; then
- mkdir -m 644 -p $LOCALECACHEDIR
+ mkdir -m 644 -p $LOCALECACHEDIR
fi
((VERBOSE)) && echo "localepurge: checking for existence of $LOCALELIST..."
if [ ! -f $LOCALELIST ]; then
- touch $LOCALELIST && chmod 664 $LOCALELIST
+ touch $LOCALELIST && chmod 664 $LOCALELIST
fi
((VERBOSE)) && echo "localepurge: checking system for new locale ..."
for NEWLOCALE in $(cd /usr/share/locale; ls .)
-do
- if [ -d /usr/share/locale/$NEWLOCALE/LC_MESSAGES ]; then
- if [ ! "$(grep -cx $NEWLOCALE $LOCALELIST)" = "1" ]; then
- echo "$NEWLOCALE" >> "$NEWLOCALELIST"
+do
+ if [ -d /usr/share/locale/$NEWLOCALE/LC_MESSAGES ]; then
+ if [ ! "$(grep -cx $NEWLOCALE $LOCALELIST)" = "1" ]; then
+ echo "$NEWLOCALE" >> "$NEWLOCALELIST"
+ fi
fi
- fi
done
for NEWLOCALE in $(ls --ignore="man[1-9]*" /usr/share/man)
-do
- if [ -d /usr/share/man/$NEWLOCALE/man1 ] || [ -d /usr/share/man/$NEWLOCALE/man8 ]; then
- if [ ! "$(grep -cx $NEWLOCALE $LOCALELIST)" = "1" ]; then
- echo "$NEWLOCALE" >> "$NEWLOCALELIST"
+do
+ if [ -d /usr/share/man/$NEWLOCALE/man1 ] || [ -d /usr/share/man/$NEWLOCALE/man8 ]; then
+ if [ ! "$(grep -cx $NEWLOCALE $LOCALELIST)" = "1" ]; then
+ echo "$NEWLOCALE" >> "$NEWLOCALELIST"
+ fi
fi
- fi
done
if [ -f $NEWLOCALELIST ]; then
- if ((DONTBOTHERNEWLOCALE)); then
- mv "$NEWLOCALELIST" "$NEWLOCALELIST".temp
- sort -u "$NEWLOCALELIST".temp "$LOCALELIST"> "$NEWLOCALELIST"
- mv "$NEWLOCALELIST" "$LOCALELIST"
- rm "$NEWLOCALELIST".temp
- else
- mv "$NEWLOCALELIST" "$NEWLOCALELIST".temp
- sort -u "$NEWLOCALELIST".temp > "$NEWLOCALELIST"
- rm "$NEWLOCALELIST".temp
- fi
+ if ((DONTBOTHERNEWLOCALE)); then
+ mv "$NEWLOCALELIST" "$NEWLOCALELIST".temp
+ sort -u "$NEWLOCALELIST".temp "$LOCALELIST"> "$NEWLOCALELIST"
+ mv "$NEWLOCALELIST" "$LOCALELIST"
+ rm "$NEWLOCALELIST".temp
+ else
+ mv "$NEWLOCALELIST" "$NEWLOCALELIST".temp
+ sort -u "$NEWLOCALELIST".temp > "$NEWLOCALELIST"
+ rm "$NEWLOCALELIST".temp
+ fi
fi
if [ -f "$NEWLOCALELIST" ] && [ $DONTBOTHERNEWLOCALE != yes ]; then
echo "Some new locales have appeared on your system:"
echo
- tr '\n' ' ' < "$NEWLOCALELIST"
+ tr '\n' ' ' < "$NEWLOCALELIST"
echo
echo
echo "They will not be touched until you reconfigure localepurge"
echo "with the following command:"
echo
- echo " dpkg-reconfigure localepurge"
+ echo " /usr/bin/localepurge-config"
echo
fi
@@ -157,7 +143,7 @@
## all locales and create a pattern matching superfluous locales.
nopurge=$(
set -o noglob; # Disable path expansion and use 'echo'
- # below to change newlines into spaces
+ # below to change newlines into spaces
echo $(grep --invert-match --extended-regexp '^[ \t]*(#|$)' $NOPURGECONF)
)
nopurgepat='@(C|'"${nopurge// /|}"')'
@@ -172,7 +158,7 @@
)
################################################################
-## Define utility functions
+## Define utility functions
# Function for disk space calculation
# Usage: get_used_space <dirname>
@@ -202,7 +188,7 @@
local flag
((VERBOSE)) && flag=-v
for file; do
- if [ -f "$file" ] || [ -h "$file" ]; then
+ if [ -f "$file" ] || [ -h "$file" ]; then
echo "$file"
fi
done | xargs rm $flag
@@ -241,7 +227,6 @@
fi
}
-
################################################################
## Now, get the job done