The following lines:
https://github.com/dlang/installer/blob/720d3af0756390c065774b62952076fc73d17a49/script/install.sh#L552-L556
incorrectly assumes that we've always used 2.xxx.x for our releases. As a result, it wrongly classifies any compiler prior to 2.065.0 as nightlies and fails to install them.
I attempted to remedy this by changing the condition to:
if [[ ! $input_compiler =~ -[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]] &&
[[ ! $input_compiler =~ -[0-9][.][0-9]{3}$ ]] &&
[[ ! $input_compiler =~ -[0-9][.][0-9]{3}[.][0-9]{1,3}(-[0-9]{1,3})? ]]; then
Not sure if this messes up some other logic further down in the script but it works for my purposes. I don't install nighties so I couldn't care less. Nightlies are a hit and miss thing anyway. We haven't had one uploaded since March. The other option I see is to rename these releases to match current convention.
This works to an extent. It downloads the archive but fails on attempt to download the signature files. All release from 2.000 to 2.064 are missing them.
Please upload those files and patch the script to allow for their download/installation.
--Andrew
Comment #1 by dlang-bot — 2020-09-06T15:17:27Z
@wilzbach created dlang/installer pull request #470 "Issue 21226 - Support installing older DMD versions" mentioning this issue:
- Issue 21226 - Support installing older DMD versions
https://github.com/dlang/installer/pull/470
Comment #2 by dlang-bot — 2020-09-06T23:52:00Z
dlang/installer pull request #470 "Issue 21226 - Support installing older DMD versions" was merged into master:
- e66b89def6eb2bdfaa0b47a4139191b5900c7566 by Sebastian Wilzbach:
Issue 21226 - Support installing older DMD versions
https://github.com/dlang/installer/pull/470
Comment #3 by greeenify — 2020-09-07T01:22:42Z
PR only fixed the installer script, the issue is kept open as the old archives still need to signed.
Comment #4 by robert.schadek — 2025-01-02T15:47:19Z