Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 384201 - [new] Request ebuild for ruby/unicorn
Summary: [new] Request ebuild for ruby/unicorn
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Default Assignee for New Packages
URL: http://unicorn.bogomips.org/
Whiteboard:
Keywords:
: 469246 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-09-23 14:01 UTC by anonymous
Modified: 2015-10-01 16:39 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
kgio-2.7.4.ebuild (kgio-2.7.4.ebuild,940 bytes, text/plain)
2012-10-23 01:03 UTC, Coacher
Details
raindrops-0.10.0 with deps (raindrops.tar.gz,1.65 KB, text/plain)
2012-10-23 01:05 UTC, Coacher
Details
targzipped raindrops-0.10.0 with deps (raindrops.tar.gz,1.65 KB, application/octet-stream)
2012-10-23 01:06 UTC, Coacher
Details
targzipped unicorn-4.4.0 with its only test dep (unicorn-4.4.0.tar.gz,2.57 KB, application/octet-stream)
2012-10-23 01:11 UTC, Coacher
Details
targzipped unicorn-4.4.0 with its only test dep (unicorn-4.4.0.tar.gz,2.45 KB, application/octet-stream)
2012-10-23 01:15 UTC, Coacher
Details
targzipped unicorn-4.4.0 with its only test dep (unicorn-4.4.0.tar.gz,2.62 KB, application/octet-stream)
2012-10-23 12:23 UTC, Coacher
Details

Note You need to log in before you can comment on or make changes to this bug.
Description anonymous 2011-09-23 14:01:42 UTC
There is unicorn out (Rack HTTP server), it would be nice to have ebuild for it.
Ruby developers say that this is more advanced system that Phusion Passenger or
mongrel http://unicorn.bogomips.org/

Also it would be nice to include init-scripts.

Thanks.

Reproducible: Always
Comment 1 Hans de Graaff gentoo-dev Security 2011-09-26 19:33:37 UTC
This package has dependencies not yet in available in CVS:

kgio
    strace_me
    wrongdoc
        tidy_ffi

raindrops
Comment 2 anonymous 2011-10-24 10:32:12 UTC
What the status now?
Comment 3 Alex Legler (RETIRED) archtester gentoo-dev Security 2011-10-24 10:41:31 UTC
The same as before. We'll update this bug when anything changes.
Comment 4 Hans de Graaff gentoo-dev Security 2011-10-24 15:47:08 UTC
We don't have a lot of manpower, and we tend to take care of open bugs and version bumps for existing packages first. Without someone actively doing work on this it may be some time until this package can be added.
Comment 5 Coacher 2012-10-23 01:03:12 UTC
Hello everyone. This is kind of necroposting, but I've crafted ebuilds for the latest version of unicorn and friends. Let me tell you some details.

Unicorn has 3 runtime deps: kgio, raindrops and rack; and 1 test only dep: isolate. Among these gems only rack is in-tree as for now, so I've prepared ebuilds for the others as well.
Luckily, raindrops and kgio have no special runtime deps, but raindrops has several missing test only deps: io-extra, aggregate and posix_mq. This ebuilds are also available.

So, with this set of gems you can run and test unicorn and its runtime deps. I must warn you that not all gems successfully pass tests. Fell free to fix it if you really want.

These packages were only tested on my amd64 box and this explains why KEYWORDS is that.

You can also get all this stuff via git from my local overlay at git://bonespirit.org/bonespirit.org
Comment 6 Coacher 2012-10-23 01:03:44 UTC
Created attachment 327192 [details]
kgio-2.7.4.ebuild
Comment 7 Coacher 2012-10-23 01:05:46 UTC
Created attachment 327194 [details]
raindrops-0.10.0 with deps
Comment 8 Coacher 2012-10-23 01:06:48 UTC
Created attachment 327196 [details]
targzipped raindrops-0.10.0 with deps
Comment 9 Coacher 2012-10-23 01:11:01 UTC
Created attachment 327198 [details]
targzipped unicorn-4.4.0 with its only test dep

As you can see I had to avoid using kgio-monkey gem for tests, because it fails to build (both in and out isolate). It is nearly beta and not production-ready as told on its homepage.

Initscript, logrotate script and appropriate conf.d entry for unicorn included.
Comment 10 Coacher 2012-10-23 01:15:06 UTC
Created attachment 327200 [details]
targzipped unicorn-4.4.0 with its only test dep

Sorry, there was leftover old unnecessary file in previous archive.
Comment 11 Coacher 2012-10-23 12:23:40 UTC
Created attachment 327218 [details]
targzipped unicorn-4.4.0 with its only test dep

