On Wed, 21 Feb 2024 at 15:52, Zygmunt Krynicki <m...@zygoon.pl> wrote:
>
>
> > Wiadomość napisana przez James Addison <j...@jp-hosting.net> w dniu 
> > 21.02.2024, o godz. 15:49:
> >
> > Source: snapd
> > Version: 2.61.1-1
> > Severity: wishlist
> >
> > ... [snip] ...
> >
> > One cause of non-reproducibility for the package appears to be that the
> > snap.8 manual page (compressed as snap.8.gz) contains a timestamp in the
> > header that becomes timezone-localized, meaning that the Debian binary 
> > packages
> > built may vary based on the timezone they're built in.
> >
> > Although one way to fix this could be to request and display a UTC 
> > timestamp,
> > there's a comment[3] in the debian/rules file that hints at a better 
> > solution:
> > from version 1.4.0-2 of golang-go-flags there is in-built support[4] for the
> > SOURCE_DATE_EPOCH variable, a time-in-seconds since the Unix epoch 
> > (interpreted
> > in UTC[5]).
> >
> > ... [ snip ] ...
>
>
> Thank you for bringing this to my attention and for offering a patch. I was 
> aware of numerous TODOs in the packaging but have not yet managed to come up 
> with a solution that would work both upstream and downstream (snapd CI system 
> uses a copy of the debian packaging to check that a package can indeed be 
> built), so any iteration on this is rather tedious.
>
> In any case that should not be a problem that cannot be solved. I'm looking 
> forward to your pull request or patches.
> Best regards
> ZK
>

Thanks, Zygmunt -
https://salsa.debian.org/debian/snapd/-/merge_requests/7 contains a
minimal change that I believe should make the package reproducible on
Debian - it does not alter any build-time dependencies, and does not
affect the rules files for any other distros/releases (the debian-sid
(experimental) rules file in the packaging dir is _not_ updated).

The change updates the packaging to remove customization of
golangs-go-flags manual-page-generation timestamping.  That library
previously lacked support for reproducible build timestamping, that
was subsequently patched[1] into Debian in v1.4.0-2 and merged
upstream[2] into v1.5.0.

Please let me know whether that approach seems reasonable, or whether
a more cautious approach would make sense (perhaps by starting with
sid first).

Regards,
James

[1] - 
https://salsa.debian.org/go-team/packages/golang-go-flags/-/commit/3015faf7a972cb074e65f8c210476937698a492b

[2] - https://github.com/jessevdk/go-flags/pull/285

Reply via email to