Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Chromium and dbus - really necessary?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
rob_dot_p
n00b
n00b


Joined: 28 Jan 2017
Posts: 30

PostPosted: Tue Jun 06, 2017 8:52 pm    Post subject: Chromium and dbus - really necessary? Reply with quote

For installing www-client/chromium on Gentoo, sys-apps/dbus is a mandatory dependency and can't be avoided by setting appropriate USE flags.
I'm not really familiar with the chromium project on a technical level but does chromium really need dbus? Does the browser lose any functionality when dbus isn't available?

On Void Linux, dbus isn't pulled in when installing Chromium, and that is by default, you don't even have to modify their template(ebuild) or set any flags.
You actually can install the binary package of Chromium without dbus. From what I can tell, it seems to run just fine.
Here is their template to build chromium:
https://github.com/voidlinux/void-packages/blob/d19eefb899eb023fc7d8ae28860579f5ba690f56/srcpkgs/chromium/template
And here are their patches, none of which seems to be related to dbus:
https://github.com/voidlinux/void-packages/tree/d19eefb899eb023fc7d8ae28860579f5ba690f56/srcpkgs/chromium/patches

If there's no reason to have dbus as a hard dependency it would be really nice to have a dbus USE Flag on www-client/chromium
Back to top
View user's profile Send private message
The Doctor
Moderator
Moderator


Joined: 27 Jul 2010
Posts: 2678

PostPosted: Tue Jun 06, 2017 9:08 pm    Post subject: Reply with quote

This is a build time vs run time thing. If you look at the ebuild COMMON_DEPEND="...sys-apps/dbus:=..." means that it links against dbus at build time. This is unavoidable without major patches. The dev responsible made the run time dependencies the same as the build time deps plus a few others.

Perhaps this is a bit lazy but you can really see why. You wouldn't necessarily want to go testing 100s of different obscure system configurations. Plus, I wouldn't be surprised if it where an unsupported configuration.
_________________
First things first, but not necessarily in that order.

Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box.
Back to top
View user's profile Send private message
rob_dot_p
n00b
n00b


Joined: 28 Jan 2017
Posts: 30

PostPosted: Tue Jun 06, 2017 9:27 pm    Post subject: Reply with quote

The Doctor wrote:
The dev responsible made the run time dependencies the same as the build time deps plus a few others.


Ah, you're right, for some reason I didn't even look at the ebuild, that was stupid when asking a question about dependencies, thanks :oops:
Do you think it makes sense to contact the maintainer or is this just unnecessary noise?

Is a system without dbus really that exotic on a distro which doesn't default to systemd? I have masked dbus for quite some time and I'm running a fairly 'normal' desktop imo.
I know there's some popular software out there which relies on it but I assume a lot of people who use Gentoo don't run a full-fledged Gnome-Shell or KDE desktop.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21633

PostPosted: Wed Jun 07, 2017 1:54 am    Post subject: Reply with quote

I see no harm in politely inquiring whether the dependency is required or was done out of convenience. In my opinion, controversial dependencies ought to include a comment in the ebuild stating their purpose:
  • mandatory to avoid build failure
  • mandatory to avoid runtime failure (but package would seem to build correctly without it)
  • mandatory to get support from upstream (but package seems to work)
  • mandatory for certain popular features (e.g. maybe playing sound does not work when the dependency is absent)
  • not known mandatory, but present to reduce the testing matrix
Back to top
View user's profile Send private message
The Doctor
Moderator
Moderator


Joined: 27 Jul 2010
Posts: 2678

PostPosted: Wed Jun 07, 2017 1:59 am    Post subject: Reply with quote

Quote:
Is a system without dbus really that exotic on a distro which doesn't default to systemd? I have masked dbus for quite some time and I'm running a fairly 'normal' desktop imo.
It seems to be from a development point of view. I've been trying to kill it off and on for a while but key parts of my system keep depending on it. Chromium and my hp printer driver, for example.
_________________
First things first, but not necessarily in that order.

Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box.
Back to top
View user's profile Send private message
charles17
Advocate
Advocate


Joined: 02 Mar 2008
Posts: 3664

PostPosted: Wed Jun 07, 2017 5:25 am    Post subject: Reply with quote

rob_dot_p wrote:
Is a system without dbus really that exotic ...
No dbus, no *kit here, and firefox-54 release candidate running from firefox-54.0_beta13.ebuild thanks to mv overlay's gtk+-3.22.15.ebuild.
Back to top
View user's profile Send private message
rob_dot_p
n00b
n00b


Joined: 28 Jan 2017
Posts: 30

PostPosted: Wed Jun 07, 2017 11:23 am    Post subject: Reply with quote

charles17 wrote:
rob_dot_p wrote:
Is a system without dbus really that exotic ...
No dbus, no *kit here, and firefox-54 release candidate running from firefox-54.0_beta13.ebuild thanks to mv overlay's gtk+-3.22.15.ebuild.


