diff options
-rw-r--r-- | debian/apt.postinst | 15 | ||||
-rw-r--r-- | debian/changelog | 8 |
2 files changed, 21 insertions, 2 deletions
diff --git a/debian/apt.postinst b/debian/apt.postinst index 6236acd42..4f14703d0 100644 --- a/debian/apt.postinst +++ b/debian/apt.postinst @@ -5,7 +5,18 @@ set -e # set the proxy based on the admin users gconf settings # set_apt_proxy_from_gconf() { - admin_user=$(getent group admin|cut -d: -f4|cut -d, -f1) + # try SUDO_USER first + if [ -n "$SUDO_USER" ]; then + admin_user="$SUDO_USER" + else + admin_user=$(getent group admin|cut -d: -f4|cut -d, -f1) + fi + # test if the user actually exists, getent returns "+" for e.g. + # LDAP + if ! id -u "$admin_user" > /dev/null 2>&1; then + return + fi + # get the settings from gconf if [ -n "$admin_user" ] && [ -x /usr/bin/sudo ] && [ -z "$http_proxy" ] && [ -x /usr/bin/gconftool ]; then use=$(sudo -u "$admin_user" gconftool --get /system/http_proxy/use_http_proxy 2>/dev/null) host=$(sudo -u "$admin_user" gconftool --get /system/http_proxy/host 2>/dev/null) @@ -41,7 +52,7 @@ case "$1" in # that sudo no longer honors http_proxy # this can be removed after lucid is released if dpkg --compare-versions "$2" lt-nl "0.7.25.3ubuntu2"; then - set_apt_proxy_from_gconf + set_apt_proxy_from_gconf || true fi ;; diff --git a/debian/changelog b/debian/changelog index 3a152cba4..4da4e86b9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +apt (0.7.25.3ubuntu9) lucid-proposed; urgency=low + + * debian/apt.postinst: + - do not fail if getent returns nothing useful (LP: #579647) + thanks to Jean-Baptiste Lallement + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 14 May 2010 09:40:50 +0200 + apt (0.7.25.3ubuntu8) lucid-proposed; urgency=low [ Loïc Minier ] |