[yocto] [meta-security][PATCH v2] apparmor: fix Python install paths when target libdir != native libdir
Ross Burton
ross.burton at intel.com
Fri Jan 18 05:14:00 PST 2019
setuptools will install into what python3-native thinks $libdir is, which may
not match the target $libdir. Pass in libdir as appropriate to force the
correct paths.
Signed-off-by: Ross Burton <ross.burton at intel.com>
---
recipes-security/AppArmor/apparmor_2.12.bb | 5 ++--
recipes-security/AppArmor/files/py-libdir.patch | 40 +++++++++++++++++++++++++
2 files changed, 43 insertions(+), 2 deletions(-)
create mode 100644 recipes-security/AppArmor/files/py-libdir.patch
diff --git a/recipes-security/AppArmor/apparmor_2.12.bb b/recipes-security/AppArmor/apparmor_2.12.bb
index efa93e6..073b62d 100644
--- a/recipes-security/AppArmor/apparmor_2.12.bb
+++ b/recipes-security/AppArmor/apparmor_2.12.bb
@@ -18,6 +18,7 @@ SRC_URI = " \
file://disable_perl_h_check.patch \
file://crosscompile_perl_bindings.patch \
file://tool-paths.patch \
+ file://py-libdir.patch \
file://apparmor.rc \
file://functions \
file://apparmor \
@@ -79,9 +80,9 @@ do_install () {
install -d ${D}/${INIT_D_DIR}
install -d ${D}/lib/apparmor
- oe_runmake -C ${B}/libraries/libapparmor DESTDIR="${D}" install
+ oe_runmake -C ${B}/libraries/libapparmor DESTDIR="${D}" PYLIBDIR=${PYTHON_SITEPACKAGES_DIR} install
oe_runmake -C ${B}/binutils DESTDIR="${D}" install
- oe_runmake -C ${B}/utils DESTDIR="${D}" install
+ oe_runmake -C ${B}/utils DESTDIR="${D}" PYLIBDIR=${PYTHON_SITEPACKAGES_DIR} install
oe_runmake -C ${B}/parser DESTDIR="${D}" install
oe_runmake -C ${B}/profiles DESTDIR="${D}" install
diff --git a/recipes-security/AppArmor/files/py-libdir.patch b/recipes-security/AppArmor/files/py-libdir.patch
new file mode 100644
index 0000000..2b88e54
--- /dev/null
+++ b/recipes-security/AppArmor/files/py-libdir.patch
@@ -0,0 +1,40 @@
+Let the user override the Python libdir so it goes to the right place, as
+python3-native's idea of $libdir may not match the target's $libdir.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton at intel.com>
+
+diff --git a/libraries/libapparmor/swig/python/Makefile.am b/libraries/libapparmor/swig/python/Makefile.am
+index 421acba9..d2b842a6 100644
+--- a/libraries/libapparmor/swig/python/Makefile.am
++++ b/libraries/libapparmor/swig/python/Makefile.am
+@@ -14,7 +14,7 @@ all-local: libapparmor_wrap.c setup.py
+ $(PYTHON) setup.py build
+
+ install-exec-local:
+- $(PYTHON) setup.py install --root="/$(DESTDIR)" --prefix="$(prefix)"
++ $(PYTHON) setup.py install --root="/$(DESTDIR)" --prefix="$(prefix)" --install-lib="$(PYLIBDIR)"
+
+ clean-local:
+ if test -x "$(PYTHON)"; then $(PYTHON) setup.py clean; fi
+diff --git a/utils/Makefile b/utils/Makefile
+index 68f8c376..025f9da5 100644
+--- a/utils/Makefile
++++ b/utils/Makefile
+@@ -42,6 +42,7 @@ DESTDIR=/
+ BINDIR=${DESTDIR}/usr/sbin
+ CONFDIR=${DESTDIR}/etc/apparmor
+ PYPREFIX=/usr
++PYLIBDIR=$PYPREFIX/lib
+
+ PYFLAKES=pyflakes
+
+@@ -60,7 +61,7 @@ install: ${MANPAGES} ${HTMLMANPAGES}
+ $(MAKE) install_manpages DESTDIR=${DESTDIR}
+ $(MAKE) -C vim install DESTDIR=${DESTDIR}
+ ln -sf aa-status.8 ${DESTDIR}/${MANDIR}/man8/apparmor_status.8
+- ${PYTHON} ${PYSETUP} install --prefix=${PYPREFIX} --root=${DESTDIR} --version=${VERSION}
++ ${PYTHON} ${PYSETUP} install --prefix=${PYPREFIX} --install-lib=${PYLIBDIR} --root=${DESTDIR} --version=${VERSION}
+
+ .PHONY: clean
+ ifndef VERBOSE
--
2.11.0
More information about the yocto
mailing list