summaryrefslogtreecommitdiff
path: root/debian/apt.postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/apt.postinst')
-rwxr-xr-x[-rw-r--r--]debian/apt.postinst23
1 files changed, 23 insertions, 0 deletions
diff --git a/debian/apt.postinst b/debian/apt.postinst
index fd3e273bb..b0a5da7d8 100644..100755
--- a/debian/apt.postinst
+++ b/debian/apt.postinst
@@ -15,6 +15,19 @@ set -e
case "$1" in
configure)
+ 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
# we are using tmpfiles for both
rm -f /etc/apt/trustdb.gpg
@@ -26,6 +39,16 @@ 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
+
+ # 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
# ensure permissions are right