Dne 28. 01. 22 v 14:04 Peter Boy napsal(a):
thanks for the info. I'm still considering packaging Redmine. There are not so many,
really free project management software options. Personally, I never did development in
Ruby, but a student of mine is a big Ruby fan. So the Ruby side is doable.
I don't want to take up too much of your time, but regarding the Fedora side, I would
probably need information. Currently, I have 2 questions:
Current Redmine requires Ruby 2.7. It’s a module in Fedora 35. As a module, it must not
be installed in parallel with current 3.0 (or 3.1 in F36). So, would a Redmine package
restrict the complete installation to Ruby 2.7? Or would conflict with other Ruby programs
or development environments? (In Java, we install several JVM versions in parallel and
each program can pick a fitting one).
Right, only single version of Ruby can be installed at time. While other
ecosystems choose to support multiple versions it is not our case and it
is on purpose. Maintaining several versions of Ruby is problematic (and
I can't say that the modular versions get enough attention) and it would
be even more problematic to maintain the whole ecosystem. We just
finished mass rebuild and we needed to build 108 binary components, all
these components would need to have their Ruby specific version in module.
BTW I think that Ruby itself might not be the limiting factor. Upstreams
typically choose some official version just to reduce support matrix.
For example Vagrant, the other prominent Ruby project in Fedora
officially supports just Ruby 2.7, but it runs on Fedora just fine
(although I have not tested it after the mass rebuild yet ;) ).
In Java there are a lot of dependency (and version) issues, too. This leads to quite
elaborate spec files and version tracking, and a lot of work. So I'm used to it to
Redmine 4.2 needs rails 5.2, indeed. And in gemfile there are mostly very specific
version specifications, likely as outdated as rails is. If I understand bundler correctly,
I can store those gems in ~/vendor and make everything private to Redmine. Is that the
proper way? Or what is the proper Fedora way?
Well, yes, probably. We don't have any precedent. But should it be me,
I'd be thinking about using mix of vendored gems, such as Rails, but I'd
try to stay with as much as possible system gems.
BTW I'd also start in Copr and I'd be fine to stay there. Because I'm
not sure I'd want to undergo review of such package ...