On Fri, Jan 28, 2022 at 2:06 PM Peter Boy <pboy(a)uni-bremen.de> wrote:
Hi Vit,
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.
Hello,
I can try building it in COPR[1], if you'd be interested in
collaboration. I think it would be better to handle everything in COPR
though (I'm the maintainer of RoR; building RoR in COPR regularly[2]).
We can build it together with Rails (even with 6.1.x) in one repo, but
only in F35[3] life-cycle, because F36 will have 7.0 already. Maybe it
would be easier to maintain it for something like epel-8 or epel-9
(you can build that in COPR too), as there're no rails there (we can
build those). But some manual/upstream Ruby fixes would be required.
[1]
https://docs.pagure.org/copr.copr/user_documentation.html
[2]
https://copr.fedorainfracloud.org/coprs/pvalena/ruby-on-rails/
[3]
https://src.fedoraproject.org/rpms/rubygem-rails/blob/f35/f/rubygem-rails...
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).
Ruby does not have parallel installations of Ruby, apart from modules.
It itself would need to be packaged as a module (this can be done in
COPR also). But from my experience compatibility across versions of
Ruby (at least the latest ones) is quite good, so I would try running
it with 3.0.
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
some extent.
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?
Running it with Rails 5.2 would be possible, but in Fedora installing
anything to ~/vendor goes against the packaging. The philosophy is to
build all the dependencies that would be installed by bundler as RPMs
instead. There's some level of automation, but the issue is
maintainability and stability (running tests). If you're not
interested in running the tests, the stability gets much worse, but
it's much easier to maintain - so ideally there would be some balance;
running in COPR is ideal for that, in the beginning at least -
avoiding package reviews; all the tests fixes etc.. Also there's some
overhead for maintaining modules (esp. bigger ones), so I'd prefer to
avoid that.
Let me know if you're interested.
Regards,
Pavel
Thanks
Peter