Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 436180 - net-wireless/bluez USE=consolekit description does not explain sys-apps/systemd dependency
Summary: net-wireless/bluez USE=consolekit description does not explain sys-apps/syste...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal minor (vote)
Assignee: Tiziano Müller (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-25 06:31 UTC by Canek Peláez Valdés
Modified: 2012-09-29 16:11 UTC (History)
6 users (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 Canek Peláez Valdés 2012-09-25 06:31:26 UTC
All the versions of net-wireless/bluez in the tree provide a consolekit USE flag that pulls either consolekit or systemd:

consolekit? (
                || ( sys-auth/consolekit
                        >=sys-apps/systemd-37 )
        )

It is a little counter intuitive, and forces the user to actually read the ebuild to know that bluez will support systemd, since its description in use.local.desc says nothing about it:

net-wireless/bluez:consolekit - Use sys-auth/pambase[consolekit] to determine access to bluetooth devices based on whether a user is logged in locally or remotely

I think a systemd USE flag would be the optimal solution, since systemd is taking over most of consolekit's functionality, and so at some point in the future a user would like to add "systemd -consolekit" to his USE flags, hoping to get a system were the sessions are monitored by systemd, and in the particular case of bluez' it would do exactly the opposite.

If a systemd USE flag is not feasible, then at least the description of the consolekit USE flag in use.local.desc should explain that it enables either consolekit or systemd console session tracking.

Reproducible: Always
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2012-09-25 10:58:23 UTC
systemd support should be enabled with or without USE=consolekit being enabled as the ebuild has:

--with-systemdunitdir="$(systemd_get_unitdir)" \

meaning the unit files for systemd gets always installed.

so I suggest to simply drop systemd from the || ( ) block, or might as well leave it in there, meaning there is nothing left to do for this bug

USE="-consolekit" for bluez is just an hack anyway...
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2012-09-25 10:58:44 UTC
(leaving for maintainers to close as invalid)
Comment 3 Pacho Ramos gentoo-dev 2012-09-29 09:24:26 UTC
The problem is that consolekit functionality was incorporated in systemd and that is the functionality we want to use in bluez, maybe a more general USE flag should be used for this kind of functionality. Will CC systemd maintainer to know if there is already a USE flag for this or we need to create a new one
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2012-09-29 09:49:00 UTC
(In reply to comment #3)
> The problem is that consolekit functionality was incorporated in systemd and
> that is the functionality we want to use in bluez, maybe a more general USE
> flag should be used for this kind of functionality. Will CC systemd
> maintainer to know if there is already a USE flag for this or we need to
> create a new one

I'm not sure if the || () is meaningful at all. I'm not aware of how far logind imitates consolekit, and how bluez uses it. I'm afraid my assumption that it works was more based on a random other hidden feature of bluez making it look like that.

As for the flag, people are usually using USE=systemd for that. Not that I like it but noone cared to ask, and now it's a bit late to change all that. Esp. that I have no idea for a good flag.
Comment 5 Pacho Ramos gentoo-dev 2012-09-29 10:07:30 UTC
I guess systemd users is setting consolekit USE flag off, right? In that case we should simply drop "|| systemd" I think.
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2012-09-29 10:23:24 UTC
(In reply to comment #5)
> I guess systemd users is setting consolekit USE flag off, right? In that
> case we should simply drop "|| systemd" I think.

I agree.
Comment 7 Pacho Ramos gentoo-dev 2012-09-29 10:33:25 UTC
+  29 Sep 2012; Pacho Ramos <pacho@gentoo.org> -bluez-4.101-r1.ebuild,
+  -bluez-4.101-r2.ebuild, bluez-4.101-r3.ebuild:
+  systemd doesn't really fully replace consolekit for bluez, see bug #436180 by
+  Canek Peláez Valdés and Michał Górny. Drop old.
+
Comment 8 Canek Peláez Valdés 2012-09-29 15:50:04 UTC
(In reply to comment #5)
> I guess systemd users is setting consolekit USE flag off, right?

That's the problem:

https://bugs.freedesktop.org/show_bug.cgi?id=53905

As of GNOME 3.4, if you set the consolekit USE-flag, and it takes precedence over the systemd one (which usually does), then things start to fail. For GNOME 3.4 to work with the systemd USE flag, systemd *MUST* be the running init.

And actually I opened this bug because bluez is the only package that "required" the consolekit USE-flag, since it was the one pulling systemd support (or at least at first glance that was my impression). Otherwise, my systems right now would run with USE=-consolekit, and with the package uninstalled.

The problem is deeper than the USE flags in bluez: you *CANNOT* compile the GNOME stack with USE=systemd, use OpenRC, and have any hope that things will work. They will not; and if you compile the GNOME stack with USE="consolekit systemd", then *FOR SURE* they will not work (that was the above bug).

I haven't opened a bug for the deeper problem. I would do that now.
Comment 9 Canek Peláez Valdés 2012-09-29 16:11:16 UTC
(In reply to comment #8)
> I haven't opened a bug for the deeper problem. I would do that now.

Done: bug #436602.