On 03/15/2017 12:39 PM, Juro Bystricky wrote:
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.
ok. got it in my pre-stagging.
thanks
- armin

[YOCTO#11108]

Signed-off-by: Juro Bystricky <juro.bystri...@intel.com>
---
  meta/classes/sanity.bbclass | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 7682ffb..a11b581 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):

--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to