--- localepurge 2006-09-27 18:31:43.000000000 +0100 +++ localepurge 2006-10-04 20:34:56.028158768 +0100 @@ -23,7 +23,7 @@ BOLD=$'\e[1m' eerror () { - echo -e " ${BAD}*${NORMAL} $*" + echo -e " ${BAD}*${NORMAL} $*" >> /dev/stderr } ewarn () { @@ -45,12 +45,12 @@ echo einfo "Usage: `basename $0` [options]" echo - etab "${BOLD}-help (-h) ${NORMAL} : show this help." etab "${BOLD}-debug (-d) ${NORMAL} : debug mode." - etab "${BOLD}-verbose (-v) ${NORMAL} : verbose mode." + etab "${BOLD}-help (-h) ${NORMAL} : show this help." etab "${BOLD}-nocolor (-nc) ${NORMAL} : no color mode." - etab "${BOLD}-pretend (-p) ${NORMAL} : pretend mode." - etab "${BOLD}-version ${NORMAL} : show version." + etab "${BOLD}-pretend (-p) ${NORMAL} : pretend mode." + etab "${BOLD}-verbose (-v) ${NORMAL} : verbose mode." + etab "${BOLD}-version ${NORMAL} : show version." echo } @@ -85,44 +85,44 @@ for x in $@ do - if [ "$x" = "-verbose" ] || [ "$x" = "-v" ]; then - VERBOSE=enabled - fi - - if [ "$x" = "-version" ] ; then - version + if [ "$x" = "-help" ] || [ "$x" = "-h" ]; then + ayuda exit 0 - fi - if [ "$x" = "-p" ] || [ "$x" = "-pretend" ]; then + elif [ "$x" = "-pretend" ] || [ "$x" = "-p" ]; then PRETEND=enabled - fi - if [ "$x" = "-help" ] || [ "$x" = "-h" ]; then - ayuda + elif [ "$x" = "-verbose" ] || [ "$x" = "-v" ]; then + VERBOSE=enabled + + elif [ "$x" = "-version" ] ; then + version exit 0 + + else + eerror "Unrecognised option: ${x}" + eerror "Please see `basename $0` -help" + exit 1 fi done # Do nothing and report why if no valid configuration file exists: -if [ ! -f ${CONFIGFILE} ] - then - eerror " No ${CONFIGFILE} file present, exiting ..." +if [ ! -f ${CONFIGFILE} ]; then + eerror " No ${CONFIGFILE} file present, exiting ..." + exit 0 +else + if [ "`grep -x ^NEEDSCONFIGFIRST ${CONFIGFILE}`" ]; then + echo "" + einfo " You have to configure \"${CONFIGFILE}\" " + echo "" + einfo " to make $0 actually start to function." + echo "" + einfo " Nothing to be done, exiting ..." + echo "" exit 0 - else - if [ "`grep -x ^NEEDSCONFIGFIRST ${CONFIGFILE}`" ] - then - echo "" - einfo " You have to configure \"${CONFIGFILE}\" " - echo "" - einfo " to make $0 actually start to function." - echo "" - einfo " Nothing to be done, exiting ..." - echo "" - exit 0 - fi + fi fi # Prune the locale list using CONFIGFILE as a list of regex patterns: @@ -133,103 +133,77 @@ purgelocale () { local LOCALEDIR="$1" -if [ -d $LOCALEDIR ]; then + if [ -d $LOCALEDIR ]; then - if [ "$SHOWFREEDSPACE" = "enabled" ]; then - LOCALEBEFORE=$(df -P $LOCALEDIR | awk '{if ( NR==2 ) { print $3 }}') - fi + if [ "$SHOWFREEDSPACE" = "enabled" ]; then + LOCALEBEFORE=$(df -P $LOCALEDIR | awk '{if ( NR==2 ) { print $3 }}') + fi - if [ "$VERBOSE" = "enabled" ]; then - einfo "localepurge: processing locale files in ${LOCALEDIR} ..." - for LOCALE in `/bin/ls ${LOCALEDIR}` - do - if echo "${PURGELIST}" | grep -xq ${LOCALE}; then - if [ -d ${LOCALEDIR}/${LOCALE}/LC_MESSAGES ]; then - if [ "${PRETEND}" = "enabled" ]; then - echo "${LOCALEDIR}/${LOCALE}" - else - /bin/rm -vf `find ${LOCALEDIR}/${LOCALE} -type f` - fi - fi - fi - done - else - for LOCALE in `/bin/ls ${LOCALEDIR}` - do - if echo "${PURGELIST}" | grep -xq ${LOCALE}; then - if [ -d ${LOCALEDIR}/${LOCALE}/LC_MESSAGES ]; then - if [ "${PRETEND}" = "enabled" ]; then - echo "${LOCALEDIR}/${LOCALE}" - else - /bin/rm -vf `find ${LOCALEDIR}/${LOCALE} -type f` + if [ "$VERBOSE" = "enabled" ]; then + einfo "localepurge: processing locale files in ${LOCALEDIR} ..." + fi + + for LOCALE in `/bin/ls ${LOCALEDIR}`; do + if echo "${PURGELIST}" | grep -xq ${LOCALE}; then + if [ -d ${LOCALEDIR}/${LOCALE}/LC_MESSAGES ]; then + if [ "${PRETEND}" = "enabled" ]; then + echo "${LOCALEDIR}/${LOCALE}" + else + /bin/rm -vf `find ${LOCALEDIR}/${LOCALE} -type f` + fi fi fi - fi - done - fi + done - if [ "$SHOWFREEDSPACE" = "enabled" ]; then - LOCALEAFTER=$(df -P $LOCALEDIR | awk '{if ( NR==2 ) { print $3 }}') - LOCALESUM=$(($LOCALEBEFORE - $LOCALEAFTER)) - LOCALETOTAL=$(($LOCALETOTAL + $LOCALESUM)) - if [ ! $LOCALEBEFORE = $LOCALEAFTER ]; then - einfo "localepurge: Disk space freed in $LOCALEDIR: ${BOLD}"$LOCALESUM"K${NORMAL}" + if [ "$SHOWFREEDSPACE" = "enabled" ]; then + LOCALEAFTER=$(df -P $LOCALEDIR | awk '{if ( NR==2 ) { print $3 }}') + LOCALESUM=$(($LOCALEBEFORE - $LOCALEAFTER)) + LOCALETOTAL=$(($LOCALETOTAL + $LOCALESUM)) + if [ ! $LOCALEBEFORE = $LOCALEAFTER ]; then + einfo "localepurge: Disk space freed in $LOCALEDIR: ${BOLD}"$LOCALESUM"K${NORMAL}" + fi fi fi -fi } # Getting rid of localized man pages in $MANPAGEDIR purgeman () { local MANPAGEDIR="$1" -if [ -d $MANPAGEDIR ] && [ "`grep -x ^MANDELETE ${CONFIGFILE}`" ]; then + if [ -d $MANPAGEDIR ] && [ "`grep -x ^MANDELETE ${CONFIGFILE}`" ]; then - if [ "$SHOWFREEDSPACE" = "enabled" ]; then - MANBEFORE=$(df -P $MANPAGEDIR | awk '{if ( NR==2 ) { print $3 }}') + if [ "$SHOWFREEDSPACE" = "enabled" ]; then + MANBEFORE=$(df -P $MANPAGEDIR | awk '{if ( NR==2 ) { print $3 }}') fi - if [ "$VERBOSE" = "enabled" ]; then - einfo "localepurge: processing man pages in ${MANPAGEDIR} ..." - for LOCALE in `/bin/ls ${MANPAGEDIR} | grep -v ^man[1-9]` - do - if echo "${PURGELIST}" | grep -xq ${LOCALE}; then - if [ -d ${MANPAGEDIR}/${LOCALE} ]; then - if [ "${PRETEND}" = "enabled" ]; then - echo "${MANPAGEDIR}/${LOCALE}" - else - /bin/rm -f `find ${MANPAGEDIR}/${LOCALE} -type f` - fi - fi - fi - done - else - for LOCALE in `/bin/ls ${MANPAGEDIR} | grep -v ^man[1-9]` - do - if echo "${PURGELIST}" | grep -xq ${LOCALE}; then - if [ -d ${MANPAGEDIR}/${LOCALE} ]; then - if [ "${PRETEND}" = "enabled" ]; then - echo "${MANPAGEDIR}/${LOCALE}" - else - /bin/rm -f `find ${MANPAGEDIR}/${LOCALE} -type f` + if [ "$VERBOSE" = "enabled" ]; then + einfo "localepurge: processing man pages in ${MANPAGEDIR} ..." + fi + + for LOCALE in `/bin/ls ${MANPAGEDIR} | grep -v ^man[1-9]`; do + if echo "${PURGELIST}" | grep -xq ${LOCALE}; then + if [ -d ${MANPAGEDIR}/${LOCALE} ]; then + if [ "${PRETEND}" = "enabled" ]; then + echo "${MANPAGEDIR}/${LOCALE}" + else + /bin/rm -f `find ${MANPAGEDIR}/${LOCALE} -type f` + fi fi fi - fi - done - fi + done - if [ "$SHOWFREEDSPACE" = "enabled" ]; then - MANAFTER=$(df -P $MANPAGEDIR | awk '{if ( NR==2 ) { print $3 }}') - MANSUM=$(($MANBEFORE - $MANAFTER)) - MANTOTAL=$(($MANTOTAL + $MANSUM)) - if [ ! $MANBEFORE = $MANAFTER ]; then - einfo "localepurge: Disk space freed in $MANPAGEDIR: ${BOLD}"$MANSUM"K${NORMAL}" + if [ "$SHOWFREEDSPACE" = "enabled" ]; then + MANAFTER=$(df -P $MANPAGEDIR | awk '{if ( NR==2 ) { print $3 }}') + MANSUM=$(($MANBEFORE - $MANAFTER)) + MANTOTAL=$(($MANTOTAL + $MANSUM)) + if [ ! $MANBEFORE = $MANAFTER ]; then + einfo "localepurge: Disk space freed in $MANPAGEDIR: ${BOLD}"$MANSUM"K${NORMAL}" + fi fi fi -fi } -[ "${PRETEND}" = "enabled" ] && +[ "${PRETEND}" = "enabled" ] && [ "${VERBOSE}" = "enabled" ] && ewarn "If not pretending, localepurge would clear the following directories:\n" for folder in ${LOCALEDIRS}; do