From f144a6e6d5df1594c6cb0968a1c9d4840babc509 Mon Sep 17 00:00:00 2001 From: Daniel Martinez Date: Thu, 27 Jun 2024 08:48:00 -0400 Subject: [PATCH] apparmor: fix build on musl, enable python on cross-compile --- srcpkgs/apparmor/patches/cross-cflags.patch | 44 +++++++++++++++++++++ srcpkgs/apparmor/template | 16 +++++--- 2 files changed, 55 insertions(+), 5 deletions(-) create mode 100644 srcpkgs/apparmor/patches/cross-cflags.patch diff --git a/srcpkgs/apparmor/patches/cross-cflags.patch b/srcpkgs/apparmor/patches/cross-cflags.patch new file mode 100644 index 00000000000000..f38093fd9e6b1a --- /dev/null +++ b/srcpkgs/apparmor/patches/cross-cflags.patch @@ -0,0 +1,44 @@ +From a8637a5aa189392d5f7a8d61432a11c4ba8ee19e Mon Sep 17 00:00:00 2001 +From: Christian Boltz +Date: Fri, 7 Jun 2024 21:55:12 +0000 +Subject: [PATCH] Merge Honor global CFLAGS when building Python library + +Similarly to https://gitlab.com/apparmor/apparmor/-/merge_requests/689, use the +global CFLAGS when building Python library, so we honor extra flags set by +distributions, such +as -fstack-protector-strong -fstack-clash-protection -Werror=format-security -fcf-protection. + +Spotted by blhc on Debian. + +Gbp-Pq: Name Honor-global-CFLAGS-when-building-Python-library.patch + +MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/1254 +Approved-by: Christian Boltz +Merged-by: Christian Boltz + + +(cherry picked from commit 1ec42d8bec215b16dc3bb74fa6946ff59592a692) + +b7d75638 Honor global CFLAGS when building Python library + +Co-authored-by: Christian Boltz +--- + libraries/libapparmor/swig/python/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libraries/libapparmor/swig/python/Makefile.am b/libraries/libapparmor/swig/python/Makefile.am +index bf05fe0fc..b42ebb1e2 100644 +--- a/libraries/libapparmor/swig/python/Makefile.am ++++ b/libraries/libapparmor/swig/python/Makefile.am +@@ -14,7 +14,7 @@ MOSTLYCLEANFILES=libapparmor_wrap.c LibAppArmor.py + + all-local: libapparmor_wrap.c setup.py + if test ! -f libapparmor_wrap.c; then cp $(srcdir)/libapparmor_wrap.c . ; fi +- CC="$(CC)" CFLAGS="$(PYTHON_CPPFLAGS) $(EXTRA_WARNINGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(PYTHON_LDFLAGS) $(LDFLAGS)" $(PYTHON) setup.py build ++ CC="$(CC)" CFLAGS="$(PYTHON_CPPFLAGS) $(CFLAGS) $(EXTRA_WARNINGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(PYTHON_LDFLAGS) $(LDFLAGS)" $(PYTHON) setup.py build + + install-exec-local: + $(PYTHON) setup.py install --root="/$(DESTDIR)" --prefix="$(prefix)" +-- +GitLab + diff --git a/srcpkgs/apparmor/template b/srcpkgs/apparmor/template index 13586d0976f979..abccabde5030cd 100644 --- a/srcpkgs/apparmor/template +++ b/srcpkgs/apparmor/template @@ -1,13 +1,15 @@ # Template file for 'apparmor' pkgname=apparmor version=3.1.7 -revision=1 +revision=2 build_wrksrc=libraries/libapparmor build_style=gnu-configure conf_files="/etc/apparmor.d/local/* /etc/apparmor/*" make_dirs="/etc/apparmor.d/disable 0755 root root" +configure_args="--with-python" hostmakedepends="bison flex gettext python3 which python3-setuptools pkg-config - perl" + perl swig automake" +makedepends="python3-devel" depends="runit-void-apparmor libapparmor-${version}_${revision} python3-notify2 python3-psutil python3-dbus iproute2" checkdepends="dejagnu" @@ -21,9 +23,13 @@ checksum=c6c161d6dbd99c2f10758ff347cbc6848223c7381f311de62522f22b0a16de64 replaces="apparmor-vim>=0" if [ -z "$CROSS_BUILD" ]; then - configure_args="--with-perl --with-python" - hostmakedepends+=" swig" - makedepends="python3-devel" + configure_args+=" --with-perl" +fi + +# /usr/lib/perl5/core_perl/CORE/perl.h:3360:22: error: unknown type name 'off64_t'; +if [ "$XBPS_TARGET_LIBC" = "musl" ]; then + CFLAGS+=" -D_LARGEFILE64_SOURCE" + CXXFLAGS+=" -D_LARGEFILE64_SOURCE" fi pre_build() {