[oe-commits] [meta-openembedded] 09/10: daemontools: remove native BBCLASSEXTEND

git at git.openembedded.org git at git.openembedded.org
Sat Mar 7 01:37:32 UTC 2020


This is an automated email from the git hooks/post-receive script.

khem pushed a commit to branch master-next
in repository meta-openembedded.

commit 088ca6035626ad6f38515bad963a84cf266bb169
Author: Martin Jansa <martin.jansa at gmail.com>
AuthorDate: Fri Mar 6 18:36:46 2020 +0100

    daemontools: remove native BBCLASSEXTEND
    
    * it was used only to provide chkshsgr which is now replaced with no-op call
      since
      commit 50d526d06a742fa69ff698d7c2eefffb56e13afa
      Author: Khem Raj <raj.khem at gmail.com>
      Date:   Tue Jan 28 11:28:52 2020 -0800
    
        daemontools: Disable the chkshsgr tests
    
        Running the chkhsgr test during cross compile fails
    
        ./chkshsgr || ( cat warn-shsgr; exit 1 )
        Oops. Your getgroups() returned 0, and setgroups() failed; this means
        that I can't reliably do my shsgr test. Please either ``make'' as root
        or ``make'' while you're in one or more supplementary groups.
    
        All OE based targets have working getgroups()/setgroups()
        implementation, so its a safe assumption and therefore make the test
        to be a dummy
    
    * the native chkshsgr from daemontools-native was actually being
      called only because of this chunk of cross-compile.patch:
      -       ./chkshsgr || ( cat warn-shsgr; exit 1 )
      +       chkshsgr || ( cat warn-shsgr; exit 1 )
      but all chkshsgr does is:
        short x[4];
        x[0] = x[1] = 0;
        if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1);
        _exit(0);
      which running on host system, doesn't say anything useful about the
      cross compile target, so it's easier to just remove the call in
      cross-compile.patch and simplify all this nonsense
    
    * I came across this because daemontools-native was failing for me
      in "bitbake world" with zeus, which might be the same case as what
      Khem was seeing - just the final commit message doesn't reflect that
    
    * daemontools-native fails to build without the above commit in
      zeus as well, when building inside docker container where my
      build user is in fewer groups (just 1) so the
      getgroups(1,x) call doesn't fail, but on more average OS the
      user will be in more than 4 groups and
      getgroups(1,x) would fail with errno 22 EINVAL
        - so setgroups isn't even called to return 1 error when chkshsgr is called
      http://man7.org/linux/man-pages/man2/setgroups.2.html
        If the calling process is a member of more than size
        supplementary groups, then an error results.
      if I increase the size of x enough for x to hold all groups, then setgroups
      will fail with errno 1 EPERM, which is the same error as shown
      under docker container where getgroups doesn't fail, because
      in both cases I'm using unprivileged user for builds
    
    Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
    Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 .../0001-daemontools-native-Fix-a-warning.patch    | 26 ----------------------
 .../daemontools/daemontools/cross-compile.patch    |  4 ++--
 .../daemontools/daemontools_0.76.bb                | 24 +++++---------------
 3 files changed, 8 insertions(+), 46 deletions(-)

