]> code.ossystems Code Review - openembedded-core.git/commitdiff
sanity.bbclass: modify check for shell
authorJuro Bystricky <juro.bystricky@intel.com>
Wed, 15 Mar 2017 19:39:12 +0000 (12:39 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 18 May 2017 12:04:45 +0000 (13:04 +0100)
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 <juro.bystricky@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
meta/classes/sanity.bbclass

index 7682ffbb8c18440bd211a6f0a7cce38cafd85ea4..a11b581a08c145707322db347fd3cfbafa5d06a1 100644 (file)
@@ -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):