[OE-core] [PATCH] opkg: fix ptest packaging when OPKGLIBDIR == libdir

Martin Jansa martin.jansa at gmail.com
Thu May 2 13:52:22 UTC 2019


there is small issue with ptest packaging in cases where
OPKGLIBDIR is set to /usr/lib.

Then all ptest files get packaged in libopkg instead of opkg-ptest and correct QA error is triggered:
ERROR: QA Issue: /usr/lib/opkg/ptest/tests/opkgcl.py contained in package libopkg requires /usr/bin/python3, but no providers found in RDEPENDS_libopkg? [file-rdeps]

  # $FILES_libopkg
  #   set /jenkins/mjansa/build-webos-master/oe-core/meta/recipes-devtools/opkg/opkg_0.4.0.bb:62
  #     "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/"
  FILES_libopkg="/usr/lib/*.so.* /usr/lib/opkg/"

  # $FILES_opkg-ptest [2 operations]
  #   set /jenkins/mjansa/build-webos-master/oe-core/meta/classes/ptest.bbclass:9
  #     "${PTEST_PATH}"
  #   rename from FILES_${PN}-ptest data.py:117 [expandKeys]
  #     "${PTEST_PATH}"
  # pre-expansion value:
  #   "${PTEST_PATH}"
  FILES_opkg-ptest="/usr/lib/opkg/ptest"

  # $PACKAGES [4 operations]
  #   set /jenkins/mjansa/build-webos-master/oe-core/meta/conf/bitbake.conf:292
  #     "${PN}-src ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
  #   set /jenkins/mjansa/build-webos-master/oe-core/meta/conf/documentation.conf:314
  #     [doc] "The list of packages to be created from the recipe."
  #   prepend /jenkins/mjansa/build-webos-master/oe-core/meta/classes/ptest.bbclass:20
  #     "${@bb.utils.contains('PTEST_ENABLED', '1', '${PN}-ptest', '', d)}"
  #   prepend /jenkins/mjansa/build-webos-master/oe-core/meta/recipes-devtools/opkg/opkg_0.4.0.bb:60
  #     "libopkg"
  # pre-expansion value:
  #   "libopkg ${@bb.utils.contains('PTEST_ENABLED', '1', '${PN}-ptest', '', d)} ${PN}-src ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
  PACKAGES="libopkg opkg-ptest opkg-src opkg-dbg opkg-staticdev opkg-dev opkg-doc opkg-locale  opkg"

The easiest fix should be to reorder PACKAGES (the _prepends) so that ${PN}-ptest is prepended later -> ends before libopkg).

Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
---
 meta/recipes-devtools/opkg/opkg_0.4.0.bb | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/opkg/opkg_0.4.0.bb b/meta/recipes-devtools/opkg/opkg_0.4.0.bb
index 20c2e0b72a..e2305d096a 100644
--- a/meta/recipes-devtools/opkg/opkg_0.4.0.bb
+++ b/meta/recipes-devtools/opkg/opkg_0.4.0.bb
@@ -23,6 +23,11 @@ SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz
 SRC_URI[md5sum] = "ae51d95fee599bb4dce08453529158f5"
 SRC_URI[sha256sum] = "f6c00515d8a2ad8f6742a8e73830315d1983ed0459cba77c4d656cfc9e7fe6fe"
 
+# This needs to be before ptest inherit, otherwise all ptest files end packaged
+# in libopkg package if OPKGLIBDIR == libdir, because default
+# PTEST_PATH ?= "${libdir}/${BPN}/ptest"
+PACKAGES =+ "libopkg"
+
 inherit autotools pkgconfig systemd ptest
 
 target_localstatedir := "${localstatedir}"
@@ -57,8 +62,6 @@ RREPLACES_${PN} = "opkg-nogpg opkg-collateral"
 RCONFLICTS_${PN} = "opkg-collateral"
 RPROVIDES_${PN} = "opkg-collateral"
 
-PACKAGES =+ "libopkg"
-
 FILES_libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/"
 
 BBCLASSEXTEND = "native nativesdk"
-- 
2.17.1



More information about the Openembedded-core mailing list