Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 59071 - gvim ebuild and gvim.eclass - duplicate $IUSE
Summary: gvim ebuild and gvim.eclass - duplicate $IUSE
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Vim Maintainers
URL:
Whiteboard:
Keywords:
: 59835 59836 64616 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-08-01 07:05 UTC by Jacek Masiulaniec
Modified: 2004-09-19 15:11 UTC (History)
2 users (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 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. ***