#1012035 reprotest: Salsa CI randomly fails because dpkg-source can't change timestamp

Package:
reprotest
Source:
reprotest
Submitter:
Zhang Boyang
Date:
2023-01-28 00:51:03 UTC
Severity:
important
Tags:
#1012035#5
Date:
2022-05-29 06:10:35 UTC
From:
To:
Hello,

I found Salsa CI reprotest on my repo fails when "FAKETIME variation:
faketime = [balabala]" is decided. The relevant output is:

dpkg-source: error: cannot change timestamp for
build-experiment-1/.pc/applied-patches: Invalid argument

Full log is here:
https://salsa.debian.org/zhangboyang/bogl/-/jobs/2825734

When "FAKETIME variation: enabled but chosen randomly not to fake!" is
decided, job finished successfully. For example:
https://salsa.debian.org/debian/bogl/-/jobs/2815352

I'm not sure if this is a problem in reprotest or somewhere else. Please
point me out if I'm wrong.


Best Regards,
Zhang Boyang

#1012035#10
Date:
2022-05-29 18:26:18 UTC
From:
To:
Hello,

Zhang Boyang, le dim. 29 mai 2022 14:10:35 +0800, a ecrit:

I have seen reprotest randomly fail in the salsa CI for various packages
indeed.

Samuel

#1012035#15
Date:
2022-06-01 11:29:46 UTC
From:
To:
merge 961064 1012035 993339
severity 961064 important
tags 961064 + help newcomer
thanks

indeed, merging with "#961064: reprotest: should not default to vary time and date"
and raising the severity and tagging help because reprotest is (almost) unmaintained
upstream, and tagging newcomer as the fix should be really easy, so if you are
looking for ways to start contributing to reproducible builds, please do! ;p :)

I'll certainly be happy to review, merge and upload.

#1012035#28
Date:
2023-01-28 00:47:31 UTC
From:
To:
Given that the overwhelming majority of reproducible builds issues are
time related, and regressions happen all the time, disabling this would
fail to catch many issues, for what I believe to be a small minority of
affected packages.  I have personally run thousands of builds using
reprotest, and only rarely have come across this issue.

It typically causes issues with packages that patch files at build time,
such as applying debian/patches/ ... but most definitely not all
patches.

The salsa-ci pipelines document how to add custom arguments to reprotest:

https://salsa.debian.org/salsa-ci-team/pipeline#adding-extra-arguments-to-reprotest

So adding to your configuration:

  variables:
    SALSA_CI_REPROTEST_ARGS: --vary=-time

Might be good to update their documentation to use the --vary arguments
and include -time,-build_path ... I can maybe propose a patch to the
salsa-ci team for that.


live well,
  vagrant