shadow: added new package shadow-group. Fix for build with uclibc.
authorVladimir Sorokin <sorokin@altell.ru>
Tue, 4 May 2010 08:46:14 +0000 (12:46 +0400)
committerRoman I Khimov <khimov@altell.ru>
Fri, 6 Aug 2010 05:44:18 +0000 (09:44 +0400)
shadow-group contains utilities (sg, newgrp, gpasswd, groups) for group
manipulation, useful when you only need things not provided by busybox.

Signed-off-by: Vladimir Sorokin <sorokin@altell.ru>
Signed-off-by: Roman I Khimov <khimov@altell.ru>
recipes/shadow/shadow.inc

index 0b850d1..3da1da8 100644 (file)
@@ -13,7 +13,7 @@ DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 
 PACKAGE_ARCH_pn-${PN} = "${MACHINE_ARCH}"
 
-INC_PR = "r16"
+INC_PR = "r17"
 
 # Additional Policy files for PAM
 PAM_SRC_URI = " \
@@ -42,8 +42,23 @@ EXTRA_OECONF += "\
     ${@base_contains('DISTRO_FEATURES', 'pam', '--with-libpam', '--without-libpam', d)} \
 "
 
+EXTRA_OECONF_libc-uclibc += "\
+    --disable-account-tools-setuid \
+    --disable-shadowgrp \
+    --without-audit \
+    --without-selinux \
+    --without-libcrack \
+    --without-nscd \
+    ${@base_contains('DISTRO_FEATURES', 'pam', '--with-libpam', '--without-libpam', d)} \
+"
+
 CFLAGS += "-I../include"
 
+PACKAGES =+ "${PN}-group"
+RDEPENDS_${PN} += "${PN}-group"
+
+FILES_${PN}-group = "${bindir}/gpasswd ${bindir}/newgrp.shadow ${bindir}/sg ${bindir}/groups"
+
 do_configure_prepend () {
     export CONFIG_SITE="${CONFIG_SITE} ${B}/cachedpaths"
     cat <<END >${B}/cachedpaths
@@ -110,7 +125,6 @@ pkg_postinst_${PN} () {
     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 ${base_bindir}/login login login.${PN} 200
     update-alternatives --install ${base_sbindir}/vipw vipw vipw.${PN} 200
@@ -123,7 +137,17 @@ pkg_postinst_${PN} () {
 }
 
 pkg_prerm_${PN} () {
-    for i in passwd chpasswd chfn newgrp chsh login vipw vigr ; do
+    for i in passwd chpasswd chfn chsh login vipw vigr ; do
         update-alternatives --remove $i $i.${PN}
     done
 }
+
+pkg_postinst_${PN}-group () {
+   touch /etc/login.defs
+   update-alternatives --install ${bindir}/newgrp newgrp newgrp.${PN} 200
+}
+
+pkg_prerm_${PN}-group () {
+    update-alternatives --remove newgrp newgrp.${PN}
+}
+