Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: pu

Fixes a severe regression in 0.97.5 (compared to 0.97.3 in squeeze now).  Also
include packaging improvements to correctly purge packages.

This should go into stable-updates ASAP as the package there currently suffers
from the regression and then into the next point release when it happens.
diff -u clamav-0.97.5+dfsg/debian/changelog clamav-0.97.5+dfsg/debian/changelog
--- clamav-0.97.5+dfsg/debian/changelog
+++ clamav-0.97.5+dfsg/debian/changelog
@@ -1,3 +1,17 @@
+clamav (0.97.5+dfsg-6~squeeze1) stable; urgency=medium
+
+  * Urgency medium for RC bug fix the addressess regression from 0.97.3
+  * Add changes from upstream commit 6a879ad98460303b23a6fc119769a3b463a902f8
+    to fix unpack errors for various compressed files including some .bz2,
+    .xls, .doc, and PDF (Closes: #684697)
+  * Drop postrm snippets from clamav-base, clamav-freshclam, clamav-daemon,
+    and clamav-milter that remove /var/log/clamav, /var/lib/clamav,
+    /var/run/clamav, and /etc/clamav and and let dpkg remove the directories
+    once they are empty in order to fix problems with directory removal by a
+    package that did not own the directory (Closes: #681960)
+
+ -- Scott Kitterman <sc...@kitterman.com>  Tue, 14 Aug 2012 12:11:19 -0400
+
 clamav (0.97.5+dfsg-3~squeeze1) stable; urgency=low
 
   [ Scott Kitterman ]
diff -u clamav-0.97.5+dfsg/debian/clamav-base.postrm clamav-0.97.5+dfsg/debian/clamav-base.postrm
--- clamav-0.97.5+dfsg/debian/clamav-base.postrm
+++ clamav-0.97.5+dfsg/debian/clamav-base.postrm
@@ -45,11 +45,6 @@
   fi
   rm -f /var/lib/clamav/*.md5sum || true
   rm -f $DATABASEDIR/main.cvd $DATABASEDIR/daily.cvd $DATABASEDIR/bytecode.cvd
-  for dir in /etc/clamav/ /var/log/clamav /var/lib/clamav/ /var/run/clamav/; do
-    if [ -d "$dir" ]; then
-      rmdir "$dir" --ignore-fail-on-non-empty || true
-    fi
-  done
   ;;
   remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
   ;;
diff -u clamav-0.97.5+dfsg/debian/clamav-freshclam.postrm clamav-0.97.5+dfsg/debian/clamav-freshclam.postrm
--- clamav-0.97.5+dfsg/debian/clamav-freshclam.postrm
+++ clamav-0.97.5+dfsg/debian/clamav-freshclam.postrm
@@ -52,11 +52,6 @@
   [ ! -d "${workdir}/main.inc/" ] || rmdir --ignore-fail-on-non-empty ${workdir}/main.inc/
   [ ! -d "${workdir}/daily.inc/" ] || rmdir --ignore-fail-on-non-empty ${workdir}/daily.inc/
   update-rc.d clamav-freshclam remove >/dev/null
-  for dir in /etc/clamav/ /var/log/clamav /var/lib/clamav/ /var/run/clamav/; do
-    if [ -d "$dir" ]; then
-      rmdir "$dir" --ignore-fail-on-non-empty || true
-    fi
-  done
   ;;
   remove)
   rm -f /var/lib/clamav/main.cvd /var/lib/clamav/main.cld
diff -u clamav-0.97.5+dfsg/debian/clamav-milter.postrm clamav-0.97.5+dfsg/debian/clamav-milter.postrm
--- clamav-0.97.5+dfsg/debian/clamav-milter.postrm
+++ clamav-0.97.5+dfsg/debian/clamav-milter.postrm
@@ -35,11 +35,6 @@
     fi
   done
   rm -f /var/log/clamav/clamav-milter.log* /etc/clamav/clamav-milter.conf.dpkg-old /etc/clamav/clamav-milter.conf.ucf-old
-  for dir in /etc/clamav/ /var/log/clamav /var/lib/clamav/ /var/run/clamav/; do
-    if [ -d "$dir" ]; then
-      rmdir "$dir" --ignore-fail-on-non-empty || true
-    fi
-  done
   ;;
   remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
   ;;
diff -u clamav-0.97.5+dfsg/debian/clamav-daemon.postrm clamav-0.97.5+dfsg/debian/clamav-daemon.postrm
--- clamav-0.97.5+dfsg/debian/clamav-daemon.postrm
+++ clamav-0.97.5+dfsg/debian/clamav-daemon.postrm
@@ -29,11 +29,6 @@
   if [ -e "$LOGROTATE_FILE" ]; then
     rm -f $LOGROTATE_FILE
   fi
-  for dir in /etc/clamav/ /var/log/clamav /var/lib/clamav/ /var/run/clamav/; do
-    if [ -d "$dir" ]; then
-      rmdir "$dir" --ignore-fail-on-non-empty || true
-    fi
-  done
   ;;
   remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
   ;;
only in patch2:
unchanged:
--- clamav-0.97.5+dfsg.orig/libclamav/scanners.c
+++ clamav-0.97.5+dfsg/libclamav/scanners.c
@@ -2369,7 +2369,19 @@
 	    ctx->fmap--;
 	    cli_bitset_free(ctx->hook_lsig_matches);
 	    ctx->hook_lsig_matches = old_hook_lsig_matches;
-	    ret_from_magicscan(ret);
+	    /* Same switch as end of magic_scandesc function */
+	    switch(ret) {
+		case CL_EFORMAT:
+		case CL_EMAXREC:
+		case CL_EMAXSIZE:
+		case CL_EMAXFILES:
+		    cli_dbgmsg("Descriptor[%d]: %s\n", desc, cl_strerror(ret));
+		case CL_CLEAN: /* here, only from cli_checkfp() */
+		    cache_add(hash, hashed_size, ctx);
+		    ret_from_magicscan(CL_CLEAN);
+		default:
+		    ret_from_magicscan(ret);
+	    }
 	}
     }
 

Reply via email to