Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 434346 - www-client/chromium-22.0.1229.36 has wrong dbus dependencies
Summary: www-client/chromium-22.0.1229.36 has wrong dbus dependencies
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Chromium Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-08 16:24 UTC by Hans
Modified: 2012-10-03 16:17 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge.info,3.21 KB, text/plain)
2012-09-08 16:24 UTC, Hans
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Hans 2012-09-08 16:24:06 UTC
Created attachment 323218 [details]
emerge --info

www-client/chromium-22.0.1229.36 has wrong dbus / dbus-glib dependencies:

a) From what I can tell, chromium needs dbus-glib to build, but not to run. It does not link against it. After I uninstalled dbus-glib, chromium still runs fine without it with new or already existing profiles. But perhaps there are some parts I have not tested that actually use dbus-glib.

b) chromium needs libdbus-1 from sys-apps/dbus to build and to run, as it actually links against it:

$ readelf  -d chrome|grep dbus
 0x0000000000000001 (NEEDED)             Shared library: [libdbus-1.so.3]

$ readelf  -d chromedriver|grep dbus
 0x0000000000000001 (NEEDED)             Shared library: [libdbus-1.so.3]

While dbus is being pulled in via dbus-glib, the standard course of action for ebuild writing (as far as I am aware) is to add the necessary dependencies to the ebuilds for packages that need them. 
So I propose to add sys-apps/dbus to DEPEND + RDEPEND.


Thanks for your work!
Comment 1 Mike Gilbert gentoo-dev 2012-09-09 14:51:39 UTC
I don't think dbus-glib is even needed for building. It only seems to be referenced by gyp blocks that are behind a chromeos==1 condition.
Comment 2 Mike Gilbert gentoo-dev 2012-09-09 15:46:14 UTC
Hmm... not quite.

Exception: Call to 'pkg-config --cflags dbus-glib-1' returned exit status 1. while loading dependencies of /tmp/portage/www-client/chromium-22.0.1229.39/work/chromium-22.0.1229.39/base/base.gyp while loading dependencies of /tmp/portage/www-client/chromium-22.0.1229.39/work/chromium-22.0.1229.39/build/all.gyp while trying to load /tmp/portage/www-client/chromium-22.0.1229.39/work/chromium-22.0.1229.39/build/all.gyp
Comment 3 Mike Gilbert gentoo-dev 2012-09-09 18:41:44 UTC
The pkg-config calls in build/linux/system.gyp seem to be evaluated even when no targets actually depend on system.gyp:dbus-glib. I'm not sure if there is a way to avoid this.

Maybe Pawel knows, or we can ask a gyp expert upstream.
Comment 4 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2012-09-27 11:27:48 UTC
(In reply to comment #3)
> The pkg-config calls in build/linux/system.gyp seem to be evaluated even
> when no targets actually depend on system.gyp:dbus-glib. I'm not sure if
> there is a way to avoid this.

The target exists so the Makefile code for it has to be generated, even if nothing depends on it (targets can be made explicitly). I fixed this by moving the target to chromeos-specific section (patch landed upstream, chromium-23.0.1271.6 contains the fix).
Comment 5 Hans 2012-10-03 07:20:42 UTC
Thank you for taking care of dbus-glib!

I am reopening this bug however because it seems to me that point b) from my original report has been overlooked:

(In reply to comment #0)
> b) chromium needs libdbus-1 from sys-apps/dbus to build and to run, as it
> actually links against it:
> 
> $ readelf  -d chrome|grep dbus
>  0x0000000000000001 (NEEDED)             Shared library: [libdbus-1.so.3]
> 
> $ readelf  -d chromedriver|grep dbus
>  0x0000000000000001 (NEEDED)             Shared library: [libdbus-1.so.3]

Which is still the case in the current chromium-23* ebuilds, but sys-apps/dbus is nowhere to be found in the dependencies.

So I'd like to suggest again to add dbus to DEPEND and RDEPEND.

Thanks again!
Comment 6 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2012-10-03 16:17:51 UTC
(In reply to comment #5)
> So I'd like to suggest again to add dbus to DEPEND and RDEPEND.

Done, thanks! In fact, this was even more important, since removing dbus-glib also removed the implicit dependency on dbus.