summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/sudo
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/sudo')
-rw-r--r--meta/recipes-extended/sudo/files/sudo.pam6
-rw-r--r--meta/recipes-extended/sudo/sudo.inc43
-rw-r--r--meta/recipes-extended/sudo/sudo_1.8.10p3.bb27
3 files changed, 76 insertions, 0 deletions
diff --git a/meta/recipes-extended/sudo/files/sudo.pam b/meta/recipes-extended/sudo/files/sudo.pam
new file mode 100644
index 0000000000..5bc26e7025
--- /dev/null
+++ b/meta/recipes-extended/sudo/files/sudo.pam
@@ -0,0 +1,6 @@
1#%PAM-1.0
2auth include common-auth
3account include common-account
4password include common-password
5session required pam_keyinit.so revoke
6session 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 0000000000..1d7e541024
--- /dev/null
+++ b/meta/recipes-extended/sudo/sudo.inc
@@ -0,0 +1,43 @@
1SUMMARY = "Provide limited super user privileges to specific users"
2DESCRIPTION = "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."
3HOMEPAGE = "http://www.sudo.ws"
4BUGTRACKER = "http://www.sudo.ws/bugs/"
5SECTION = "admin"
6LICENSE = "ISC & BSD & Zlib"
7LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=69e337d679950e304953813158595256 \
8 file://plugins/sudoers/redblack.c;beginline=1;endline=41;md5=e2dbb155fc49beea947515300bab99e0 \
9 file://compat/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \
10 file://compat/getcwd.c;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \
11 file://compat/glob.c;beginline=6;endline=31;md5=5872733146b9eb0deb79e1f664815b85 \
12 file://compat/snprintf.c;beginline=6;endline=31;md5=c98b24f02967c095d7a70ae2e4d4d4ea \
13 file://include/queue.h;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \
14 file://compat/inet_pton.c;beginline=3;endline=17;md5=3970ab0518ab79cbd0bafb697f10b33a"
15
16inherit autotools
17
18PACKAGECONFIG ??= ""
19PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
20
21CONFFILES_${PN} = "${sysconfdir}/sudoers"
22
23EXTRA_OECONF = "--with-editor=/bin/vi --with-env-editor"
24
25do_configure_prepend () {
26 if [ ! -e ${S}/acinclude.m4 ]; then
27 cat ${S}/aclocal.m4 > ${S}/acinclude.m4
28 fi
29}
30
31# mksigname/mksiglist are used on build host to generate source files
32do_compile_prepend () {
33 oe_runmake SSP_CFLAGS="" SSP_LDFLAGS="" CC="$BUILD_CC" CFLAGS="$BUILD_CFLAGS" CPPFLAGS="$BUILD_CPPFLAGS -I${S}/include -I${S} -I${B}" -C compat mksigname mksiglist
34}
35
36# Explicitly create ${localstatedir}/lib before do_install to ensure
37# the directory is accessible by all users. Otherwise the mkinstalldirs
38# script (from sudo) will recursively create ${localstatedir}/lib/sudo
39# and then chmod each directory with 0700 permissions, which isn't what
40# we want (i.e, users would not be able to access /var/lib).
41do_install_prepend (){
42 mkdir -p ${D}/${localstatedir}/lib
43}
diff --git a/meta/recipes-extended/sudo/sudo_1.8.10p3.bb b/meta/recipes-extended/sudo/sudo_1.8.10p3.bb
new file mode 100644
index 0000000000..4c53032c5d
--- /dev/null
+++ b/meta/recipes-extended/sudo/sudo_1.8.10p3.bb
@@ -0,0 +1,27 @@
1require sudo.inc
2
3SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \
4 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
5 "
6
7PAM_SRC_URI = "file://sudo.pam"
8
9SRC_URI[md5sum] = "fcd8d0d9f9f0397d076ee901e242ed39"
10SRC_URI[sha256sum] = "6eda135fa68163108f1c24de6975de5ddb09d75730bb62d6390bda7b04345400"
11
12DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
13RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
14
15EXTRA_OECONF += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)}"
16
17do_install_append () {
18 if [ "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" = "pam" ]; then
19 install -D -m 664 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo
20 fi
21
22 chmod 4111 ${D}${bindir}/sudo
23 chmod 0440 ${D}${sysconfdir}/sudoers
24
25 # Explicitly remove the ${localstatedir}/run directory to avoid QA error
26 rmdir -p --ignore-fail-on-non-empty ${D}${localstatedir}/run/sudo
27}