summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2009-05-27 11:10:06 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2009-05-27 11:10:06 +0100
commit5c96414966b7b92bc1877b463c082bd13e8f6d57 (patch)
tree439a2d53e8abafd17ae7d09e11f850d255390d79
parent14f39f31a9d13c2a610a176a05865e57a164401a (diff)
downloadopenembedded-core-5c96414966b7b92bc1877b463c082bd13e8f6d57.tar.gz
openembedded-core-5c96414966b7b92bc1877b463c082bd13e8f6d57.tar.bz2
openembedded-core-5c96414966b7b92bc1877b463c082bd13e8f6d57.zip
sudo: Add from OE.dev with tweaks to SRC_URI
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
-rw-r--r--meta/packages/sudo/files/autofoo.patch222
-rw-r--r--meta/packages/sudo/files/autofoo1.patch222
-rw-r--r--meta/packages/sudo/files/noexec-link.patch13
-rw-r--r--meta/packages/sudo/files/nonrootinstall.patch56
-rw-r--r--meta/packages/sudo/files/nostrip.patch20
-rw-r--r--meta/packages/sudo/site/bit-322
-rw-r--r--meta/packages/sudo/site/bit-642
-rw-r--r--meta/packages/sudo/sudo.inc28
-rw-r--r--meta/packages/sudo/sudo_1.6.8p12.bb12
9 files changed, 577 insertions, 0 deletions
diff --git a/meta/packages/sudo/files/autofoo.patch b/meta/packages/sudo/files/autofoo.patch
new file mode 100644
index 0000000000..995f026a83
--- /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 <sys/types.h>
+@@ -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 0000000000..995f026a83
--- /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 <sys/types.h>
+@@ -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 0000000000..98b35c657b
--- /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 0000000000..db174b373f
--- /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 0000000000..287d43a8e7
--- /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 0000000000..9b7ca5c81b
--- /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 0000000000..05846ff0aa
--- /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 0000000000..0dfb22ba8a
--- /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 0000000000..1764df5039
--- /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"