mbox series

[v2,00/12] Update versions of libcurl and Perl

Message ID 20241023004600.1645313-1-sandals@crustytoothpaste.net (mailing list archive)
Headers show
Series Update versions of libcurl and Perl | expand

Message

brian m. carlson Oct. 23, 2024, 12:45 a.m. UTC
For a long time, we ended up with protracted discussions on the mailing
list about what versions of software we should support.  Oftentimes, we
broke long-obsolete operating system versions by using something shipped
slightly more recently.

Fortunately, we now have a platform support policy to guide us in our
approach to dependencies, so we can make updates without worrying about
breaking systems that have not received security support in several
years.

This series updates our requirements for libcurl to 7.61.0 (the version
in RHEL 8) and for Perl to 5.26.0 (the version in 15.6).  I considered
the mainstream LTS versions of RHEL, Debian, Ubuntu, and SLES, but
omitted consideration of paid support extended LTS, since we cannot
expect Git developers to have to pay a large corporation lots of money
just to test functionality.  This is in conformance with our policy,
which states that versions must be "in line with the version used by
other long-term-support distributions", which does not include extended
LTS distributions.

I plan to send a future series that will add some additional CI jobs in
order to be sure that we're testing the major supported distros and
avoid regressions.

Changes from v1:
* Use require instead of use for Perl to avoid enabling features.
* Use v5.26 instead of 5.026000.
* Squash the INSTALL documentation into the Perl changes.

brian m. carlson (12):
  git-curl-compat: remove check for curl 7.21.5
  git-curl-compat: remove check for curl 7.25.0
  git-curl-compat: remove check for curl 7.34.0
  git-curl-compat: remove check for curl 7.39.0
  git-curl-compat: remove check for curl 7.43.0
  git-curl-compat: remove check for curl 7.44.0
  git-curl-compat: remove check for curl 7.52.0
  git-curl-compat: remove check for curl 7.53.0
  git-curl-compat: remove check for curl 7.56.0
  INSTALL: document requirement for libcurl 7.61.0
  Require Perl 5.26.0
  gitweb: make use of s///r

 INSTALL                                 | 13 +---
 contrib/diff-highlight/DiffHighlight.pm |  2 +-
 contrib/mw-to-git/Git/Mediawiki.pm      |  2 +-
 git-archimport.perl                     |  2 +-
 git-curl-compat.h                       | 98 -------------------------
 git-cvsexportcommit.perl                |  2 +-
 git-cvsimport.perl                      |  2 +-
 git-cvsserver.perl                      |  2 +-
 git-send-email.perl                     |  2 +-
 git-svn.perl                            |  2 +-
 gitweb/gitweb.perl                      |  6 +-
 http.c                                  | 58 ---------------
 imap-send.c                             |  4 -
 perl/Git.pm                             |  2 +-
 perl/Git/I18N.pm                        |  2 +-
 perl/Git/LoadCPAN.pm                    |  2 +-
 perl/Git/Packet.pm                      |  2 +-
 t/t0202/test.pl                         |  2 +-
 t/t5562/invoke-with-content-length.pl   |  2 +-
 t/t9700/test.pl                         |  2 +-
 t/test-terminal.perl                    |  2 +-
 21 files changed, 23 insertions(+), 188 deletions(-)

Comments

Taylor Blau Oct. 23, 2024, 8:16 p.m. UTC | #1
On Wed, Oct 23, 2024 at 12:45:48AM +0000, brian m. carlson wrote:
> brian m. carlson (12):
>   git-curl-compat: remove check for curl 7.21.5
>   git-curl-compat: remove check for curl 7.25.0
>   git-curl-compat: remove check for curl 7.34.0
>   git-curl-compat: remove check for curl 7.39.0
>   git-curl-compat: remove check for curl 7.43.0
>   git-curl-compat: remove check for curl 7.44.0
>   git-curl-compat: remove check for curl 7.52.0
>   git-curl-compat: remove check for curl 7.53.0
>   git-curl-compat: remove check for curl 7.56.0
>   INSTALL: document requirement for libcurl 7.61.0
>   Require Perl 5.26.0
>   gitweb: make use of s///r

Thanks, queued.

Thanks,
Taylor
Patrick Steinhardt Oct. 24, 2024, 6:05 a.m. UTC | #2
On Wed, Oct 23, 2024 at 04:16:59PM -0400, Taylor Blau wrote:
> On Wed, Oct 23, 2024 at 12:45:48AM +0000, brian m. carlson wrote:
> > brian m. carlson (12):
> >   git-curl-compat: remove check for curl 7.21.5
> >   git-curl-compat: remove check for curl 7.25.0
> >   git-curl-compat: remove check for curl 7.34.0
> >   git-curl-compat: remove check for curl 7.39.0
> >   git-curl-compat: remove check for curl 7.43.0
> >   git-curl-compat: remove check for curl 7.44.0
> >   git-curl-compat: remove check for curl 7.52.0
> >   git-curl-compat: remove check for curl 7.53.0
> >   git-curl-compat: remove check for curl 7.56.0
> >   INSTALL: document requirement for libcurl 7.61.0
> >   Require Perl 5.26.0
> >   gitweb: make use of s///r
> 
> Thanks, queued.

Note that this still breaks GitLab CI, as we exercise Ubuntu 16.04 there
which doesn't have recent-enough versions of curl. This version has
recently moved into Extended Security Maintenance mode, so the next LTS
release would be Ubuntu 20.04.

So if this gets merged we should add something like the below patch on
top.

Patrick

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4abfbc3e208..64f7ec5a2dd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -28,7 +28,7 @@ test:linux:
   parallel:
     matrix:
       - jobname: linux-old
-        image: ubuntu:16.04
+        image: ubuntu:20.04
         CC: gcc
       - jobname: linux-sha256
         image: ubuntu:latest
brian m. carlson Oct. 24, 2024, 9:53 p.m. UTC | #3
On 2024-10-24 at 06:05:49, Patrick Steinhardt wrote:
> Note that this still breaks GitLab CI, as we exercise Ubuntu 16.04 there
> which doesn't have recent-enough versions of curl. This version has
> recently moved into Extended Security Maintenance mode, so the next LTS
> release would be Ubuntu 20.04.

Yes, I think we should add that on top.  I don't believe we should be
testing or supporting Ubuntu 16.04, so 20.04 would be the right version
to choose.