Re: Cross-distro reproducible build patches
Marius Bakkeskribis: > Ludovic Courtès writes: > >> … but I think a number things are written as snippets rather than actual >> patches. > > I think most of the snippets are trivial messing with the gcc __DATE__ > and __TIME__ macros. I dug into GCC source code the other day and found > this commit: > > https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=dfa5c0d3f3e23e4fdb14857a42de376d9ff8601c > > Apparently gcc will respect SOURCE_DATE_EPOCH in these functions from > version 7 onwards. We could consider backporting it. Definitely, that’s what I say to myself every time I write one of these snippets. :-) Would you like to port it to 5.x in ‘core-updates’? I’m pretty sure Debian has already ported it actually. Ludo’.
Re: Cross-distro reproducible build patches
Ludovic Courtèswrites: > … but I think a number things are written as snippets rather than actual > patches. I think most of the snippets are trivial messing with the gcc __DATE__ and __TIME__ macros. I dug into GCC source code the other day and found this commit: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=dfa5c0d3f3e23e4fdb14857a42de376d9ff8601c Apparently gcc will respect SOURCE_DATE_EPOCH in these functions from version 7 onwards. We could consider backporting it. Just thought I'd share, I'm sure this was discussed at the summit :-) signature.asc Description: PGP signature
Re: Cross-distro reproducible build patches
Hi! Ben Woodcroftskribis: > On 05/01/17 19:00, Ludovic Courtès wrote: >> Hello Guix! >> >> A new initiative to share repro-build patches has started as a followup >> to the Reproducible Build Summit: >> >> >> http://lists.reproducible-builds.org/pipermail/rb-general/2017-January/000222.html >>https://github.com/distropatches/reproducible-builds > Cool. > > [...] >> … but I think a number things are written as snippets rather than actual >> patches. > Indeed, for instance, I just came some of these for cd-hit while > updating it. Do you think it makes sense to convert these to patches > where possible so that they can be shared? I think it’s important to share, but I also think that snippets are more convenient and more expressive in some cases. So I’d rather not convert those snippets to patches. That said, commented snippets may still be useful to non-Schemey distros. Ludo’.
Re: Cross-distro reproducible build patches
Hi, On 05/01/17 19:00, Ludovic Courtès wrote: Hello Guix! A new initiative to share repro-build patches has started as a followup to the Reproducible Build Summit: http://lists.reproducible-builds.org/pipermail/rb-general/2017-January/000222.html https://github.com/distropatches/reproducible-builds Cool. [...] … but I think a number things are written as snippets rather than actual patches. Indeed, for instance, I just came some of these for cd-hit while updating it. Do you think it makes sense to convert these to patches where possible so that they can be shared? Thanks, ben
Cross-distro reproducible build patches
Hello Guix! A new initiative to share repro-build patches has started as a followup to the Reproducible Build Summit: http://lists.reproducible-builds.org/pipermail/rb-general/2017-January/000222.html https://github.com/distropatches/reproducible-builds If anyone would like to help out by posting the patches that we have to this repo, that would be nice. It would scale better if we could easily list repro-build patches and snippets from the patches that we have. A quick hack gives this: --8<---cut here---start->8--- scheme@(guile-user)> ,use(ice-9 ftw) scheme@(guile-user)> (define (grep file) (call-with-input-file file (lambda (port) (let ((contents (read-string port))) (or (string-contains-ci contents "reproducib") (string-contains-ci contents "deterministic")) ;;; :138:43: warning: possibly unbound variable `read-string' scheme@(guile-user)> ,use(ice-9 rdelim) scheme@(guile-user)> (chdir "/home/ludo/src/guix/gnu/packages/patches") scheme@(guile-user)> (scandir "." (lambda (file) (and (string-suffix? ".patch" file) (grep file $3 = ("awesome-reproducible-png.patch" "hdf4-reproducibility.patch" "libbonobo-activation-test-race.patch" "libxslt-generated-ids.patch" "metabat-remove-compilation-date.patch" "nasm-no-ps-pdf.patch" "perl-deterministic-ordering.patch" "python-2-deterministic-build-info.patch" "python-3-deterministic-build-info.patch" "tcl-mkindex-deterministic.patch" "unzip-remove-build-date.patch") scheme@(guile-user)> (length $3) $4 = 11 --8<---cut here---end--->8--- … but I think a number things are written as snippets rather than actual patches. Thoughts? Ludo’.