diff mbox series

[v2] package/apparmor: fix compilation with libintl

Message ID 20200425140356.6448-1-angelo@amarulasolutions.com
State Accepted
Headers show
Series [v2] package/apparmor: fix compilation with libintl | expand

Commit Message

Angelo Compagnucci April 25, 2020, 2:03 p.m. UTC
When libintl is enabled, Apparmor should link againts libintl.
The patch is already sent upstream.

Fixes:
http://autobuild.buildroot.net/results/8bf/8bf5ce74721f828b01fd708443d020cdf8dc7d3a

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
Changelo:
v1->v2:
* Adding autobuild ref (Thomas P.)

 ...inutils-fix-compilation-with-libintl.patch | 48 +++++++++++++++++++
 package/apparmor/apparmor.mk                  |  4 ++
 2 files changed, 52 insertions(+)
 create mode 100644 package/apparmor/0001-parser-binutils-fix-compilation-with-libintl.patch

Comments

Thomas Petazzoni April 27, 2020, 9:06 p.m. UTC | #1
On Sat, 25 Apr 2020 16:03:56 +0200
Angelo Compagnucci <angelo.compagnucci@gmail.com> wrote:

> +ifeq ($(BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL),y)
> +APPARMOR_MAKE_OPTS += WITH_LIBINTL=1

I've added:

APPARMOR_DEPENDENCIES += gettext

here, otherwise, gettext is not guaranteed to be built before.

It is not strictly necessary, because the issue only occurs when the
libintl.h from gettext has replaced the one from the C library. So the
issue only appears when gettext has been compiled/installed before
apparmor.

But still, if BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL=y, it means that
gettext will be built, so we'd rather depend on it so that we have
gettext support in apparmor.

Applied with this change. Thanks!

Thomas
diff mbox series

Patch

diff --git a/package/apparmor/0001-parser-binutils-fix-compilation-with-libintl.patch b/package/apparmor/0001-parser-binutils-fix-compilation-with-libintl.patch
new file mode 100644
index 0000000000..d3f4a51646
--- /dev/null
+++ b/package/apparmor/0001-parser-binutils-fix-compilation-with-libintl.patch
@@ -0,0 +1,48 @@ 
+From c9fe40d9386a5e4cf99f44df9b98382d83f1c4f4 Mon Sep 17 00:00:00 2001
+From: Angelo Compagnucci <angelo@amarulasolutions.com>
+Date: Fri, 24 Apr 2020 17:34:24 +0200
+Subject: [PATCH] parser: binutils: fix compilation with libintl
+
+When libintl is available on the system, we need to link against the
+libintl library too.
+
+Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
+---
+ binutils/Makefile | 4 ++++
+ parser/Makefile   | 5 +++++
+ 2 files changed, 9 insertions(+)
+
+diff --git a/binutils/Makefile b/binutils/Makefile
+index 11459bec..d8c1b634 100644
+--- a/binutils/Makefile
++++ b/binutils/Makefile
+@@ -56,6 +56,10 @@ SBINTOOLS = aa-status
+ 
+ AALIB = -Wl,-Bstatic -lapparmor  -Wl,-Bdynamic -lpthread
+ 
++ifdef WITH_LIBINTL
++	AALIB += -lintl
++endif
++
+ ifdef USE_SYSTEM
+   # Using the system libapparmor so Makefile dependencies can't be used
+   LIBAPPARMOR_A =
+diff --git a/parser/Makefile b/parser/Makefile
+index eab64be9..998230ee 100644
+--- a/parser/Makefile
++++ b/parser/Makefile
+@@ -91,6 +91,11 @@ AAREOBJECTS = $(AAREOBJECT)
+ AARE_LDFLAGS = -static-libgcc -static-libstdc++ -L. $(LDFLAGS)
+ AALIB = -Wl,-Bstatic -lapparmor -Wl,-Bdynamic -lpthread
+ 
++ifdef WITH_LIBINTL
++	AALIB += -lintl
++endif
++
++
+ ifdef USE_SYSTEM
+   # Using the system libapparmor so Makefile dependencies can't be used
+   LIBAPPARMOR_A =
+-- 
+2.25.1
+
diff --git a/package/apparmor/apparmor.mk b/package/apparmor/apparmor.mk
index 097c9cfba7..5c67e15106 100644
--- a/package/apparmor/apparmor.mk
+++ b/package/apparmor/apparmor.mk
@@ -17,6 +17,10 @@  APPARMOR_DEPENDENCIES = libapparmor
 APPARMOR_TOOLS = parser
 APPARMOR_MAKE_OPTS = USE_SYSTEM=1 DISTRO=unknown
 
+ifeq ($(BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL),y)
+APPARMOR_MAKE_OPTS += WITH_LIBINTL=1
+endif
+
 ifeq ($(BR2_PACKAGE_APPARMOR_BINUTILS),y)
 APPARMOR_TOOLS += binutils
 endif