<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi,<div><br></div><div>there is small issue with this in cases where OPKGLIBDIR is set to /usr/lib.</div><div><br></div><div>Then all ptest files get packaged in libopkg instead of opkg-ptest and correct QA error is triggered:</div><div>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]<br></div><div><br></div><div><div># $FILES_libopkg</div><div>#   set /jenkins/mjansa/build-webos-master/oe-core/meta/recipes-devtools/opkg/<a href="http://opkg_0.4.0.bb:62">opkg_0.4.0.bb:62</a></div><div>#     &quot;${libdir}/*.so.* ${OPKGLIBDIR}/opkg/&quot;</div><div>FILES_libopkg=&quot;/usr/lib/*.so.* /usr/lib/opkg/&quot;</div></div><div><br></div><div><div># $FILES_opkg-ptest [2 operations]</div><div>#   set /jenkins/mjansa/build-webos-master/oe-core/meta/classes/ptest.bbclass:9</div><div>#     &quot;${PTEST_PATH}&quot;</div><div>#   rename from FILES_${PN}-ptest data.py:117 [expandKeys]</div><div>#     &quot;${PTEST_PATH}&quot;</div><div># pre-expansion value:</div><div>#   &quot;${PTEST_PATH}&quot;</div><div>FILES_opkg-ptest=&quot;/usr/lib/opkg/ptest&quot;</div></div><div><br></div><div># $PACKAGES [4 operations]<br></div><div><div>#   set /jenkins/mjansa/build-webos-master/oe-core/meta/conf/bitbake.conf:292</div><div>#     &quot;${PN}-src ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}&quot;</div><div>#   set /jenkins/mjansa/build-webos-master/oe-core/meta/conf/documentation.conf:314</div><div>#     [doc] &quot;The list of packages to be created from the recipe.&quot;</div><div>#   prepend /jenkins/mjansa/build-webos-master/oe-core/meta/classes/ptest.bbclass:20</div><div>#     &quot;${@bb.utils.contains(&#39;PTEST_ENABLED&#39;, &#39;1&#39;, &#39;${PN}-ptest&#39;, &#39;&#39;, d)}&quot;</div><div>#   prepend /jenkins/mjansa/build-webos-master/oe-core/meta/recipes-devtools/opkg/<a href="http://opkg_0.4.0.bb:60">opkg_0.4.0.bb:60</a></div><div>#     &quot;libopkg&quot;</div><div># pre-expansion value:</div><div>#   &quot;libopkg ${@bb.utils.contains(&#39;PTEST_ENABLED&#39;, &#39;1&#39;, &#39;${PN}-ptest&#39;, &#39;&#39;, d)} ${PN}-src ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}&quot;</div><div>PACKAGES=&quot;libopkg opkg-ptest opkg-src opkg-dbg opkg-staticdev opkg-dev opkg-doc opkg-locale  opkg&quot;</div></div><div><br></div><div>The easiest fix should be to reorder PACKAGES (the _prepends) so that ${PN}-ptest is prepended later -&gt; ends before libopkg).<br></div><div><br></div><div>I&#39;ll send patch shortly.</div></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 11, 2019 at 4:27 PM &lt;<a href="mailto:git@git.openembedded.org">git@git.openembedded.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This is an automated email from the git hooks/post-receive script.<br>
<br>
rpurdie pushed a commit to branch master-next<br>
in repository openembedded-core.<br>
<br>
commit cae2b2fb733bc62523ae75df2bc01096059d27b2<br>
Author: Alejandro del Castillo &lt;<a href="mailto:alejandro.delcastillo@ni.com" target="_blank">alejandro.delcastillo@ni.com</a>&gt;<br>
AuthorDate: Wed Apr 10 15:54:23 2019 -0500<br>
<br>
    opkg: add ptest<br>
<br>
    Install opkg test suite and run it as ptest.<br>
<br>
    Signed-off-by: Alejandro del Castillo &lt;<a href="mailto:alejandro.delcastillo@ni.com" target="_blank">alejandro.delcastillo@ni.com</a>&gt;<br>
    Signed-off-by: Richard Purdie &lt;<a href="mailto:richard.purdie@linuxfoundation.org" target="_blank">richard.purdie@linuxfoundation.org</a>&gt;<br>
