Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 348644 - gnome-base/libgnome: esd USE flag is moot with --as-needed
Summary: gnome-base/libgnome: esd USE flag is moot with --as-needed
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on: 352260
Blocks: 348605
  Show dependency tree
 
Reported: 2010-12-13 20:36 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2012-03-18 09:27 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 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-12-13 20:36:04 UTC
libgnome continues to link to libesound and libaudiofile for ABI
compatibility; use --disable-esd to remove this dependency.
(#603198, #603349)

Too bad that with --as-needed this (correctly) gets dropped; the "ABI compatibility" is rather compatibility for broken software that doesn't follow the "link what you use" rule (see http://blog.flameeyes.eu/2010/05/18/depend-on-what-you-use for more details on why I think this was a bad idea to begin with).

I suggest dropping esd from libgnome altogether, and inspect the reverse-dependencies list to see which ones need to be fixed or dropped altogether.

I have some not-so-nice words about upstream deciding "not to break ABI" when they are breaking software logic entirely, but let's ignore that for now.
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-12-13 20:40:47 UTC
Oh and let's not forget that it's quite likely that _anything_ using the old esd-related API will break since it always returns -1, and I'm pretty sure quite a lot of the software using those API are not checking the return values.
Comment 2 Pacho Ramos gentoo-dev 2011-01-20 16:39:21 UTC
Do the rest of gnome team agree with revbumping libgnome without esd support? Or should as-needed be filtered when building with esd USE flag?
Comment 3 Gilles Dartiguelongue (RETIRED) gentoo-dev 2011-01-20 16:43:47 UTC
there is no need to bump, we first need to make sure packages using this flag are notified so they can remove the dependency, then we can package.use.mask the flag or drop the USE flag in place.
Comment 4 Pacho Ramos gentoo-dev 2011-01-20 18:16:34 UTC
These are the ebuilds depending on it:

$ grep -r gnome-base/libgnome */*/*.ebuild|grep esd
app-text/stardict/stardict-3.0.1-r1.ebuild:	if (use gnome && use pronounce && ! built_with_use gnome-base/libgnome esd); then
app-text/stardict/stardict-3.0.1-r1.ebuild:		ewarn 'gnome-base/libgnome was built with USE="esd".'
app-text/stardict/stardict-3.0.1-r2.ebuild:		pronounce? ( >=gnome-base/libgnome-2.2.0[esd] )
app-text/stardict/stardict-3.0.1-r3.ebuild:		pronounce? ( >=gnome-base/libgnome-2.2.0[esd] )
games-arcade/monster-masher/monster-masher-1.8.1.ebuild:	gnome-base/libgnome[esd]"
games-puzzle/gtetrinet/gtetrinet-0.7.11.ebuild:	>=gnome-base/libgnome-2[esd]

stardict looks to not depend on libgnome esd support in other distributions... but I don't know about gtetrinet and monster-masher :-/
Comment 5 Gilles Dartiguelongue (RETIRED) gentoo-dev 2011-02-23 21:25:15 UTC
Use masked and masked packages using it.
Comment 6 Samuli Suominen (RETIRED) gentoo-dev 2012-03-18 09:27:44 UTC
For the record, the affected version of stardict was punted from tree and I've cleaned up profiles related to it, so only this entry remains:

base/package.use.mask:

# Gilles Dartiguelongue <eva@gentoo.org> (23 Feb 2011)
# libgnome[esd] ABI broken, bug #348644
>=gnome-base/libgnome-2.32 esd