diff --git a/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-native-Fix-a-warning.patch b/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-native-Fix-a-warning.patch
deleted file mode 100644
index 8d9577d..0000000
--- a/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-native-Fix-a-warning.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From a43a3327ccd4b06a3bcf0c87d518a97c6b39ac02 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui at cn.fujitsu.com>
-Date: Sat, 6 Aug 2016 02:09:53 +0900
-Subject: [PATCH] daemontools: Fix a warning
-
-To fix the warning as following:
-
-WARNING: daemontools-native-0.76-r0 do_populate_sysroot: File '/build-poky/tmp/sysroots/x86_64-linux/usr/bin/chkshsgr' from daemontools-native was already stripped, this will prevent future debugging!
-
-Signed-off-by: Lei Maohui <leimaohui at cn.fujitsu.com>
----
- src/conf-ld | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/conf-ld b/src/conf-ld
-index 59a0de7..1d0518a 100644
---- a/src/conf-ld
-+++ b/src/conf-ld
-@@ -1,3 +1,3 @@
--gcc -s
-+gcc
- 
- This will be used to link .o files into an executable.
--- 
-2.7.4
-
diff --git a/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch b/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch
index f164c2d..9c07d75 100644
--- a/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch
+++ b/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch
@@ -30,7 +30,7 @@ diff -Nurp daemontools-0.76.orig/src/Makefile daemontools-0.76/src/Makefile
  hasshsgr.h: chkshsgr choose compile hasshsgr.h1 hasshsgr.h2 load \
  tryshsgr.c warn-shsgr
 -	./chkshsgr || ( cat warn-shsgr; exit 1 )
-+	chkshsgr || ( cat warn-shsgr; exit 1 )
++	echo "Warning: We can not run test on cross target. - ignoring ./chkshsgr || ( cat warn-shsgr; exit 1 )"
  	./choose clr tryshsgr hasshsgr.h1 hasshsgr.h2 > hasshsgr.h
  
  haswaitp.h: choose compile haswaitp.h1 haswaitp.h2 load trywaitp.c
@@ -39,7 +39,7 @@ diff -Nurp daemontools-0.76.orig/src/Makefile daemontools-0.76/src/Makefile
  readproctitle rts.tests setlock setuidgid softlimit supervise svc \
  svok svscan svscanboot svstat tai64n tai64nlocal
 -	env - /bin/sh rts.tests 2>&1 | cat -v > rts
-+	echo "Warning: We can not run test on cross target."
++	echo "Warning: We can not run test on cross target. - ignoring env - /bin/sh rts.tests 2>&1 | cat -v > rts"
  
  scan_ulong.o: compile scan.h scan_ulong.c
  	./compile scan_ulong.c
diff --git a/meta-oe/recipes-support/daemontools/daemontools_0.76.bb b/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
index d674e03..b99116d 100644
--- a/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
+++ b/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
@@ -16,24 +16,18 @@ LIC_FILES_CHKSUM = "file://src/prot.c;beginline=1;endline=1;md5=96964cadf07e8f8c
 LICENSE = "PD"
 
 SRC_URI = "http://cr.yp.to/daemontools/${BPN}-${PV}.tar.gz \
-           file://0001-error.h-include-errno.h-instead-of-extern-int.diff \
-           file://0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff "
-
-SRC_URI_append_class-target = "file://cross-compile.patch \
-                               file://0001-daemontools-Fix-QA-Issue.patch "
-
-SRC_URI_append_class-native = "file://0001-daemontools-native-Fix-a-warning.patch "
+    file://0001-error.h-include-errno.h-instead-of-extern-int.diff \
+    file://0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff \
+    file://cross-compile.patch \
+    file://0001-daemontools-Fix-QA-Issue.patch \
+"
 
 SRC_URI[md5sum] = "1871af2453d6e464034968a0fbcb2bfc"
 SRC_URI[sha256sum] = "a55535012b2be7a52dcd9eccabb9a198b13be50d0384143bd3b32b8710df4c1f"
 
-S = "${WORKDIR}/admin/${BPN}-${PV}"
-
-DEPENDS += "daemontools-native"
-DEPENDS_class-native = ""
+S = "${WORKDIR}/admin/${BP}"
 
 do_compile() {
-    echo "int main() { return 0; }" >${S}/src/chkshsgr.c
     ./package/compile
 }
 
@@ -41,12 +35,6 @@ do_install() {
     install -d ${D}/${bindir}
 }
 
-do_install_append_class-native() {
-    install -m 755 ${S}/compile/chkshsgr ${D}/${bindir}
-}
-
 do_install_append_class-target() {
     install -m755 ${S}/command/* ${D}/${bindir}
 }
-
-BBCLASSEXTEND = "native"

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list