]> git.saurik.com Git - apt.git/blobdiff - debian/apt.postinst
give rc-status packages a pin of -1
[apt.git] / debian / apt.postinst
index deb422aa5d3920bfaf25e21b1f42e8abfd0e6f90..1f98fcece4bad4d0b82e9edc7d7b78dc9c6c243b 100755 (executable)
@@ -22,6 +22,10 @@ case "$1" in
                    rm -f "$keyring"
                fi
            done
+           # apt-key before 0.9.8.2 could create 0600 trusted.gpg file
+           if test -e /etc/apt/trusted.gpg ; then
+               chmod -f 0644 /etc/apt/trusted.gpg || true
+           fi
        fi
 
        if dpkg --compare-versions "$2" lt-nl 0.9.9.5; then
@@ -35,12 +39,20 @@ case "$1" in
            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
+       # add unprivileged user for the apt methods
+       adduser --force-badname --system --home /nonexistent  \
+           --no-create-home --quiet _apt || true
+
+       # Fixup any mistake in the home directory of the _apt user
+       if dpkg --compare-versions "$2" lt-nl 1.1~exp10~; then
+           usermod --home /nonexistent _apt
+       fi
+
+       # deal with upgrades from experimental
+       if dpkg --compare-versions "$2" 'eq' '1.1~exp3'; then
+           # libapt will setup partial/ at runtime
+           chown -R root:root /var/lib/apt/lists /var/cache/apt/archives || true
+       fi
 
         # ensure tighter permissons on the logs, see LP: #975199
         if dpkg --compare-versions "$2" lt-nl 0.9.7.7; then