Skip to content

Install Asciidoctor RPM package on RHEL/CentOS/Rocky Linux platforms#73

Merged
chrisd8088 merged 1 commit intogit-lfs:mainfrom
chrisd8088:add-rpm-asciidoctor
Jun 19, 2025
Merged

Install Asciidoctor RPM package on RHEL/CentOS/Rocky Linux platforms#73
chrisd8088 merged 1 commit intogit-lfs:mainfrom
chrisd8088:add-rpm-asciidoctor

Conversation

@chrisd8088
Copy link
Member

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 #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, as described in the Fedora Project documentation.

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.

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.
@chrisd8088 chrisd8088 force-pushed the add-rpm-asciidoctor branch from bb7988b to c793d78 Compare June 19, 2025 15:01
@chrisd8088 chrisd8088 marked this pull request as ready for review June 19, 2025 15:01
@chrisd8088 chrisd8088 requested a review from a team as a code owner June 19, 2025 15:01
@chrisd8088 chrisd8088 merged commit a612398 into git-lfs:main Jun 19, 2025
@chrisd8088 chrisd8088 deleted the add-rpm-asciidoctor branch June 19, 2025 22:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants