+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?

Reply via email to