X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/48f3f1b24b48066cfc23342a5c6470ddf5e0fa6a..69cea1ef2cfda3c4da79fd756a8edaf2be26998e:/debian/apt.postinst diff --git a/debian/apt.postinst b/debian/apt.postinst index 01f78a1dd..1f98fcece 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,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