I need to test a debugging tool on a variety of outdated distributions. I managed to install build-essential
package on Debian Squeeze. The problem though is now that it's impossible to download sources from GitHub/GitLab with either git or curl/wget. The reason is simple - deprecation of the older SSL protocols, while curl or git don't know newer protocols. Is it possible to workaround this for the CI job that needs to do git clone
or curl <gittag>.zip
? You can see current GitHub Actions CI configuration for Debian Wheezy and Debian Jessie.

- 179
1 Answers
In wheezy, git depends on libcurl3-gnutls 7.26.0 which in turn depends on libgnutls26 2.12.17. Curl depends on libssl1.0.0 1.0.1 (that's OpenSSL). These series are very out of date and I don't think current versions have a compatible ABI. So just compiling SSL libraries and putting them in /usr/local
won't cut it.
If you only need a download tool, you could compile a current version of wget or curl with a statically linked openssl. For git this may be harder.
The easy brute-force approach is to arrange two installations that share a filesystem, for example installing one in a chroot. For your use case, it may be easier to have one CI action to do the initial downloading on a modern system and store the data locally, then have another CI action for the build and test on the obsolete system.

- 829,060
-
I put statically compiled fresh curl from static-curl repository and just used COPY directive of docker, see the resulting Docker file. – Anton Kochkov Aug 12 '20 at 11:37
buxybox
with thewget
applet enabled somehow. – muru Aug 05 '20 at 13:16