---<br>
 ...pkg-add-target-for-testsuite-installation.patch | 43 ++++++++++++++++++++++<br>
 ...sue72.py-resolve-paths-before-comparision.patch | 31 ++++++++++++++++<br>
 meta/recipes-devtools/opkg/opkg/run-ptest          |  5 +++<br>
 meta/recipes-devtools/opkg/<a href="http://opkg_0.4.0.bb" rel="noreferrer" target="_blank">opkg_0.4.0.bb</a>           |  6 ++-<br>
 4 files changed, 84 insertions(+), 1 deletion(-)<br>
<br>
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<br>
new file mode 100644<br>
index 0000000..951c186<br>
--- /dev/null<br>
+++ b/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch<br>
@@ -0,0 +1,43 @@<br>
+From 8fb0364bd0e19f35c20616dd1ab10aa00e08fa8f Mon Sep 17 00:00:00 2001<br>
+From: Alejandro del Castillo &lt;<a href="mailto:alejandro.delcastillo@ni.com" target="_blank">alejandro.delcastillo@ni.com</a>&gt;<br>
+Date: Wed, 10 Apr 2019 14:49:43 -0500<br>
+Subject: [PATCH] opkg: add target for testsuite installation<br>
+<br>
+- Add target to install testsuite<br>
+- Add override of opkg binary used during test via OPKG_PATH environment<br>
+variable.<br>
+<br>
+Signed-off-by: Alejandro del Castillo &lt;<a href="mailto:alejandro.delcastillo@ni.com" target="_blank">alejandro.delcastillo@ni.com</a>&gt;<br>
+---<br>
+Upstream-Status: Submitted<br>
+<br>
+ Makefile.am  | 5 +++++<br>
+ tests/cfg.py | 2 +-<br>
+ 2 files changed, 6 insertions(+), 1 deletion(-)<br>
+<br>
+diff --git a/Makefile.am b/Makefile.am<br>
+index 90cfcae..1f6a784 100644<br>
+--- a/Makefile.am<br>
++++ b/Makefile.am<br>
+@@ -18,3 +18,8 @@ run-tests:<br>
+       $(MAKE) -C tests DATADIR=@datadir@ SYSCONFDIR=@sysconfdir@ VARDIR=@localstatedir@<br>
+ <br>
+ check: run-tests<br>
++<br>
++install-ptest:<br>
++      cp -r $(srcdir)/tests $(DESTDIR)<br>
++      cp Makefile $(DESTDIR)<br>
++      sed -e &#39;s/^Makefile/_Makefile/&#39; &lt; Makefile &gt; $(DESTDIR)/Makefile<br>
+diff --git a/tests/cfg.py b/tests/cfg.py<br>
+index 4efaff6..ca59d03 100644<br>
+--- a/tests/cfg.py<br>
++++ b/tests/cfg.py<br>
+@@ -2,4 +2,4 @@ import os<br>
+ <br>
+ opkdir = &quot;/tmp/opk&quot;<br>
+ offline_root = &quot;/tmp/opkg&quot;<br>
+-opkgcl = os.path.realpath(&quot;../src/opkg&quot;)<br>
++opkgcl = os.getenv(&#39;OPKG_PATH&#39;, os.path.realpath(&quot;../src/opkg&quot;))<br>
+-- <br>
+2.20.1<br>
+<br>
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<br>
new file mode 100644<br>
index 0000000..75ecb5f<br>
--- /dev/null<br>
+++ b/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch<br>
@@ -0,0 +1,31 @@<br>
+From 5f005830eea7d03c02107a3a3fc58907b0a037bf Mon Sep 17 00:00:00 2001<br>
+From: Alejandro del Castillo &lt;<a href="mailto:alejandro.delcastillo@ni.com" target="_blank">alejandro.delcastillo@ni.com</a>&gt;<br>
+Date: Mon, 8 Apr 2019 11:14:56 -0500<br>
+Subject: [PATCH] regress/issue72.py: resolve paths before comparision<br>
+<br>
+In systems that have a volatile /tmp, the test incorrectly fails since<br>
+it doesn&#39;t resolve the real path in all cases.<br>
+<br>
+Signed-off-by: Alejandro del Castillo &lt;<a href="mailto:alejandro.delcastillo@ni.com" target="_blank">alejandro.delcastillo@ni.com</a>&gt;<br>
+---<br>
+Upstream-Status: Submitted<br>
+<br>
+ tests/regress/issue72.py | 2 +-<br>
+ 1 file changed, 1 insertion(+), 1 deletion(-)<br>
+<br>
+diff --git a/tests/regress/issue72.py b/tests/regress/issue72.py<br>
+index 1626877..2f24dec 100755<br>
+--- a/tests/regress/issue72.py<br>
++++ b/tests/regress/issue72.py<br>
+@@ -56,7 +56,7 @@ if not os.path.lexists(&quot;{}/{}&quot;.format(cfg.offline_root, long_filename2)):<br>
+                               &quot;not created.&quot;)<br>
+ <br>
+ linky = os.path.realpath(&quot;{}/{}&quot;.format(cfg.offline_root, long_filename2))<br>
+-linky_dst = &quot;{}/{}&quot;.format(cfg.offline_root, long_filename)<br>
++linky_dst = os.path.realpath(&quot;{}/{}&quot;.format(cfg.offline_root, long_filename))<br>
+ if linky != linky_dst:<br>
+       opk.fail(&quot;symlink path truncated.&quot;)<br>
+ <br>
+-- <br>
+2.20.1<br>
+<br>
diff --git a/meta/recipes-devtools/opkg/opkg/run-ptest b/meta/recipes-devtools/opkg/opkg/run-ptest<br>
new file mode 100644<br>
index 0000000..5fb7077<br>
--- /dev/null<br>
+++ b/meta/recipes-devtools/opkg/opkg/run-ptest<br>
@@ -0,0 +1,5 @@<br>
+#!/bin/sh<br>
+<br>
+OPKG_PATH=$(which opkg)<br>
+<br>
+make OPKG_PATH=$OPKG_PATH run-tests<br>
diff --git a/meta/recipes-devtools/opkg/<a href="http://opkg_0.4.0.bb" rel="noreferrer" target="_blank">opkg_0.4.0.bb</a> b/meta/recipes-devtools/opkg/<a href="http://opkg_0.4.0.bb" rel="noreferrer" target="_blank">opkg_0.4.0.bb</a><br>
index a2329d3..20c2e0b 100644<br>
--- a/meta/recipes-devtools/opkg/<a href="http://opkg_0.4.0.bb" rel="noreferrer" target="_blank">opkg_0.4.0.bb</a><br>
+++ b/meta/recipes-devtools/opkg/<a href="http://opkg_0.4.0.bb" rel="noreferrer" target="_blank">opkg_0.4.0.bb</a><br>
@@ -15,12 +15,15 @@ SRC_URI = &quot;<a href="http://downloads.yoctoproject.org/releases/$%7BBPN%7D/$%7BBPN%7D-$%7BPV%7D.tar.gz" rel="noreferrer" target="_blank">http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz</a><br>
            file://opkg.conf \<br>
            file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \<br>
            file://0001-libopkg-add-add-ignore-recommends-option.patch \<br>
