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

Bug 538224

Summary: www-client/chromium-42.0.2288.6 USE=-gnome-keyring should not depend on app-crypt/libsecret
Product: Gentoo Linux Reporter: Joe Kappus <joe>
Component: Current packagesAssignee: Chromium Project <chromium>
Status: RESOLVED FIXED    
Severity: normal CC: baker.dylan.c, bartek, bensagal, jgeboski, luke-jr+gentoobugs, mads, mmk, nasus.maximos, wbrana
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: cancer removal patch
patch for 42 ebuild

Description Joe Kappus 2015-01-30 06:17:20 UTC
Chromium now pulls in junk like gtk3, gnome-keyring, and some other gnome libraries as it depends on libsecret.

Shouldn't the case be -gnome-keyring in useflags drops the dependency as libsecret is just updating the deprecated functionality?







Reproducible: Always

Steps to Reproduce:
1. try to emerge chromium on a system without gnome or gnome-keyring
2. lots of dependencies pulled in for gnome and gnome-keyring
3. 
Actual Results:  
[ebuild  N     ] app-crypt/p11-kit-0.22.1::gentoo  USE="asn1 libffi trust -debug" 969 KiB
[ebuild  N     ] dev-util/gdbus-codegen-2.42.1::gentoo  PYTHON_TARGETS="python2_7 python3_4 -python3_3" 0 KiB
[ebuild  NS    ] app-text/docbook-xml-dtd-4.3-r1:4.3::gentoo [4.1.2-r6:4.1.2::gentoo, 4.2-r2:4.2::gentoo, 4.4-r2:4.4::gentoo, 4.5-r1:4.5::gentoo] 82 KiB
[ebuild  N     ] app-accessibility/at-spi2-core-2.14.1:2::gentoo  USE="X -introspection" 0 KiB
[ebuild  N     ] app-accessibility/at-spi2-atk-2.14.1:2::gentoo  USE="{-test}" 0 KiB
[ebuild  N     ] x11-themes/adwaita-icon-theme-3.14.1::gentoo  USE="-branding" 0 KiB
[ebuild  NS    ] x11-libs/gtk+-3.14.7:3::gentoo [2.24.25-r1:2::gentoo] USE="X cups xinerama (-aqua) -cloudprint -colord -debug -examples -introspection {-test} -vim-syntax -wayland" 15,298 KiB
[ebuild  N     ] app-crypt/gcr-3.14.0:0/1::gentoo  USE="gtk -debug -introspection {-test} -vala" 1,310 KiB
[ebuild  N     ] gnome-base/gnome-keyring-3.14.0::gentoo  USE="caps filecaps pam ssh-agent -debug (-selinux) {-test}" 1,145 KiB
[ebuild  N     ] app-crypt/libsecret-0.18::gentoo  USE="crypt -debug -introspection {-test} -vala" 470 KiB
[ebuild     U #] www-client/chromium-42.0.2288.6::gentoo [41.0.2272.16::gentoo] USE="cups (pic) tcmalloc -bindist -custom-cflags -gnome -gnome-keyring -hidpi -kerberos (-neon) -pulseaudio (-selinux) {-test}" LINGUAS="-am -ar -bg -bn -ca -cs -da -de -el -en_GB -es -es_LA -et -fa -fi -fil -fr -gu -he -hi -hr -hu -id -it -ja -kn -ko -lt -lv -ml -mr -ms -nb -nl -pl -pt_BR -pt_PT -ro -ru -sk -sl -sr -sv -sw -ta -te -th -tr -uk -vi -zh_CN -zh_TW" 293,726 KiB


Expected Results:  
Do not pull in gnome-keyring and libsecret

Upstream bug: https://code.google.com/p/chromium/issues/detail?id=355223
Comment 1 Joe Kappus 2015-02-27 00:11:52 UTC
Created attachment 397582 [details, diff]
cancer removal patch

Patch tells chromium not to build libsecret.  Will need to remove DEPEND on libsecret in ebuild.  I've tested and chromium builds and runs without it enabled.

Trying to bug upstream and see if they'll make it an option like gnome-keyring was.
Comment 2 Dylan 2015-03-20 18:33:05 UTC
I can reproduce this with chromium 42.0.2311.50 on a KDE system. Even with -gnome and -gnome-keyring, when trying to update from 41.x to 42.x I get gnome-keyring pulled in as a dependency.
Comment 3 Gianni Rossi 2015-03-23 01:59:03 UTC
Same here.  For chromium-43, I also had to forcefully pass '-Duse_gnome_keyring=0' to gyp_chromium.
Comment 4 wbrana 2015-03-26 18:20:12 UTC
upstream bug https://code.google.com/p/chromium/issues/detail?id=469132
Comment 5 wbrana 2015-03-28 17:08:14 UTC
It seems Chromium can build and work without libsecret installed.
libsecret is loaded if it is installed during runtime.
Dependency on libsecret is Gentoo bug.
Comment 6 wbrana 2015-03-28 17:09:31 UTC
Created attachment 399966 [details, diff]
patch for 42 ebuild
Comment 7 Mike Gilbert gentoo-dev 2015-04-20 01:45:03 UTC
*** Bug 547148 has been marked as a duplicate of this bug. ***
Comment 8 Joe Kappus 2015-04-20 02:23:31 UTC
Two options here:

1. use the bundled libsecret like wbrana's patch.
2. Do what ChromeOS does and do not build with libsecret at all. (like my patch does to patch out the build system)


OF COURSE this is going to work fine without libsecret as the ChromeOS developers consider storing passwords in plaintext a non-issue due to filesystem encryption so they don't use libsecret)  

It's also a non-issue if you do the same or you never used Chromium's password manager to begin with.  

My patch hasn't broken, it's still good up to current dev on chromium 43.
Comment 9 wbrana 2015-04-20 11:50:36 UTC
Chromium doesn't have bundled libsecret. It contains only header files. libsecret is loaded using dlopen.
Comment 10 Mike Gilbert gentoo-dev 2015-05-07 22:29:23 UTC
+  07 May 2015; Mike Gilbert <floppym@gentoo.org> chromium-44.0.2391.0.ebuild:
+  Use bundled libsecret headers to avoid buildtime dependency on libsecret. The
+  library is optionally dlopen-ed at runtime. Bug 538224.

I can see about copying this change back to chromium-42/43 if we really want it.
Comment 11 Maciej Mrozowski gentoo-dev 2015-05-07 23:45:48 UTC
I have a feeling 44 will be some time away from now, perhaps just port it to the next stable candidate?
Comment 12 Dylan 2015-05-08 00:23:06 UTC
I'd appreciate if it could be applied to either the current version of 43 or at least to the next version of 43.
Comment 13 Mike Gilbert gentoo-dev 2015-05-08 01:26:06 UTC
I applied the same change to 43.0.2357.52.
Comment 14 Dylan 2015-05-08 20:31:34 UTC
Every thing is working now. Thanks!
Comment 15 Mike Gilbert gentoo-dev 2015-05-21 01:32:58 UTC
chromium-43 is stable; closing.