reproducible: Improve SOURCE_DATE_EPOCH_FALLBACK handling

Ensure the fallback value if used is written to the SDE file
and hence stored in sstate, reducing any confusion within the
code over '0' values.

Bump the HASHEQUIV_VERSION since we've had a ton of trouble
with ensuring this rolls out correctly on the autobuilder so
others may too, take a clean slate for it.

(From OE-Core rev: 53ffffa32b76330835287dfc05d4e4796841af08)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2021-02-22 22:12:53 +00:00
parent 7e9c2f33d4
commit c4baddc0d0
6 changed files with 7 additions and 11 deletions

View File

@ -84,10 +84,6 @@ python create_source_date_epoch_stamp() {
source_date_epoch = oe.reproducible.get_source_date_epoch(d, d.getVar('S'))
if source_date_epoch == 0 :
bb.debug(1, "source_date_epoch is 0, using SOURCE_DATE_EPOCH_FALLBACK instead.")
source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch)
bb.utils.mkdirhier(d.getVar('SDE_DIR'))
with open(epochfile, 'w') as f:

View File

@ -12,4 +12,4 @@ OELAYOUT_ABI = "14"
# a reset of the equivalence, for example when reproducibility issues break the
# existing match data. Distros can also append to this value for the same effect.
#
HASHEQUIV_HASH_VERSION = "4"
HASHEQUIV_HASH_VERSION = "5"

View File

@ -90,8 +90,12 @@ def get_source_date_epoch_from_youngest_file(d, sourcedir):
bb.debug(1, "Newest file found: %s" % newest_file)
return source_date_epoch
def fixed_source_date_epoch():
def fixed_source_date_epoch(d):
bb.debug(1, "No tarball or git repo found to determine SOURCE_DATE_EPOCH")
source_date_epoch = d.getVar('SOURCE_DATE_EPOCH_FALLBACK')
if source_date_epoch:
bb.debug(1, "Using SOURCE_DATE_EPOCH_FALLBACK")
return int(source_date_epoch)
return 0
def get_source_date_epoch(d, sourcedir):
@ -99,6 +103,6 @@ def get_source_date_epoch(d, sourcedir):
get_source_date_epoch_from_git(d, sourcedir) or
get_source_date_epoch_from_known_files(d, sourcedir) or
get_source_date_epoch_from_youngest_file(d, sourcedir) or
fixed_source_date_epoch() # Last resort
fixed_source_date_epoch(d) # Last resort
)

View File

@ -20,7 +20,6 @@ SRC_URI[sha256sum] = "e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1b
# Remove at the next upgrade
PR = "r1"
HASHEQUIV_HASH_VERSION .= ".1"
DEPENDS = "bison-native"
RDEPENDS_${PN} += "perl sed"

View File

@ -21,7 +21,6 @@ SRC_URI[sha256sum] = "b8e7c070e1b72aee2663bdc13b5cc39f76c9232669cfbb1ac0adc7275a
# Can be dropped when the output next changes, avoids failures after
# reproducibility issues
PR = "r1"
HASHEQUIV_HASH_VERSION .= ".1"
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/watchdog/files/watchdog/"
UPSTREAM_CHECK_REGEX = "/watchdog/(?P<pver>(\d+[\.\-_]*)+)/"

View File

@ -14,8 +14,6 @@ SOURCE_DATE_EPOCH = "1613559011"
PE = "1"
PR = "r3"
HASHEQUIV_HASH_VERSION .= ".1"
inherit allarch features_check