All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] package: Ensure we track whether PRSERV was active or not
@ 2022-05-08 12:39 Richard Purdie
  2022-05-08 12:39 ` [PATCH 2/2] libgcrypt: Fix reproducibility issues in ptest Richard Purdie
  0 siblings, 1 reply; 2+ messages in thread
From: Richard Purdie @ 2022-05-08 12:39 UTC (permalink / raw)
  To: openembedded-core

Currently the signatures for do_packagedata don't reflect whether PRServ
was active or not. This means that if you have mxiing of PRServ usage and
non PRServ usage against the same sstate cache it can rarely become
corrupted with one referencing the other.

This likely doesn't happen in general but does on the autobuilder as PRServ
is tested. Add in some variables to ensure the binary state of PRServ being
enabled or disabled is tracked (but not the server value). We continue to
assume one PRServ is used per sstate cache.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/classes/package.bbclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 44fbc32df6aa..62050a18b8d3 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -662,7 +662,10 @@ def runtime_mapping_rename (varname, pkg, d):
 # Used by do_packagedata (and possibly other routines post do_package)
 #
 
+PRSERV_ACTIVE = "${@bool(d.getVar("PRSERV_HOST"))}"
+PRSERV_ACTIVE[vardepvalue] = "${PRSERV_ACTIVE}"
 package_get_auto_pr[vardepsexclude] = "BB_TASKDEPDATA"
+package_get_auto_pr[vardeps] += "PRSERV_ACTIVE"
 python package_get_auto_pr() {
     import oe.prservice
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [PATCH 2/2] libgcrypt: Fix reproducibility issues in ptest
  2022-05-08 12:39 [PATCH 1/2] package: Ensure we track whether PRSERV was active or not Richard Purdie
@ 2022-05-08 12:39 ` Richard Purdie
  0 siblings, 0 replies; 2+ messages in thread
From: Richard Purdie @ 2022-05-08 12:39 UTC (permalink / raw)
  To: openembedded-core

The recent ptest addition was causing reproducibility tests to fail.
Remove the problematic files as they clearly aren't needed on target
to run the ptests. Hack the Makefile so that it doesn't try to rerun
configure and similar.

Also add a missing dependency on make.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb b/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb
index f9dc52393f52..f7108013d349 100644
--- a/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb
+++ b/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb
@@ -17,7 +17,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                     "
 
 DEPENDS = "libgpg-error"
-RDEPENDS:${PN}-ptest = "bash"
+RDEPENDS:${PN}-ptest = "bash make"
 
 UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
 SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.bz2 \
@@ -60,6 +60,12 @@ do_install_ptest() {
     cp -r --preserve=mode,links -v ${B} ${D}${PTEST_PATH}
     rm ${D}${PTEST_PATH}/build/cipher/gost-s-box
     rm ${D}${PTEST_PATH}/build/doc/yat2m
+    rm ${D}${PTEST_PATH}/build/libtool
+    rm ${D}${PTEST_PATH}/build/config.status
+    rm ${D}${PTEST_PATH}/build/config.log
+    rm ${D}${PTEST_PATH}/build/src/mpicalc
+    rm ${D}${PTEST_PATH}/${BP}/autom4te* -rf
+    sed -i -e 's/Makefile:.*/Makefile-disabled:/' ${D}${PTEST_PATH}/build/Makefile
     find ${D}/${PTEST_PATH}/build -name "*.cmake" -or -name "Makefile" \
     | xargs sed -e "s|${WORKDIR}|${PTEST_PATH}|g" -e "s|${WORKDIR}/recipe-sysroot-native||g" -i
 }
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-05-08 12:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-08 12:39 [PATCH 1/2] package: Ensure we track whether PRSERV was active or not Richard Purdie
2022-05-08 12:39 ` [PATCH 2/2] libgcrypt: Fix reproducibility issues in ptest Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.