[PATCH 9/9] libcap-ng: fix build with swig 4.2.0

Anuj Mittal
2024-02-16T11:41:00Z

Backport an upstream patch to remove Python exception handler which is
deprecated and also removed from swig.

https://github.com/swig/swig/commit/736c052d7de3685be9d5c4aecee6b36273e8c319

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
.../files/fix-issues-with-swig-4-2.patch | 32 +++++++++++++++++++
meta/recipes-support/libcap-ng/libcap-ng.inc | 4 ++-
2 files changed, 35 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-support/libcap-ng/files/fix-issues-with-swig-4-2.patch

diff --git a/meta/recipes-support/libcap-ng/files/fix-issues-with-swig-4-2.patch b/meta/recipes-support/libcap-ng/files/fix-issues-with-swig-4-2.patch
new file mode 100644
index 00000000000..fb424fe7258
--- /dev/null
+++ b/meta/recipes-support/libcap-ng/files/fix-issues-with-swig-4-2.patch
@@ -0,0 +1,32 @@
+From 355eada2d20886287cffc16e304087dd6f66ae37 Mon Sep 17 00:00:00 2001
+From: Steve Grubb <ausearch.1@gmail.com>
+Date: Thu, 4 Jan 2024 15:06:29 -0500
+Subject: [PATCH] Remove python global exception handler since its deprecated
+
+Upstream-Status: Backport [https://github.com/stevegrubb/libcap-ng/commit/30453b6553948cd05c438f9f509013e3bb84f25b]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ bindings/src/capng_swig.i | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/bindings/src/capng_swig.i b/bindings/src/capng_swig.i
+index fcdaf18..fa85e13 100644
+--- a/bindings/src/capng_swig.i
++++ b/bindings/src/capng_swig.i
+@@ -30,13 +30,6 @@
+
+ %varargs(16, signed capability = 0) capng_updatev;
+
+-%except(python) {
+- $action
+- if (result < 0) {
+- PyErr_SetFromErrno(PyExc_OSError);
+- return NULL;
+- }
+-}
+ #endif
+
+ %define __signed__
+--
+2.43.2
+
diff --git a/meta/recipes-support/libcap-ng/libcap-ng.inc b/meta/recipes-support/libcap-ng/libcap-ng.inc
index a6b5dcf452e..845b7c2f0a0 100644
--- a/meta/recipes-support/libcap-ng/libcap-ng.inc
+++ b/meta/recipes-support/libcap-ng/libcap-ng.inc
@@ -7,7 +7,9 @@ LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"

-SRC_URI = "https://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz"
+SRC_URI = "https://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \
+ file://fix-issues-with-swig-4-2.patch \
+ "

SRC_URI[sha256sum] = "68581d3b38e7553cb6f6ddf7813b1fc99e52856f21421f7b477ce5abd2605a8a"

--
2.43.2