Subject: [bug#31499] [PATCH 01/21] gnu: emacs-daemons: New variable.

From: Ricardo Wurmus <[email-masked]>
Date: Tue, 22 May 2018 11:17:49 +0200

Hi Pierre,

> Ricardo Wurmus <[email-masked]> writes:
>
>>> +       (uri (string-append "https://github.com/cbowdon/daemons.el/archive/"
>>> +                           version ".tar.gz"))
>>
>> Please do not use these auto-generated tarballs from GitHub, as they are
>> generated upon demand.  This means that at some point in the future the
>> hash may change.
>
> OK, but I have a few question:
>
> - Why would the hash change?  If the version tag is not changed (and
> it's not meant to) the archive remains the same, doesn't it?  Besides
> many Emacs packages use the "/archive" URLs, such as
> `emacs-emms-player-mpv`.

Unfortunately, the archive does not remain the same.  These archives are
created on demand and cached for months.  Once they expire they are
recreated.  Since the archives contain timestamps the hash will change.

We still have many packages that use the /archive URLs, which should be
changed eventually.  I have been changing some of these URLs whenever I
updated one of the affected packages, but there are many more that
remain.

> - Do you know the difference between "/archive and "/releases/download"?
> For instance, Magit uses "https://github.com/magit/magit/releases/download/".

Releases are *uploaded* tarballs, not automatically generated tarballs.
Tarballs that have been uploaded to Github won’t change over time.

--
Ricardo