system: directly use system shell as root shell
authorPhilip Molloy <philip.a.molloy@gmail.com>
Thu, 1 Aug 2019 10:48:51 +0000 (12:48 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Thu, 1 Aug 2019 20:49:50 +0000 (22:49 +0200)
Rather than through the /bin/sh symlink, because because invocating bash as
sh causes bash to mimic sh (see INVOCATION in bash(1)).

Signed-off-by: Philip Molloy <philip.a.molloy@gmail.com>
[yann.morin.1998@free.fr: use the system shell, not a new option,
 as suggested by Arnout]
[Peter: describe why this is done using the description from Philip's help
 text]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/skeleton-init-common/skeleton-init-common.mk

index e429b13d7837e701c3e432f648ac313cbc0a6cdb..4a67f51c1977284c6598f9055abebc7ef9619a0b 100644 (file)
@@ -95,6 +95,8 @@ SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_ADD_SH_TO_SHE
 ifneq ($(SKELETON_INIT_COMMON_BIN_SH),)
 define SKELETON_INIT_COMMON_SET_BIN_SH
        ln -sf $(SKELETON_INIT_COMMON_BIN_SH) $(TARGET_DIR)/bin/sh
+       $(SED) '/^root:/s,[^/]*$$,$(SKELETON_INIT_COMMON_BIN_SH),' \
+               $(TARGET_DIR)/etc/passwd
 endef
 endif
 endif