I setup above test for reproducible builds and build one pkg(u-boot) and try to
force a
non-reproducible build to test the framework:
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -9,7 +9,7 @@ inherit uboot-config uboot-extlinux-config uboot-sign deploy
python3native kerne
DEPENDS += "swig-native"
-EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc
${TOOLCHAIN_OPTIONS}" V=1'
+EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc
${TOOLCHAIN_OPTIONS}" V=1 SOURCE_DATE_EPOCH="$(date +%s)"'
EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
EXTRA_OEMAKE += 'STAGING_INCDIR=${STAGING_INCDIR_NATIVE}
STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}'
forcing EPOCH to current build date but I still get an success report:
oe-selftest -v -r reproducible.ReproducibleTests.test_reproducible_builds
2023-12-18 12:05:22,355 - oe-selftest - INFO - Adding layer libraries:
2023-12-18 12:05:22,356 - oe-selftest - INFO -
/home/jocke/yocto-xr/3pp/poky/meta/lib
2023-12-18 12:05:22,356 - oe-selftest - INFO -
/home/jocke/yocto-xr/3pp/poky/meta-yocto-bsp/lib
2023-12-18 12:05:22,356 - oe-selftest - INFO -
/home/jocke/yocto-xr/3pp/meta-openembedded/meta-oe/lib
2023-12-18 12:05:22,356 - oe-selftest - INFO - /home/jocke/yocto-xr/meta-xr/lib
2023-12-18 12:05:22,356 - oe-selftest - INFO -
/home/jocke/yocto-xr/3pp/poky/meta-selftest/lib
2023-12-18 12:05:22,359 - oe-selftest - INFO - Running bitbake -e to test the
configuration is valid/parsable
2023-12-18 12:05:27,248 - oe-selftest - INFO - Adding: "include selftest.inc"
in /home/jocke/yocto-xr/build/infn-xr/gmcu-st/conf/local.conf
2023-12-18 12:05:27,248 - oe-selftest - INFO - Adding: "include bblayers.inc"
in bblayers.conf
2023-12-18 12:05:27,248 - oe-selftest - INFO - test_reproducible_builds
(reproducible.ReproducibleTests)
2023-12-18 12:05:29,724 - oe-selftest - DEBUG - Writing to:
/home/jocke/yocto-xr/build/infn-xr/gmcu-st/conf/selftest.inc
2023-12-18 12:08:26,539 - oe-selftest - INFO - Building reproducibleA (sstate
allowed)...
2023-12-18 12:08:26,545 - oe-selftest - DEBUG - Writing to:
/home/jocke/yocto-xr/build/infn-xr/gmcu-st/conf/selftest.inc
PACKAGE_CLASSES = "package_ipk"
INHIBIT_PACKAGE_STRIP = "1"
TMPDIR = "/home/jocke/yocto-xr/build/infn-xr/reproducibleA/tmp"
LICENSE_FLAGS_ACCEPTED = "commercial"
DISTRO_FEATURES:append = ' systemd pam'
USERADDEXTENSION = "useradd-staticids"
USERADD_ERROR_DYNAMIC = "skip"
USERADD_UID_TABLES += "files/static-passwd"
USERADD_GID_TABLES += "files/static-group"
2023-12-18 12:09:08,936 - oe-selftest - INFO - Building reproducibleB (sstate
NOT allowed)...
2023-12-18 12:09:08,937 - oe-selftest - DEBUG - Writing to:
/home/jocke/yocto-xr/build/infn-xr/gmcu-st/conf/selftest.inc
PACKAGE_CLASSES = "package_ipk"
INHIBIT_PACKAGE_STRIP = "1"
TMPDIR = "/home/jocke/yocto-xr/build/infn-xr/reproducibleB/tmp"
LICENSE_FLAGS_ACCEPTED = "commercial"
DISTRO_FEATURES:append = ' systemd pam'
USERADDEXTENSION = "useradd-staticids"
USERADD_ERROR_DYNAMIC = "skip"
USERADD_UID_TABLES += "files/static-passwd"
USERADD_GID_TABLES += "files/static-group"
SSTATE_DIR = "${TMPDIR}/sstate"
SSTATE_MIRRORS = "file://.*/.*-native.*
http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH
file://.*/.*-cross.*
http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
2023-12-18 12:09:24,772 - oe-selftest - INFO - Checking ipk packages for
differences...
2023-12-18 12:09:24,843 - oe-selftest - INFO - Reproducibility summary for ipk:
same=4 different=0 different_excluded=0 missing=0 total=4
unused_exclusions=[]
2023-12-18 12:09:24,847 - oe-selftest - INFO - ... ok
2023-12-18 12:09:26,044 - oe-selftest - INFO -
----------------------------------------------------------------------
2023-12-18 12:09:26,044 - oe-selftest - INFO - Ran 1 test in 241.335s
2023-12-18 12:09:26,045 - oe-selftest - INFO - OK
2023-12-18 12:09:32,355 - oe-selftest - INFO - RESULTS:
2023-12-18 12:09:32,356 - oe-selftest - INFO - RESULTS -
reproducible.ReproducibleTests.test_reproducible_builds: PASSED (237.60s)
2023-12-18 12:09:32,361 - oe-selftest - INFO - SUMMARY:
2023-12-18 12:09:32,362 - oe-selftest - INFO - oe-selftest () - Ran 1 test in
241.336s
2023-12-18 12:09:32,362 - oe-selftest - INFO - oe-selftest - OK - All required
tests passed (successes=1, skipped=0, failures=0, errors=0)
Looking harder I don't see oe-seftest ever creating reproducibleA/reproducibleB
directories.
I have these set
OEQA_REPRODUCIBLE_TEST_PACKAGE = "ipk"
OEQA_REPRODUCIBLE_TEST_TARGET = "xr-u-boot"
I am missing something?
Jocke
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192631):
https://lists.openembedded.org/g/openembedded-core/message/192631
Mute This Topic: https://lists.openembedded.org/mt/103240689/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-