From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Vagrant Cascadian <vagrant@reproducible-builds.org>
Cc: Guix Devel <guix-devel@gnu.org>
Subject: Re: Set FORCE_SOURCE_DATE=1 by default
Date: Wed, 22 Jun 2022 09:59:18 -0400 [thread overview]
Message-ID: <87pmj06bpl.fsf@gmail.com> (raw)
In-Reply-To: <87v8stnsca.fsf@contorta> (Vagrant Cascadian's message of "Tue, 21 Jun 2022 23:08:05 -0700")
Hi,
Vagrant Cascadian <vagrant@reproducible-builds.org> writes:
> On 2022-06-21, Maxim Cournoyer wrote:
>> Vagrant Cascadian <vagrant@reproducible-builds.org> writes:
>>> So, guix sets SOURCE_DATE_EPOCH=1 by default in
>>> guix/build/gnu-build-system.scm, which is great!
>>>
>>> This allows guix packages in many cases to build packages reproducibly,
>>> with a curious side-effect that takes us all back to the early 70s in
>>> some corner-cases (or even late 60s, dependent on timezone).
>>>
>>> That said, some projects (such as texlive) might be worried about
>>> messing with time too much (I get it, lots of cautionary sci-fi
>>> stories!), and so you *also* need FORCE_SOURCE_DATE=1 to be set in order
>>> to respect SOURCE_DATE_EPOCH.
>>
>> That seems ridiculous. Has anyone tried getting in touch with them to
>> get their arguments about why inventing another variable that means the
>> same thing was necessary?
>
> Yes, there were some fairly long threads about it and I have little hope
> that revisiting it would change much; it was originally implemented as a
> texlive specific variable, which was changed to the FORCE_SOURCE_DATE
> variable to at least avoid the danger of every project inventing their
> own name-brand variables...
>
>
>> I'd much prefer challenging that stance than "endorsing" it in Guix :-).
>> I think it'd be OK to reluctantly add it in as a stop-gap fix in Guix,
>> but *only* after opening an issue to discuss it upstream and linking to
>> that issue in Guix.
>
> I get it. I really do. It kind of grates at me every time I think about
> this.
>
> I know it really is not great and seems quite suboptimal to me, but I
> don't personally think rehashing the arguments will be a productive use
> of time for anyone...
>
> I think the pragmatism of making more packages reproducible by conceding
> to set FORCE_SOURCE_DATE is the appropriate way forward; I agree it
> feels silly or even maybe would go so far as to say a bit "wrong".
Perhaps to show our stand here we could patch our copy of pdftex with
's/FORCE_SOURCE_DATE/SOURCE_DATE_EPOCH/', lest we end up with a grocery
list of *SOURCE_DATE* variable variants. Even reproducible-builds.org
discourage its use (directed at upstream rather than downstream, but
still) [0]:
If for some reason you’re still conflicted on suddenly changing the
meaning of your “now()” function and desire another switch other than
SOURCE_DATE_EPOCH being set or not, the texlive project came up with the
variable FORCE_SOURCE_DATE; when that environment variable is set to 1
cases that wouldn’t normally obey SOURCE_DATE_EPOCH will do. We strongly
discourage the usage of such variable; SOURCE_DATE_EPOCH is meant to be
already a flag forcing a particular timestamp to be used.
It'd still be nice to have the link to the upstream discussion that led
using a FORCE_SOURCE_DATE variable mentioned in a comment above where
we'd do this trivial substitution; do you have a link to it? I couldn't
find it.
Thanks,
Maxim
[0] https://reproducible-builds.org/docs/source-date-epoch/
next prev parent reply other threads:[~2022-06-22 14:00 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-10 23:53 Set FORCE_SOURCE_DATE=1 by default Vagrant Cascadian
2022-06-15 8:58 ` Ludovic Courtès
2022-06-15 16:24 ` Vagrant Cascadian
2022-06-21 20:48 ` Vagrant Cascadian
2022-06-21 21:06 ` Vagrant Cascadian
2022-06-22 3:57 ` Maxim Cournoyer
2022-06-22 6:08 ` Vagrant Cascadian
2022-06-22 13:53 ` Ludovic Courtès
2022-06-22 15:11 ` Vagrant Cascadian
2022-06-22 17:41 ` Maxim Cournoyer
2022-06-22 13:59 ` Maxim Cournoyer [this message]
2022-06-23 1:03 ` Vagrant Cascadian
2022-06-23 16:44 ` Maxim Cournoyer
2022-07-03 1:58 ` Vagrant Cascadian
2022-07-04 13:14 ` Ludovic Courtès
2022-08-12 15:32 ` Vagrant Cascadian
2022-06-22 15:16 ` Time namespace for build sandbox (was Re: Set FORCE_SOURCE_DATE=1 by default) Zhu Zihao
2022-06-22 15:35 ` Vagrant Cascadian
2022-06-22 16:41 ` Maxime Devos
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
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pmj06bpl.fsf@gmail.com \
--to=maxim.cournoyer@gmail.com \
--cc=guix-devel@gnu.org \
--cc=vagrant@reproducible-builds.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 public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).