diff options
Diffstat (limited to 'meta/recipes-extended/sudo')
| -rw-r--r-- | meta/recipes-extended/sudo/files/libtool.patch | 24 | ||||
| -rw-r--r-- | meta/recipes-extended/sudo/files/sudo.pam | 6 | ||||
| -rw-r--r-- | meta/recipes-extended/sudo/sudo.inc | 32 | ||||
| -rw-r--r-- | meta/recipes-extended/sudo/sudo_1.8.4p4.bb | 29 |
4 files changed, 91 insertions, 0 deletions
diff --git a/meta/recipes-extended/sudo/files/libtool.patch b/meta/recipes-extended/sudo/files/libtool.patch new file mode 100644 index 000000000..b0cd67551 --- /dev/null +++ b/meta/recipes-extended/sudo/files/libtool.patch @@ -0,0 +1,24 @@ +Fix path to libtool scripts so autoreconf can succeed. + +Upstream-Status: Inappropriate [Other] +Workaround is specific to our build system. + +Signed-off-by: Scott Garman <scott.a.garman@intel.com> + +diff -urN sudo-1.7.4p4.orig//aclocal.m4 sudo-1.7.4p4//aclocal.m4 +--- sudo-1.7.4p4.orig//aclocal.m4 2010-08-06 07:17:36.000000000 -0700 ++++ sudo-1.7.4p4//aclocal.m4 2010-11-22 14:38:20.360957038 -0800 +@@ -368,8 +368,8 @@ + dnl + dnl Pull in libtool macros + dnl +-m4_include([libtool.m4]) +-m4_include([ltoptions.m4]) +-m4_include([ltsugar.m4]) +-m4_include([ltversion.m4]) +-m4_include([lt~obsolete.m4]) ++m4_include([m4/libtool.m4]) ++m4_include([m4/ltoptions.m4]) ++m4_include([m4/ltsugar.m4]) ++m4_include([m4/ltversion.m4]) ++m4_include([m4/lt~obsolete.m4]) diff --git a/meta/recipes-extended/sudo/files/sudo.pam b/meta/recipes-extended/sudo/files/sudo.pam new file mode 100644 index 000000000..5bc26e702 --- /dev/null +++ b/meta/recipes-extended/sudo/files/sudo.pam @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth include common-auth +account include common-account +password include common-password +session required pam_keyinit.so revoke +session required pam_limits.so diff --git a/meta/recipes-extended/sudo/sudo.inc b/meta/recipes-extended/sudo/sudo.inc new file mode 100644 index 000000000..216869052 --- /dev/null +++ b/meta/recipes-extended/sudo/sudo.inc @@ -0,0 +1,32 @@ +SUMMARY = "Provide limited super user privileges to specific users" +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.sudo.ws" +BUGTRACKER = "http://www.sudo.ws/bugs/" +SECTION = "admin" +LICENSE = "ISC & BSD & Zlib" +LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=19f95c610f585c26a836975654807669 \ + file://plugins/sudoers/redblack.c;beginline=1;endline=41;md5=fba1c1dca0951819964dfdc618e81724 \ + file://compat/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \ + file://compat/getcwd.c;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \ + file://compat/glob.c;beginline=6;endline=31;md5=5872733146b9eb0deb79e1f664815b85 \ + file://compat/snprintf.c;beginline=6;endline=31;md5=c98b24f02967c095d7a70ae2e4d4d4ea" + +inherit autotools + +EXTRA_OECONF = "--with-editor=/bin/vi --with-env-editor" + +do_configure_prepend () { + if [ ! -e acinclude.m4 ]; then + cat aclocal.m4 > acinclude.m4 + fi +} + +# Explicitly create ${localstatedir}/lib before do_install to ensure +# the directory is accessible by all users. Otherwise the mkinstalldirs +# script (from sudo) will recursively create ${localstatedir}/lib/sudo +# and then chmod each directory with 0700 permissions, which isn't what +# we want (i.e, users would not be able to access /var/lib). +do_install_prepend (){ + mkdir -p ${D}/${localstatedir}/lib +} + diff --git a/meta/recipes-extended/sudo/sudo_1.8.4p4.bb b/meta/recipes-extended/sudo/sudo_1.8.4p4.bb new file mode 100644 index 000000000..23153223c --- /dev/null +++ b/meta/recipes-extended/sudo/sudo_1.8.4p4.bb @@ -0,0 +1,29 @@ +require sudo.inc + +PR = "r0" + +SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \ + file://libtool.patch \ + ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}" + +PAM_SRC_URI = "file://sudo.pam" + +SRC_URI[md5sum] = "b9be6df7ecefedff2263052ed9fc5e93" +SRC_URI[sha256sum] = "bf965b09bde9b0cf7fd2355c53a81884d02d522af2d539cf40218436e9a5051e" + +DEPENDS += " ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" +RDEPENDS_${PN} += " ${@base_contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" + +EXTRA_OECONF += " ${@base_contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)}" + +do_install_append () { + for feature in ${DISTRO_FEATURES}; do + if [ "$feature" = "pam" ]; then + install -D -m 664 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo + break + fi + done + + chmod 4111 $D/usr/bin/sudo + chmod 0440 $D/etc/sudoers +} |
