Package: apticron
Version: 1.1.12
Severity: normal
Tags: patch

When using file: repositrories in sources.list the packages are not
cached in /var/cache/apt/archives and thus apticron can not generate the
changelog for those packages. The attached patch checks if the package
are in the cache and only run apt-listchanges in that case, instead of
always trying to run apt-listchanges. 

It is not the correct solution but better than getting an obscure error
from apt-listchanges, and I'm not sure how to implement the correct
soulution.

/torkel


-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.6.8
Locale: LANG=en_GB.UTF-8, LC_CTYPE=sv_SE.UTF-8 (charmap=UTF-8)

Versions of packages apticron depends on:
ii  apt-listchanges  2.59-0.2                Display change history from .deb a
ii  coreutils        5.2.1-2                 The GNU core utilities
ii  debconf          1.4.30.13               Debian configuration management sy
ii  iproute          20041019-3              Professional tools to control the 
ii  mailx            1:8.1.2-0.20040524cvs-4 A simple mail user agent

-- debconf information:
* apticron/notification: root
--- /usr/sbin/apticron.bak      2005-11-22 10:33:08.015936377 +0100
+++ /usr/sbin/apticron  2005-11-22 11:01:40.380577749 +0100
@@ -87,8 +87,13 @@
                VER=`LC_ALL=en /usr/bin/apt-cache policy $PKG |\
                     /bin/grep Candidate: | /usr/bin/cut -f 4 -d \ `
                VERFILE=`echo "$VER" | /bin/sed -e "s/:/%3a/g"`
-               DEBS="$DEBS ${PKGPATH}${PKG}_${VERFILE}_*.deb"
-               echo -e "\t"$PKG $VER
+               DEB="${PKGPATH}${PKG}_${VERFILE}_*.deb"
+               if [ -e ${DEB} ]; then
+                    DEBS="$DEBS ${DEB}"
+                    echo -e "\t"$PKG $VER
+               else
+                    echo -e "\t$PKG $VER (Package details are not available)"
+               fi
        done
 
        /bin/cat <<EOF
@@ -98,11 +103,12 @@
 Package Details:
 
 EOF
-
-       if [ -z "$LISTCHANGES_PROFILE" ] ; then
-               /usr/bin/apt-listchanges --which=both --headers -f text $DEBS 
-       else
-               /usr/bin/apt-listchanges -f text --profile=$LISTCHANGES_PROFILE 
$DEBS
+       if [ "$DEBS" ]; then
+               if [ -z "$LISTCHANGES_PROFILE" ] ; then
+                       /usr/bin/apt-listchanges --which=both --headers -f text 
$DEBS 
+               else
+                       /usr/bin/apt-listchanges -f text 
--profile=$LISTCHANGES_PROFILE $DEBS
+               fi
        fi
 
        /bin/cat <<EOF

Reply via email to