Package: libpaper1
Version: 1.1.16
Severity: important

-a in test constructs like

[ -e /etc/papersize -a  \

is a bashism, but the postrm script has a /bin/sh shebang line.  

Martin Michlmayr <[EMAIL PROTECTED]> wrote:

> --- debian/libpaper1.postrm~  2006-05-15 10:42:48.000000000 +0000
> +++ debian/libpaper1.postrm   2006-05-15 10:42:51.000000000 +0000
> @@ -5,7 +5,7 @@
>  case "$1" in
>    purge)
>      if [ -x /usr/bin/ucf ]; then
> -      if [ -e /etc/papersize -a 
> +      if [ -e /etc/papersize -a \
>             "`md5sum /etc/papersize`" = "`awk '/\/etc\/papersize$/ {print}' 
> </var/lib/ucf/hashfile`" ]; then
>            rm -f /etc/papersize
>        fi

However, I question the logic in the purge case.  Shouldn't
configuration files be removed on purge in any case, even if they have
been changed?  After all, the purpose of the "removed" state is to keep
configuration files with local changes, and purging is for getting rid
of everything.  And even if you insist on chcking the md5sum: In case
ucf has been removed before this postrm script is run, the file should
still be removed!

So I think the whole thing should rather simply be:

  if [ -x /usr/bin/ucf ]; then
    ucf --purge /etc/papersize
  fi
  rm -f /etc/papersize

By the way, please don't close this bug with "applied patch by Frank
Küster".  There's no useful information in such an entry.  Rather say
"fixed bashism and logic error in postrm script" or something like
that. 

Regards, Frank



-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)


Reply via email to