This is the way it is for several releases and we have yet to see any
issue. But maybe introducing some `rubygems-filesystem` package is
something to consider in the future.
These libraries are released on their own release cycle and Ruby bundles
them. It is not always obvious if Ruby is upstream or the independent
project is upstream, but better to have more bundled provides to be sure
we don't ship vulnerable code.
We used to have Racc as an indepenent gem up until:
https://src.fedoraproject.org/rpms/ruby/c/baf046a6a4d17fa309c9d20fa3db949f6c24aacf
At that time, Racc was default gem and it was problematic. However,
with Ruby 3.3, Racc is not moved to be default gem instead. This would
not be reason for change on itself. But the issue this change is trying
to address is a possible conflict of ruby-bundled-gems package with
standalone rubygem-racc:
~~~
Error: Transaction test error:
file /usr/lib64/gems/ruby/racc-1.7.3/racc/cparse.so from install of ruby-bundled-gems-3.3.0~20231219git8e6f63df47-184.fc40.x86_64 conflicts with file from package rubygem-racc-1.7.3-200.fc40.x86_64
file /usr/share/gems/specifications/racc-1.7.3.gemspec from install of ruby-bundled-gems-3.3.0~20231219git8e6f63df47-184.fc40.x86_64 conflicts with file from package rubygem-racc-1.7.3-200.fc40.x86_64
~~~
There are different possible solutions discussed here:
https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org/thread/SS32RN2HU56LAOK2X6GRKU27FTJS6MA2/
Nevertheless, this seems to be the best solution for now.
The strict require currently causes issue with io-console developemnt
versions such as `0.6.1.dev.1`. However:
1) upstream does not seems to be bothered with required version,
2) the use case for RDoc is currently pretty basic and the required
`IO.console_size` is available since Ruby 1.9 \[[1]\].
Therefore dropping version should be fine.
[1]: ce969b7817
And extract all the gem versions into global version variables. This
allow to make the updste script a bit simpler by dropping multiple ways
of representing gem versions.