summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2012-04-13 19:13:50 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-04-26 10:05:08 +0100
commitf264a10d4ffbae5ee1ba6e6f1523d402df8a800d (patch)
tree7fe34a6c867c6a9d79a3b0eb3c1f255a2bb68477 /meta/recipes-extended
parentf517fb89c51957e1e42f9be16417e761e497780d (diff)
downloadpoky-f264a10d4ffbae5ee1ba6e6f1523d402df8a800d.tar.gz
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>
Diffstat (limited to 'meta/recipes-extended')
-rw-r--r--meta/recipes-extended/shadow/shadow_4.1.4.3.bb47
1 files changed, 22 insertions, 25 deletions
diff --git a/meta/recipes-extended/shadow/shadow_4.1.4.3.bb b/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
index f892eb93a0..60fb78b37c 100644
--- a/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
+++ b/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=08c553a87d4e51bbed50b20e0adcaede \
9 9
10DEPENDS = "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" 10DEPENDS = "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
11RDEPENDS_${PN} = "shadow-securetty ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS}', '', d)}" 11RDEPENDS_${PN} = "shadow-securetty ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS}', '', d)}"
12PR = "r8" 12PR = "r9"
13 13
14SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/${BPN}-${PV}.tar.bz2 \ 14SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/${BPN}-${PV}.tar.bz2 \
15 file://login_defs_pam.sed \ 15 file://login_defs_pam.sed \
@@ -84,32 +84,35 @@ do_install_append() {
84 sed -i '/^CREATE_MAIL_SPOOL/ s:^:#:' ${D}${sysconfdir}/default/useradd 84 sed -i '/^CREATE_MAIL_SPOOL/ s:^:#:' ${D}${sysconfdir}/default/useradd
85 85
86 install -d ${D}${sbindir} ${D}${base_sbindir} ${D}${base_bindir} 86 install -d ${D}${sbindir} ${D}${base_sbindir} ${D}${base_bindir}
87 for i in passwd chfn newgrp chsh groups ; do
88 mv ${D}${bindir}/$i ${D}${bindir}/$i.${PN}
89 done
90 87
91 mv ${D}${sbindir}/chpasswd ${D}${sbindir}/chpasswd.${PN} 88 # Move binaries to the locations we want
92 mv ${D}${sbindir}/vigr ${D}${base_sbindir}/vigr.${PN} 89 rm ${D}${sbindir}/vigr
93 mv ${D}${sbindir}/vipw ${D}${base_sbindir}/vipw.${PN} 90 ln -sf vipw.${PN} ${D}${base_sbindir}/vigr
94 mv ${D}${bindir}/login ${D}${base_bindir}/login.${PN} 91 mv ${D}${sbindir}/vipw ${D}${base_sbindir}/vipw
92 mv ${D}${bindir}/login ${D}${base_bindir}/login
95 93
96 # Handle link properly after rename, otherwise missing files would 94 # Handle link properly after rename, otherwise missing files would
97 # lead rpm failed dependencies. 95 # lead rpm failed dependencies.
98 ln -sf vipw.${PN} ${D}${base_sbindir}/vigr.${PN}
99 ln -sf newgrp.${PN} ${D}${bindir}/sg 96 ln -sf newgrp.${PN} ${D}${bindir}/sg
100} 97}
101 98
102pkg_postinst_${PN} () { 99inherit update-alternatives
103 update-alternatives --install ${bindir}/passwd passwd passwd.${PN} 200 100
104 update-alternatives --install ${sbindir}/chpasswd chpasswd chpasswd.${PN} 200 101ALTERNATIVE_PRIORITY = "200"
105 update-alternatives --install ${bindir}/chfn chfn chfn.${PN} 200 102
106 update-alternatives --install ${bindir}/newgrp newgrp newgrp.${PN} 200 103bindir_progs = "passwd chfn newgrp chsh groups"
107 update-alternatives --install ${bindir}/chsh chsh chsh.${PN} 200 104ALTERNATIVE_LINKS += "${bindir}/${@' ${bindir}/'.join((d.getVar('bindir_progs', True)).split())}"
108 update-alternatives --install ${bindir}/groups groups groups.${PN} 200 105
109 update-alternatives --install ${base_bindir}/login login login.${PN} 200 106sbindir_progs = "chpasswd"
110 update-alternatives --install ${base_sbindir}/vipw vipw vipw.${PN} 200 107ALTERNATIVE_LINKS += "${sbindir}/${@' ${sbindir}/'.join((d.getVar('sbindir_progs', True)).split())}"
111 update-alternatives --install ${base_sbindir}/vigr vigr vigr.${PN} 200 108
109base_bindir_progs = "login"
110ALTERNATIVE_LINKS += "${base_bindir}/${@' ${base_bindir}/'.join((d.getVar('base_bindir_progs', True)).split())}"
112 111
112base_sbindir_progs = "vipw vigr"
113ALTERNATIVE_LINKS += "${base_sbindir}/${@' ${base_sbindir}/'.join((d.getVar('base_sbindir_progs', True)).split())}"
114
115pkg_postinst_${PN} () {
113 if [ "x$D" != "x" ]; then 116 if [ "x$D" != "x" ]; then
114 rootarg="--root=$D" 117 rootarg="--root=$D"
115 else 118 else
@@ -119,9 +122,3 @@ pkg_postinst_${PN} () {
119 pwconv $rootarg 122 pwconv $rootarg
120 grpconv $rootarg 123 grpconv $rootarg
121} 124}
122
123pkg_prerm_${PN} () {
124 for i in passwd chpasswd chfn newgrp chsh login vipw vigr ; do
125 update-alternatives --remove $i $i.${PN}
126 done
127}