Summary: | www/redmine is not working after update (2.6.3_3) | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Miroslav Lachman <000.fbsd> |
Component: | Individual Port(s) | Assignee: | freebsd-ruby (Nobody) <ruby> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | CC: | kbowling, mmoll |
Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(ruby) |
Version: | Latest | ||
Hardware: | Any | ||
OS: | Any |
Description
Miroslav Lachman
2015-06-25 17:51:19 UTC
I really don't know if this is the right way. It is working workaround. According to this post http://www.redmine.org/boards/2/topics/39093?r=39833 I added "bundler exec" in front of thin command and it works: # bundle exec /usr/local/bin/thin -D -c /usr/local/www/redmine -u www -g www -a 0.0.0.0 -p 8080 -e production start Changing process privilege to www:www Using rack adapter Thin web server (v1.6.3 codename Protein Powder) Debugging ON Maximum connections set to 1024 Listening on 0.0.0.0:8080, CTRL+C to stop So I modified redmine rc script to: cd /usr/local/www/redmine command_args="-d -D -c /usr/local/www/redmine -u ${redmine_user} -g ${redmine_group}" start_cmd="/usr/local/bin/bundle exec /usr/local/bin/thin ${command_args} ${redmine_flags} start" I hope it will be fixed "thi right way" in ports tree soon. I can't reproduce this with a recent portstree, could you please check and report back? You will need at least r397333 to avoid another (unrelated) problem. (In reply to Michael Moll from comment #2) I am sorry for my late reply. I was busy with another work. I did upgrade on mantioned server yeasterday. The OS was upgraded from FreeBSD 8.4 to 10.2 and Redmine reinstalled from 2.6.3_3 to 2.6.3_4. The problem with start remains! I tried uninstall redmine, move /usr/local/www/redmine elsewhere and then clean install of Redmine. Even this clean installation didn't start. # /usr/local/bin/thin -D -c /usr/local/www/redmine -u www -g www -a 0.0.0.0 -p 8080 -e production start /usr/local/lib/ruby/gems/2.1/gems/thin-1.6.4/lib/thin/backends/base.rb:103: warning: epoll is not supported on this platform Changing process privilege to www:www Using rack adapter Please configure your config/database.yml first /usr/local/lib/ruby/gems/2.1/gems/bundler-1.10.6/lib/bundler/runtime.rb:34:in `block in setup': You have already activated rack 1.6.4, but your Gemfile requires rack 1.4.7. Prepending `bundle exec` to your command may solve this. (Gem::LoadError) from /usr/local/lib/ruby/gems/2.1/gems/bundler-1.10.6/lib/bundler/runtime.rb:19:in `setup' from /usr/local/lib/ruby/gems/2.1/gems/bundler-1.10.6/lib/bundler.rb:127:in `setup' from /usr/local/lib/ruby/gems/2.1/gems/bundler-1.10.6/lib/bundler/setup.rb:8:in `<top (required)>' from /usr/local/lib/ruby/site_ruby/2.1/rubygems/core_ext/kernel_require.rb:128:in `require' from /usr/local/lib/ruby/site_ruby/2.1/rubygems/core_ext/kernel_require.rb:128:in `rescue in require' from /usr/local/lib/ruby/site_ruby/2.1/rubygems/core_ext/kernel_require.rb:39:in `require' from /usr/local/www/redmine/config/boot.rb:6:in `<top (required)>' from /usr/local/lib/ruby/site_ruby/2.1/rubygems/core_ext/kernel_require.rb:54:in `require' from /usr/local/lib/ruby/site_ruby/2.1/rubygems/core_ext/kernel_require.rb:54:in `require' from /usr/local/www/redmine/config/application.rb:1:in `<top (required)>' from /usr/local/lib/ruby/site_ruby/2.1/rubygems/core_ext/kernel_require.rb:54:in `require' from /usr/local/lib/ruby/site_ruby/2.1/rubygems/core_ext/kernel_require.rb:54:in `require' from /usr/local/www/redmine/config/environment.rb:2:in `<top (required)>' from /usr/local/lib/ruby/site_ruby/2.1/rubygems/core_ext/kernel_require.rb:54:in `require' from /usr/local/lib/ruby/site_ruby/2.1/rubygems/core_ext/kernel_require.rb:54:in `require' from /usr/local/www/redmine/config.ru:3:in `block in <main>' from /usr/local/lib/ruby/gems/2.1/gems/rack-1.6.4/lib/rack/builder.rb:55:in `instance_eval' from /usr/local/lib/ruby/gems/2.1/gems/rack-1.6.4/lib/rack/builder.rb:55:in `initialize' from /usr/local/www/redmine/config.ru:1:in `new' from /usr/local/www/redmine/config.ru:1:in `<main>' from /usr/local/lib/ruby/gems/2.1/gems/thin-1.6.4/lib/rack/adapter/loader.rb:33:in `eval' from /usr/local/lib/ruby/gems/2.1/gems/thin-1.6.4/lib/rack/adapter/loader.rb:33:in `load' from /usr/local/lib/ruby/gems/2.1/gems/thin-1.6.4/lib/rack/adapter/loader.rb:42:in `for' from /usr/local/lib/ruby/gems/2.1/gems/thin-1.6.4/lib/thin/controllers/controller.rb:170:in `load_adapter' from /usr/local/lib/ruby/gems/2.1/gems/thin-1.6.4/lib/thin/controllers/controller.rb:74:in `start' from /usr/local/lib/ruby/gems/2.1/gems/thin-1.6.4/lib/thin/runner.rb:200:in `run_command' from /usr/local/lib/ruby/gems/2.1/gems/thin-1.6.4/lib/thin/runner.rb:156:in `run!' from /usr/local/lib/ruby/gems/2.1/gems/thin-1.6.4/bin/thin:6:in `<top (required)>' from /usr/local/bin/thin:23:in `load' from /usr/local/bin/thin:23:in `<main>' I see. This is specific to the thin option used and I don't think there's an easy fix. Here is what I think is happening: Redmine 2.6 is using Rails 3.2 which is locked to rack 1.4. After an security update to the rack ports we decided to have all ports that depend onto rack >=1.4 depending onto the rack16 port in order to pull in this newer version which also has better security support. Amongst them is thin (and maybe some other gem that's somewhere in the chain here), so there's the rack 1.4.x vs. 1.6.x clash coming from. The real fix here is to find somebody that has the time to upgrade the redmine port to a newer version which is also using a newer Rails so we can finally purge Rails 3 from the ports tree. I _think_ the current redmine port still works with passenger (or maybe also with puma), so maybe try that (or if all else fails "rails start"). Off topic rant: In regard to the thin and passenger ports options, I'm really against having this handled by an app's port in general as there are more Ruby app servers that can/should be equially supported then and patching thin into the Gemspec has always been a major pain as that's a patch on top of the gem version patches. If something like that should be part of a future redmine port, it could be done at least like Foreman is handling its bundler.d dir (https://github.com/theforeman/foreman/blob/develop/Gemfile#L33-L35) so for each app server an independent file can be dropped into bundler.d. That might also help porting of redmine plugins which are handled by some ports magic currently. Fixed by newer versions |