path: root/meta/classes
diff options
authorJuro Bystricky <>2017-03-15 12:39:12 -0700
committerRichard Purdie <>2017-05-18 13:04:45 +0100
commit3f2bc735e514b27a21ac47524fe0c5ca16e19dd7 (patch)
tree04feb6f86c72ef796a407214fe92d8a8f2afed63 /meta/classes
parent854fff614059100494326adeec7c48fa5272d080 (diff)
sanity.bbclass: modify check for shell
Due to the recently implemented update-alternatives for bash binary, sanity checker may end up with a (false-positive) error such as: Error, /bin/sh links to /bin/bash.bash, must be dash or bash This patch modifies the test: presence of "/bash" or "/dash" in shell binary name results in pass. [YOCTO#11108] Signed-off-by: Juro Bystricky <> Signed-off-by: Armin Kuster <>
Diffstat (limited to 'meta/classes')
1 files changed, 3 insertions, 1 deletions
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 7682ffbb8c..a11b581a08 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -929,7 +929,9 @@ def check_sanity_everybuild(status, d):
# If /bin/sh is a symlink, check that it points to dash or bash
if os.path.islink('/bin/sh'):
real_sh = os.path.realpath('/bin/sh')
- if not real_sh.endswith('/dash') and not real_sh.endswith('/bash'):
+ # Due to update-alternatives, the shell name may take various
+ # forms, such as /bin/dash, bin/bash, /bin/bash.bash ...
+ if '/dash' not in real_sh and '/bash' not in real_sh:
status.addresult("Error, /bin/sh links to %s, must be dash or bash\n" % real_sh)
def check_sanity(sanity_data):