From: Ricardo Wurmus <rekado@elephly.net>
To: Ben Woodcroft <b.woodcroft@uq.edu.au>
Cc: "guix-devel@gnu.org" <guix-devel@gnu.org>
Subject: Re: [PATCH] Help Ruby packages be reproducible
Date: Thu, 31 Dec 2015 11:03:08 +0100 [thread overview]
Message-ID: <87wprv9bqb.fsf@elephly.net> (raw)
In-Reply-To: <56846E35.6010805@uq.edu.au>
Ben Woodcroft <b.woodcroft@uq.edu.au> writes:
> On 31/12/15 03:26, Ludovic Courtès wrote:
>> Ben Woodcroft <b.woodcroft@uq.edu.au> skribis:
>>
>>> On 29/12/15 15:46, Ben Woodcroft wrote:
>>>> Unfortunately none of these builds are reproducible because rubygems
>>>> in Guix generally aren't. For one, this is because .gem files are
>>>> archives whose contents are timestamped.
>>> I should clarify. What I meant was the cache .gem files
>>>
>>> /gnu/store/ib83mg5zsyr5x2w0m3i1f84gdvdbp5x9-ruby-ascii85-1.0.2/lib/ruby/gems/2.2.0/cache$
>>> tar tvf Ascii85-1.0.2.gem |head
>>> -r--r--r-- wheel/wheel 703 2015-12-27 22:44 metadata.gz
>>> -r--r--r-- wheel/wheel 7436 2015-12-27 22:44 data.tar.gz
>>> -r--r--r-- wheel/wheel 268 2015-12-27 22:44 checksums.yaml.gz
>> We should arrange so that gems are created with a fixed timestamp and
>> UID/GID, and a well-defined file ordering, as with:
>>
>> --mtime=@0 --sort=name --owner=root:0 --group=root:0
>>
>> We also need to make sure gzip is always run with -n/--no-name. That
>> way, the gz files above will not include an additional timestamp.
>>
>> From what I can see in
>> <git://git.debian.org/git/reproducible/notes.git>, this is not addressed
>> yet in other distros.
> Ludo are you suggesting we should abandon the deletion approach?
Abandoning the deletion approach only makes sense if we have control
over the way “gem” packages up archives. As far as I remember “gem”
archives are actually regular tarballs with some additional metadata.
The “gem” command itself does not expose any means by which we could
control the mtime of the archive contents.
As the “.gem” file itself is likely redundant I don’t see a problem
removing it as you proposed.
@Dave: what do you think about just removing the cached “.gem”?
> I think you are right as usual. Better in attached?
It looks good to me, thank you.
~~ Ricardo
next prev parent reply other threads:[~2015-12-31 10:03 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-29 5:46 [PATCH] Add 12 rubygems Ben Woodcroft
2015-12-29 5:51 ` Ben Woodcroft
2015-12-30 17:26 ` Ludovic Courtès
2015-12-29 7:18 ` Ricardo Wurmus
2015-12-30 0:51 ` [PATCH] Help Ruby packages be reproducible (was: [PATCH] Add 12 rubygems.) Ben Woodcroft
2015-12-30 0:56 ` [PATCH] Help Ruby packages be reproducible Ben Woodcroft
2015-12-30 2:47 ` Pjotr Prins
2015-12-30 8:26 ` Ricardo Wurmus
2015-12-30 23:52 ` Ben Woodcroft
2015-12-31 10:03 ` Ricardo Wurmus [this message]
2016-01-01 15:10 ` Ludovic Courtès
2016-01-02 15:02 ` Ben Woodcroft
2016-01-06 11:46 ` Ricardo Wurmus
2016-01-07 13:24 ` Ludovic Courtès
2016-01-08 14:16 ` Thompson, David
2016-01-07 14:31 ` Ludovic Courtès
2016-01-08 11:34 ` Ben Woodcroft
2016-01-08 16:55 ` Ludovic Courtès
2015-12-31 12:03 ` Ben Woodcroft
2015-12-30 9:14 ` [PATCH] Add 12 rubygems Ricardo Wurmus
2016-01-07 14:29 ` Ricardo Wurmus
2016-01-26 6:37 ` Ben Woodcroft
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wprv9bqb.fsf@elephly.net \
--to=rekado@elephly.net \
--cc=b.woodcroft@uq.edu.au \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.