We need to have different %setup invocations on CentOS 8 and older
CentOS versions. Originally, CentOS 7 was thought to behave like CentOS
8, but the fact that it behaves like CentOS 6 was hidden by the
container images building the RPMs against Git LFS 2.4.0 as part of the
setup process. As a consequence, we never built the RPMs using the new
versions of the spec files in master, and we never noticed that they
failed in this case.
Since we're no longer building RPMs against an ancient version of Git
LFS as part of the setup process, adjust the Ruby RPMs to call the
correct %setup invocation on CentOS 7. Note that like the code with
%{?el6}, %{?el7} will expand to either 1 or nothing, so the condition
will be true (nonzero) for CentOS 6 or 7 and false (zero) for 8.
Build packages for CentOS 8. Add it to the list of containers we build
for and the list of packages we have downloads available for.
In the gem spec files, use a different tooling on CentOS 8, since the
old method no longer works there. Build using a more standard gem build
process so that RPM does the abstraction for us now that it's capable of
it. Stop deleting the root in the install step since we may have
installed things there by that point, and RPM has handled this properly
for many versions.
Since the syntax "%{?el8}" expands to "1" on CentOS 8 and nothing on
earlier versions, add a 0 in front of it any time we use the macro so
that we don't end up with an empty conditional on earlier versions.
"01" is still true and "0" is false, so the logic works out.
It's been verified that the packages still build on CentOS 7 as well as
CentOS 8.