+           file://0001-regress-issue72.py-resolve-paths-before-comparision.patch \<br>
+           file://0001-opkg-add-target-for-testsuite-installation.patch \<br>
+           file://run-ptest \<br>
 &quot;<br>
<br>
 SRC_URI[md5sum] = &quot;ae51d95fee599bb4dce08453529158f5&quot;<br>
 SRC_URI[sha256sum] = &quot;f6c00515d8a2ad8f6742a8e73830315d1983ed0459cba77c4d656cfc9e7fe6fe&quot;<br>
<br>
-inherit autotools pkgconfig systemd<br>
+inherit autotools pkgconfig systemd ptest<br>
<br>
 target_localstatedir := &quot;${localstatedir}&quot;<br>
 OPKGLIBDIR = &quot;${target_localstatedir}/lib&quot;<br>
@@ -49,6 +52,7 @@ do_install_append () {<br>
 RDEPENDS_${PN} = &quot;${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive&quot;<br>
 RDEPENDS_${PN}_class-native = &quot;&quot;<br>
 RDEPENDS_${PN}_class-nativesdk = &quot;&quot;<br>
+RDEPENDS_${PN}-ptest += &quot;make binutils python3-core python3-compression&quot;<br>
 RREPLACES_${PN} = &quot;opkg-nogpg opkg-collateral&quot;<br>
 RCONFLICTS_${PN} = &quot;opkg-collateral&quot;<br>
 RPROVIDES_${PN} = &quot;opkg-collateral&quot;<br>
<br>
-- <br>
To stop receiving notification emails like this one, please contact<br>
the administrator of this repository.<br>
-- <br>
_______________________________________________<br>
Openembedded-commits mailing list<br>
<a href="mailto:Openembedded-commits@lists.openembedded.org" target="_blank">Openembedded-commits@lists.openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-commits" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-commits</a><br>
</blockquote></div>