* [gentoo-user] Understanding new ruby dependencies
@ 2012-05-22 3:52 Chris Stankevitz
2012-05-22 6:07 ` [gentoo-user] " Hans de Graaff
0 siblings, 1 reply; 13+ messages in thread
From: Chris Stankevitz @ 2012-05-22 3:52 UTC (permalink / raw
To: gentoo-user
Hello,
Today during an emerge -Dauvt world, portage asked me to update a
bunch of Ruby USE flags and install a bunch of new RUBY projects.
Here is a snippet:
http://pastebin.com/raw.php?i=PK8ubZeB
Normally I just give portage the green light to install whatever it
wants, but the USE change request caught my eye.
Question: Is is true that the RUBY dependencies listed in the above
paste link are entirely due to adding documentation support
(specifically rdoc)? If so, can I tell portage to not install the
rdoc stuff? I have USE=-doc already.
Thank you,
Chris
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gentoo-user] Re: Understanding new ruby dependencies
2012-05-22 3:52 [gentoo-user] Understanding new ruby dependencies Chris Stankevitz
@ 2012-05-22 6:07 ` Hans de Graaff
2012-05-22 18:01 ` Chris Stankevitz
0 siblings, 1 reply; 13+ messages in thread
From: Hans de Graaff @ 2012-05-22 6:07 UTC (permalink / raw
To: gentoo-user
On Mon, 21 May 2012 20:52:01 -0700, Chris Stankevitz wrote:
> Question: Is is true that the RUBY dependencies listed in the above
> paste link are entirely due to adding documentation support
> (specifically rdoc)? If so, can I tell portage to not install the rdoc
> stuff? I have USE=-doc already.
Yes, this is true. We do this because normally ruby contains a copy of
rdoc. We unbundle that and thus the external rdoc implementation is
installed. You can control this with the rdoc USE flag on dev-lang/ruby,
but note that not installing rdoc is probably considered broken by
upstream.
Kind regards,
Hans
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: Understanding new ruby dependencies
2012-05-22 6:07 ` [gentoo-user] " Hans de Graaff
@ 2012-05-22 18:01 ` Chris Stankevitz
2012-05-22 18:32 ` kwkhui
0 siblings, 1 reply; 13+ messages in thread
From: Chris Stankevitz @ 2012-05-22 18:01 UTC (permalink / raw
To: gentoo-user
On Mon, May 21, 2012 at 11:07 PM, Hans de Graaff <graaff@gentoo.org> wrote:
> Yes, this is true. We do this because normally ruby contains a copy of
> rdoc. We unbundle that and thus the external rdoc implementation is
> installed.
Hans,
Thank you, I understand.
Apparently I have to add some ruby_targets_ruby19 USE flags to my
system. I pasted a snippet of my /etc/portage/package.use below. I
included some other entries for context.
Question 1: Is it true that, except for this new RUBY stuff, every
entry in my package.use file is an attempt by me to enable some
feature I want in a package I want?
Answer 1: Yes
Question 2: Does it seem weird that portage wants me to add USE flags
to enable some feature in a package I never heard of and have no
interest in and to top it off has a very weird name
(ruby_targets_ruby19)?
Answer 2: [your answer here]
The tone of this message might sound obnoxious, but it's just a
"trick" I am using to better ask my question. I'm not complaining (I
don't even know enough about this to have a complaint), I'm really
just curious.
Thank you,
Chris
===
From /etc/portage/package.use:
# Give a GUI to cmake
dev-util/cmake qt4
# Enable git-svn, gitk, and git bash completion
dev-vcs/git tk bash-completion subversion
dev-vcs/subversion -dso perl
# Enable nice mounts in gnome
gnome-base/gvfs fuse
# Enable plotting in octave
sci-mathematics/octave gnuplot
# Satisfy Gentoo's desire to have RUBY and rdoc installed
dev-ruby/rubygems ruby_targets_ruby19
dev-ruby/rake ruby_targets_ruby19
dev-ruby/racc ruby_targets_ruby19
dev-ruby/rdoc ruby_targets_ruby19
dev-ruby/json ruby_targets_ruby19
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: Understanding new ruby dependencies
2012-05-22 18:01 ` Chris Stankevitz
@ 2012-05-22 18:32 ` kwkhui
2012-05-23 1:10 ` Chris Stankevitz
0 siblings, 1 reply; 13+ messages in thread
From: kwkhui @ 2012-05-22 18:32 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 1009 bytes --]
On Tue, 22 May 2012 11:01:45 -0700
Chris Stankevitz <chrisstankevitz@gmail.com> wrote:
> Apparently I have to add some ruby_targets_ruby19 USE flags to my
> system.
No! Don't do that! Instead, you should add a line
RUBY_TARGETS=ruby19
in your make.conf (or RUBY_TARGETS="ruby18 ruby19") and let portage do
the USE_EXPAND to ruby_targets_ruby19 (respectively,
ruby_targets_ruby18 ruby_targets_ruby19) itself for the relevant
packages. See ${PORTDIR}/profiles/desc/ruby_targets.desc for
description. It is much easier and more intuitive this way, since you
are not doing weird things like building package A for ruby18 but not
package B.
> Question 2: Does it seem weird that portage wants me to add USE flags
> to enable some feature in a package I never heard of and have no
> interest in and to top it off has a very weird name
> (ruby_targets_ruby19)?
The "weird" name is a result of USE_EXPANDing RUBY_TARGETS, just like
LINGUAS and SANE_BACKENDS, for example.
Kerwin.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: Understanding new ruby dependencies
2012-05-22 18:32 ` kwkhui
@ 2012-05-23 1:10 ` Chris Stankevitz
2012-05-23 3:16 ` Michael Orlitzky
2012-05-23 6:35 ` Hans de Graaff
0 siblings, 2 replies; 13+ messages in thread
From: Chris Stankevitz @ 2012-05-23 1:10 UTC (permalink / raw
To: gentoo-user
On Tue, May 22, 2012 at 11:32 AM, <kwkhui@hkbn.net> wrote:
> No! Don't do that! Instead, you should add a line
>
> RUBY_TARGETS=ruby19
Kerwin,
Thank you for the warning. I'm embarrassed to say that I had
absolutely no idea the proper way to deal with this change. Also
embarrassing is that I never heard of USE_EXPAND before (nor have I
ever even heard of RUBY).
How was I supposed to learn the "proper" way of dealing with this
RUBY-related system change?
a) the gentoo handbook
b) reading ebuild notices
c) reading enews
d) just "should have known"
e) just follow emerge's USE recommendations and I would have been
blissfully ignoring and all would work
f) [your idea here]
Thank you,
Chris
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: Understanding new ruby dependencies
2012-05-23 1:10 ` Chris Stankevitz
@ 2012-05-23 3:16 ` Michael Orlitzky
2012-05-23 5:13 ` kwkhui
2012-05-23 6:35 ` Hans de Graaff
1 sibling, 1 reply; 13+ messages in thread
From: Michael Orlitzky @ 2012-05-23 3:16 UTC (permalink / raw
To: gentoo-user
On 05/22/2012 09:10 PM, Chris Stankevitz wrote:
>
> How was I supposed to learn the "proper" way of dealing with this
> RUBY-related system change?
The way I learned was by watching the emerge output:
$ emerge -pv dev-ruby/rails
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] app-admin/eselect-rails-0.16 2 kB
[ebuild N ] dev-ruby/tmail-1.2.7.1-r2 USE="-debug -doc -test"
RUBY_TARGETS="ruby18 -jruby -ree18" 436 kB
and wondering, "RUBY_TARGETS, what the hell is that?"
I'm sure there's a proper way, but that's the way I've discovered all of
the USE_EXPAND variables. LINGUAS was the first, then I noticed
ALSA_CARDS, APACHE2_MODULES, XFCE_PLUGINS...
The default list can be found in,
/usr/portage/profiles/base/make.defaults
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: Understanding new ruby dependencies
2012-05-23 3:16 ` Michael Orlitzky
@ 2012-05-23 5:13 ` kwkhui
2012-05-23 6:35 ` Chris Stankevitz
0 siblings, 1 reply; 13+ messages in thread
From: kwkhui @ 2012-05-23 5:13 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 1573 bytes --]
On Tue, 22 May 2012 23:16:00 -0400
Michael Orlitzky <michael@orlitzky.com> wrote:
> On 05/22/2012 09:10 PM, Chris Stankevitz wrote:
> >
> > How was I supposed to learn the "proper" way of dealing with this
> > RUBY-related system change?
That change was committed two-and-a-half years ago in the eclass:
http://archives.gentoo.org/gentoo-dev/msg_2305dbeaaf5b02cb74a84c9b06333708.xml
and the Gentoo Ruby project has a section on it
http://www.gentoo.org/proj/en/prog_lang/ruby/index.xml
Actually I learnt the RUBY_TARGETS from flameeyes's blog two years ago
http://blog.flameeyes.eu/2010/02/ruby-ng-package-in-a-bottle-or-learn-how-to-write-a-new-ruby-ebuild
> The way I learned was by watching the emerge output:
>
> $ emerge -pv dev-ruby/rails
>
> These are the packages that would be merged, in order:
>
> Calculating dependencies... done!
> [ebuild N ] app-admin/eselect-rails-0.16 2 kB
> [ebuild N ] dev-ruby/tmail-1.2.7.1-r2 USE="-debug -doc -test"
> RUBY_TARGETS="ruby18 -jruby -ree18" 436 kB
>
> and wondering, "RUBY_TARGETS, what the hell is that?"
>
> I'm sure there's a proper way, but that's the way I've discovered all
> of the USE_EXPAND variables. LINGUAS was the first, then I noticed
> ALSA_CARDS, APACHE2_MODULES, XFCE_PLUGINS...
>
> The default list can be found in,
>
> /usr/portage/profiles/base/make.defaults
I suggest keeping an eye on ${PORTDIR}/profiles/desc directory too.
This is where every one of the USE_EXPAND variables is explained in
details.
Kerwin.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: Understanding new ruby dependencies
2012-05-23 5:13 ` kwkhui
@ 2012-05-23 6:35 ` Chris Stankevitz
2012-05-23 6:37 ` Chris Stankevitz
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: Chris Stankevitz @ 2012-05-23 6:35 UTC (permalink / raw
To: gentoo-user
On Tue, May 22, 2012 at 10:13 PM, <kwkhui@hkbn.net> wrote:
> I suggest keeping an eye on ${PORTDIR}/profiles/desc directory too.
> This is where every one of the USE_EXPAND variables is explained in
> details.
Thank you for all your patient help. I've been using Gentoo for years
and for some reason this RUBY thing has me flustered.
1. What on my system is insisting on make.conf RUBY 1.9 USE_EXPAND
changes? An emerge --tree is not giving me a clear answer (as it
usually does). The original post in this thread provides a pastebin
link to back up this claim.
2. If the answer to (1) is "the gentoo system itself", then why
doesn't "the gentoo system itself" update the USE_EXPAND by adding a
reference to ruby19? It appears "the gentoo system itself" presently
only enables the ruby18 USE_EXPAND.
base $ find /usr/portage/profiles/ | xargs grep RUBY_TARGETS=
/usr/portage/profiles/base/make.defaults:RUBY_TARGETS="ruby18"
3. If the answer to (1) is "package foo", I'm tempted to remove
package foo or USE it with -ruby or "eat my words" and admit that I am
a RUBY user and need to understand the nuances.
4. I run a "stable" system that is somehow insisting on ruby19. This
webpage http://www.gentoo.org/proj/en/prog_lang/ruby/index.xml says
ruby19 is not for use on production systems. Why the disconnect?
Perhaps the ruby page is just out of date.
5. I have no idea what RUBY is and have never installed it directly.
Yet I have to understand RUBY USE_EXPANDs which seem to be described
only in the RUBY installation guide, gentoo dev manual, or in ebuild
scripting guides. I am a gentoo "layperson" in general and am
completely clueless about RUBY in particular. I believe talk about
this "required and automatically installed package" should appear not
in obscure dev documentation, but in the handbook. Perhaps with more
time/volunteers this would have happened.
6. Why does emerge insist on me adding USE="ruby_targets_ruby19" to a
bunch of projects, yet the users of this group recommend a change in
make.conf? I suspect the disconnect that the two approaches are
equivalent, just emerge does not have the "street smarts" to recommend
the proper change.
Thank you for listening to me list the issues I am ignorant on. Now
I'm going to add RUBY_TARGETS="ruby19" to my make.conf and hope things
"just work".
Thank you again,
Chris
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gentoo-user] Re: Understanding new ruby dependencies
2012-05-23 1:10 ` Chris Stankevitz
2012-05-23 3:16 ` Michael Orlitzky
@ 2012-05-23 6:35 ` Hans de Graaff
2012-05-23 15:27 ` Chris Stankevitz
1 sibling, 1 reply; 13+ messages in thread
From: Hans de Graaff @ 2012-05-23 6:35 UTC (permalink / raw
To: gentoo-user
On Tue, 22 May 2012 18:10:18 -0700, Chris Stankevitz wrote:
> On Tue, May 22, 2012 at 11:32 AM, <kwkhui@hkbn.net> wrote:
>> No! Don't do that! Instead, you should add a line
>>
>> RUBY_TARGETS=ruby19
For now this should be
RUBY_TARGETS="ruby18 ruby19"
We currently don't support running with ruby19 only. It might work, we
just don't support it. :-)
> f) [your idea here]
f) It should just have worked.
I tried to be conservative and not add ruby19 in RUBY_TARGETS right away,
but as you have noticed this causes problems for rdoc and friends. I'll
add ruby19 to the default setting in the profile within a few days so
that this problem goes away.
Kind regards,
Hans
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: Understanding new ruby dependencies
2012-05-23 6:35 ` Chris Stankevitz
@ 2012-05-23 6:37 ` Chris Stankevitz
2012-05-23 7:58 ` kwkhui
2012-05-23 18:15 ` Hans de Graaff
2 siblings, 0 replies; 13+ messages in thread
From: Chris Stankevitz @ 2012-05-23 6:37 UTC (permalink / raw
To: gentoo-user
On Tue, May 22, 2012 at 11:35 PM, Chris Stankevitz
<chrisstankevitz@gmail.com> wrote:
> I'm going to add RUBY_TARGETS="ruby19" to my make.conf and hope things
> "just work".
Sure enough... the update is building now and I bet everything will
indeed "just work".
Thank you,
Chris
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: Understanding new ruby dependencies
2012-05-23 6:35 ` Chris Stankevitz
2012-05-23 6:37 ` Chris Stankevitz
@ 2012-05-23 7:58 ` kwkhui
2012-05-23 18:15 ` Hans de Graaff
2 siblings, 0 replies; 13+ messages in thread
From: kwkhui @ 2012-05-23 7:58 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 3608 bytes --]
On Tue, 22 May 2012 23:35:21 -0700
Chris Stankevitz <chrisstankevitz@gmail.com> wrote:
> On Tue, May 22, 2012 at 10:13 PM, <kwkhui@hkbn.net> wrote:
> > I suggest keeping an eye on ${PORTDIR}/profiles/desc directory too.
> > This is where every one of the USE_EXPAND variables is explained in
> > details.
>
> Thank you for all your patient help. I've been using Gentoo for years
> and for some reason this RUBY thing has me flustered.
>
> 1. What on my system is insisting on make.conf RUBY 1.9 USE_EXPAND
> changes? An emerge --tree is not giving me a clear answer (as it
> usually does). The original post in this thread provides a pastebin
> link to back up this claim.
Basically the newslot upgrade ruby 1.8.x -> 1.9.x.
For example, you can see that in
${PORTDIR}/dev-ruby/json/json-1.5.4-r1.ebuild there is the line
PDEPEND="
rdoc? ( >=dev-ruby/rdoc-3.9.4[ruby_targets_ruby19] )
xemacs? ( app-xemacs/ruby-modes )"
Previously in json-1.5.4.ebuild there is no such check, as you can
diff for yourself.
> 2. If the answer to (1) is "the gentoo system itself", then why
> doesn't "the gentoo system itself" update the USE_EXPAND by adding a
> reference to ruby19? It appears "the gentoo system itself" presently
> only enables the ruby18 USE_EXPAND.
> base $ find /usr/portage/profiles/ | xargs grep RUBY_TARGETS=
> /usr/portage/profiles/base/make.defaults:RUBY_TARGETS="ruby18"
That is usual... profile changes lag behind the ebuild changes.
> 4. I run a "stable" system that is somehow insisting on ruby19. This
> webpage http://www.gentoo.org/proj/en/prog_lang/ruby/index.xml says
> ruby19 is not for use on production systems. Why the disconnect?
> Perhaps the ruby page is just out of date.
I suppose ruby19 is in a state similar to python3 --- not ready to be
default since *something* break, but it has been out long enough to be considered "stable".
> 5. I have no idea what RUBY is and have never installed it directly.
> Yet I have to understand RUBY USE_EXPANDs which seem to be described
> only in the RUBY installation guide, gentoo dev manual, or in ebuild
> scripting guides. I am a gentoo "layperson" in general and am
> completely clueless about RUBY in particular. I believe talk about
> this "required and automatically installed package" should appear not
> in obscure dev documentation, but in the handbook. Perhaps with more
> time/volunteers this would have happened.
TBH, I'm not a ruby person either. The only thing here on my system
that pulls in ruby is dev-texlive/texlive-pictures, plus I need ruby
for some random scripts I pulled from the web (which I could have
rewritten in python or bash but I can't be bothered).
> 6. Why does emerge insist on me adding USE="ruby_targets_ruby19" to a
> bunch of projects, yet the users of this group recommend a change in
> make.conf? I suspect the disconnect that the two approaches are
> equivalent, just emerge does not have the "street smarts" to recommend
> the proper change.
That is how ebuild (and hence portage) works --- it didn't check
RUBY_TARGETS but instead the specified use flags for dependencies
specified the ebuild. Hence the error message is "add use flag bar to
package foo, regardless of whether bar is actually an expanded flag. As
you see in the example above json ebuild tells portage to check
dev-ruby/rdoc is built with ruby_targets_ruby19 use flag (which is what
RUBY_TARGETS=ruby19 would have expanded to) enabled and so that is what
portage did (and screamed when it can't).
Kerwin.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: Understanding new ruby dependencies
2012-05-23 6:35 ` Hans de Graaff
@ 2012-05-23 15:27 ` Chris Stankevitz
0 siblings, 0 replies; 13+ messages in thread
From: Chris Stankevitz @ 2012-05-23 15:27 UTC (permalink / raw
To: gentoo-user
On Tue, May 22, 2012 at 11:35 PM, Hans de Graaff <graaff@gentoo.org> wrote:
> For now this should be
>
> RUBY_TARGETS="ruby18 ruby19"
As you all suspected, I updated /etc/make.conf, "emerge --newuse
--deep world && emerge -Du world" and all is well. Here are the lines
I added:
# 2012-MAY-22 ruby19 is required but is not in the profile (yet)
RUBY_TARGETS="ruby18 ruby19"
Thank you all,
Chris
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gentoo-user] Re: Understanding new ruby dependencies
2012-05-23 6:35 ` Chris Stankevitz
2012-05-23 6:37 ` Chris Stankevitz
2012-05-23 7:58 ` kwkhui
@ 2012-05-23 18:15 ` Hans de Graaff
2 siblings, 0 replies; 13+ messages in thread
From: Hans de Graaff @ 2012-05-23 18:15 UTC (permalink / raw
To: gentoo-user
On Tue, 22 May 2012 23:35:21 -0700, Chris Stankevitz wrote:
> 1. What on my system is insisting on make.conf RUBY 1.9 USE_EXPAND
> changes? An emerge --tree is not giving me a clear answer (as it
> usually does). The original post in this thread provides a pastebin
> link to back up this claim.
It is implicit. dev-lang/ruby:1.9 requires a new enough version of rdoc
with this particular USE flag enabled.
> 2. If the answer to (1) is "the gentoo system itself", then why doesn't
> "the gentoo system itself" update the USE_EXPAND by adding a reference
> to ruby19? It appears "the gentoo system itself" presently only enables
> the ruby18 USE_EXPAND.
> base $ find /usr/portage/profiles/ | xargs grep RUBY_TARGETS=
> /usr/portage/profiles/base/make.defaults:RUBY_TARGETS="ruby18"
Right. We'll add ruby19 to that shortly. The reason we did not do that
before was that we wanted to ease into ruby19, but there seem to be
plenty of people that have a package depending on dev-lang/ruby on their
system, so that plan didn't work very well.
> 4. I run a "stable" system that is somehow insisting on ruby19. This
> webpage http://www.gentoo.org/proj/en/prog_lang/ruby/index.xml says
> ruby19 is not for use on production systems. Why the disconnect?
> Perhaps the ruby page is just out of date.
Correct conclusion, and I've just updated it for the various ruby
implementations.
> Thank you for listening to me list the issues I am ignorant on. Now I'm
> going to add RUBY_TARGETS="ruby19" to my make.conf and hope things "just
> work".
At this point I would recommend RUBY_TARGETS="ruby18 ruby19".
Kind regards,
Hans
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2012-05-23 19:02 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-22 3:52 [gentoo-user] Understanding new ruby dependencies Chris Stankevitz
2012-05-22 6:07 ` [gentoo-user] " Hans de Graaff
2012-05-22 18:01 ` Chris Stankevitz
2012-05-22 18:32 ` kwkhui
2012-05-23 1:10 ` Chris Stankevitz
2012-05-23 3:16 ` Michael Orlitzky
2012-05-23 5:13 ` kwkhui
2012-05-23 6:35 ` Chris Stankevitz
2012-05-23 6:37 ` Chris Stankevitz
2012-05-23 7:58 ` kwkhui
2012-05-23 18:15 ` Hans de Graaff
2012-05-23 6:35 ` Hans de Graaff
2012-05-23 15:27 ` Chris Stankevitz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox