-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Avoid generating invalid USE flag combinations #57
Conversation
Consider ignored (through `ignoreprefix`) USE flags that are enabled on the system as "always on" in `REQUIRED_USE` checks of possible combinations. This makes us avoid generating invalid combinations. For example, on a system with `FEATURES=test`, a package with `test? ( foo bar )` will always generate a USE line with `foo bar` in it. Also, fix the call to portage's `check_required_use()`: it expects a list, not a string. fixes #52
@DerDakon you mentioned earlier that you didn't know much about Python, but you're pretty much the only recent contributor to the project. Who do you think could be in good position, in terms of Python skills and project knowledge, to review this PR? |
I have this patched on my local build machines and will test if it works, that will hopefully be enough. |
This does not set the correct useflags for rdeps, no? You could look on the rdeps of bug 659234 for hppa for the moment. |
Hum, really? From what I understand of the code, the |
It's no regression, it's just this-is-still-wrong. The rdep script asks the online service for which use flags are needed to test an rdep, but doesn't calculate the flags from there. |
To be sure: are you expecting this PR to solve all outstanding issues? |
No, surely not. My test is e.g. bug 671044, which has a test for kvazaar, that needs static-libs. Shouldn't that work with this patch? The additional fixes for rdeps are nice to get, but could be in a separate PR. My hope was that it is similar enough to this code that this comes together with this. |
I see what you mean: tatt injects This is a further bug that can be fixed, yes. However, you can verify that this PR fixes something by enabling |
I can't see a difference between the unpatched and the patched version. Am I missing something essential? |
The difference is that, if you enable |
No, it doesn't, in fact both have no use flags set. Read again or look into the ebuild: REQUIRED_USE="test? ( static-libs )" It should add static-libs. |
I know. My wild guess is that you're not running the version of tatt you think you're running. You could verify by inserting an
Notice the |
Even then it's wrong: tatt_test_pkg does a build test. It runs FEATURES=test if you pass the option "--test". The result we need and that I have never seen until now would look like this: USE='static-libs' tatt_test_pkg --test "=media-libs/kvazaar-1.2.0-r1"
USE='static-libs' tatt_test_pkg "=media-libs/kvazaar-1.2.0-r1"
USE='-static-libs' tatt_test_pkg "=media-libs/kvazaar-1.2.0-r1" |
Oh, never mind, I give up. |
Consider ignored (through
ignoreprefix
) USE flags that are enabled onthe system as "always on" in
REQUIRED_USE
checks of possiblecombinations. This makes us avoid generating invalid combinations.
For example, on a system with
FEATURES=test
, a package withtest? ( foo bar )
will always generate a USE line withfoo bar
in it.Also, fix the call to portage's
check_required_use()
: it expects alist, not a string.
fixes #52