xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-extended/sudo/sudo_1.9.13p3.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunrequire sudo.inc
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunSRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
4*4882a593Smuzhiyun           ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
5*4882a593Smuzhiyun           file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \
6*4882a593Smuzhiyun           file://0001-lib-util-mksigname.c-correctly-include-header-for-ou.patch \
7*4882a593Smuzhiyun           "
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunPAM_SRC_URI = "file://sudo.pam"
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunSRC_URI[sha256sum] = "92334a12bb93e0c056b09f53e255ccb7d6f67c6350e2813cd9593ceeca78560b"
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunDEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
14*4882a593SmuzhiyunRDEPENDS:${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunCACHED_CONFIGUREVARS = " \
17*4882a593Smuzhiyun        ac_cv_type_rsize_t=no \
18*4882a593Smuzhiyun        ac_cv_path_MVPROG=${base_bindir}/mv \
19*4882a593Smuzhiyun        ac_cv_path_BSHELLPROG=${base_bindir}/sh \
20*4882a593Smuzhiyun        ac_cv_path_SENDMAILPROG=${sbindir}/sendmail \
21*4882a593Smuzhiyun        ac_cv_path_VIPROG=${base_bindir}/vi \
22*4882a593Smuzhiyun        "
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunEXTRA_OECONF += " \
25*4882a593Smuzhiyun             ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
26*4882a593Smuzhiyun             ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
27*4882a593Smuzhiyun             --with-rundir=/run/sudo \
28*4882a593Smuzhiyun             --with-vardir=/var/lib/sudo \
29*4882a593Smuzhiyun             --libexecdir=${libdir} \
30*4882a593Smuzhiyun             "
31*4882a593Smuzhiyun
32*4882a593Smuzhiyundo_install:append () {
33*4882a593Smuzhiyun	if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
34*4882a593Smuzhiyun		install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo
35*4882a593Smuzhiyun		if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then
36*4882a593Smuzhiyun			echo 'auth       required     pam_wheel.so use_uid' >>${D}${sysconfdir}/pam.d/sudo
37*4882a593Smuzhiyun			sed -i 's/# \(%wheel ALL=(ALL) ALL\)/\1/' ${D}${sysconfdir}/sudoers
38*4882a593Smuzhiyun		fi
39*4882a593Smuzhiyun	fi
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun	chmod 4111 ${D}${bindir}/sudo
42*4882a593Smuzhiyun	chmod 0440 ${D}${sysconfdir}/sudoers
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun	# Explicitly remove the /sudo directory to avoid QA error
45*4882a593Smuzhiyun	rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo
46*4882a593Smuzhiyun}
47*4882a593Smuzhiyun
48*4882a593SmuzhiyunFILES:${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \
49*4882a593Smuzhiyun                    ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la"
50*4882a593Smuzhiyun
51*4882a593SmuzhiyunCONFFILES:${PN}-lib = "${sysconfdir}/sudoers"
52*4882a593Smuzhiyun
53*4882a593SmuzhiyunSUDO_PACKAGES = "${PN}-sudo\
54*4882a593Smuzhiyun                 ${PN}-lib"
55*4882a593Smuzhiyun
56*4882a593SmuzhiyunPACKAGE_BEFORE_PN = "${SUDO_PACKAGES}"
57*4882a593Smuzhiyun
58*4882a593SmuzhiyunRDEPENDS:${PN}-sudo = "${PN}-lib"
59*4882a593SmuzhiyunRDEPENDS:${PN} += "${SUDO_PACKAGES}"
60*4882a593Smuzhiyun
61*4882a593SmuzhiyunFILES:${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit"
62*4882a593SmuzhiyunFILES:${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}"
63