Package: john Version: 1.7-2 Severity: serious john.postinst moves some conffiles from /etc/ to /etc/john; I think this should be in preinst instead (if the md5sum matches the value in dpkg status, remove, causing dpkg to add the new file, and the old one doesn't exist as cruft; otherwise move, which causes a dpkg prompt, as intended).
It also removes/replaces the conffile /etc/cron.daily/john: if [ "$RET" = "true" ]; then if [ -f /etc/cron.daily/john ] && [ ! -L /etc/cron.daily/john ]; then rm /etc/cron.daily/john fi fi [...] And /etc/cron.d/john: cronfile=/etc/cron.d/john tmp=`tempfile` if [ "$INSTCRON" = "true" ] && [ -f $cronfile ]; then cat $cronfile | sed -e 's/^#00/00/' >$tmp mv $tmp $cronfile else [...] if [ -f $cronfile ] ; then cat $cronfile | sed -e 's/^00/#00/' >$tmp mv $tmp $cronfile else rm $tmp fi fi And modifies the conffile /etc/john/john.conf: CONFFILE='/etc/john/john.conf' [...] TEMPFILE=`tempfile -d /etc/ -m 644` # Warn: Wordlist contains / so we use ',' instead, if the # user uses ',' the script will break (he shouldnt do that) sed -e "s,^Wordfile = .*,Wordfile = $WORDLIST," $CONFFILE >$TEMPFILE mv $TEMPFILE $CONFFILE john.preinst moves all the old conffiles out of the way, which seems to violate "preserves local configurations". john.prerm modifies the cronjob conffile; the accepted way to do this (eg. in initscripts) is to test for the existence of the daemon executable at the top of the script, and exist if it doesn't exist (which is supposed to mean "the package has been removed but not purged): cronfile=/etc/cron.d/john tmp=`tempfile` # If the user enabled the cronjob through debconf remove it, otherwise # keep it as it is since it is a local change. if [ "$INSTCRON" = "true" ]; then cat $cronfile | sed -e 's/^00/#00/' >$tmp mv $tmp $cronfile -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]