bash: dynamically add or remove a entry to/from /etc/shells

1 Add base-files to RDEPENDS.
2 Use ${base_bindir} in regex to match bash path.
3 Add pkg_postrm to remove the entry from /etc/shells that added by
pkg_postinst.

(From OE-Core rev: c3f93357e2d3ece910ff0e2d18eba3fb94fb5c3c)

Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ming Liu
2013-10-22 11:12:00 +08:00
committed by Richard Purdie
parent be860ac5bc
commit 312cc0f21a

View File

@@ -17,6 +17,8 @@ ALTERNATIVE_PRIORITY = "100"
export AUTOHEADER = "true"
RDEPENDS_${PN} += "base-files"
RDEPENDS_${PN}_class-nativesdk = ""
RDEPENDS_${PN}-ptest += "make"
do_configure_prepend () {
@@ -44,7 +46,9 @@ do_install_ptest () {
}
pkg_postinst_${PN} () {
touch $D${sysconfdir}/shells
grep -q "bin/bash" $D${sysconfdir}/shells || echo /bin/bash >> $D${sysconfdir}/shells
grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >> $D${sysconfdir}/shells
grep -q "^${base_bindir}/bash$" $D${sysconfdir}/shells || echo ${base_bindir}/bash >> $D${sysconfdir}/shells
}
pkg_postrm_${PN} () {
printf "$(grep -v "^${base_bindir}/bash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
}