]> git.saurik.com Git - apt.git/blobdiff - debian/apt.postinst
debian/rules: add hardening=+all
[apt.git] / debian / apt.postinst
old mode 100644 (file)
new mode 100755 (executable)
index 9ff1e03..deb422a
@@ -15,12 +15,32 @@ set -e
 
 case "$1" in
     configure)
 
 case "$1" in
     configure)
-       SECRING='/etc/apt/secring.gpg'
-       # test if secring is an empty normal file
-       if test -f $SECRING -a ! -s $SECRING; then
-               rm -f $SECRING
+       if dpkg --compare-versions "$2" lt 1.1~exp4; then
+           # apt-key before 0.9.10 could leave empty keyrings around
+           find /etc/apt/trusted.gpg.d/ -name '*.gpg' | while read keyring; do
+               if ! test -s "$keyring"; then
+                   rm -f "$keyring"
+               fi
+           done
        fi
        fi
-       apt-key update
+
+       if dpkg --compare-versions "$2" lt-nl 0.9.9.5; then
+           # we are using tmpfiles for both
+           rm -f /etc/apt/trustdb.gpg
+           # this removal was done unconditional since 0.8.15.3
+           SECRING='/etc/apt/secring.gpg'
+           # test if secring is an empty normal file
+           if test -f $SECRING -a ! -s $SECRING; then
+               rm -f $SECRING
+           fi
+       fi
+
+        # add unprivileged user for the apt methods
+        adduser --force-badname --system -home /var/empty \
+            --no-create-home --quiet _apt || true
+        chown -R _apt:root \
+            /var/lib/apt/lists \
+            /var/cache/apt/archives
 
         # ensure tighter permissons on the logs, see LP: #975199
         if dpkg --compare-versions "$2" lt-nl 0.9.7.7; then
 
         # ensure tighter permissons on the logs, see LP: #975199
         if dpkg --compare-versions "$2" lt-nl 0.9.7.7; then
@@ -29,7 +49,7 @@ case "$1" in
         fi
 
         # create kernel autoremoval blacklist on update
         fi
 
         # create kernel autoremoval blacklist on update
-        if dpkg --compare-versions "$2" lt-nl 0.9.9.3; then
+        if dpkg --compare-versions "$2" lt 0.9.9.3; then
             /etc/kernel/postinst.d/apt-auto-removal
         fi
     ;;
             /etc/kernel/postinst.d/apt-auto-removal
         fi
     ;;