]> code.ossystems Code Review - openembedded-core.git/commitdiff
busybox: make bash a valid login shell if enabled
authorAndreas Oberritter <obi@opendreambox.org>
Fri, 28 Apr 2017 18:31:29 +0000 (20:31 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 29 Apr 2017 10:16:25 +0000 (11:16 +0100)
Add bash to /etc/shells if busybox is built with bash applet anabled
to fix login via dropbear.

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/busybox/busybox.inc

index 375632dcc3b0b01376aca73501a99b5b6381492e..adc6e9a717be0d0f5fd8493165ff7a8fe16d0e08 100644 (file)
@@ -398,6 +398,9 @@ pkg_postinst_${PN} () {
                        fi
                done
        fi
+       if grep -q "^${base_bindir}/bash$" $D${sysconfdir}/busybox.links*; then
+               grep -q "^${base_bindir}/bash$" $D${sysconfdir}/shells || echo ${base_bindir}/bash >> $D${sysconfdir}/shells
+       fi
 }
 
 pkg_prerm_${PN} () {
@@ -422,6 +425,12 @@ pkg_prerm_${PN} () {
        export PATH=$PATH:$tmpdir
 }
 
+pkg_postrm_${PN} () {
+       if grep -q "^${base_bindir}/bash$" $D${sysconfdir}/busybox.links* && [ ! -e $D${base_bindir}/bash ]; then
+               printf "$(grep -v "^${base_bindir}/bash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
+       fi
+}
+
 pkg_prerm_${PN}-syslog () {
        # remove syslog
        if test "x$D" = "x"; then