Dne 28. 01. 22 v 16:18 Pavel Valena napsal(a):
On Fri, Jan 28, 2022 at 2:06 PM Peter Boy <[email protected]> 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.spec

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.


I'd say this philosophy was overcome. While noble (and don't get me wrong, I very much like it and obey it whenever possible), that might be one of reasons why we don't have Redmine in Fedora.

So I believe that for this reason, the bundling policy was relaxed quite some time ago and it would be reasonable for this case, if used wisely. I.e.

* use as many system gems as possible and vendor only where inevitable and as a last resort

* make sure we strive to improve the compatibility and remove the need for bundling

BTW, bundle everything and remove incrementaly is also good start, because in the mean time, the incentive is working application. I have seen too many failures when everything was attempted to be unbundled from beginning.



Vít


Attachment: OpenPGP_signature
Description: OpenPGP digital signature

_______________________________________________
ruby-sig mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to