mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
shadow: Use update-alternatives
Switch to using ALTERNATIVE_LINKS to ensure the update-alternatives are setup properly, along with the package provides. [RP: Fix links so as not to need the bbclass changes] (From OE-Core rev: cb27e78bfc059d6878dcda8b7a27a078f7a871e4) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
f517fb89c5
commit
f264a10d4f
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=08c553a87d4e51bbed50b20e0adcaede \
|
|||||||
|
|
||||||
DEPENDS = "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
|
DEPENDS = "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
|
||||||
RDEPENDS_${PN} = "shadow-securetty ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS}', '', d)}"
|
RDEPENDS_${PN} = "shadow-securetty ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS}', '', d)}"
|
||||||
PR = "r8"
|
PR = "r9"
|
||||||
|
|
||||||
SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/${BPN}-${PV}.tar.bz2 \
|
SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/${BPN}-${PV}.tar.bz2 \
|
||||||
file://login_defs_pam.sed \
|
file://login_defs_pam.sed \
|
||||||
@@ -84,32 +84,35 @@ do_install_append() {
|
|||||||
sed -i '/^CREATE_MAIL_SPOOL/ s:^:#:' ${D}${sysconfdir}/default/useradd
|
sed -i '/^CREATE_MAIL_SPOOL/ s:^:#:' ${D}${sysconfdir}/default/useradd
|
||||||
|
|
||||||
install -d ${D}${sbindir} ${D}${base_sbindir} ${D}${base_bindir}
|
install -d ${D}${sbindir} ${D}${base_sbindir} ${D}${base_bindir}
|
||||||
for i in passwd chfn newgrp chsh groups ; do
|
|
||||||
mv ${D}${bindir}/$i ${D}${bindir}/$i.${PN}
|
|
||||||
done
|
|
||||||
|
|
||||||
mv ${D}${sbindir}/chpasswd ${D}${sbindir}/chpasswd.${PN}
|
# Move binaries to the locations we want
|
||||||
mv ${D}${sbindir}/vigr ${D}${base_sbindir}/vigr.${PN}
|
rm ${D}${sbindir}/vigr
|
||||||
mv ${D}${sbindir}/vipw ${D}${base_sbindir}/vipw.${PN}
|
ln -sf vipw.${PN} ${D}${base_sbindir}/vigr
|
||||||
mv ${D}${bindir}/login ${D}${base_bindir}/login.${PN}
|
mv ${D}${sbindir}/vipw ${D}${base_sbindir}/vipw
|
||||||
|
mv ${D}${bindir}/login ${D}${base_bindir}/login
|
||||||
|
|
||||||
# Handle link properly after rename, otherwise missing files would
|
# Handle link properly after rename, otherwise missing files would
|
||||||
# lead rpm failed dependencies.
|
# lead rpm failed dependencies.
|
||||||
ln -sf vipw.${PN} ${D}${base_sbindir}/vigr.${PN}
|
|
||||||
ln -sf newgrp.${PN} ${D}${bindir}/sg
|
ln -sf newgrp.${PN} ${D}${bindir}/sg
|
||||||
}
|
}
|
||||||
|
|
||||||
pkg_postinst_${PN} () {
|
inherit update-alternatives
|
||||||
update-alternatives --install ${bindir}/passwd passwd passwd.${PN} 200
|
|
||||||
update-alternatives --install ${sbindir}/chpasswd chpasswd chpasswd.${PN} 200
|
|
||||||
update-alternatives --install ${bindir}/chfn chfn chfn.${PN} 200
|
|
||||||
update-alternatives --install ${bindir}/newgrp newgrp newgrp.${PN} 200
|
|
||||||
update-alternatives --install ${bindir}/chsh chsh chsh.${PN} 200
|
|
||||||
update-alternatives --install ${bindir}/groups groups groups.${PN} 200
|
|
||||||
update-alternatives --install ${base_bindir}/login login login.${PN} 200
|
|
||||||
update-alternatives --install ${base_sbindir}/vipw vipw vipw.${PN} 200
|
|
||||||
update-alternatives --install ${base_sbindir}/vigr vigr vigr.${PN} 200
|
|
||||||
|
|
||||||
|
ALTERNATIVE_PRIORITY = "200"
|
||||||
|
|
||||||
|
bindir_progs = "passwd chfn newgrp chsh groups"
|
||||||
|
ALTERNATIVE_LINKS += "${bindir}/${@' ${bindir}/'.join((d.getVar('bindir_progs', True)).split())}"
|
||||||
|
|
||||||
|
sbindir_progs = "chpasswd"
|
||||||
|
ALTERNATIVE_LINKS += "${sbindir}/${@' ${sbindir}/'.join((d.getVar('sbindir_progs', True)).split())}"
|
||||||
|
|
||||||
|
base_bindir_progs = "login"
|
||||||
|
ALTERNATIVE_LINKS += "${base_bindir}/${@' ${base_bindir}/'.join((d.getVar('base_bindir_progs', True)).split())}"
|
||||||
|
|
||||||
|
base_sbindir_progs = "vipw vigr"
|
||||||
|
ALTERNATIVE_LINKS += "${base_sbindir}/${@' ${base_sbindir}/'.join((d.getVar('base_sbindir_progs', True)).split())}"
|
||||||
|
|
||||||
|
pkg_postinst_${PN} () {
|
||||||
if [ "x$D" != "x" ]; then
|
if [ "x$D" != "x" ]; then
|
||||||
rootarg="--root=$D"
|
rootarg="--root=$D"
|
||||||
else
|
else
|
||||||
@@ -119,9 +122,3 @@ pkg_postinst_${PN} () {
|
|||||||
pwconv $rootarg
|
pwconv $rootarg
|
||||||
grpconv $rootarg
|
grpconv $rootarg
|
||||||
}
|
}
|
||||||
|
|
||||||
pkg_prerm_${PN} () {
|
|
||||||
for i in passwd chpasswd chfn newgrp chsh login vipw vigr ; do
|
|
||||||
update-alternatives --remove $i $i.${PN}
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user