X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/c0f3bde3e0cf33b9134fae8289aa651f7f1866b1..9dd940ed722e8235c615e79b7eb688eb427e9a23:/debian/apt.postinst

diff --git a/debian/apt.postinst b/debian/apt.postinst
index 01f78a1dd..b0a5da7d8 100755
--- a/debian/apt.postinst
+++ b/debian/apt.postinst
@@ -15,13 +15,17 @@ set -e
 
 case "$1" in
     configure)
-	if dpkg --compare-versions "$2" lt 1.0.7; then
+	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
+	    # 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,15 @@ 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 /var/empty \
+	    --no-create-home --quiet _apt || true
+
+	# 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