From e9deb44823c85daa7bb8e485610c0fad94f4be2c Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 14 May 2010 09:42:05 +0200 Subject: * debian/apt.postinst: - do not fail if getent returns nothing useful (LP: #579647) thanks to Jean-Baptiste Lallement --- debian/apt.postinst | 15 +++++++++++++-- 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 Fri, 14 May 2010 09:40:50 +0200 + apt (0.7.25.3ubuntu8) lucid-proposed; urgency=low [ Loïc Minier ] -- cgit v1.2.3