From 5c96414966b7b92bc1877b463c082bd13e8f6d57 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 27 May 2009 11:10:06 +0100 Subject: sudo: Add from OE.dev with tweaks to SRC_URI Signed-off-by: Richard Purdie --- meta/packages/sudo/files/autofoo.patch | 222 ++++++++++++++++++++++++++ meta/packages/sudo/files/autofoo1.patch | 222 ++++++++++++++++++++++++++ meta/packages/sudo/files/noexec-link.patch | 13 ++ meta/packages/sudo/files/nonrootinstall.patch | 56 +++++++ meta/packages/sudo/files/nostrip.patch | 20 +++ meta/packages/sudo/site/bit-32 | 2 + meta/packages/sudo/site/bit-64 | 2 + meta/packages/sudo/sudo.inc | 28 ++++ meta/packages/sudo/sudo_1.6.8p12.bb | 12 ++ 9 files changed, 577 insertions(+) create mode 100644 meta/packages/sudo/files/autofoo.patch create mode 100644 meta/packages/sudo/files/autofoo1.patch create mode 100644 meta/packages/sudo/files/noexec-link.patch create mode 100644 meta/packages/sudo/files/nonrootinstall.patch create mode 100644 meta/packages/sudo/files/nostrip.patch create mode 100644 meta/packages/sudo/site/bit-32 create mode 100644 meta/packages/sudo/site/bit-64 create mode 100644 meta/packages/sudo/sudo.inc create mode 100644 meta/packages/sudo/sudo_1.6.8p12.bb diff --git a/meta/packages/sudo/files/autofoo.patch b/meta/packages/sudo/files/autofoo.patch new file mode 100644 index 000000000..995f026a8 --- /dev/null +++ b/meta/packages/sudo/files/autofoo.patch @@ -0,0 +1,222 @@ +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/autofoo1.patch b/meta/packages/sudo/files/autofoo1.patch new file mode 100644 index 000000000..995f026a8 --- /dev/null +++ b/meta/packages/sudo/files/autofoo1.patch @@ -0,0 +1,222 @@ +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 new file mode 100644 index 000000000..98b35c657 --- /dev/null +++ b/meta/packages/sudo/files/noexec-link.patch @@ -0,0 +1,13 @@ +Index: sudo-1.6.8p6/Makefile.in +=================================================================== +--- sudo-1.6.8p6.orig/Makefile.in 2005-01-21 19:09:26.963276656 -0500 ++++ sudo-1.6.8p6/Makefile.in 2005-01-21 19:16:11.918714072 -0500 +@@ -187,7 +187,7 @@ + $(CC) -o $@ $(TESTOBJS) $(LIBOBJS) $(LDFLAGS) $(LIBS) $(NET_LIBS) + + sudo_noexec.la: sudo_noexec.lo +- $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ sudo_noexec.lo -avoid-version -rpath $(noexecdir) ++ $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ sudo_noexec.lo -avoid-version -module -rpath $(noexecdir) + + # Uncomment the following if you want "make distclean" to clean the parser + @DEV@PARSESRCS = sudo.tab.h sudo.tab.c lex.yy.c def_data.c def_data.h diff --git a/meta/packages/sudo/files/nonrootinstall.patch b/meta/packages/sudo/files/nonrootinstall.patch new file mode 100644 index 000000000..db174b373 --- /dev/null +++ b/meta/packages/sudo/files/nonrootinstall.patch @@ -0,0 +1,56 @@ + +# +# 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 new file mode 100644 index 000000000..287d43a8e --- /dev/null +++ b/meta/packages/sudo/files/nostrip.patch @@ -0,0 +1,20 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +Index: sudo-1.6.8p5/Makefile.in +=================================================================== +--- sudo-1.6.8p5.orig/Makefile.in 2005-01-21 18:19:05.762568976 -0500 ++++ sudo-1.6.8p5/Makefile.in 2005-01-21 18:19:34.701169640 -0500 +@@ -307,8 +307,8 @@ + $(DESTDIR)$(noexecdir) + + install-binaries: $(PROGS) +- $(INSTALL) $(install_owncmd) -m 4555 -s sudo $(DESTDIR)$(sudodir)/sudo +- $(INSTALL) $(install_owncmd) -m 0555 -s visudo $(DESTDIR)$(visudodir)/visudo ++ $(INSTALL) $(install_owncmd) -m 4555 sudo $(DESTDIR)$(sudodir)/sudo ++ $(INSTALL) $(install_owncmd) -m 0555 visudo $(DESTDIR)$(visudodir)/visudo + rm -f $(DESTDIR)$(sudodir)/sudoedit + ln $(DESTDIR)$(sudodir)/sudo $(DESTDIR)$(sudodir)/sudoedit + diff --git a/meta/packages/sudo/site/bit-32 b/meta/packages/sudo/site/bit-32 new file mode 100644 index 000000000..9b7ca5c81 --- /dev/null +++ b/meta/packages/sudo/site/bit-32 @@ -0,0 +1,2 @@ +# is sizeof(long long) == sizeof(long) +sudo_cv_type_long_is_quad=${sudo_cv_type_long_is_quad=no} diff --git a/meta/packages/sudo/site/bit-64 b/meta/packages/sudo/site/bit-64 new file mode 100644 index 000000000..05846ff0a --- /dev/null +++ b/meta/packages/sudo/site/bit-64 @@ -0,0 +1,2 @@ +# is sizeof(long long) == sizeof(long) +sudo_cv_type_long_is_quad=${sudo_cv_type_long_is_quad=yes} diff --git a/meta/packages/sudo/sudo.inc b/meta/packages/sudo/sudo.inc new file mode 100644 index 000000000..0dfb22ba8 --- /dev/null +++ b/meta/packages/sudo/sudo.inc @@ -0,0 +1,28 @@ +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" +HOMEPAGE = "http://www.courtesan.com/sudo/" +PRIORITY = "optional" +SECTION = "admin" + +inherit autotools + +EXTRA_OECONF = "--with-editor=/bin/vi --with-env-editor" + +do_configure_prepend () { + rm -f acsite.m4 + if [ ! -e acinclude.m4 ]; then + cat aclocal.m4 > acinclude.m4 + fi +} + +pkg_postinst() { + if [ "x$D" != "x" ]; then + exit 1 + fi + + chmod 4111 /usr/bin/sudo + chmod 0440 /etc/sudoers +} diff --git a/meta/packages/sudo/sudo_1.6.8p12.bb b/meta/packages/sudo/sudo_1.6.8p12.bb new file mode 100644 index 000000000..1764df503 --- /dev/null +++ b/meta/packages/sudo/sudo_1.6.8p12.bb @@ -0,0 +1,12 @@ +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" -- cgit v1.2.3