Install Asciidoctor RPM package on RHEL/CentOS/Rocky Linux platforms#73
Merged
chrisd8088 merged 1 commit intogit-lfs:mainfrom Jun 19, 2025
Merged
Conversation
chrisd8088
added a commit
to chrisd8088/git-lfs
that referenced
this pull request
Jun 19, 2025
In PR git-lfs#5054 we updated the source files of our manual pages from the Ronn format to the AsciiDoc format, which necessitated changing our Linux package build processes to use the Asciidoctor Ruby gem to generate manual pages in Roff and HTML formats. At the time, an RPM package for a 2.0.x version of the Asciidoctor Ruby gem was not easily available for all the platforms based on Red Hat Enterprise Linux (RHEL) that we supported, particularly RHEL/CentOS 7, so in commit db9a821 of PR git-lfs#5054 we updated the "rpm/build_rpms.bsh" script to build and install a custom RPM package with Asciidoctor v2.0.17. In the same commit we also defined a SPEC file for this custom rubygem-asciidoctor RPM package in the "rpm/SPECS" directory. However, we have now 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, because all the distribution versions based on 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, and so future releases of the Git LFS client will no longer build packages for them. Further, in PR git-lfs/build-dockers#73 we updated the Dockerfiles we use to build RPM packages of the Git LFS client on the RHEL/CentOS 8, RHEL/Rocky Linux 9, and RHEL/Rocky Linux 10 platforms so that the rubygem-asciidoctor package is installed before the final command in the Dockerfiles is run. This rubygem-asciidoctor package provides Asciidoctor v2.0.15 or higher, so we no longer need to build and install a custom RPM package in order to use Asciidoctor to generate manual pages formatted in Roff and HTML. We can therefore now delete our custom SPEC file for the rubygem-asciidoctor package, and also simplify our "rpm/build_rpms.bsh" script by removing the section which built and installed our custom RPM package if the "asciidoctor" command was not found in a given Docker container image for an RHEL-based platform.
In PR git-lfs/git-lfs#5054 we updated the source files of the manual pages for the Git LFS client from the Ronn format to the AsciiDoc format, which necessitated changing our Linux package build processes to use the Asciidoctor Ruby gem to generate manual pages in Roff and HTML formats. At the time, an RPM package for a 2.0.x version of the Asciidoctor Ruby gem was not easily available for all the platforms based on Red Hat Enterprise Linux (RHEL) that we supported, particularly RHEL/CentOS 7, so in commit git-lfs/git-lfs@db9a821 of PR git-lfs/git-lfs#5054 we updated the "rpm/build_rpms.bsh" script in our main project's repository to build and install a custom RPM package with Asciidoctor v2.0.17. In the same commit we also defined a SPEC file for this custom rubygem-asciidoctor RPM package in the "rpm/SPECS" directory in our main project. However, as noted in commit cfde130 of PR git-lfs#71, all the distribution versions based on 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, and so future releases of the Git LFS client will no longer build packages for them. This change means we will not need to build and install a custom RPM package for Asciidoctor any more, because there are rubygem-asciidoctor packages available in the Extra Packages for Enterprise Linux (EPEL) collection which provide Asciidoctor v2.0.15 or higher for each of the RHEL/CentOS 8, RHEL/Rocky Linux 9, and RHEL/Rocky Linux 10 platforms. We therefore update our Dockerfiles for these platforms to install the rubygem-asciidoctor package. As this package is available from the EPEL collection, we first need to enable the PowerTools (for RHEL/CentOS 7) or CodeReady Linux Builder (CRB) repository, and then install the EPEL package, before installing the rubygem-asciidoctor package. See, for reference: https://docs.fedoraproject.org/en-US/epel/getting-started/ https://packages.fedoraproject.org/pkgs/rubygem-asciidoctor/rubygem-asciidoctor/ Once this PR is merged, we can then update the "rpm/build_rpms.bsh" script in our main project so it skips trying to build or install a custom RPM package for Asciidoctor, and we can remove the corresponding SPEC file for that package as well.
bb7988b to
c793d78
Compare
larsxschneider
approved these changes
Jun 19, 2025
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
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.
In PR git-lfs/git-lfs#5054 we updated the source files of the manual pages for the Git LFS client from the Ronn format to the AsciiDoc format, which necessitated changing our Linux package build processes to use the Asciidoctor Ruby gem to generate manual pages in Roff and HTML formats.
At the time, an RPM package for a 2.0.x version of the Asciidoctor Ruby gem was not easily available for all the platforms based on Red Hat Enterprise Linux (RHEL) that we supported, particularly RHEL/CentOS 7, so in commit git-lfs/git-lfs@db9a821 of PR git-lfs/git-lfs#5054 we updated the
rpm/build_rpms.bshscript in our main project's repository to build and install a custom RPM package with Asciidoctor v2.0.17. In the same commit we also defined a SPEC file for this custom rubygem-asciidoctor RPM package in therpm/SPECSdirectory in our main project.However, as noted in commit cfde130 of PR #71, all the distribution versions based on 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, and so future releases of the Git LFS client will no longer build packages for them.
This change means we will not need to build and install a custom RPM package for Asciidoctor any more, because there are
rubygem-asciidoctorpackages available in the Extra Packages for Enterprise Linux (EPEL) collection which provide Asciidoctor v2.0.15 or higher for each of the RHEL/CentOS 8, RHEL/Rocky Linux 9, and RHEL/Rocky Linux 10 platforms.We therefore update our
Dockerfiles for these platforms to install therubygem-asciidoctorpackage. As this package is available from the EPEL collection, we first need to enable the PowerTools (for RHEL/CentOS 7) or CodeReady Linux Builder (CRB) repository, and then install the EPEL package, before installing therubygem-asciidoctorpackage, as described in the Fedora Project documentation.Once this PR is merged, we can then update the
rpm/build_rpms.bshscript in our main project so it skips trying to build or install a custom RPM package for Asciidoctor, and we can remove the corresponding SPEC file for that package as well.