--- systems/Linux/2/deb_checkmd5sums.orig 2003-09-12 23:27:06.000000000 +0200 +++ systems/Linux/2/deb_checkmd5sums 2003-09-12 23:04:22.000000000 +0200 @@ -77,7 +77,11 @@ haveallcmds MD5SUM CAT CUT SED GREP BASE LOCALEDIR=/usr/share/locale MANDIR=/usr/share/man LOCALEPURGE=/etc/locale.nopurge -[ -f "$LOCALEPURGE" ] && LOCALENOPURGED=`$GREP ^[a-z] $LOCALEPURGE` +if [ -f "$LOCALEPURGE" ] +then + LOCALENOPURGED=`for l in $($GREP ^[a-z] $LOCALEPURGE); do echo -n "$l\|"; done; echo -n "[^a-z].*"` + SED_REMOVE_LOCALES_PURGED="/ usr\/share\/locale\/\($LOCALENOPURGED\)\//p;/ usr\/share\/locale/d" +fi if [ -d /var/lib/dpkg/info ] then @@ -89,6 +93,8 @@ do # TODO: add a configuration option to tiger so directories # can be removed easily from being checked $GREP -v "/share/doc" "$md5file" | +# don't check purged locales + $SED -e "$SED_REMOVE_LOCALES_PURGED" | $SED -e "s/^\(.*\) \(.*\)/\1 \/\2/" | $MD5SUM -c 2>&1 | $SED -e "s/^.*md5sum: MD5 check failed for '\(.*\)'/DIFF \1/; s/^.*md5sum: can't open \(.*\)/ERR \1/" | { while read err file @@ -98,25 +104,9 @@ do message ERROR lin005e "" "Installed file \`$file' checksum differs from installed packages." ;; ERR) - # Check for locales purged by locale-purge - purged="N" - # Check if the file belongs to purged directory - [ ! -z "`echo $file |$GREP $LOCALEDIR`" -o ! -z "`echo $file | $GREP $MANDIR`" ] && { - purged="Y" - # recover the locale - locale=`echo $file |$CUT -d / -f 5` - # and check against those configured in /etc/locale.nopurge - for localenopurged in $LOCALENOPURGED - do - [ "$localenopurged" = "$locale" ] && purged="N" - done - } - if [ "$purged" = "N" ] - then package=`echo "$md5file" | cut -f 1 -d "."` package=`basename $package` message ERROR lin006e "" "Cannot check file \"$file\" provided by \"$package\" since it does not exist" - fi ;; esac done