]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
distutils: fix to avoid file-rdeps QA issue
authorChen Qi <Qi.Chen@windriver.com>
Wed, 27 Jul 2016 02:15:23 +0000 (10:15 +0800)
committerChen Qi <Qi.Chen@windriver.com>
Wed, 27 Jul 2016 05:31:16 +0000 (13:31 +0800)
For some nativesdk python packages, we would sometimes have the following
QA issue.

WARNING: nativesdk-python-django-1.8.8-r0 do_package_qa: QA Issue: /opt/windriver/wrlinux/9.0-qemux86/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/django-admin contained in package nativesdk-python-django require\
s /opt/windriver/wrlinux/9.0-qemux86/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/env, but no providers found in RDEPENDS_nativesdk-python-django? [file-rdeps]

The problem is that in distutils.bbclass (and distutils3.bbclass), we replace
${STAGING_BINDIR_NATIVE}/python-native/python with ${bindir}/env. In nativesdk
situation, ${bindir} is not /usr/bin, and this causes the QA issue.

Fix this problem by hardcoding '/usr/bin/env'.

Usually, we don't like hardcoding. But as far as I can see, /usr/bin/env is
a little special. We skip the 'file-rdeps' QA checking for '/usr/bin/env'
dependency. Besides, scripts in many packages do use '/usr/bin/env'. So we
should assume it's there in our system.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
meta/classes/distutils.bbclass
meta/classes/distutils3.bbclass

index 857572d759801270028a639aeac2b79ea9b3f704..e74cd81a500053ba54f41b920b6be11118855dc8 100644 (file)
@@ -44,7 +44,7 @@ distutils_do_install() {
         if test -e ${D}${bindir} ; then        
             for i in ${D}${bindir}/* ; do \
                 if [ ${PN} != "${BPN}-native" ]; then
-                       sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:${bindir}/env\ python:g $i
+                       sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:/usr/bin/env\ python:g $i
                fi
                 sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
             done
@@ -53,7 +53,7 @@ distutils_do_install() {
         if test -e ${D}${sbindir}; then
             for i in ${D}${sbindir}/* ; do \
                 if [ ${PN} != "${BPN}-native" ]; then
-                       sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:${bindir}/env\ python:g $i
+                       sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:/usr/bin/env\ python:g $i
                fi
                 sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
             done
index a6720c5b6be2b9e8e043563c04afe5f1b5898f04..1132f7261af47aee9c0a360775a633b3cafcfe8e 100644 (file)
@@ -47,14 +47,14 @@ distutils3_do_install() {
 
         if test -e ${D}${bindir} ; then        
             for i in ${D}${bindir}/* ; do \
-                sed -i -e s:${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN}:${bindir}/env\ ${PYTHON_PN}:g $i
+                sed -i -e s:${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN}:/usr/bin/env\ ${PYTHON_PN}:g $i
                 sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
             done
         fi
 
         if test -e ${D}${sbindir}; then
             for i in ${D}${sbindir}/* ; do \
-                sed -i -e s:${STAGING_BINDIR_NATIVE}/python-${PYTHON_PN}/${PYTHON_PN}:${bindir}/env\ ${PYTHON_PN}:g $i
+                sed -i -e s:${STAGING_BINDIR_NATIVE}/python-${PYTHON_PN}/${PYTHON_PN}:/usr/bin/env\ ${PYTHON_PN}:g $i
                 sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
             done
         fi