Package: sudo
Version: 1.8.3p1-2
Severity: normal
Tags: upstream patch
User: [email protected]
Usertags: hurd
Hello,
Currently visudo fails to run on hurd-i386, because it uses lockf which
isn't implemented on Hurd. This has been previously tracked on Alioth[1].
The following output is produced when one tries to use visudo:
# visudo
visudo: /etc/sudoers busy, try again later
The attached quilt patch causes visudo to use flock instead of lockf on
hurd-i386, which fixes this problem. The diff is somewhat large because I
have regenerated the configure script with a newer version of autoconf to
effect the change to configure.in.
visudo does not run perfectly on hurd-i386 with this patch applied, but
the remaining issue is known to be unrelated to this one, so it is
irrelevant to this bug. It is being worked on separately.
Please let me know if you need any further information.
[1]
https://alioth.debian.org/tracker/index.php?func=detail&aid=303084&group_id=30628&atid=411594
-- System Information:
Debian Release: wheezy/sid
APT prefers unreleased
APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: hurd-i386 (i686-AT386)
Kernel: GNU-Mach 1.3.99/Hurd-0.3
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages sudo depends on:
ii libc0.3 2.13-24
ii libpam-modules 1.1.3-6
ii libpam0g 1.1.3-6
sudo recommends no packages.
sudo suggests no packages.
-- Configuration Files:
/etc/sudoers [Errno 1073741837] Permission denied: u'/etc/sudoers'
/etc/sudoers.d/README [Errno 1073741837] Permission denied:
u'/etc/sudoers.d/README'
-- no debconf information
Use flock instead of lockf for visudo on hurd
Index: sudo-1.8.3p1/configure.in
===================================================================
--- sudo-1.8.3p1.orig/configure.in 2011-10-25 14:11:40.000000000 +0000
+++ sudo-1.8.3p1/configure.in 2012-01-08 04:05:23.000000000 +0000
@@ -1864,6 +1864,9 @@
;;
*-gnu*)
OSDEFS="${OSDEFS} -D_GNU_SOURCE"
+ # lockf() isn't implemented on the Hurd -- use flock instead
+ ac_cv_func_lockf=no
+ ac_cv_func_flock=yes
;;
esac
Index: sudo-1.8.3p1/configure
===================================================================
--- sudo-1.8.3p1.orig/configure 2011-10-25 14:11:54.000000000 +0000
+++ sudo-1.8.3p1/configure 2012-01-08 05:26:40.000000000 +0000
@@ -1483,7 +1483,7 @@
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [/etc]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
@@ -14287,6 +14287,9 @@
;;
*-gnu*)
OSDEFS="${OSDEFS} -D_GNU_SOURCE"
+ # lockf() isn't implemented on the Hurd -- use flock instead
+ ac_cv_func_lockf=no
+ ac_cv_func_flock=yes
;;
esac
@@ -17191,7 +17194,7 @@
$as_echo "$as_me: WARNING: unable to find socket() trying -lsocket -lnsl" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
$as_echo_n "checking for socket in -lsocket... " >&6; }
-if ${ac_cv_lib_socket_socket_lnsl+:} false; then :
+if ${ac_cv_lib_socket_socket+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -17215,17 +17218,17 @@
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_socket_socket_lnsl=yes
+ ac_cv_lib_socket_socket=yes
else
- ac_cv_lib_socket_socket_lnsl=no
+ ac_cv_lib_socket_socket=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket_lnsl" >&5
-$as_echo "$ac_cv_lib_socket_socket_lnsl" >&6; }
-if test "x$ac_cv_lib_socket_socket_lnsl" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5
+$as_echo "$ac_cv_lib_socket_socket" >&6; }
+if test "x$ac_cv_lib_socket_socket" = xyes; then :
NET_LIBS="${NET_LIBS} -lsocket -lnsl"; LIBS="${LIBS} -lsocket -lnsl"
fi
@@ -17325,7 +17328,7 @@
$as_echo "$as_me: WARNING: unable to find inet_addr() trying -lsocket -lnsl" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_addr in -lsocket" >&5
$as_echo_n "checking for inet_addr in -lsocket... " >&6; }
-if ${ac_cv_lib_socket_inet_addr_lnsl+:} false; then :
+if ${ac_cv_lib_socket_inet_addr+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -17349,17 +17352,17 @@
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_socket_inet_addr_lnsl=yes
+ ac_cv_lib_socket_inet_addr=yes
else
- ac_cv_lib_socket_inet_addr_lnsl=no
+ ac_cv_lib_socket_inet_addr=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_inet_addr_lnsl" >&5
-$as_echo "$ac_cv_lib_socket_inet_addr_lnsl" >&6; }
-if test "x$ac_cv_lib_socket_inet_addr_lnsl" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_inet_addr" >&5
+$as_echo "$ac_cv_lib_socket_inet_addr" >&6; }
+if test "x$ac_cv_lib_socket_inet_addr" = xyes; then :
NET_LIBS="${NET_LIBS} -lsocket -lnsl"; LIBS="${LIBS} -lsocket -lnsl"
fi
@@ -18050,7 +18053,7 @@
#
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SD_Init in -laceclnt" >&5
$as_echo_n "checking for SD_Init in -laceclnt... " >&6; }
-if ${ac_cv_lib_aceclnt_SD_Init_______lpthread_______+:} false; then :
+if ${ac_cv_lib_aceclnt_SD_Init+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -18077,17 +18080,17 @@
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_aceclnt_SD_Init_______lpthread_______=yes
+ ac_cv_lib_aceclnt_SD_Init=yes
else
- ac_cv_lib_aceclnt_SD_Init_______lpthread_______=no
+ ac_cv_lib_aceclnt_SD_Init=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_aceclnt_SD_Init_______lpthread_______" >&5
-$as_echo "$ac_cv_lib_aceclnt_SD_Init_______lpthread_______" >&6; }
-if test "x$ac_cv_lib_aceclnt_SD_Init_______lpthread_______" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_aceclnt_SD_Init" >&5
+$as_echo "$ac_cv_lib_aceclnt_SD_Init" >&6; }
+if test "x$ac_cv_lib_aceclnt_SD_Init" = xyes; then :
AUTH_OBJS="$AUTH_OBJS securid5.lo";
SUDOERS_LIBS="${SUDOERS_LIBS} -laceclnt -lpthread"
@@ -18346,10 +18349,9 @@
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- as_ac_Lib=`$as_echo "ac_cv_lib_krb_main$K4LIBS" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lkrb" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lkrb" >&5
$as_echo_n "checking for main in -lkrb... " >&6; }
-if eval \${$as_ac_Lib+:} false; then :
+if ${ac_cv_lib_krb_main+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -18367,25 +18369,23 @@
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- eval "$as_ac_Lib=yes"
+ ac_cv_lib_krb_main=yes
else
- eval "$as_ac_Lib=no"
+ ac_cv_lib_krb_main=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-eval ac_res=\$$as_ac_Lib
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_krb_main" >&5
+$as_echo "$ac_cv_lib_krb_main" >&6; }
+if test "x$ac_cv_lib_krb_main" = xyes; then :
K4LIBS="-lkrb $K4LIBS"
else
- as_ac_Lib=`$as_echo "ac_cv_lib_krb4_main$K4LIBS" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lkrb4" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lkrb4" >&5
$as_echo_n "checking for main in -lkrb4... " >&6; }
-if eval \${$as_ac_Lib+:} false; then :
+if ${ac_cv_lib_krb4_main+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -18403,18 +18403,17 @@
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- eval "$as_ac_Lib=yes"
+ ac_cv_lib_krb4_main=yes
else
- eval "$as_ac_Lib=no"
+ ac_cv_lib_krb4_main=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-eval ac_res=\$$as_ac_Lib
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_krb4_main" >&5
+$as_echo "$ac_cv_lib_krb4_main" >&6; }
+if test "x$ac_cv_lib_krb4_main" = xyes; then :
K4LIBS="-lkrb4 $K4LIBS"
else
K4LIBS="-lkrb $K4LIBS"