Re: Cross-distro reproducible build patches

2017-01-13 Thread Ludovic Courtès
Marius Bakke  skribis:

> 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

2017-01-12 Thread Marius Bakke
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.

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

2017-01-06 Thread Ludovic Courtès
Hi!

Ben Woodcroft  skribis:

> 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

2017-01-05 Thread Ben Woodcroft

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

2017-01-05 Thread Ludovic Courtès
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’.