Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 417505 - ruby-ng inherit in eapi4 mess S variable
Summary: ruby-ng inherit in eapi4 mess S variable
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: Highest major (vote)
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-25 16:46 UTC by Tomáš Chvátal (RETIRED)
Modified: 2012-05-31 10:58 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomáš Chvátal (RETIRED) gentoo-dev 2012-05-25 16:46:36 UTC
The eclass sets S=WORKDIR when eapi4 is set in ebuild. This is quite severe because everyone actually expects the S variable to default to S=WORKDIR/P.

This means that if we inherit ruby-ng eclass in eapi4 ebuild we get nasty suprises in phases about not-found files etc, etc...

Current workaround is to define S="WORKDIR/P" in the ebuild, but it is ugly as repoman will complain.

Please fix your eclas ASAP.

Currently you can see the effect of this crap for example in weechat ebuild, just edit one of the available ones and bump eapi to 4 and try to install it.
Comment 1 Hans de Graaff gentoo-dev Security 2012-05-25 18:59:14 UTC
(In reply to comment #0)
> The eclass sets S=WORKDIR when eapi4 is set in ebuild. This is quite severe
> because everyone actually expects the S variable to default to S=WORKDIR/P.

The eclass doesn't use WORKDIR/P at all so we can't just change that. Also, as far as I can tell from PMS it isn't illegal to change it.

> This means that if we inherit ruby-ng eclass in eapi4 ebuild we get nasty
> suprises in phases about not-found files etc, etc...

Support for inheriting ruby-ng into an ebuild where ruby is only part of the whole package is not very well supported in general. This is only one of the problems. I think that we might need to have a separate eclass to handle that case (or a variable controlling the behaviour in such a way that things also work well in this case).

> Currently you can see the effect of this crap for example in weechat ebuild,
> just edit one of the available ones and bump eapi to 4 and try to install it.

It helps to be polite and not refer to other people's code as 'crap', even if it might be.

Looking at the weechat and the build system it support, you should probably not use the ruby-ng eclass at all, since the build system appears to only be able to build against a single ruby implementation. In fact, weechat-9999 is broken since it will always only link against ruby19, despite the fact that USE_RUBY also mentions ruby18.
Comment 2 Ulrich Müller gentoo-dev 2012-05-31 10:58:17 UTC
Removing QAcanfix keyword, because this doesn't look like a problem that could be trivially fixed by QA.