After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 581515 - Don't build DeviceKit-disks by default
Don't build DeviceKit-disks by default
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: module sets
2.27.x
Other Linux
: Normal normal
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
: 582096 583836 608325 614240 678712 681652 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-05-05 19:53 UTC by Michael Terry
Modified: 2012-08-11 16:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
use datadir (1.45 KB, patch)
2009-05-05 19:54 UTC, Michael Terry
rejected Details | Review

Description Michael Terry 2009-05-05 19:53:15 UTC
The current src/gdu/Makefile.am uses hardcoded paths for "/usr/share/dbus-1/interfaces/org.freedesktop.DeviceKit.Disks.xml".  This makes it hard to use in, say, jhbuild.

Please apply the attached patch to use $(datadir) instead.
Comment 1 Michael Terry 2009-05-05 19:54:04 UTC
Created attachment 134056 [details] [review]
use datadir
Comment 2 David Zeuthen (not reading bugmail) 2009-05-06 12:17:46 UTC
Actually it is that way, because when using jhbuild you want to use the DeviceKit-disks provided by the OS. It's not feasible (nor advisable) to build DeviceKit-disks as part of jhbuild since it depends on certain versions of the kernel, udev and other system-level components.

So that's why it's hardcoded that way.
Comment 3 David Zeuthen (not reading bugmail) 2009-05-06 12:40:28 UTC
Furthermore, I think jhbuild should just cope with the gnome-disk-utility build failing (and, if so, also remove a previously installed version). 

Then components higher in the stack (such as GVfs) can be built without gnome-disk-utility support. This works since we guarantee that things can be built without gnome-disk-utility support.

Thoughts?
Comment 4 Michael Terry 2009-05-06 13:05:01 UTC
Re: your first comment (gdu *should* hardcode it), I disagree.  You're saying that people shouldn't build dkd from git?  Ever?  (obviously you don't mean that, but it sounds like what you're saying -- and the practical effect of hardcoding the path)  Why go out of your way to disallow it?

Very often, the person building it will have met the requirements and just wants to build/test the GNOME stack.

If that is your concern (you feel a sizable percentage of people building from git will not meet the requirements), please add a configure flag to set the dkd path (e.g. --with-dkd=/usr/share) that defaults to datadir.  That would let someone building from jhbuild either use the git-version (by default, because it's good to respect datadir) or use the system version (if for some reason they don't meet the requirements).

Re: your second comment (jhbuild should cope with failures better), it does.  I could have told jhbuild to ignore the failure and skip anyone that depends on gdu.  Or I could have set it up to not try to build it and have every package compile with some configure flag that turns off gdu support.  But that's not something I really expected to have to do, and don't think you should force everyone to do.
Comment 5 David Zeuthen (not reading bugmail) 2009-05-06 13:43:03 UTC
(In reply to comment #4)
> Re: your first comment (gdu *should* hardcode it), I disagree.  You're saying
> that people shouldn't build dkd from git?  Ever?  (obviously you don't mean
> that, but it sounds like what you're saying -- and the practical effect of
> hardcoding the path)  Why go out of your way to disallow it?

Yes, that is what I'm saying. DeviceKit-disks is a component that requires very close integration with the rest of the OS, specifically the kernel and udev versions (and also mdadm versions). There's a thread on desktop-devel-list where I raised these concerns already.

So, yes, I _actively_ go out of my way to ensure people don't shoot themselves in the foot by pretending they can run it on a system that do not meet the requirements. This is especially important as bugs in DeviceKit-disks actually means people losing data on their disks.

By the same token, jhbuild doesn't pull in other stuff like glibc or HAL because it would be a nightmare to get right (and, trust me, people tried doing this with HAL and it never worked).

> Very often, the person building it will have met the requirements and just
> wants to build/test the GNOME stack.

People should either get DeviceKit-disks from their distro vendor or build it themselves and install it into /usr. If users don't want this, the rest of the GNOME stack will build just fine without gnome-disk-utility support.

> If that is your concern (you feel a sizable percentage of people building from
> git will not meet the requirements), please add a configure flag to set the dkd
> path (e.g. --with-dkd=/usr/share) that defaults to datadir.  That would let
> someone building from jhbuild either use the git-version (by default, because
> it's good to respect datadir) or use the system version (if for some reason
> they don't meet the requirements).

This is not really going to work; you can't really build DeviceKit-disks with a prefix like /opt/gnome2 - we'd end up installing required udev rules, D-Bus .service files and other stuff into the wrong place. It's just messy.

It's not that I'm trying to be a asshole here, just saying that experience from the HAL days has shown that it's not feasible to include DeviceKit-disks in jhbuild. DeviceKit-disks is a system-level component and either you have the appropriate version from your OS vendor (or you install it yourself) and you can get gnome-disk-utility. Or you don't, and you don't (and the rest of the GNOME stack will build just fine).

    David
Comment 6 Michael Terry 2009-05-06 13:56:46 UTC
OK!  Thank you for the explanation, David.

I'm changing this bug's component to jhbuild.  As of now, the gnome-2.28 moduleset builds dkd by default.  Sounds like we don't want that.
Comment 7 Frederic Peters 2009-05-06 14:21:43 UTC
commit d02c9a1e957ffd15fed03dd59f55bc787ec04b6e
Author: Frederic Peters <fpeters@0d.be>
Date:   Wed May 6 16:16:04 2009 +0200

    [2.28] remove libatasmart and DeviceKit-disks from external deps
    
    DeviceKit-disks is too low in the stack to be part of JHBuild and the
    user should really have it installed system-wide. (GNOME #581515)
Comment 8 David Zeuthen (not reading bugmail) 2009-06-01 14:20:03 UTC
*** Bug 582096 has been marked as a duplicate of this bug. ***
Comment 9 David Zeuthen (not reading bugmail) 2009-06-02 20:02:03 UTC
*** Bug 583836 has been marked as a duplicate of this bug. ***
Comment 10 Frederic Peters 2010-01-28 10:51:40 UTC
*** Bug 608325 has been marked as a duplicate of this bug. ***
Comment 11 Craig Keogh 2010-04-14 10:47:59 UTC
*** Bug 614240 has been marked as a duplicate of this bug. ***
Comment 12 Frederic Peters 2012-06-25 08:51:29 UTC
*** Bug 678712 has been marked as a duplicate of this bug. ***
Comment 13 Frederic Peters 2012-08-11 16:06:41 UTC
*** Bug 681652 has been marked as a duplicate of this bug. ***