Gentoo Archives: gentoo-user

From: kwkhui@××××.net
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: Understanding new ruby dependencies
Date: Wed, 23 May 2012 09:07:07
Message-Id: 20120523155846.7c28c059@gentoo-main.kwkh-home
In Reply to: Re: [gentoo-user] Re: Understanding new ruby dependencies by Chris Stankevitz
1 On Tue, 22 May 2012 23:35:21 -0700
2 Chris Stankevitz <chrisstankevitz@×××××.com> wrote:
3
4 > On Tue, May 22, 2012 at 10:13 PM, <kwkhui@××××.net> wrote:
5 > > I suggest keeping an eye on ${PORTDIR}/profiles/desc directory too.
6 > > This is where every one of the USE_EXPAND variables is explained in
7 > > details.
8 >
9 > Thank you for all your patient help. I've been using Gentoo for years
10 > and for some reason this RUBY thing has me flustered.
11 >
12 > 1. What on my system is insisting on make.conf RUBY 1.9 USE_EXPAND
13 > changes? An emerge --tree is not giving me a clear answer (as it
14 > usually does). The original post in this thread provides a pastebin
15 > link to back up this claim.
16
17 Basically the newslot upgrade ruby 1.8.x -> 1.9.x.
18
19 For example, you can see that in
20 ${PORTDIR}/dev-ruby/json/json-1.5.4-r1.ebuild there is the line
21
22 PDEPEND="
23 rdoc? ( >=dev-ruby/rdoc-3.9.4[ruby_targets_ruby19] )
24 xemacs? ( app-xemacs/ruby-modes )"
25
26 Previously in json-1.5.4.ebuild there is no such check, as you can
27 diff for yourself.
28
29 > 2. If the answer to (1) is "the gentoo system itself", then why
30 > doesn't "the gentoo system itself" update the USE_EXPAND by adding a
31 > reference to ruby19? It appears "the gentoo system itself" presently
32 > only enables the ruby18 USE_EXPAND.
33 > base $ find /usr/portage/profiles/ | xargs grep RUBY_TARGETS=
34 > /usr/portage/profiles/base/make.defaults:RUBY_TARGETS="ruby18"
35
36 That is usual... profile changes lag behind the ebuild changes.
37
38 > 4. I run a "stable" system that is somehow insisting on ruby19. This
39 > webpage http://www.gentoo.org/proj/en/prog_lang/ruby/index.xml says
40 > ruby19 is not for use on production systems. Why the disconnect?
41 > Perhaps the ruby page is just out of date.
42
43 I suppose ruby19 is in a state similar to python3 --- not ready to be
44 default since *something* break, but it has been out long enough to be considered "stable".
45
46 > 5. I have no idea what RUBY is and have never installed it directly.
47 > Yet I have to understand RUBY USE_EXPANDs which seem to be described
48 > only in the RUBY installation guide, gentoo dev manual, or in ebuild
49 > scripting guides. I am a gentoo "layperson" in general and am
50 > completely clueless about RUBY in particular. I believe talk about
51 > this "required and automatically installed package" should appear not
52 > in obscure dev documentation, but in the handbook. Perhaps with more
53 > time/volunteers this would have happened.
54
55 TBH, I'm not a ruby person either. The only thing here on my system
56 that pulls in ruby is dev-texlive/texlive-pictures, plus I need ruby
57 for some random scripts I pulled from the web (which I could have
58 rewritten in python or bash but I can't be bothered).
59
60 > 6. Why does emerge insist on me adding USE="ruby_targets_ruby19" to a
61 > bunch of projects, yet the users of this group recommend a change in
62 > make.conf? I suspect the disconnect that the two approaches are
63 > equivalent, just emerge does not have the "street smarts" to recommend
64 > the proper change.
65
66 That is how ebuild (and hence portage) works --- it didn't check
67 RUBY_TARGETS but instead the specified use flags for dependencies
68 specified the ebuild. Hence the error message is "add use flag bar to
69 package foo, regardless of whether bar is actually an expanded flag. As
70 you see in the example above json ebuild tells portage to check
71 dev-ruby/rdoc is built with ruby_targets_ruby19 use flag (which is what
72 RUBY_TARGETS=ruby19 would have expanded to) enabled and so that is what
73 portage did (and screamed when it can't).
74
75 Kerwin.

Attachments

File name MIME type
signature.asc application/pgp-signature