From 6b81c6dbb55d57a0f8d96ee5e3f5d1e6148850b1 Mon Sep 17 00:00:00 2001 From: Kevin Tian Date: Tue, 22 Jun 2010 11:33:06 +0800 Subject: sudo: upgrade to 1.7.2p7 Old 1.6.8p12 is quite old, even w/o source available now (only cached in pokylinux). [Patches-Poky] KEEP _autofoo.patch_: deal with bunch of autotool warnings/errors, more about underquotes. In 1.7.2p7, those error conditions disappear. But the underquotes fix is still valid to remove a bunch of autoconf warnings REMOVE _autofoo1.patch_: copy of autofoo.patch. no one uses it. REMOVE. KEEP _noexec-link.patch_: use "-module" to avoid libtool complaining about not starting with "lib". Add comment to the patch file. DISABLE _nostrip.patch_: it's wrong to strip target binaries on build host. Borrow from OE to use 'sed' instead of patch, but keept it for remind to upstream REMOVE _nonrootinstall.patch_: handle mode/owner population at install. It's not requried at all since there's pkg_postinst to handle it at right stage Other misc stuff: - update metadata information - no need to use ${S} in 1.7.2p7 - fix idention - use sed to disable strip - changes from OE: * disable PAM as our pam doesn't include necessary config files and plugs * no need to special sudo_cv_uid_t_len tweak in the recipe. It's already there in poky site files for a long time * move sudo_cv_func_unsetenv_void to meta/site/common. Stdlib.h is common across architectures in our libc headers, which conforms to POSIX standard (borrow from openembedded 1.7.2p4) Signed-off-by: Kevin Tian --- meta/packages/sudo/files/autofoo.patch | 131 +++------------ meta/packages/sudo/files/autofoo1.patch | 222 -------------------------- meta/packages/sudo/files/noexec-link.patch | 4 + meta/packages/sudo/files/nonrootinstall.patch | 56 ------- meta/packages/sudo/files/nostrip.patch | 5 +- meta/packages/sudo/sudo.inc | 18 ++- meta/packages/sudo/sudo_1.6.8p12.bb | 12 -- meta/packages/sudo/sudo_1.7.2p7.bb | 7 + meta/site/common | 4 + 9 files changed, 58 insertions(+), 401 deletions(-) delete mode 100644 meta/packages/sudo/files/autofoo1.patch delete mode 100644 meta/packages/sudo/files/nonrootinstall.patch delete mode 100644 meta/packages/sudo/sudo_1.6.8p12.bb create mode 100644 meta/packages/sudo/sudo_1.7.2p7.bb diff --git a/meta/packages/sudo/files/autofoo.patch b/meta/packages/sudo/files/autofoo.patch index 995f026a83..4f24737610 100644 --- a/meta/packages/sudo/files/autofoo.patch +++ b/meta/packages/sudo/files/autofoo.patch @@ -1,51 +1,11 @@ -Index: sudo-1.6.8p12/configure.in +# fix underquotes, rebased to 1.7.2p7 +# +# by Kevin Tian , 06/23/2010 +Index: sudo-1.7.2p7/aclocal.m4 =================================================================== ---- sudo-1.6.8p12.orig/configure.in 2004-11-26 04:31:20.000000000 +1100 -+++ sudo-1.6.8p12/configure.in 2007-05-16 16:45:20.000000000 +1000 -@@ -1609,7 +1609,7 @@ - AC_CHECK_FUNCS(getspnam, [CHECKSHADOW="false"], [AC_CHECK_LIB(gen, getspnam, AC_DEFINE(HAVE_GETSPNAM) [SUDO_LIBS="${SUDO_LIBS} -lgen"; LIBS="${LIBS} -lgen"])]) - fi - if test "$CHECKSHADOW" = "true"; then -- AC_CHECK_FUNC(getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1], AC_CHECK_LIB(sec, getprpwnam, AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsec"; LIBS="${LIBS} -lsec"], AC_CHECK_LIB(security, getprpwnam, AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsecurity"; LIBS="${LIBS} -lsecurity"], AC_CHECK_LIB(prot, getprpwnam, AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lprot"; LIBS="${LIBS} -lprot"])))]) -+ AC_CHECK_FUNC(getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1], [AC_CHECK_LIB(sec, getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsec"; LIBS="${LIBS} -lsec"], [AC_CHECK_LIB(security, getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsecurity"; LIBS="${LIBS} -lsecurity"], [AC_CHECK_LIB(prot, getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lprot"; LIBS="${LIBS} -lprot"])])])]) - fi - - dnl -@@ -1670,7 +1670,7 @@ - SUDO_TYPE_INO_T - SUDO_FULL_VOID - SUDO_UID_T_LEN --SUDO_LONG_LONG -+SUDO_TYPE_LONG_LONG - SUDO_SOCK_SA_LEN - dnl - dnl only set RETSIGTYPE if it is not set already -@@ -1700,12 +1700,14 @@ - if test -z "$BROKEN_GETCWD"; then - AC_REPLACE_FUNCS(getcwd) - fi --AC_CHECK_FUNCS(lockf flock, [break]) --AC_CHECK_FUNCS(waitpid wait3, [break]) --AC_CHECK_FUNCS(innetgr _innetgr, [AC_CHECK_FUNCS(getdomainname) [break]]) --AC_CHECK_FUNCS(lsearch, , [AC_CHECK_LIB(compat, lsearch, AC_CHECK_HEADER(search.h, AC_DEFINE(HAVE_LSEARCH) [LIBS="${LIBS} -lcompat"], AC_LIBOBJ(lsearch), -), AC_LIBOBJ(lsearch))]) --AC_CHECK_FUNCS(utimes, [AC_CHECK_FUNCS(futimes futimesat, [break])], [AC_CHECK_FUNCS(futime) AC_LIBOBJ(utimes)]) --SUDO_FUNC_FNMATCH(AC_DEFINE(HAVE_FNMATCH), AC_LIBOBJ(fnmatch)) -+AC_CHECK_FUNCS(lockf flock) -+AC_CHECK_FUNCS(waitpid wait3) -+AC_CHECK_FUNCS(innetgr _innetgr, [AC_CHECK_FUNCS(getdomainname)]) -+ -+AC_CHECK_FUNCS(lsearch, , [AC_CHECK_LIB(compat, lsearch, [AC_CHECK_HEADER(search.h, [AC_DEFINE(HAVE_LSEARCH) LIBS="$LIBS -lcompat"], [AC_LIBOBJ([lsearch])])], [AC_LIBOBJ([lsearch])])]) -+ -+AC_CHECK_FUNCS(utimes) -+SUDO_FUNC_FNMATCH([AC_DEFINE([HAVE_FNMATCH], [1], [Define if you have the 'fnmatch' function.])], [AC_LIBOBJ([fnmatch])]) - SUDO_FUNC_ISBLANK - AC_REPLACE_FUNCS(strerror strcasecmp sigaction strlcpy strlcat closefrom) - AC_CHECK_FUNCS(snprintf vsnprintf asprintf vasprintf, , [NEED_SNPRINTF=1]) -Index: sudo-1.6.8p12/aclocal.m4 -=================================================================== ---- sudo-1.6.8p12.orig/aclocal.m4 2004-09-08 03:14:51.000000000 +1000 -+++ sudo-1.6.8p12/aclocal.m4 2007-05-16 16:45:08.000000000 +1000 -@@ -9,7 +9,7 @@ +--- sudo-1.7.2p7.orig/aclocal.m4 2010-06-23 13:33:57.000000000 +0800 ++++ sudo-1.7.2p7/aclocal.m4 2010-06-23 13:36:41.000000000 +0800 +@@ -10,7 +10,7 @@ dnl dnl check for sendmail dnl @@ -54,7 +14,7 @@ Index: sudo-1.6.8p12/aclocal.m4 if test -f "/usr/sbin/sendmail"; then AC_MSG_RESULT(/usr/sbin/sendmail) SUDO_DEFINE(_PATH_SUDO_SENDMAIL, "/usr/sbin/sendmail") -@@ -36,7 +36,7 @@ +@@ -37,7 +37,7 @@ dnl dnl check for vi dnl @@ -63,7 +23,7 @@ Index: sudo-1.6.8p12/aclocal.m4 if test -f "/usr/bin/vi"; then AC_MSG_RESULT(/usr/bin/vi) SUDO_DEFINE(_PATH_VI, "/usr/bin/vi") -@@ -60,7 +60,7 @@ +@@ -61,7 +61,7 @@ dnl dnl check for mv dnl @@ -72,7 +32,7 @@ Index: sudo-1.6.8p12/aclocal.m4 if test -f "/usr/bin/mv"; then AC_MSG_RESULT(/usr/bin/mv) SUDO_DEFINE(_PATH_MV, "/usr/bin/mv") -@@ -81,7 +81,7 @@ +@@ -82,7 +82,7 @@ dnl dnl check for bourne shell dnl @@ -81,7 +41,7 @@ Index: sudo-1.6.8p12/aclocal.m4 if test -f "/bin/sh"; then AC_MSG_RESULT(/bin/sh) SUDO_DEFINE(_PATH_BSHELL, "/bin/sh") -@@ -114,7 +114,7 @@ +@@ -115,7 +115,7 @@ dnl dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm dnl @@ -90,7 +50,7 @@ Index: sudo-1.6.8p12/aclocal.m4 if test -n "$with_logpath"; then AC_MSG_RESULT($with_logpath) SUDO_DEFINE_UNQUOTED(_PATH_SUDO_LOGFILE, "$with_logpath") -@@ -135,7 +135,7 @@ +@@ -136,7 +136,7 @@ dnl dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm dnl @@ -99,16 +59,7 @@ Index: sudo-1.6.8p12/aclocal.m4 if test -n "$with_timedir"; then AC_MSG_RESULT($with_timedir) SUDO_DEFINE_UNQUOTED(_PATH_SUDO_TIMEDIR, "$with_timedir") -@@ -158,7 +158,7 @@ - dnl - dnl check for fullly working void - dnl --AC_DEFUN(SUDO_FULL_VOID, [AC_MSG_CHECKING(for full void implementation) -+AC_DEFUN([SUDO_FULL_VOID], [AC_MSG_CHECKING(for full void implementation) - AC_TRY_COMPILE(, [void *foo; - foo = (void *)0; (void *)"test";], AC_DEFINE(VOID, void, [Define to "void" if your compiler supports void pointers, else use "char"].) - AC_MSG_RESULT(yes), AC_DEFINE(VOID, char) -@@ -168,7 +168,7 @@ +@@ -160,7 +160,7 @@ dnl SUDO_CHECK_TYPE(TYPE, DEFAULT) dnl XXX - should require the check for unistd.h... dnl @@ -117,7 +68,7 @@ Index: sudo-1.6.8p12/aclocal.m4 [AC_REQUIRE([AC_HEADER_STDC])dnl AC_MSG_CHECKING(for $1) AC_CACHE_VAL(sudo_cv_type_$1, -@@ -189,31 +189,31 @@ +@@ -181,31 +181,31 @@ dnl dnl Check for size_t declation dnl @@ -151,22 +102,10 @@ Index: sudo-1.6.8p12/aclocal.m4 dnl -AC_DEFUN(SUDO_FUNC_FNMATCH, +AC_DEFUN([SUDO_FUNC_FNMATCH], - [AC_MSG_CHECKING(for working fnmatch with FNM_CASEFOLD) + [AC_MSG_CHECKING([for working fnmatch with FNM_CASEFOLD]) AC_CACHE_VAL(sudo_cv_func_fnmatch, [rm -f conftestdata; > conftestdata -@@ -224,9 +224,9 @@ - rm -f core core.* *.core])dnl - AC_MSG_RESULT($sudo_cv_func_fnmatch) - if test $sudo_cv_func_fnmatch = yes; then -- [$1] -+ $1 - else -- [$2] -+ $2 - fi - ]) - -@@ -246,7 +246,7 @@ +@@ -271,7 +271,7 @@ dnl dnl check for sa_len field in struct sockaddr dnl @@ -175,7 +114,7 @@ Index: sudo-1.6.8p12/aclocal.m4 [AC_MSG_CHECKING(for sa_len field in struct sockaddr) AC_CACHE_VAL(sudo_cv_sock_sa_len, [AC_TRY_RUN([#include -@@ -269,7 +269,7 @@ +@@ -294,7 +294,7 @@ dnl we can't really trust UID_MAX or MAXUID since they may exist dnl only for backwards compatibility. dnl @@ -184,39 +123,21 @@ Index: sudo-1.6.8p12/aclocal.m4 [AC_REQUIRE([AC_TYPE_UID_T]) AC_MSG_CHECKING(max length of uid_t) AC_CACHE_VAL(sudo_cv_uid_t_len, -@@ -301,17 +301,29 @@ - +@@ -327,7 +327,7 @@ dnl - dnl check for "long long" --dnl XXX hard to cache since it includes 2 tests + dnl Check for presence of long long and for sizeof(long long) == sizeof(long) dnl --AC_DEFUN(SUDO_LONG_LONG, [AC_MSG_CHECKING(for long long support) --AC_TRY_LINK(, [long long foo = 1000; foo /= 10;], AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your compiler supports the "long long" type.]) --[AC_TRY_RUN([main() {if (sizeof(long long) == sizeof(long)) exit(0); else exit(1);}], AC_DEFINE(LONG_IS_QUAD, 1, [Define if sizeof(long) == sizeof(long long).]))] --AC_MSG_RESULT(yes), AC_MSG_RESULT(no))]) +-AC_DEFUN(SUDO_TYPE_LONG_LONG, +AC_DEFUN([SUDO_TYPE_LONG_LONG], -+[AC_CHECK_TYPES(long long, [AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your -+compiler supports the "long long" type.])] -+[AC_MSG_CHECKING(for long and long long equivalence) -+AC_CACHE_VAL(sudo_cv_type_long_is_quad, -+[AC_TRY_RUN([ -+main() { -+if (sizeof(long long) == sizeof(long)) exit(0); -+else exit(1); -+}], [sudo_cv_type_long_is_quad=yes], -+[sudo_cv_type_long_is_quad=no], [sudo_cv_type_long_is_quad=no]) -+rm -f core core.* *.core])dnl -+AC_MSG_RESULT($sudo_cv_type_long_is_quad) -+if test $sudo_cv_type_long_is_quad = yes; then -+ AC_DEFINE(LONG_IS_QUAD, 1, [Define if sizeof(long) == sizeof(long long).]) -+fi -+])]) - + [AC_CHECK_TYPES(long long, [AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your compiler supports the "long long" type.])] + [AC_MSG_CHECKING(for long and long long equivalence) + AC_CACHE_VAL(sudo_cv_type_long_is_quad, +@@ -347,7 +347,7 @@ dnl dnl append a libpath to an LDFLAGS style variable dnl -AC_DEFUN(SUDO_APPEND_LIBPATH, [ +AC_DEFUN([SUDO_APPEND_LIBPATH], [ if test X"$with_rpath" = X"yes"; then - $1="${$1} -L$2 -R$2" - else + case "$host" in + *-*-hpux*) $1="${$1} -L$2 -Wl,+b,$2" diff --git a/meta/packages/sudo/files/autofoo1.patch b/meta/packages/sudo/files/autofoo1.patch deleted file mode 100644 index 995f026a83..0000000000 --- a/meta/packages/sudo/files/autofoo1.patch +++ /dev/null @@ -1,222 +0,0 @@ -Index: sudo-1.6.8p12/configure.in -=================================================================== ---- sudo-1.6.8p12.orig/configure.in 2004-11-26 04:31:20.000000000 +1100 -+++ sudo-1.6.8p12/configure.in 2007-05-16 16:45:20.000000000 +1000 -@@ -1609,7 +1609,7 @@ - AC_CHECK_FUNCS(getspnam, [CHECKSHADOW="false"], [AC_CHECK_LIB(gen, getspnam, AC_DEFINE(HAVE_GETSPNAM) [SUDO_LIBS="${SUDO_LIBS} -lgen"; LIBS="${LIBS} -lgen"])]) - fi - if test "$CHECKSHADOW" = "true"; then -- AC_CHECK_FUNC(getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1], AC_CHECK_LIB(sec, getprpwnam, AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsec"; LIBS="${LIBS} -lsec"], AC_CHECK_LIB(security, getprpwnam, AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsecurity"; LIBS="${LIBS} -lsecurity"], AC_CHECK_LIB(prot, getprpwnam, AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lprot"; LIBS="${LIBS} -lprot"])))]) -+ AC_CHECK_FUNC(getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1], [AC_CHECK_LIB(sec, getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsec"; LIBS="${LIBS} -lsec"], [AC_CHECK_LIB(security, getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsecurity"; LIBS="${LIBS} -lsecurity"], [AC_CHECK_LIB(prot, getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lprot"; LIBS="${LIBS} -lprot"])])])]) - fi - - dnl -@@ -1670,7 +1670,7 @@ - SUDO_TYPE_INO_T - SUDO_FULL_VOID - SUDO_UID_T_LEN --SUDO_LONG_LONG -+SUDO_TYPE_LONG_LONG - SUDO_SOCK_SA_LEN - dnl - dnl only set RETSIGTYPE if it is not set already -@@ -1700,12 +1700,14 @@ - if test -z "$BROKEN_GETCWD"; then - AC_REPLACE_FUNCS(getcwd) - fi --AC_CHECK_FUNCS(lockf flock, [break]) --AC_CHECK_FUNCS(waitpid wait3, [break]) --AC_CHECK_FUNCS(innetgr _innetgr, [AC_CHECK_FUNCS(getdomainname) [break]]) --AC_CHECK_FUNCS(lsearch, , [AC_CHECK_LIB(compat, lsearch, AC_CHECK_HEADER(search.h, AC_DEFINE(HAVE_LSEARCH) [LIBS="${LIBS} -lcompat"], AC_LIBOBJ(lsearch), -), AC_LIBOBJ(lsearch))]) --AC_CHECK_FUNCS(utimes, [AC_CHECK_FUNCS(futimes futimesat, [break])], [AC_CHECK_FUNCS(futime) AC_LIBOBJ(utimes)]) --SUDO_FUNC_FNMATCH(AC_DEFINE(HAVE_FNMATCH), AC_LIBOBJ(fnmatch)) -+AC_CHECK_FUNCS(lockf flock) -+AC_CHECK_FUNCS(waitpid wait3) -+AC_CHECK_FUNCS(innetgr _innetgr, [AC_CHECK_FUNCS(getdomainname)]) -+ -+AC_CHECK_FUNCS(lsearch, , [AC_CHECK_LIB(compat, lsearch, [AC_CHECK_HEADER(search.h, [AC_DEFINE(HAVE_LSEARCH) LIBS="$LIBS -lcompat"], [AC_LIBOBJ([lsearch])])], [AC_LIBOBJ([lsearch])])]) -+ -+AC_CHECK_FUNCS(utimes) -+SUDO_FUNC_FNMATCH([AC_DEFINE([HAVE_FNMATCH], [1], [Define if you have the 'fnmatch' function.])], [AC_LIBOBJ([fnmatch])]) - SUDO_FUNC_ISBLANK - AC_REPLACE_FUNCS(strerror strcasecmp sigaction strlcpy strlcat closefrom) - AC_CHECK_FUNCS(snprintf vsnprintf asprintf vasprintf, , [NEED_SNPRINTF=1]) -Index: sudo-1.6.8p12/aclocal.m4 -=================================================================== ---- sudo-1.6.8p12.orig/aclocal.m4 2004-09-08 03:14:51.000000000 +1000 -+++ sudo-1.6.8p12/aclocal.m4 2007-05-16 16:45:08.000000000 +1000 -@@ -9,7 +9,7 @@ - dnl - dnl check for sendmail - dnl --AC_DEFUN(SUDO_PROG_SENDMAIL, [AC_MSG_CHECKING(for sendmail) -+AC_DEFUN([SUDO_PROG_SENDMAIL], [AC_MSG_CHECKING(for sendmail) - if test -f "/usr/sbin/sendmail"; then - AC_MSG_RESULT(/usr/sbin/sendmail) - SUDO_DEFINE(_PATH_SUDO_SENDMAIL, "/usr/sbin/sendmail") -@@ -36,7 +36,7 @@ - dnl - dnl check for vi - dnl --AC_DEFUN(SUDO_PROG_VI, [AC_MSG_CHECKING(for vi) -+AC_DEFUN([SUDO_PROG_VI], [AC_MSG_CHECKING(for vi) - if test -f "/usr/bin/vi"; then - AC_MSG_RESULT(/usr/bin/vi) - SUDO_DEFINE(_PATH_VI, "/usr/bin/vi") -@@ -60,7 +60,7 @@ - dnl - dnl check for mv - dnl --AC_DEFUN(SUDO_PROG_MV, [AC_MSG_CHECKING(for mv) -+AC_DEFUN([SUDO_PROG_MV], [AC_MSG_CHECKING(for mv) - if test -f "/usr/bin/mv"; then - AC_MSG_RESULT(/usr/bin/mv) - SUDO_DEFINE(_PATH_MV, "/usr/bin/mv") -@@ -81,7 +81,7 @@ - dnl - dnl check for bourne shell - dnl --AC_DEFUN(SUDO_PROG_BSHELL, [AC_MSG_CHECKING(for bourne shell) -+AC_DEFUN([SUDO_PROG_BSHELL], [AC_MSG_CHECKING(for bourne shell) - if test -f "/bin/sh"; then - AC_MSG_RESULT(/bin/sh) - SUDO_DEFINE(_PATH_BSHELL, "/bin/sh") -@@ -114,7 +114,7 @@ - dnl - dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm - dnl --AC_DEFUN(SUDO_LOGFILE, [AC_MSG_CHECKING(for log file location) -+AC_DEFUN([SUDO_LOGFILE], [AC_MSG_CHECKING(for log file location) - if test -n "$with_logpath"; then - AC_MSG_RESULT($with_logpath) - SUDO_DEFINE_UNQUOTED(_PATH_SUDO_LOGFILE, "$with_logpath") -@@ -135,7 +135,7 @@ - dnl - dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm - dnl --AC_DEFUN(SUDO_TIMEDIR, [AC_MSG_CHECKING(for timestamp file location) -+AC_DEFUN([SUDO_TIMEDIR], [AC_MSG_CHECKING(for timestamp file location) - if test -n "$with_timedir"; then - AC_MSG_RESULT($with_timedir) - SUDO_DEFINE_UNQUOTED(_PATH_SUDO_TIMEDIR, "$with_timedir") -@@ -158,7 +158,7 @@ - dnl - dnl check for fullly working void - dnl --AC_DEFUN(SUDO_FULL_VOID, [AC_MSG_CHECKING(for full void implementation) -+AC_DEFUN([SUDO_FULL_VOID], [AC_MSG_CHECKING(for full void implementation) - AC_TRY_COMPILE(, [void *foo; - foo = (void *)0; (void *)"test";], AC_DEFINE(VOID, void, [Define to "void" if your compiler supports void pointers, else use "char"].) - AC_MSG_RESULT(yes), AC_DEFINE(VOID, char) -@@ -168,7 +168,7 @@ - dnl SUDO_CHECK_TYPE(TYPE, DEFAULT) - dnl XXX - should require the check for unistd.h... - dnl --AC_DEFUN(SUDO_CHECK_TYPE, -+AC_DEFUN([SUDO_CHECK_TYPE], - [AC_REQUIRE([AC_HEADER_STDC])dnl - AC_MSG_CHECKING(for $1) - AC_CACHE_VAL(sudo_cv_type_$1, -@@ -189,31 +189,31 @@ - dnl - dnl Check for size_t declation - dnl --AC_DEFUN(SUDO_TYPE_SIZE_T, -+AC_DEFUN([SUDO_TYPE_SIZE_T], - [SUDO_CHECK_TYPE(size_t, int)]) - - dnl - dnl Check for ssize_t declation - dnl --AC_DEFUN(SUDO_TYPE_SSIZE_T, -+AC_DEFUN([SUDO_TYPE_SSIZE_T], - [SUDO_CHECK_TYPE(ssize_t, int)]) - - dnl - dnl Check for dev_t declation - dnl --AC_DEFUN(SUDO_TYPE_DEV_T, -+AC_DEFUN([SUDO_TYPE_DEV_T], - [SUDO_CHECK_TYPE(dev_t, int)]) - - dnl - dnl Check for ino_t declation - dnl --AC_DEFUN(SUDO_TYPE_INO_T, -+AC_DEFUN([SUDO_TYPE_INO_T], - [SUDO_CHECK_TYPE(ino_t, unsigned int)]) - - dnl - dnl check for working fnmatch(3) - dnl --AC_DEFUN(SUDO_FUNC_FNMATCH, -+AC_DEFUN([SUDO_FUNC_FNMATCH], - [AC_MSG_CHECKING(for working fnmatch with FNM_CASEFOLD) - AC_CACHE_VAL(sudo_cv_func_fnmatch, - [rm -f conftestdata; > conftestdata -@@ -224,9 +224,9 @@ - rm -f core core.* *.core])dnl - AC_MSG_RESULT($sudo_cv_func_fnmatch) - if test $sudo_cv_func_fnmatch = yes; then -- [$1] -+ $1 - else -- [$2] -+ $2 - fi - ]) - -@@ -246,7 +246,7 @@ - dnl - dnl check for sa_len field in struct sockaddr - dnl --AC_DEFUN(SUDO_SOCK_SA_LEN, -+AC_DEFUN([SUDO_SOCK_SA_LEN], - [AC_MSG_CHECKING(for sa_len field in struct sockaddr) - AC_CACHE_VAL(sudo_cv_sock_sa_len, - [AC_TRY_RUN([#include -@@ -269,7 +269,7 @@ - dnl we can't really trust UID_MAX or MAXUID since they may exist - dnl only for backwards compatibility. - dnl --AC_DEFUN(SUDO_UID_T_LEN, -+AC_DEFUN([SUDO_UID_T_LEN], - [AC_REQUIRE([AC_TYPE_UID_T]) - AC_MSG_CHECKING(max length of uid_t) - AC_CACHE_VAL(sudo_cv_uid_t_len, -@@ -301,17 +301,29 @@ - - dnl - dnl check for "long long" --dnl XXX hard to cache since it includes 2 tests - dnl --AC_DEFUN(SUDO_LONG_LONG, [AC_MSG_CHECKING(for long long support) --AC_TRY_LINK(, [long long foo = 1000; foo /= 10;], AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your compiler supports the "long long" type.]) --[AC_TRY_RUN([main() {if (sizeof(long long) == sizeof(long)) exit(0); else exit(1);}], AC_DEFINE(LONG_IS_QUAD, 1, [Define if sizeof(long) == sizeof(long long).]))] --AC_MSG_RESULT(yes), AC_MSG_RESULT(no))]) -+AC_DEFUN([SUDO_TYPE_LONG_LONG], -+[AC_CHECK_TYPES(long long, [AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your -+compiler supports the "long long" type.])] -+[AC_MSG_CHECKING(for long and long long equivalence) -+AC_CACHE_VAL(sudo_cv_type_long_is_quad, -+[AC_TRY_RUN([ -+main() { -+if (sizeof(long long) == sizeof(long)) exit(0); -+else exit(1); -+}], [sudo_cv_type_long_is_quad=yes], -+[sudo_cv_type_long_is_quad=no], [sudo_cv_type_long_is_quad=no]) -+rm -f core core.* *.core])dnl -+AC_MSG_RESULT($sudo_cv_type_long_is_quad) -+if test $sudo_cv_type_long_is_quad = yes; then -+ AC_DEFINE(LONG_IS_QUAD, 1, [Define if sizeof(long) == sizeof(long long).]) -+fi -+])]) - - dnl - dnl append a libpath to an LDFLAGS style variable - dnl --AC_DEFUN(SUDO_APPEND_LIBPATH, [ -+AC_DEFUN([SUDO_APPEND_LIBPATH], [ - if test X"$with_rpath" = X"yes"; then - $1="${$1} -L$2 -R$2" - else diff --git a/meta/packages/sudo/files/noexec-link.patch b/meta/packages/sudo/files/noexec-link.patch index 98b35c657b..e0d35d0e25 100644 --- a/meta/packages/sudo/files/noexec-link.patch +++ b/meta/packages/sudo/files/noexec-link.patch @@ -1,3 +1,7 @@ +# libtool requires library's name to start with 'lib', or else error is reported. with "-module" option +# that check is skipped +# +# comments added by Kevin Tian , 06/23/2010 Index: sudo-1.6.8p6/Makefile.in =================================================================== --- sudo-1.6.8p6.orig/Makefile.in 2005-01-21 19:09:26.963276656 -0500 diff --git a/meta/packages/sudo/files/nonrootinstall.patch b/meta/packages/sudo/files/nonrootinstall.patch deleted file mode 100644 index db174b373f..0000000000 --- a/meta/packages/sudo/files/nonrootinstall.patch +++ /dev/null @@ -1,56 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - -Index: sudo-1.6.8p5/Makefile.in -=================================================================== ---- sudo-1.6.8p5.orig/Makefile.in 2004-11-25 12:27:00.000000000 -0500 -+++ sudo-1.6.8p5/Makefile.in 2005-01-21 18:02:00.447440568 -0500 -@@ -81,10 +81,16 @@ - mandirform = $(mandir)/$(mantype)$(mansectform) - - # User and group ids the installed files should be "owned" by -+ifeq ($(DESTDIR),) -+install_owncmd = -o $(install_uid) -g $(install_gid) -+endif - install_uid = 0 - install_gid = 0 - - # User, group, and mode the sudoers file should be "owned" by (configure) -+ifeq ($(DESTDIR),) -+sudoers_owncmd = -o $(sudoers_uid) -g $(sudoers_gid) -+endif - sudoers_uid = @SUDOERS_UID@ - sudoers_gid = @SUDOERS_GID@ - sudoers_mode = @SUDOERS_MODE@ -@@ -301,12 +307,11 @@ - $(DESTDIR)$(noexecdir) - - install-binaries: $(PROGS) -- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 4111 -s sudo $(DESTDIR)$(sudodir)/sudo -+ $(INSTALL) $(install_owncmd) -m 4555 -s sudo $(DESTDIR)$(sudodir)/sudo -+ $(INSTALL) $(install_owncmd) -m 0555 -s visudo $(DESTDIR)$(visudodir)/visudo - rm -f $(DESTDIR)$(sudodir)/sudoedit - ln $(DESTDIR)$(sudodir)/sudo $(DESTDIR)$(sudodir)/sudoedit - -- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0111 -s visudo $(DESTDIR)$(visudodir)/visudo -- - install-noexec: sudo_noexec.la - $(LIBTOOL) --mode=install $(INSTALL) sudo_noexec.la $(DESTDIR)$(noexecdir) - -@@ -319,11 +324,11 @@ - $(srcdir)/sudoers $(DESTDIR)$(sudoersdir)/sudoers - - install-man: -- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu) -+ $(INSTALL) $(install_owncmd) -m 0444 @mansrcdir@/sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu) - @rm -f $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu) - ln $(DESTDIR)$(mandirsu)/sudo.$(mansectsu) $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu) -- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu) -- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform) -+ $(INSTALL) $(install_owncmd) -m 0444 @mansrcdir@/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu) -+ $(INSTALL) $(install_owncmd) -m 0444 @mansrcdir@/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform) - @MAN_POSTINSTALL@ - - check: diff --git a/meta/packages/sudo/files/nostrip.patch b/meta/packages/sudo/files/nostrip.patch index 287d43a8e7..3c71b4fd86 100644 --- a/meta/packages/sudo/files/nostrip.patch +++ b/meta/packages/sudo/files/nostrip.patch @@ -1,4 +1,7 @@ - +# this could be pushed upstream to allowing conditional strip. Now it's not applied. +# we use sed in recipe for same purpose. Keep here as reminder for upstream +# +# comment added by Kevin Tian , 07/01/2010 # # Patch managed by http://www.holgerschurig.de/patcher.html # diff --git a/meta/packages/sudo/sudo.inc b/meta/packages/sudo/sudo.inc index 0dfb22ba8a..2add94bef4 100644 --- a/meta/packages/sudo/sudo.inc +++ b/meta/packages/sudo/sudo.inc @@ -1,17 +1,25 @@ -DESCRIPTION = "Sudo (superuser do) allows a system \ -administrator to give certain users (or groups of \ -users) the ability to run some (or all) commands \ -as root while logging all commands and arguments." -LICENSE = "sudo" +DESCRIPTION = "Sudo (superuser do) allows a system administrator to give certain users (or groups of users) the ability to run some (or all) commands as root while logging all commands and arguments." HOMEPAGE = "http://www.courtesan.com/sudo/" +BUGTRACKER = "http://www.sudo.ws/bugs/" PRIORITY = "optional" SECTION = "admin" +LICENSE = "ISC & UCB & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a7dfe8895011d65d0c2e24aaf5ad0843 \ + file://nonunix.h;startline=4;endline=28;md5=1e70feedac93a3fd7f5254e3fec52677 \ + file://vasgroups.c;startline=4;endline=28;md5=1e70feedac93a3fd7f5254e3fec52677 \ + file://fnmatch.c;startline=6;endline=31;md5=0779058eafd6e23b966585b45bfa54f3 \ + file://getcwd.c;startline=5;endline=27;md5=08d82914995224a0ca42116d7ca2a218 \ + file://glob.c;startline=6;endline=31;md5=299cb38ec8d56e89118ce57fb83b4f78 \ + file://snprintf.c;startline=6;endline=31;md5=dabd56a89a7a773850dc06ee4f1ecde2" inherit autotools EXTRA_OECONF = "--with-editor=/bin/vi --with-env-editor" do_configure_prepend () { + # Prevent binaries from being stripped on the host + sed -i 's/\($(INSTALL).*\) -s \(.*[(sudo|visudo)]\)/\1 \2/g' Makefile.in + rm -f acsite.m4 if [ ! -e acinclude.m4 ]; then cat aclocal.m4 > acinclude.m4 diff --git a/meta/packages/sudo/sudo_1.6.8p12.bb b/meta/packages/sudo/sudo_1.6.8p12.bb deleted file mode 100644 index 1764df5039..0000000000 --- a/meta/packages/sudo/sudo_1.6.8p12.bb +++ /dev/null @@ -1,12 +0,0 @@ -PR = "r3" - -SRC_URI = "http://ftp.sudo.ws/sudo/dist/OLD/sudo-1.6.8.tar.gz \ - http://ftp.sudo.ws/sudo/dist/OLD/sudo-1.6.8p12.patch.gz;patch=1 \ - file://nonrootinstall.patch;patch=1 \ - file://nostrip.patch;patch=1 \ - file://autofoo.patch;patch=1 \ - file://noexec-link.patch;patch=1" - -require sudo.inc - -S = "${WORKDIR}/sudo-1.6.8" diff --git a/meta/packages/sudo/sudo_1.7.2p7.bb b/meta/packages/sudo/sudo_1.7.2p7.bb new file mode 100644 index 0000000000..3dd6cdf059 --- /dev/null +++ b/meta/packages/sudo/sudo_1.7.2p7.bb @@ -0,0 +1,7 @@ +PR = "r0" + +SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-1.7.2p7.tar.gz \ + file://noexec-link.patch" + +require sudo.inc +EXTRA_OECONF += " --with-pam=no" diff --git a/meta/site/common b/meta/site/common index 90766886b3..e2dd4b57f7 100644 --- a/meta/site/common +++ b/meta/site/common @@ -3,3 +3,7 @@ mr_cv_target_elf=${mr_cv_target_elf=yes} # Normally kernels have /dev/random enabled ac_cv_file__dev_random=${ac_cv_file__dev_random=yes} + +# Avoid sudo to assume void for unsetenv in cross environment, or else it conflicts with +# target stdlib.h prototype which follows POSIX compiliance. Mark for upstream. +sudo_cv_func_unsetenv_void=no -- cgit v1.2.3-54-g00ecf