I'm actually using your overlay, thank you 8)
Back to top
View user's profile Send private message
charles17
Advocate
Advocate


Joined: 02 Mar 2008
Posts: 3664

PostPosted: Wed Jun 07, 2017 12:26 pm    Post subject: Reply with quote

rob_dot_p wrote:
I'm actually using your overlay, thank you 8)
Not mine. See https://forums.gentoo.org/profile.php?mode=viewprofile&u=106069.
Back to top
View user's profile Send private message
rob_dot_p
n00b
n00b


Joined: 28 Jan 2017
Posts: 30

PostPosted: Tue Jun 13, 2017 6:26 pm    Post subject: Reply with quote

charles17 wrote:
rob_dot_p wrote:
I'm actually using your overlay, thank you 8)
Not mine. See https://forums.gentoo.org/profile.php?mode=viewprofile&u=106069.

Sorry I misread that.

I guess I'll just add a local overlay, remove dbus from the runtime dependencies and see how it works.
I'll report back after I have tested it for some time in case somebody else is interested .
Back to top
View user's profile Send private message
tld
Veteran
Veteran


Joined: 09 Dec 2003
Posts: 1816

PostPosted: Tue Jun 13, 2017 11:09 pm    Post subject: Reply with quote

The Doctor wrote:
Quote:
Is a system without dbus really that exotic on a distro which doesn't default to systemd? I have masked dbus for quite some time and I'm running a fairly 'normal' desktop imo.
It seems to be from a development point of view. I've been trying to kill it off and on for a while but key parts of my system keep depending on it. Chromium and my hp printer driver, for example.
I'm still stuck with it on this older system primarily because I'm using a few binary packages (thundrbird-bin and libreoffice-bin). Even without that dbus can be like getting rid of lice frankly...very annoying. When I had an HP printer I went through that same crap. It wasn't supposed to require it, but simply failed without it...very annoying. I've managed to get rid of it on my MythTV frontend and backend as per this:

https://bugs.gentoo.org/show_bug.cgi?id=580856

However I just recently had to remove the tools USE flag from nvidia-drivers (thus loosing nvidia-settings), because they suddenly added a hard dependency on it as of nvidia-drivers-381.x...also annoying. The screwy part is that, as far as I know, none of the dependencies I've ever been stuck with actually required ever starting the dbus service at all...ffs.

For me the grand daddy of silly build time dependencies is qtwebkit in qt5, which requires ruby of all things for the build only!...and entire language ffs. Someone got lazy to the point of insanity on whatever that's about.

Tom
Back to top
View user's profile Send private message
Dr.Willy
Guru
Guru


Joined: 15 Jul 2007
Posts: 547
Location: NRW, Germany

PostPosted: Wed Jun 14, 2017 10:09 am    Post subject: Reply with quote

tld wrote:
For me the grand daddy of silly build time dependencies is qtwebkit in qt5, which requires ruby of all things for the build only!...and entire language ffs. Someone got lazy to the point of insanity on whatever that's about.

At one point it actually required two different versions of ruby at the same time. :P
Back to top
View user's profile Send private message
rob_dot_p
n00b
n00b


Joined: 28 Jan 2017
Posts: 30

PostPosted: Thu Jun 29, 2017 6:29 pm    Post subject: Reply with quote

Ok, so somebody (smaeul) has a patch on his github to patch out dbus: https://github.com/smaeul/portage-overlay/tree/master/www-client/chromium/files
I now use this in combination with pg's overlay. Works fine.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Fri Jun 30, 2017 11:53 am    Post subject: Reply with quote

rob_dot_p wrote:
Ok, so somebody (smaeul) has a patch on his github to patch out dbus: https://github.com/smaeul/portage-overlay/tree/master/www-client/chromium/files
I now use this in combination with pg's overlay. Works fine.
Good find.
One thing; in the musl-headers patch, the first change looks like it would lose the X11 include. Maybe something like this, instead:
Code:
#ifdef OS_LINUX
 #ifdef __GLIBC__
 #include <gnu/libc-version.h>
 #endif
 #ifndef OS_CHROMEOS
  #include "base/version.h"
  #ifdef USE_X11
  #include "ui/base/x/x11_util.h"
  #endif
 #endif /* !OS_CHROMEOS */
#endif /* OS_LINUX */
Though IDK what's in "base/version.h" ofc; might not have showed up as its metrics (browser/metrics/chrome_browser_main_extra_parts_metrics.cc) on musl.
Back to top
View user's profile Send private message
rob_dot_p
n00b
n00b


Joined: 28 Jan 2017
Posts: 30

PostPosted: Fri Jun 30, 2017 9:41 pm    Post subject: Reply with quote

I compile my stuff against glibc, so I don't use the musl patch.
I simply clone pg's overlay https://github.com/perfect7gentleman/pg_overlay/tree/master/www-client/chromium
copy smaeul's dbus-patch into www-client/chromium and add it to local PATCHES=() in pg's ebuild plus a use flag for dbus.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum