all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Alex Kost <alezost@gmail.com>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Timestamps in ...-autoloads.el files
Date: Tue, 20 Oct 2015 21:38:04 +0200	[thread overview]
Message-ID: <87mvvde3h0.fsf@gnu.org> (raw)
In-Reply-To: <87si55h205.fsf@gmail.com> (Alex Kost's message of "Tue, 20 Oct 2015 20:40:42 +0300")

Alex Kost <alezost@gmail.com> skribis:

> Ludovic Courtès (2015-10-20 02:09 +0300) wrote:
>
>> If we diff as explained in the doc below, we see that the Git
>> discrepancies are due to timestamp in Perl’s POD files as well as
>> sorted-by-inode-number ‘tclIndex’ files.  For the Emacs modes, the
>> problem is the autogenerated autoloads files, which include some sort of
>> a timestamp as well.
>>
>> You’re welcome to help fix these issues!
>
> Thanks for the info!
>
> Those timestamps are inserted by `autoload-insert-section-header' and
> we can avoid them by advising this function, for example, like this:
>
> (defun guix-autoload-no-timestamp (fun outbuf autoloads load-name file time)
>   (funcall fun outbuf autoloads load-name file 0))
>
> (advice-add 'autoload-insert-section-header
>             :around 'guix-autoload-no-timestamp)
>
> So after putting this code into ‘emacs-generate-autoloads’ procedure
> from (guix build emacs-utils) module, there will be zeros instead of
> non-deterministic timestamps.

Great.

> However this will fix only those packages, that use
> ‘emacs-generate-autoloads’ directly or via ‘emacs-build-system’.  But
> there are also packages that generate autoloads on their own (for
> example, 'emacs-w3m' or 'guix' itself).  What to do for these ones?
>
> Perhaps we can make a special 'emacs-build' package (that will advise
> ‘autoload-insert-section-header’ function somehow) and use it as an
> input for emacs-packages, or are there other ways?

What about patching Emacs directly?

An upstreamable patch would be one that honors the ‘SOURCE_DATE_EPOCH’
variable¹.

Alternately, a patch that simply changes
‘autoload-insert-section-header’ to always use zero as the timestamp
would work as well, unless this would somehow break functionality.

Thoughts?

Thanks for looking into it,
Ludo’.

¹ https://reproducible-builds.org/specs/source-date-epoch/

  reply	other threads:[~2015-10-20 19:38 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-19 23:09 Challenge substitute servers! Ludovic Courtès
2015-10-20  0:17 ` Daniel Pimentel
2015-10-20 14:38 ` [PATCHES] emacs: Changes for 'guix challenge' Alex Kost
2015-10-20 14:58   ` Ludovic Courtès
2015-10-20 17:40 ` Timestamps in ...-autoloads.el files Alex Kost
2015-10-20 19:38   ` Ludovic Courtès [this message]
2015-10-21 13:05     ` Alex Kost
2015-10-21 16:55       ` Ludovic Courtès
2015-11-02 16:50         ` Alex Kost
2015-11-03 13:27           ` Ludovic Courtès
2015-11-14 11:32             ` Alex Kost
2015-11-14 15:03               ` Ludovic Courtès
2015-11-14 20:39                 ` Alex Kost
2016-05-11 14:53         ` Alex Kost
2016-05-16 12:45           ` Ludovic Courtès
2016-05-16 20:52             ` Alex Kost
2016-05-17  9:12               ` Ludovic Courtès
2016-05-19 16:29                 ` Alex Kost
2016-05-20 12:02                   ` Ludovic Courtès
2016-05-20 13:38                     ` Leo Famulari
2016-05-21 10:49                       ` Alex Kost
2016-05-21 21:02                         ` Ludovic Courtès
2016-05-24  9:07                           ` Alex Kost
2016-05-20 21:14                     ` Alex Kost
2016-05-19  8:12             ` Alex Kost
2016-05-19 12:56               ` Ludovic Courtès
2016-05-21 10:31                 ` Alex Kost
2016-05-21 21:01                   ` Ludovic Courtès
2016-05-24  9:00                     ` Alex Kost

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=87mvvde3h0.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=alezost@gmail.com \
    --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.