mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-09 02:41:03 +01:00

commit94dfe15b28
attempted to remove LD_RUN_PATH unfortunately But all it actually does is cause the Makefile.perl to embed the rpath "" instead. Which is still an rpath, only I guess an even worse one. -- Eli Schwartz Arch Linux Bug Wrangler and Trusted User This is because it cleared the setting of the variable LD_RUN_PATH which was expanded in the command $(INST_DYNAMIC) : $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP) $(RM_F) $@ LD_RUN_PATH="$(LD_RUN_PATH)" $(LD) $(LDDLFLAGS) $(LDFROM) $(OTHERLDFLAGS) -o $@ $(MYEXTLIB) \ $(PERL_ARCHIVE) $(LDLOADLIBS) $(PERL_ARCHIVE_AFTER) $(EXPORT_LIST) \ $(INST_DYNAMIC_FIX) $(CHMOD) $(PERM_RWX) $@ resulting in LD_RUN_PATH="" being passed to the command. Finish removing LD_RUN_PATH from Makefile.perl by removing it from the command invocation if it is present. Note: we use \x24 instead of $ in the regex as there seems to be a bug and no level of escaping $ would allow it to be used. PR: https://gitlab.com/apparmor/apparmor/merge_requests/207 Signed-off-by: John Johansen <john.johansen@canonical.com> Acked-by: Christian Boltz <apparmor@cboltz.de> (cherry picked from commit958cc28876
)
35 lines
1.1 KiB
Makefile
35 lines
1.1 KiB
Makefile
EXTRA_DIST =Makefile.PL libapparmor_wrap.c LibAppArmor.pm examples/*.pl
|
|
|
|
if HAVE_PERL
|
|
noinst_DATA =LibAppArmor.so
|
|
|
|
libapparmor_wrap.c: $(srcdir)/../SWIG/libapparmor.i
|
|
$(SWIG) -perl -I$(srcdir)/../../include -module LibAppArmor -o $@ $(srcdir)/../SWIG/libapparmor.i
|
|
|
|
MOSTLYCLEANFILES=libapparmor_wrap.c LibAppArmor.pm
|
|
|
|
LibAppArmor.pm: libapparmor_wrap.c
|
|
|
|
Makefile.perl: Makefile.PL LibAppArmor.pm
|
|
$(PERL) $< PREFIX=$(prefix) MAKEFILE=$@
|
|
sed -ie 's/LD_RUN_PATH="\x24(LD_RUN_PATH)"//g' Makefile.perl
|
|
sed -ie 's/^LD_RUN_PATH.*//g' Makefile.perl
|
|
|
|
LibAppArmor.so: libapparmor_wrap.c Makefile.perl
|
|
if test ! -f libapparmor_wrap.c; then cp $(srcdir)/libapparmor_wrap.c . ; fi
|
|
$(MAKE) -fMakefile.perl
|
|
if test $(top_srcdir) != $(top_builddir) ; then rm -f libapparmor_wrap.c ; fi
|
|
|
|
install-exec-local: Makefile.perl
|
|
$(MAKE) -fMakefile.perl install_vendor
|
|
|
|
# sadly there is no make uninstall for perl
|
|
#uninstall-local: Makefile.perl
|
|
#$(MAKE) -fMakefile.perl uninstall
|
|
|
|
clean-local:
|
|
if test -f Makefile.perl; then $(MAKE) -fMakefile.perl realclean; fi
|
|
#rm -f Makefile.perl Makefile.perl.old
|
|
rm -f *.so # *.o
|
|
|
|
endif
|