From: Joshua Watt Date: Tue, 27 Aug 2019 19:33:45 +0000 (-0500) Subject: oeqa: reproducible: Cleanup reproducible build X-Git-Tag: uninative-2.7~352 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=f67bb34c8e7950779920b696f8502dbaed9eded5;p=openembedded-core.git oeqa: reproducible: Cleanup reproducible build Cleans up the output from the reproducible build before building to ensure consistent results. Note that the output put is purposely left after around after the build so that non-reproducible packages can be diffed. Signed-off-by: Joshua Watt Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py index 6dc83d2847..74d94fb20d 100644 --- a/meta/lib/oeqa/selftest/cases/reproducible.py +++ b/meta/lib/oeqa/selftest/cases/reproducible.py @@ -132,16 +132,23 @@ class ReproducibleTests(OESelftestTestCase): bitbake("diffutils-native -c addto_recipe_sysroot") diffutils_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "diffutils-native") + reproducible_tmp = os.path.join(self.topdir, 'reproducible', 'tmp') + if os.path.exists(reproducible_tmp): + bb.utils.remove(reproducible_tmp) + # Perform another build. This build should *not* share sstate or pull # from any mirrors, but sharing a DL_DIR is fine - self.write_config(textwrap.dedent('''\ - TMPDIR = "${TOPDIR}/reproducible/tmp" + self.write_config((textwrap.dedent('''\ + TMPDIR = "%s" SSTATE_DIR = "${TMPDIR}/sstate" SSTATE_MIRROR = "" - ''') + common_config) + ''') % reproducible_tmp) + common_config) vars_test = get_bb_vars(capture_vars) bitbake(' '.join(self.images)) + # NOTE: The temp directory from the reproducible build is purposely + # kept after the build so it can be diffed for debugging. + for c in self.package_classes: package_class = 'package_' + c