[oe-commits] [openembedded-core] 59/67: opkg: add ptest

Martin Jansa martin.jansa at gmail.com
Thu May 2 13:49:58 UTC 2019


Hi,

there is small issue with this 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).

I'll send patch shortly.

On Thu, Apr 11, 2019 at 4:27 PM <git at git.openembedded.org> wrote:

> This is an automated email from the git hooks/post-receive script.
>
> rpurdie pushed a commit to branch master-next
> in repository openembedded-core.
>
> commit cae2b2fb733bc62523ae75df2bc01096059d27b2
> Author: Alejandro del Castillo <alejandro.delcastillo at ni.com>
> AuthorDate: Wed Apr 10 15:54:23 2019 -0500
>
>     opkg: add ptest
>
>     Install opkg test suite and run it as ptest.
>
>     Signed-off-by: Alejandro del Castillo <alejandro.delcastillo at ni.com>
>     Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> ---
>  ...pkg-add-target-for-testsuite-installation.patch | 43
> ++++++++++++++++++++++
>  ...sue72.py-resolve-paths-before-comparision.patch | 31 ++++++++++++++++
>  meta/recipes-devtools/opkg/opkg/run-ptest          |  5 +++
>  meta/recipes-devtools/opkg/opkg_0.4.0.bb           |  6 ++-
>  4 files changed, 84 insertions(+), 1 deletion(-)
>
> diff --git
> a/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch
> b/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch
> new file mode 100644
> index 0000000..951c186
> --- /dev/null
> +++
> b/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch
> @@ -0,0 +1,43 @@
> +From 8fb0364bd0e19f35c20616dd1ab10aa00e08fa8f Mon Sep 17 00:00:00 2001
> +From: Alejandro del Castillo <alejandro.delcastillo at ni.com>
> +Date: Wed, 10 Apr 2019 14:49:43 -0500
> +Subject: [PATCH] opkg: add target for testsuite installation
> +
> +- Add target to install testsuite
> +- Add override of opkg binary used during test via OPKG_PATH environment
> +variable.
> +
> +Signed-off-by: Alejandro del Castillo <alejandro.delcastillo at ni.com>
> +---
> +Upstream-Status: Submitted
> +
> + Makefile.am  | 5 +++++
> + tests/cfg.py | 2 +-
> + 2 files changed, 6 insertions(+), 1 deletion(-)
> +
> +diff --git a/Makefile.am b/Makefile.am
> +index 90cfcae..1f6a784 100644
> +--- a/Makefile.am
> ++++ b/Makefile.am
> +@@ -18,3 +18,8 @@ run-tests:
> +       $(MAKE) -C tests DATADIR=@datadir@ SYSCONFDIR=@sysconfdir@
> VARDIR=@localstatedir@
> +
> + check: run-tests
> ++
> ++install-ptest:
> ++      cp -r $(srcdir)/tests $(DESTDIR)
> ++      cp Makefile $(DESTDIR)
> ++      sed -e 's/^Makefile/_Makefile/' < Makefile > $(DESTDIR)/Makefile
> +diff --git a/tests/cfg.py b/tests/cfg.py
> +index 4efaff6..ca59d03 100644
> +--- a/tests/cfg.py
> ++++ b/tests/cfg.py
> +@@ -2,4 +2,4 @@ import os
> +
> + opkdir = "/tmp/opk"
> + offline_root = "/tmp/opkg"
> +-opkgcl = os.path.realpath("../src/opkg")
> ++opkgcl = os.getenv('OPKG_PATH', os.path.realpath("../src/opkg"))
> +--
> +2.20.1
> +
> diff --git
> a/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch
> b/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch
> new file mode 100644
> index 0000000..75ecb5f
> --- /dev/null
> +++
> b/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch
> @@ -0,0 +1,31 @@
> +From 5f005830eea7d03c02107a3a3fc58907b0a037bf Mon Sep 17 00:00:00 2001
> +From: Alejandro del Castillo <alejandro.delcastillo at ni.com>
> +Date: Mon, 8 Apr 2019 11:14:56 -0500
> +Subject: [PATCH] regress/issue72.py: resolve paths before comparision
> +
> +In systems that have a volatile /tmp, the test incorrectly fails since
> +it doesn't resolve the real path in all cases.
> +
> +Signed-off-by: Alejandro del Castillo <alejandro.delcastillo at ni.com>
> +---
> +Upstream-Status: Submitted
> +
> + tests/regress/issue72.py | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/tests/regress/issue72.py b/tests/regress/issue72.py
> +index 1626877..2f24dec 100755
> +--- a/tests/regress/issue72.py
> ++++ b/tests/regress/issue72.py
> +@@ -56,7 +56,7 @@ if not os.path.lexists("{}/{}".format(cfg.offline_root,
> long_filename2)):
> +                               "not created.")
> +
> + linky = os.path.realpath("{}/{}".format(cfg.offline_root,
> long_filename2))
> +-linky_dst = "{}/{}".format(cfg.offline_root, long_filename)
> ++linky_dst = os.path.realpath("{}/{}".format(cfg.offline_root,
> long_filename))
> + if linky != linky_dst:
> +       opk.fail("symlink path truncated.")
> +
> +--
> +2.20.1
> +
> diff --git a/meta/recipes-devtools/opkg/opkg/run-ptest
> b/meta/recipes-devtools/opkg/opkg/run-ptest
> new file mode 100644
> index 0000000..5fb7077
> --- /dev/null
> +++ b/meta/recipes-devtools/opkg/opkg/run-ptest
> @@ -0,0 +1,5 @@
> +#!/bin/sh
> +
> +OPKG_PATH=$(which opkg)
> +
> +make OPKG_PATH=$OPKG_PATH run-tests
> diff --git a/meta/recipes-devtools/opkg/opkg_0.4.0.bb
> b/meta/recipes-devtools/opkg/opkg_0.4.0.bb
> index a2329d3..20c2e0b 100644
> --- a/meta/recipes-devtools/opkg/opkg_0.4.0.bb
> +++ b/meta/recipes-devtools/opkg/opkg_0.4.0.bb
> @@ -15,12 +15,15 @@ SRC_URI = "
> http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz
>             file://opkg.conf \
>
> file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
>             file://0001-libopkg-add-add-ignore-recommends-option.patch \
> +
>  file://0001-regress-issue72.py-resolve-paths-before-comparision.patch \
> +           file://0001-opkg-add-target-for-testsuite-installation.patch \
> +           file://run-ptest \
>  "
>
>  SRC_URI[md5sum] = "ae51d95fee599bb4dce08453529158f5"
>  SRC_URI[sha256sum] =
> "f6c00515d8a2ad8f6742a8e73830315d1983ed0459cba77c4d656cfc9e7fe6fe"
>
> -inherit autotools pkgconfig systemd
> +inherit autotools pkgconfig systemd ptest
>
>  target_localstatedir := "${localstatedir}"
>  OPKGLIBDIR = "${target_localstatedir}/lib"
> @@ -49,6 +52,7 @@ do_install_append () {
>  RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config
> libarchive"
>  RDEPENDS_${PN}_class-native = ""
>  RDEPENDS_${PN}_class-nativesdk = ""
> +RDEPENDS_${PN}-ptest += "make binutils python3-core python3-compression"
>  RREPLACES_${PN} = "opkg-nogpg opkg-collateral"
>  RCONFLICTS_${PN} = "opkg-collateral"
>  RPROVIDES_${PN} = "opkg-collateral"
>
> --
> To stop receiving notification emails like this one, please contact
> the administrator of this repository.
> --
> _______________________________________________
> Openembedded-commits mailing list
> Openembedded-commits at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-commits
>


More information about the Openembedded-commits mailing list