[PATCH 15/17] libcap: update to 2.33

Alexander Kanavin
2020-05-03T16:26:45Z

...-tests-do-not-statically-link-a-test.patch | 9 +++----
...hread_yield-with-standard-sched_yiel.patch | 24 +++++++++++++++++++
.../libcap/{libcap_2.32.bb => libcap_2.33.bb} | 5 ++--
3 files changed, 32 insertions(+), 6 deletions(-)
create mode 100644 meta/recipes-support/libcap/files/0004-psx.c-replace-pthread_yield-with-standard-sched_yiel.patch
rename meta/recipes-support/libcap/{libcap_2.32.bb => libcap_2.33.bb} (90%)

diff --git a/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch b/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch
index e568cc47c5..5a0b25758c 100644
--- a/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch
+++ b/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch
@@ -1,4 +1,4 @@
-From 1179b423cce8d119b42cebfb3daa77c540fdca43 Mon Sep 17 00:00:00 2001
+From 99ff8da92cc1bdf150fecd1ecd0fa50794be0259 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 15 Jan 2020 17:16:28 +0100
Subject: [PATCH] tests: do not statically link a test
@@ -7,12 +7,13 @@ This fails on e.g. centos 7

Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
tests/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/Makefile b/tests/Makefile
-index 7162cf0..6af47af 100644
+index f9cec56..dcd654f 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -29,7 +29,7 @@ psx_test_wrap: psx_test.c $(DEPS)
@@ -22,5 +23,5 @@ index 7162cf0..6af47af 100644
- $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create --static
+ $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create

- clean:
- rm -f psx_test psx_test_wrap libcap_psx_test
+ run_libcap_launch_test: libcap_launch_test libcap_psx_launch_test noop
+ sudo ./libcap_launch_test
diff --git a/meta/recipes-support/libcap/files/0004-psx.c-replace-pthread_yield-with-standard-sched_yiel.patch b/meta/recipes-support/libcap/files/0004-psx.c-replace-pthread_yield-with-standard-sched_yiel.patch
new file mode 100644
index 0000000000..848ceb2c0c
--- /dev/null
+++ b/meta/recipes-support/libcap/files/0004-psx.c-replace-pthread_yield-with-standard-sched_yiel.patch
@@ -0,0 +1,24 @@
+From a2c4cdb05d0e382101b13944c09c4375e8d7de5f Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 31 Mar 2020 13:39:28 +0200
+Subject: [PATCH] psx.c: replace pthread_yield() with standard sched_yield()
+
+This was causing failures when building with musl C library in
+particular.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+diff --git a/libcap/psx.c b/libcap/psx.c
+index 04d250f..7e4ac10 100644
+--- a/libcap/psx.c
++++ b/libcap/psx.c
+@@ -533,7 +533,7 @@ long int __psx_syscall(long int syscall_nr, ...) {
+ if (!waiting) {
+ break;
+ }
+- pthread_yield();
++ sched_yield();
+ }
+
+ errno = restore_errno;
diff --git a/meta/recipes-support/libcap/libcap_2.32.bb b/meta/recipes-support/libcap/libcap_2.33.bb
similarity index 90%
rename from meta/recipes-support/libcap/libcap_2.32.bb
rename to meta/recipes-support/libcap/libcap_2.33.bb
index d78a58f7d2..bec492ca5f 100644
--- a/meta/recipes-support/libcap/libcap_2.32.bb
+++ b/meta/recipes-support/libcap/libcap_2.33.bb
@@ -11,9 +11,10 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${
file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \
file://0002-tests-do-not-run-target-executables.patch \
file://0001-tests-do-not-statically-link-a-test.patch \
+ file://0004-psx.c-replace-pthread_yield-with-standard-sched_yiel.patch \
"
-SRC_URI[md5sum] = "7416119c9fdcfd0e8dd190a432c668e9"
-SRC_URI[sha256sum] = "1005e3d227f2340ad1e3360ef8b69d15e3c72a29c09f4894d7aac038bd26e2be"
+SRC_URI[md5sum] = "dcc6220b4a9bf260050b20c07edcddf4"
+SRC_URI[sha256sum] = "08edeaba2757021aeec45c4eeec52566675e0e0f5d4f057284d729e04f2643d6"

UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/"

--
2.26.1