First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 52160
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Portage team <dev-portage@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Brian Harring <ferringb@gmail.com>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
mplayer-1.0_pre4-r3.ebuild mplayer-1.0_pre4-r3.ebuild text/plain Brian Harring 2004-05-26 21:55 0000 11.39 KB Details
ebuild.sh-inherit-recursive.patch portage-2.0.51_pre9 ebuild.sh inherit fix. patch Brian Harring 2004-05-26 22:01 0000 357 bytes Details | Diff
portage-2.0.50-r8-iuse-fix.patch portage-2.0.50-r8-iuse-fix.patch patch Brian Harring 2004-06-08 14:40 0000 1.85 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 52160 depends on: Show dependency tree
Bug 52160 blocks: 57304 60420
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2004-05-26 21:53 0000
see attachment for an ebuild that is guilty of this-

basically,
IUSE="blah"
inherit x y z
$IUSE != "blah"

If this is a design decission, this ought to be noted in the changelog, since it is a change of existing ebuild support.


Reproducible: Always
Steps to Reproduce:
1. dl attached ebuild
2. emerge -vp ebuild

Actual Results:  
note the lack of Use vars :)


Like I said, if this is intentional, it ought to be documented that it's now strictly enforcing it.
I haven't done a scan of the tree to track down ebuilds that would be affected, but the attached 
example was in the tree (and is how I noticed this behaviour)..

------- Comment #1 From Brian Harring 2004-05-26 21:55:15 0000 -------
Created an attachment (id=32117) [edit]
mplayer-1.0_pre4-r3.ebuild

noted IUSE above inherit.  the version in the tree will have IUSE below
inherit, hence this attachment.

------- Comment #2 From Brian Harring 2004-05-26 22:01:16 0000 -------
Created an attachment (id=32118) [edit]
ebuild.sh patch preserving vars

patch again vanilla 2.0.51_pre9 ebuild.sh.

Pretty straightforward tweak, makes B_IUSE, B_*DEPEND local variables to the
inherit function, keeping multiple invocations of inherit() from wiping the
vars; recursive-safe. 

------- Comment #3 From SpanKY 2004-05-26 22:17:29 0000 -------
(1) DEPEND stuff is already handled properly, no reason to preserve it like
this
(2) inherit should always come first ... i thought i had documented this, guess
not ... i'll add it to policy
(3) i do agree that some variables should be accumulative like USE is for the
environment ... IUSE/RESTRICT are two such variables i would like to see with
this behavior

------- Comment #4 From Brian Harring 2004-06-07 15:34:13 0000 -------
Changing summary, checked the .50-r7 src, and the inherit issue is still there.
Another set of ebuilds affected by this are sys-dev/gcc-*

------- Comment #5 From SpanKY 2004-06-07 16:22:22 0000 -------
*** Bug 53257 has been marked as a duplicate of this bug. ***

------- Comment #6 From Mr. Bones. 2004-06-08 01:43:53 0000 -------
*** Bug 53282 has been marked as a duplicate of this bug. ***

------- Comment #7 From Brian Harring 2004-06-08 01:56:56 0000 -------
portage-2.0.50-r8 has been stabled w/ this fix.

------- Comment #8 From Marius Mauch (RETIRED) 2004-06-08 06:27:22 0000 -------
According to Breach in #gentoo-portage and my own tests with -r8 this is not
fixed. The patch is there, but inherit still resets IUSE,

------- Comment #9 From Brian Harring 2004-06-08 14:40:32 0000 -------
Created an attachment (id=32941) [edit]
portage-2.0.50-r8-iuse-fix.patch

*cough*.
Yeah, feel free to kick me in the head- the fix was originally for .51. 
Problem is .51's inherit (ebuild.sh in general) changed a bit, eclass defined
IUSE vars are set to IUSE in .50, no shifting of the original value into a
temporary holding variable to avoid being squashed.

That's why .50-r8 isn't behaving, the inherit fix doesn't even affect it since
.50 doesn't *try* to protect IUSE a tall-
meanwhile, I've grabbed the necessary IUSE protection out of .51, and exported
them back.  Taken it for a test spin, eclass IUSE settings are coming through
along w/ the ebuild's IUSE definition, so it should fix things.

------- Comment #10 From Brian Harring 2004-07-29 17:37:42 0000 -------
no longer an issue in .51, issue in .50 still.

------- Comment #11 From Brian Harring 2004-08-11 11:27:40 0000 -------
Still's an issue in 2.0.50-r9.

------- Comment #12 From Brian Harring 2004-08-11 17:19:28 0000 -------
*** Bug 57304 has been marked as a duplicate of this bug. ***

------- Comment #13 From Brian Harring 2004-08-15 21:15:07 0000 -------
*** Bug 60420 has been marked as a duplicate of this bug. ***

------- Comment #14 From Brian Harring 2004-08-16 10:56:37 0000 -------
*** Bug 45742 has been marked as a duplicate of this bug. ***

------- Comment #15 From Brian Harring 2004-08-22 19:27:49 0000 -------
Included in .50-r10, has been in .51 for a while.

First Last Prev Next    No search results available      Search page      Enter new bug