Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 59071

Summary: gvim ebuild and gvim.eclass - duplicate $IUSE
Product: Gentoo Linux Reporter: Jacek Masiulaniec <jm>
Component: New packagesAssignee: Vim Maintainers <vim>
Status: RESOLVED WONTFIX    
Severity: normal CC: hoffmeis, reg
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Jacek Masiulaniec 2004-08-01 07:05:03 UTC
The IUSE parameter of gvim.eclass is duplicated in gvim-6.3 (and 6.2-r9) ebuild. In gvim.eclass it starts on line 41:

41.  elif [ ${PN} = gvim ] ; then
42.      IUSE="$IUSE gnome gtk gtk2 motif"
43.  fi

In gvim-6.3.ebuild:

21. IUSE="${IUSE} gnome gtk gtk2 motif nls"

Which results in:

# emerge -pv gvim
[...]
[ebuild   R   ] app-editors/gvim-6.3  -acl -cscope -debug -gnome -gnome +gpm gtk -gtk -gtk2 -gtk2 +motif +motif +ncurses +nls +nls +perl +python -ruby -(selinux)  

Reproducible: Always
Steps to Reproduce:
1. emerge -pv gvim
2.
3.
Comment 1 Ciaran McCreesh 2004-08-01 12:50:58 UTC
Horrid, eh? Ok, here's how IUSE should work:

* An ebuild sets IUSE="whatever flags it itself uses"
* An eclass sets IUSE="whatever flags the eclass uses"
* Portage combines these, strips out duplicates, sorts and shows you IUSE="eclass flags it itself the uses whatever"

Unfortunately, portage 2.0.50 has a rather nasty bug here. It'll get the IUSE from the first eclass, then overwrite it with the IUSE from the second eclass (and so on), then it'll overwrite it with the IUSE from the ebuild. Result being, a bunch of USE flags don't show up.

So... That's where the IUSE="${IUSE} flags the ebuild uses" hack comes from. In portage 2.0.51, which doesn't have the IUSE bug, the ${IUSE} makes no difference. In portage 2.0.50, it means eclass-provided flags will still show up in the emerge -pv list. Unfortunately, 2.0.50 doesn't correctly remove duplicates either, hence the result you're seeing.

So, I'm not going to change this. What the ebuild does is correct (aside from that nasty extra ${IUSE}), and it only causes a minor cosmetic problem with portage 2.0.50.
Comment 2 Tom Knight (RETIRED) gentoo-dev 2004-08-09 01:44:58 UTC
*** Bug 59835 has been marked as a duplicate of this bug. ***
Comment 3 Tom Knight (RETIRED) gentoo-dev 2004-08-09 03:12:21 UTC
*** Bug 59836 has been marked as a duplicate of this bug. ***
Comment 4 SpanKY gentoo-dev 2004-09-19 15:11:25 UTC
*** Bug 64616 has been marked as a duplicate of this bug. ***