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.specI 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
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
