shadow: split files needed for PAM use into separate package

The rootfs creator automatically removes shadow for read-only
root filesystems, which breaks use of PAM plugins for login and
other process identity management utilities.  Package those programs
and config files separately, so they don't get removed.

(From OE-Core rev: a7d8eaef04c9dd6ede8d4efd8c4b776efbe3c767)

Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Matt Madison 2015-04-04 11:04:58 -07:00 committed by Richard Purdie
parent b77b25e283
commit 84e8b1ba29
1 changed files with 17 additions and 2 deletions

View File

@ -150,15 +150,30 @@ do_install_append() {
ln -sf newgrp.${BPN} ${D}${bindir}/sg
}
PACKAGES =+ "${PN}-base"
FILES_${PN}-base = "\
${base_bindir}/login.shadow \
${base_bindir}/su.shadow \
${bindir}/sg \
${bindir}/newgrp.shadow \
${bindir}/groups.shadow \
${sysconfdir}/pam.d/login \
${sysconfdir}/pam.d/su \
${sysconfdir}/login.defs \
"
RDEPENDS_${PN} += "${PN}-base"
inherit update-alternatives
ALTERNATIVE_PRIORITY = "200"
ALTERNATIVE_${PN} = "passwd chfn newgrp chsh groups chpasswd login vipw vigr su"
ALTERNATIVE_${PN} = "passwd chfn chsh chpasswd vipw vigr"
ALTERNATIVE_LINK_NAME[chpasswd] = "${sbindir}/chpasswd"
ALTERNATIVE_LINK_NAME[login] = "${base_bindir}/login"
ALTERNATIVE_LINK_NAME[vipw] = "${base_sbindir}/vipw"
ALTERNATIVE_LINK_NAME[vigr] = "${base_sbindir}/vigr"
ALTERNATIVE_${PN}-base = "newgrp groups login su"
ALTERNATIVE_LINK_NAME[login] = "${base_bindir}/login"
ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su"
ALTERNATIVE_${PN}-doc = "passwd.5 getspnam.3"