[Buildroot] [PATCH 1/1] package/apparmor: fix per-package build with apache

Yann E. MORIN yann.morin.1998 at free.fr
Thu Nov 18 18:13:30 UTC 2021


Arnout, All,

On 2021-11-17 21:47 +0100, Arnout Vandecappelle spake thusly:
> On 17/11/2021 18:31, Fabrice Fontaine wrote:
> >Fix the following per-package build failure with apache:
> >
> >/home/buildroot/autobuild/instance-3/output-1/per-package/apparmor/host/aarch64-buildroot-linux-gnu/sysroot/usr/bin/../../usr/build-1/libtool --silent --mode=link /home/buildroot/autobuild/instance-3/output-1/per-package/apparmor/host/bin/aarch64-linux-gcc    -o mod_apparmor.la  -rpath /usr/modules -module -avoid-version    mod_apparmor.lo -L/home/buildroot/autobuild/instance-3/output-1/per-package/apparmor/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib -lapparmor
> >/home/buildroot/autobuild/instance-3/output-1/per-package/apache/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-buildroot-linux-gnu/9.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: cannot find /lib64/libc.so.6
> >
> >This build failure is raised because the fix added by commit
> >3c836e54203b16015c9c52cbe007adc92d293a0d was incomplete as the apr
> >special libtool script was not patched (see commit
> >b747c29c4e8eb89b7b99658dfd34f4a6b6b0744d for a detailled explanation)
> >
> >Fixes:
> >  - http://autobuild.buildroot.org/results/6747b1cb11b129ea4bcb1ecc9645e94fb8e095e8
> >
> >Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> >---
> >  package/apparmor/apparmor.mk | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> >diff --git a/package/apparmor/apparmor.mk b/package/apparmor/apparmor.mk
> >index 400ea349ae..6f0e59224d 100644
> >--- a/package/apparmor/apparmor.mk
> >+++ b/package/apparmor/apparmor.mk
> >@@ -59,7 +59,8 @@ ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y)
> >  define APPARMOR_FIXUP_APXS
> >  	$(SED) "s@$(PER_PACKAGE_DIR)/[^/]\+/@$(PER_PACKAGE_DIR)/apparmor/@g" \
> >  		$(STAGING_DIR)/usr/bin/apxs \
> >-		$(STAGING_DIR)/usr/build/config_vars.mk
> >+		$(STAGING_DIR)/usr/build/config_vars.mk \
> >+		$(STAGING_DIR)/usr/build-1/libtool
> 
>  I was surprised by the build-1, but it seems to be correct. Apache is weird...
> 
>  Now I said that: shouldn't all of this move to apache.mk, by adding them to
> APACHE_CONFIG_SCRIPTS?

In fact, no, becasue FOO_CONFIG_SCRIPTS are fixed at the end of
staging-install (even after the hooks).

However, for per-package, STAGING_DIR will change, and we really need to
fix the paths for each packages before they are configured... That's why
we use PER_PACKAGE_DIR in the fixups...

But ideally, I'd like that a package be able to provide "prepare-hooks"
(or some better name) that are executed not in that package context, but
in the context all packages that depend on it; that would allow fixing
those paths in a single location...

Regards,
Yann E. MORIN.

> Of course, those are assumed to be in
> $(STAGING_DIR)/usr/bin, so you'd have to put ../build/config_vars.mk and I'm
> not sure if that won't break the realpath stuff...
> 
>  So anyway, applied to master, but it would be nice to do this in a cleaner way.
> 
>  Regards,
>  Arnout
> 
> >  endef
> >  APPARMOR_POST_CONFIGURE_HOOKS += APPARMOR_FIXUP_APXS
> >  endif
> >
> _______________________________________________
> buildroot mailing list
> buildroot at buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list