Cleaned up unicorn files and updated rack dep, so we don't pull in newer rack until we really need it. It will break redmine, for example.
Comment 12 Coacher 2013-01-10 12:45:11 UTC
unicorn-4.5.0 is out. Feel free to grab ebuild from my local overlay here:
git://bonespirit.org/bonespirit.git
Comment 13 Hans de Graaff gentoo-dev Security 2013-01-13 11:10:49 UTC
(In reply to comment #12)
> unicorn-4.5.0 is out. Feel free to grab ebuild from my local overlay here:
> git://bonespirit.org/bonespirit.git

I just had a quick look at this, so some initial feedback:

Do you really *need* isolate? We try to run our test without such crutches whenever possible, if only to lower the set of dependencies.

It looks like tests all run with the system ruby.

The rack dependency in the unicorn ebuild looks *really* fishy.

For kgio you can use something like 

ruby-ng_testrb-2 -Ilib tests/*_test.rb
Comment 14 Coacher 2013-01-13 11:57:39 UTC
(In reply to comment #13)
> I just had a quick look at this, so some initial feedback:

Thank you for your feedback! I've stopped thinking somebody will ever use it except me.


> Do you really *need* isolate? We try to run our test without such crutches
> whenever possible, if only to lower the set of dependencies.
> 
> It looks like tests all run with the system ruby.

I haven't checked without isolate. I'll test it with ruby only so isolate dep could be dropped as you suggested.
I am not a ruby guy and in the first place I've just added gems from Gemspec because ruby world is completely rocket science to me.

 
> The rack dependency in the unicorn ebuild looks *really* fishy.

Yeah, I know. The idea is:
if we are building against ruby18 only, use rack:0
if we are building against ruby19 only, use any rack version that supports it
if we are building against ruby18 + ruby19, use rack:0[ruby18] and any higher version of rack with [+ruby19,-ruby18]

The reason behind all this is redmine which depends on rack:0, not anything higher and on Gentoo redmine supports ruby18 only. My RUBY_TARGETS="ruby18 ruby19" and I don't want to bump rack[ruby18] version upon installing unicorn, or redmine will broke. So, you see that ugly deps that you see. I've tried to make it look less ugly, but failed.


> For kgio you can use something like 
> 
> ruby-ng_testrb-2 -Ilib tests/*_test.rb

Thanks!
Comment 15 Coacher 2013-01-15 13:36:20 UTC
(In reply to comment #13)
> Do you really *need* isolate? We try to run our test without such crutches
> whenever possible, if only to lower the set of dependencies.
> 
> It looks like tests all run with the system ruby.
> 
> The rack dependency in the unicorn ebuild looks *really* fishy.
> 
> For kgio you can use something like 
> 
> ruby-ng_testrb-2 -Ilib tests/*_test.rb

@Hans, I've just updated everything unicorn-related in my overlay: dropped isolate from test deps of unicorn and ruby-ng_testrb-2 everywhere ftw.

However, that rack dep issue is still there. I'll have to test how redmine works with something different than rack:0. If you know how to deal with the rack problems I've described above post your thoughts here. Thanks.
Comment 16 Coacher 2013-01-15 14:11:04 UTC
(In reply to comment #14)
> if we are building against ruby18 only, use rack:0
> if we are building against ruby19 only, use any rack version that supports it
> if we are building against ruby18 + ruby19, use rack:0[ruby18] and any
> higher version of rack with [+ruby19,-ruby18]

Redmine is still the issue. After emerging rack:1.2, for example, I immediately get this:

#<Gem::LoadError: Unable to activate actionpack-2.3.15, because rack-1.2.6 conflicts with rack (~> 1.1.3)>

Not really redmine's fault, but one of redmine's deps.
Comment 17 Hans de Graaff gentoo-dev Security 2013-01-19 09:27:15 UTC
(In reply to comment #15)

> However, that rack dep issue is still there. I'll have to test how redmine
> works with something different than rack:0. If you know how to deal with the
> rack problems I've described above post your thoughts here. Thanks.

It sounds like this is an issue in either redmine or one of its dependencies, so I'd just depend on dev-ruby/rack here, and this issue must be solved somewhere else.
Comment 18 Coacher 2013-01-19 11:05:23 UTC
(In reply to comment #17)
> It sounds like this is an issue in either redmine or one of its
> dependencies, so I'd just depend on dev-ruby/rack here, and this issue must
> be solved somewhere else.

The real issue was that redmine-1 had rdep on rack:0 and was ruby18 only on Gentoo, because rails:2.3 is ruby18 only and maybe smth else. However, redmine-2 has both ruby19 and ruby18 targets and does not depend on rack:0 and in fact I've already fixed unicorn in my overlay with revbump. Please pull and review.

Also you can find redmine-2.2.1 ebuild there which is needed for this: 
https://bugs.gentoo.org/show_bug.cgi?id=418925 Since you are the leader of ruby herd maybe you find it worth pushing and commit it into main tree.

One more thing, I am ready to proxy-maintain unicorn if this is necessary and ok for the ruby team. As well as redmine. What do you think?
Comment 19 Coacher 2013-02-21 18:09:33 UTC
unicorn-4.6.1 is out. Feel free to grab ebuild from my local overlay here:
git://bonespirit.org/bonespirit.git
Comment 20 Manuel Rüger (RETIRED) gentoo-dev 2014-03-31 01:02:27 UTC
*** Bug 469246 has been marked as a duplicate of this bug. ***