-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Update Linux distribution package list for v3.6.0 release #5911
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
We maintain a compatibility matrix of Linux distributions and versions in the DistroMap Ruby class in our script/lib/distro.rb source file, which is utilized by several scripts run by our GitHub Actions release workflow jobs when building and naming the Linux packages we publish on Packagecloud. We will update the matrix of Linux distribution versions we support in a subsequent commit in this PR. Prior to making those changes, we first reformat the code comments we use to track the end of each distribution version's regular support lifecycle so that all the comments align with each other. This will make comparisons and updates slightly easier, particularly when we move an entry in our matrix from one list of entries to another.
We maintain a compatibility matrix of Linux distributions and versions in the DistroMap Ruby class in our script/lib/distro.rb source file, which is utilized by several scripts run by our GitHub Actions release workflow jobs when building and naming the Linux packages we publish on Packagecloud. We will update the matrix of Linux distribution versions we support in a subsequent commit in this PR. Prior to making these changes, though, we first reorder the list of distribution releases that we consider to be compatible with the package we build for Debian 11. Sorting this list alphanumerically ensures that it aligns with the other lists defined in our DistroMap class.
We maintain a compatibility matrix of Linux distributions and versions in the DistroMap Ruby class in our script/lib/distro.rb source file, which is utilized by several scripts run by our GitHub Actions release workflow jobs when building and naming the Linux packages we publish on Packagecloud. We will update the matrix of Linux distribution versions we support in a subsequent commit in this PR. Prior to making these changes, we first update the regular support lifecycle end dates for the current set of distribution versions listed in our DistroMap class using the most recent information available from each vendor.
We maintain a compatibility matrix of Linux distributions and versions in the DistroMap Ruby class in our script/lib/distro.rb source file, which is utilized by several scripts run by our GitHub Actions release workflow jobs when building and naming the Linux packages we publish on Packagecloud. In commit 5ed62ba in PR git-lfs#5647 we revised this matrix so as to reassign openSUSE Leap 15.5 and 15.6 as well as SUSE Linux Enterprise Server (SLES) 15 SP5 to the set of distribution versions that we consider to be compatible with the RPM packages we build for Red Hat Enterprise Linux (RHEL) 8, CentOS 8, and Rocky Linux 8. This works because the version of the GNU C library (glibc) provided by the RHEL 8 family of distributions is 2.28, while the version of glibc available on the more recent SUSE distributions is at least 2.31. The GNU C library keeps its ABI backwards-compatible, so any Git LFS binary we build against glibc v2.28 on RHEL/CentOS 8 should also be functional on the SUSE releases with glibc v2.31 or higher. In a subsequent commit in this PR we will update the matrix in our DistroMap Ruby class to remove Linux distribution versions that have reached the end of their regular support lifecycle and to add new versions of several distributions, including SLES 15 SP6. Prior to making these changes, though, we first reassign OpenSUSE Leap 15.6 to the set of distribution versions that we consider to be compatible with the RPM packages we build for RHEL 9 and Rocky Linux 9, as we would like to also include SLES 15 SP6 in the same set. Both of these recent SUSE distributions versions provide glibc version 2.38, which is newer than the glibc version 2.34 included in the RHEL 9 family of distributions. Thus a Git LFS binary we build against the ABI of glibc v2.34 on RHEL/Rocky Linux 9 should be functional on the latest SUSE releases as well. We have confirmed that this is the case by successfully running the full Git LFS test suite on both openSUSE Leap 15.6 and SLES 15 SP6 using a Git LFS v3.5.1 binary installed from the RPM we built RHEL 9 and Rocky Linux 9. Based on these results, we can move openSUSE Leap 15.6 into the set of distribution versions for which the RPM package we build for RHEL 9 and Rocky Linux 9 will be compatible.
We maintain a compatibility matrix of Linux distributions and versions
in the DistroMap Ruby class in our script/lib/distro.rb source file,
which is utilized by several scripts run by our GitHub Actions release
workflow jobs when building and naming the Linux packages we publish
on Packagecloud.
As we anticipate making a v3.6.0 release of the Git LFS client in
the near future, we first update the list of Linux distribution
versions for which we will build RPM and Debian packages, removing
those which have reached the end of their regular support lifecycles
and adding those which have become available since our v3.5.0 release.
As noted in a previous commit in this PR, we are adding SUSE Linux
Enterprise Server (SLES) 15 SP6 to the set of distribution versions
that we consider to be compatible with the RPM packages we build
for Red Hat Enterprise Linux (RHEL) 9 and Rocky Linux 9. This is
because the version of the GNU C library (glibc) provided by the
RHEL 9 family of distributions is 2.34, while the version of glibc
available on SLES 15 SP6 is 2.38, and any Git LFS binary we build
for the former will be functional with the latter as well.
While most of our updates are unexceptional, there are two notable
distribution versions that have reached the end of their regular support
lifecycles but which we leave in our matrix for the time being.
First, we leave the Debian 10 ("buster") release in our matrix
because it is the base for a number of other distribution versions
that have not yet reached the end of their regular support lifecycles.
In particular, Ubuntu 20.04 LTS (Focal Fossa) and the Linux Mint 20.x
series of releases will only reach the end of their regular support
periods in April 2025. Since our scripts generate Git LFS release
notes and links to the Packagecloud service which depend on the
name of the base component of each set of related distribution versions,
if we removed the "debian/buster" entry we would also have to rename
various other fields and or generate a "Debian 10" link in our release
notes which did not refer to a "debian/*" package. Hence we simply
leave the "debian/buster" entry in place until after April 2025, at
which point we will remove all the distribution versions based on
Debian 10.
Second, we do not remove the entire set of distribution versions
similar to RHEL 7 because the last one to reach the end of its regular
support lifecycle, SLES 12 SP5, only did so very recently at the end
of last month. Further, other than a brief mention in PR git-lfs#5647,
we have not announced that we would no longer build any packages for
this family of distributions. For this reason, we will leave the
SLES 12 SP5 entry and the base RHEL 7 entry in place for one final
Git LFS minor release cycle, after which they will be removed.
To clarify that further, we revise our comment tracking the support
lifecycle of SLES 12 SP5, which has previously included both the end
of the regular support period and the end of SUSE's Long Term Service
Pack Support (LTSS) for the release. However, our practice for all
other Linux distributions has been to only provide packages during the
regular support period, and not during any form of extended support as
may be offered by some commercial vendors. For instance, we stopped
providing packages for Ubuntu 18.04 LTS (Bionic Beaver) after the end
of its normal long-term support in May 2023, although ESM (Expanded
Security Maintenance) support is still available through April 2028.
We therefore we now remove any suggestion that we will continue to
support SLES 12 SP5 throughout its extended LTSS period.
larsxschneider
approved these changes
Nov 11, 2024
chrisd8088
added a commit
to chrisd8088/build-dockers
that referenced
this pull request
Jun 17, 2025
As announced with the v3.6.0 release of the Git LFS client, and as noted in commit git-lfs/git-lfs@23fbfe8 of PR git-lfs/git-lfs#5911, since all the distribution versions based on Red Hat Enterprise Linux (RHEL) 7, CentOS 7, and SUSE Linux Enterprise Server (SLES) 12 for which we previously built RPM packages have now reached the end of their standard LTS (Long-Term Support) periods, future releases of Git LFS will no longer provide support for these platforms or build packages for them. Because we anticipate making a v3.7.0 release of the Git LFS client in the near future, we now remove the Dockerfile we used to build packages for the RHEL/CentOS 7 and SLES 12 platforms.
chrisd8088
added a commit
to chrisd8088/build-dockers
that referenced
this pull request
Jun 17, 2025
As announced with the v3.6.0 release of the Git LFS client, and as noted in commit git-lfs/git-lfs@23fbfe8 of PR git-lfs/git-lfs#5911, since all the distribution versions based on Debian 10 for which we previously built Debian packages have now reached the end of their standard LTS (Long-Term Support) periods, future releases of Git LFS will no longer provide support for this platform or build packages for it. Because we anticipate making a v3.7.0 release of the Git LFS client in the near future, we now remove the Dockerfile we used to build packages for the Debian 10 platform.
chrisd8088
added a commit
to chrisd8088/build-dockers
that referenced
this pull request
Jun 17, 2025
As announced with the v3.6.0 release of the Git LFS client, and as noted in commit git-lfs/git-lfs@23fbfe8 of PR git-lfs/git-lfs#5911, since all the distribution versions based on Debian 10 ("buster") for which we previously built Debian packages have now reached the end of their standard LTS (Long-Term Support) periods, future releases of Git LFS will no longer provide support for this platform or build packages for it. Because we anticipate making a v3.7.0 release of the Git LFS client in the near future, we now remove the Dockerfile we used to build packages for the Debian 10 platform.
chrisd8088
added a commit
to chrisd8088/git-lfs
that referenced
this pull request
Jun 19, 2025
As announced with the v3.6.0 release of the Git LFS client, and as noted in commit 23fbfe8 of PR git-lfs#5911, since all the distribution versions based on Red Hat Enterprise Linux (RHEL) 7, CentOS 7, and SUSE Linux Enterprise Server (SLES) 12 for which we previously built RPM packages have now reached the end of their standard LTS (Long-Term Support) periods, future releases of Git LFS will no longer provide support for these platforms or build packages for them. Because we anticipate making a v3.7.0 release of the Git LFS client in the near future, we removed the Dockerfile we used to build packages for the RHEL/CentOS 7 and SLES 12 platforms in commit git-lfs/build-dockers@cfde130 of PR git-lfs/build-dockers#71. We can now also remove the entries for these platforms from the list of our supported Linux distribution versions in the DistroMap Ruby class source file, which is utilized by several scripts run by our GitHub Actions release workflow jobs when building and naming the Linux packages we publish on Packagecloud.
chrisd8088
added a commit
to chrisd8088/git-lfs
that referenced
this pull request
Jun 19, 2025
As announced with the v3.6.0 release of the Git LFS client, and as noted in commit 23fbfe8 of PR git-lfs#5911, since all the distribution versions based on Debian 10 ("buster") for which we previously built Debian packages have now reached the end of their standard LTS (Long-Term Support) periods, future releases of Git LFS will no longer provide support for this platform or build packages for it. Because we anticipate making a v3.7.0 release of the Git LFS client in the near future, we removed the Dockerfile we used to build packages for the Debian 10 platform in commit git-lfs/build-dockers@04829f9 of PR git-lfs/build-dockers#71. We can now also remove the entries for this platform from the list of our supported Linux distribution versions in the DistroMap Ruby class source file, which is utilized by several scripts run by our GitHub Actions release workflow jobs when building and naming the Linux packages we publish on Packagecloud.
chrisd8088
added a commit
to chrisd8088/git-lfs
that referenced
this pull request
Jun 19, 2025
As announced with the v3.6.0 release of the Git LFS client, and as noted in commit 23fbfe8 of PR git-lfs#5911, since all the distribution versions based on Red Hat Enterprise Linux (RHEL) 7, CentOS 7, and SUSE Linux Enterprise Server (SLES) 12 for which we previously built RPM packages have now reached the end of their standard LTS (Long-Term Support) periods, future releases of Git LFS will no longer provide support for these platforms or build packages for them. Because we anticipate making a v3.7.0 release of the Git LFS client in the near future, we removed the Dockerfile we used to build packages for the RHEL/CentOS 7 and SLES 12 platforms in commit git-lfs/build-dockers@cfde130 of PR git-lfs/build-dockers#71. We then also removed the entries for these platforms from the list of our supported Linux distribution versions in the DistroMap Ruby class source file, which is utilized by several scripts run by our GitHub Actions release workflow jobs when building and naming the Linux packages we publish on Packagecloud. Previously, we removed support for the RHEL/CentOS 6 platform in commit d69e28d in PR git-lfs#4328. However, our "docker/run_dockers.bsh" shell script still references these platforms in its comments, so we update that script now to provide more up-to-date usage examples. As well, we update the test data in the Ruby RSpec script we use to validate the DistroMap Ruby class source file, so that the test data now aligns more closely with our current list of supported Linux distribution versions. Note, though, that this change does not affect the behaviour of either the test script or the DistroMap source file.
chrisd8088
added a commit
to chrisd8088/git-lfs
that referenced
this pull request
Jun 20, 2025
As announced with the v3.6.0 release of the Git LFS client, and as noted in commit 23fbfe8 of PR git-lfs#5911, since all the distribution versions based on Red Hat Enterprise Linux (RHEL) 7, CentOS 7, and SUSE Linux Enterprise Server (SLES) 12 for which we previously built RPM packages have now reached the end of their standard LTS (Long-Term Support) periods, future releases of Git LFS will no longer provide support for these platforms or build packages for them. Because we anticipate making a v3.7.0 release of the Git LFS client in the near future, we removed the Dockerfile we used to build packages for the RHEL/CentOS 7 and SLES 12 platforms in commit git-lfs/build-dockers@cfde130 of PR git-lfs/build-dockers#71. We then also removed the entries for these platforms from the list of our supported Linux distribution versions in the DistroMap Ruby class source file, which is utilized by several scripts run by our GitHub Actions release workflow jobs when building and naming the Linux packages we publish on Packagecloud. Previously, in commit ff36182 of PR git-lfs#4328, we removed support for distribution versions based on the Debian 8 ("jessie") platform, including Ubuntu 14.04 ("Trusty Tahr") and Linux Mint 17.1 ("Rebecca"). However, some of the installation examples in our "INSTALLING.md" page still reference these platforms, so we update these exmaples now with more contemporary Linux distribution versions.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As we anticipate releasing Git LFS version 3.6.0 in the near future, we first update our list of the Linux distributions and versions for which our scripts will publish RPM and Debian packages.
This PR will be most easily reviewed on a commit-by-commit basis.
We first reformat and correct several details of in our list of Linux distribution versions and the end dates of their regular support lifecycles.
We then update our list to remove distribution versions that are no longer supported and add those which have become available since our last revisions in PR #5647, prior to our Git LFS v3.5.0 release.
There are several points of note in terms of what we change and do not change:
We move openSUSE Leap 15.6 and add SLES 15 SP6 into the set of distribution versions for which we consider the RPM package we build for RHEL/Rocky Linux 9 to be compatible. Testing with both openSUSE Leap 15.6 and SLES 15 SP6 demonstrates that our full Git LFS test suite passes on those platforms when using the Git LFS binary from our v3.5.1 RPM package for RHEL/Rocky Linux 9. (This follows from the fact that the glibc version in the RHEL 9 family of distributions is v2.34, while both of the latest SUSE distributions have a newer glibc v2.38, for which the ABI is backwards-compatible.)
We leave Debian 10 ("buster") in our list for now, until the other distributions in that family reach the end of their regular support lifecycles, which will occur in April 2025. If we removed this entry, we would have to either rename the "Debian 10" link we provide in our release notes or generate a "Debian 10" link which does not point to a
debian/*package, neither of which seems desirable.We also leave RHEL/CentOS 7 in our list, because SLES 12 SP5, which was the last distribution version similar to this platform to reach the end of its regular support lifecycle, did so only at the end of last month, and because we have not yet clearly announced that we will no longer build packages for any distribution based on either RHEL/CentOS 7 or SLES 12. We have also a comment which suggests that we might support SLES 12 SP5 through its LTSS (Long Term Service Pack Support) period, although this does not comport with our usual practice regarding extended support from vendors.
To be clear, then, the v3.6.x Git LFS releases will be the last ones for which we build a package for any distribution based on RHEL 7 or SLES 12.
Further, it is likely that the v3.6.x Git LFS releases will be the last ones for which we build a package for any distribution based on Debian 10.