system: do not overwrite /bin/sh Busybox symlink
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 26 Mar 2017 21:43:40 +0000 (23:43 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 29 Mar 2017 21:28:58 +0000 (23:28 +0200)
commitfc91501e6b32ef1b015ac9b0fbf6d64aa1ce0162
tree7ec7b1997402492527d7c80fb7ebfabac5ac39d2
parentbf2f6f49ff106a80dce8c973f4869a0c7947d298
system: do not overwrite /bin/sh Busybox symlink

The BR2_SYSTEM_BIN_SH hidden option defines to what binary the /bin/sh
symlinks should point to. If busybox is chosen, then /bin/sh is created
to point to /bin/busybox.

This works fine with the default installation mode of Busybox, but it
fails with the upcoming "individual binaries" mode, in which each applet
is installed as its own binary, and /bin/busybox doesn't exist: we get
/bin/sh as a broken symlink to /bin/busybox.

Since Busybox already installs its own /bin/sh symlink, properly
pointing to /bin/ash or /bin/hush depending on the selected shell, it
doesn't make sense for the BR2_SYSTEM_BIN_SH logic to override
this. Just let Busybox install its own /bin/sh by making
BR2_SYSTEM_BIN_SH empty when Busybox shell is selected as /bin/sh.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/skeleton/skeleton.mk
system/Config.in