Created attachment 515522 [details] output of my emerge --info hello, guys! This of one of my first bug reports in gentoo :) So, on my ~amd64, after running emerge redmine and pulling in www-apps/redmine-3.4.4 (with this https://github.com/gentoo/gentoo/pull/6520 already patched in my local portage tree), the build and emerge --config "=www-apps/redmine-3.4.4" are successful. However, when I hit the redmine app via HTTP in browser (I use passenger) I receive: Unable to activate actionpack-4.2.10, because rack-2.0.3 conflicts with rack (~> 1.6) (Gem::ConflictError) /usr/lib64/ruby/site_ruby/2.2.0/rubygems/specification.rb:2290:in `raise_if_conflicts' /usr/lib64/ruby/site_ruby/2.2.0/rubygems/specification.rb:1410:in `activate' /usr/lib64/ruby/site_ruby/2.2.0/rubygems/specification.rb:1444:in `block in activate_dependencies' /usr/lib64/ruby/site_ruby/2.2.0/rubygems/specification.rb:1430:in `each' /usr/lib64/ruby/site_ruby/2.2.0/rubygems/specification.rb:1430:in `activate_dependencies' /usr/lib64/ruby/site_ruby/2.2.0/rubygems/specification.rb:1412:in `activate' /usr/lib64/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:68:in `block in gem' /usr/lib64/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:67:in `synchronize' /usr/lib64/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:67:in `gem' /var/lib/redmine/config/application.rb:3:in `<top (required)>' /usr/lib64/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require' /usr/lib64/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require' /var/lib/redmine/config/environment.rb:2:in `<top (required)>' /usr/lib64/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require' /usr/lib64/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require' config.ru:3:in `block in <main>' /usr/lib64/ruby/gems/2.2.0/gems/rack-2.0.3/lib/rack/builder.rb:55:in `instance_eval' /usr/lib64/ruby/gems/2.2.0/gems/rack-2.0.3/lib/rack/builder.rb:55:in `initialize' config.ru:1:in `new' config.ru:1:in `<main>' /usr/share/passenger/helper-scripts/rack-preloader.rb:110:in `eval' /usr/share/passenger/helper-scripts/rack-preloader.rb:110:in `preload_app' /usr/share/passenger/helper-scripts/rack-preloader.rb:156:in `<module:App>' /usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>' /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>' As far as I could tackle the problem, it comes from the fact that I have 2 versions of the package dev-ruby/rack: rack-1.6.7 & rack-2.0.3 Unmerging rack-2.0.3 solves the problem. So I ran: vps /etc/apache2/modules.d # equery depends rack * These packages depend on rack: dev-ruby/actionpack-4.2.10 (ruby_targets_ruby22 ? >=dev-ruby/rack-1.6.0:1.6[ruby_targets_ruby22]) (ruby_targets_ruby23 ? >=dev-ruby/rack-1.6.0:1.6[ruby_targets_ruby23]) (ruby_targets_ruby24 ? >=dev-ruby/rack-1.6.0:1.6[ruby_targets_ruby24]) dev-ruby/actionpack-5.0.6 (ruby_targets_ruby22 ? dev-ruby/rack:2.0[ruby_targets_ruby22]) (ruby_targets_ruby23 ? dev-ruby/rack:2.0[ruby_targets_ruby23]) (ruby_targets_ruby24 ? dev-ruby/rack:2.0[ruby_targets_ruby24]) dev-ruby/actionpack-5.1.4 (ruby_targets_ruby22 ? dev-ruby/rack:2.0[ruby_targets_ruby22]) (ruby_targets_ruby23 ? dev-ruby/rack:2.0[ruby_targets_ruby23]) (ruby_targets_ruby24 ? dev-ruby/rack:2.0[ruby_targets_ruby24]) dev-ruby/activesupport-4.2.10 (test ? dev-ruby/rack[ruby_targets_ruby22]) (test ? dev-ruby/rack[ruby_targets_ruby23]) (test ? dev-ruby/rack[ruby_targets_ruby24]) dev-ruby/activesupport-5.0.6 (test ? dev-ruby/rack[ruby_targets_ruby22]) (test ? dev-ruby/rack[ruby_targets_ruby23]) (test ? dev-ruby/rack[ruby_targets_ruby24]) dev-ruby/activesupport-5.1.4 (test ? dev-ruby/rack[ruby_targets_ruby22]) (test ? dev-ruby/rack[ruby_targets_ruby23]) (test ? dev-ruby/rack[ruby_targets_ruby24]) dev-ruby/rack-openid-1.4.2 (ruby_targets_ruby22 ? >=dev-ruby/rack-1.1.0[ruby_targets_ruby22]) (ruby_targets_ruby23 ? >=dev-ruby/rack-1.1.0[ruby_targets_ruby23]) (ruby_targets_ruby24 ? >=dev-ruby/rack-1.1.0[ruby_targets_ruby24]) dev-ruby/rack-test-0.6.3 (ruby_targets_ruby22 ? >=dev-ruby/rack-1.0[ruby_targets_ruby22]) (ruby_targets_ruby23 ? >=dev-ruby/rack-1.0[ruby_targets_ruby23]) (ruby_targets_ruby24 ? >=dev-ruby/rack-1.0[ruby_targets_ruby24]) dev-ruby/sprockets-3.7.1 (ruby_targets_ruby22 ? >=dev-ruby/rack-1[ruby_targets_ruby22]) (ruby_targets_ruby22 ? <dev-ruby/rack-3[ruby_targets_ruby22]) (ruby_targets_ruby23 ? >=dev-ruby/rack-1[ruby_targets_ruby23]) (ruby_targets_ruby23 ? <dev-ruby/rack-3[ruby_targets_ruby23]) (ruby_targets_ruby24 ? >=dev-ruby/rack-1[ruby_targets_ruby24]) (ruby_targets_ruby24 ? <dev-ruby/rack-3[ruby_targets_ruby24]) www-apache/passenger-5.1.11 (ruby_targets_ruby22 ? >=dev-ruby/rack-1.0.0[ruby_targets_ruby22]) (ruby_targets_ruby23 ? >=dev-ruby/rack-1.0.0[ruby_targets_ruby23]) (ruby_targets_ruby24 ? >=dev-ruby/rack-1.0.0[ruby_targets_ruby24]) So the rack-2.0.3 is pulled by dev-ruby/actionpack-5.*; I tried to study who depends on dev-ruby/actionpack but to be honest it just leads to another set of inner ruby packages (and I am not a ruby developer to quickly navigate through them). My emerge --info is enclosed www-apps/redmine-3.4.4::gentoo was built with the following: USE="passenger -fastcgi -imagemagick -ldap -markdown -test" ABI_X86="(64)" RUBY_TARGETS="ruby22 -ruby23"
I ran in exactly the same issue.
I am not sure if you managed to address it (and for those who also face this issue and do not know what to do about it) - the solution that worked for me, and it's pretty apparent from the error message, is to mast rack 2. I added the following into my package.mask: >=dev-ruby/rack-2.0.0 and then make sure portage uninstalls rack 2 if you have it installed.
I am not sure if my pull request does the right thing (it's my 1st pull request in gentoo). Additionally, I see that rack is masked now https://packages.gentoo.org/packages/dev-ruby/rack - this puts even more doubts in my head; but I gave it a shot with the pull request :)
I suspect that passenger pulls rack-2 due non-strict dependency. I'll try to play around with him.
Well, I was updating @world on my server today, so I have little more to say (truly hope it's useful to the package maintainer and others like me, innocent users Gentoo). First of all, on my server I am accepting amd64 keyword. And then only for Redmine I selectively allow ~amd64 keywords for a bunch of packages (Redmine + all of its dependencies). I know :) you can write me off to go to hell just at this moment :) I know I am on my own and this voids any warranty :) Redmine-3.4.4 wouldn't start if dev-ruby/rack is >=2.0.0 (even if you install slotted dev-ruby/rack-1.6.7:1.6 and dev-ruby/rack-2.0.3:2.0). It would only start if your only installed rack is version 1.6.* I tried to dig a little bit into dependencies and determine who exactly pulls in dev-ruby/rack-2.*. First of all, I discovered dev-ruby/actionpack got stabilized at version 5.1.4 and my Gentoo was choosing that one over unstable dev-ruby/actionpack-4.2.10. The dev-ruby/actionpack-5.* was pulling in dev-ruby/rack-2.* Then I also saw dev-ruby/railties-5.1.4 gets pulled in by Redmine-3.4.4 and it also in its own turn pulls in rack-2.*. Turns out same story - dev-ruby/railties-5.1.4 is stable, but Redmine-3.4.4 actually would only run on dev-ruby/railties-4.2.10 which is unstable. Basically I got myself back in business with these 3 lines in package.mask: # This one because there is stable actionpack-5.* but we prefer to use unstable actionpack-4.* >=dev-ruby/actionpack-5.0.0 # Same as above, dev-ruby/railties-5.1.4 is stabilized but we prefer unstable 4.2.10 >=dev-ruby/railties-5.1.4 # I explicitly mask >=rack-2.0.0 so Gentoo prefers rack-1.6.* >=dev-ruby/rack-2.0.0 As I said, I am running mostly amd64 with just Redmine + its dependencies keyworded to ~amd64. Azamat, if you follow my logic and you do not see any pitfalls in it, I can put these dependency constraints into redmine-3.4.4 ebuild and update my pull request. I do seek to hear someone else's feedback because of "funny" amd64 vs ~amd64 setup that I am running :)
Hello. I pushed PR that should fix that bug, and passenger should take rack 1.6 as part of application.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5a985b6fcfa46754da0d7dda4f797996dcd7f037 commit 5a985b6fcfa46754da0d7dda4f797996dcd7f037 Author: Azamat H. Hackimov <azamat.hackimov@gmail.com> AuthorDate: 2018-05-23 20:08:00 +0000 Commit: Aaron Bauman <bman@gentoo.org> CommitDate: 2018-05-25 22:37:45 +0000 www-apps/redmine: version bump and fixes Bump to 3.3.7 and 3.4.5. Branch 3.2 support officialy discontinued, removed. Fixes dependencies conflict that prevents launch application with installed but unsupported gems (#645178 and #652880). Fixes bug when fresh installation cannot be configured. Closes: https://bugs.gentoo.org/645178 Closes: https://bugs.gentoo.org/652880 Package-Manager: Portage-2.3.24, Repoman-2.3.6 Closes: https://github.com/gentoo/gentoo/pull/8539 www-apps/redmine/Manifest | 5 +- .../files/redmine-3.3.7_gemfile_versions.patch | 44 +++++ .../redmine/files/redmine-3.4.3_requires.patch | 73 ------- .../files/redmine-3.4.5_gemfile_versions.patch | 41 ++++ www-apps/redmine/redmine-3.3.6.ebuild | 219 --------------------- .../{redmine-3.4.4.ebuild => redmine-3.3.7.ebuild} | 36 ++-- .../{redmine-3.2.9.ebuild => redmine-3.4.5.ebuild} | 39 ++-- 7 files changed, 130 insertions(+), 327 deletions(-)