Since there are no immediate objections, I've created a PR to add this.
I've also discovered that downloads.apache.org and closer.lua and aware
of archives and so we can actually use the same links for all releases,
including those that are archived. That removes one manual step of
changing links of previous releases in the release process.
https://github.com/apache/daffodil-site/pull/102
On 12/15/22 11:51 AM, Interrante, John A (GE Research, US) wrote:
+1
Using direct download links sounds better to me too. Both curl and wget have
curl -o, --output file and wget -O, --output-document=file options to avoid
needing to rename the file after downloading it. We can mention these options
somewhere in the same places where we already mention that downloads should be
verified and how to do so.
John
-----Original Message-----
From: Steve Lawrence <slawre...@apache.org>
Sent: Thursday, December 15, 2022 11:01 AM
To: dev@daffodil.apache.org
Subject: EXT: Direct download links to releases?
For linking to the latest release artifacts on our webpage, we currently use
the closer.lua script described here:
https://infra.apache.org/release-download-pages.html
For example, to download the latest source release, our website links here:
https://www.apache.org/dyn/closer.lua/daffodil/3.4.0/src/apache-daffodil-3.4.0-src.zip
This goes to an HTML page listing mirrors and verification instructions.
Unfortunately, this means that if a user just uses wget/curl to download the
link, they will just get an HTML page instead of the actual zip, which can lead
to confusion when installation/checksum/gpg verification fails. I know I've
done this in the past, and just supported a user that ran into this as well.
And I think linking to this HTML page doesn't really provide much benefit
anymore. It used to list a number of alternative mirrors, but relatively
recently it switched to only listing dlcdn.apache.org, so the CDN automatically
determines the best mirror. Additionally, our download page already mentions
that downloads should be verified, and links to instructions on how to do so.
So this page doesn't really provide any new information.
According to first link, we still must use the closer.lua script, but we can add the
"action=download" query parameter to automatically redirect to download the
file. So for example, the above link would become:
https://www.apache.org/dyn/closer.lua/daffodil/3.4.0/src/apache-daffodil-3.4.0-src.zip?action=download
An added benefit to this is closer.lua supports archives, so we would no
longer need to change the links of previous releases to directly point
to the archive URL. For example, this link to an archived release works
fine:
https://www.apache.org/dyn/closer.lua/daffodil/3.3.0/src/apache-daffodil-3.3.0-src.zip?action=download
One downside I see to this is if you wget this URL, the resulting
filename includes the query parameter. It's a bit unhelpful since a user
would likely need to remove it, but at least they get what they
intended. There might also be a wget option to fix this, or if we do go
this route, maybe we can suggest to infra a new closer.lua script that
has the same behavior but with action=download as the default (e.d.
download.lua).
Thoughts?