Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 480328 - sys-auth/polkit and sys-apps/systemd have circular dependencies
Summary: sys-auth/polkit and sys-apps/systemd have circular dependencies
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Nirbheek Chauhan (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-09 07:02 UTC by Pacho Ramos
Modified: 2013-09-27 06:52 UTC (History)
3 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 Pacho Ramos gentoo-dev 2013-08-09 07:02:39 UTC
Can be workaround disabling offending USE flags temporally, but not idea if situation could be improved :/
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2013-08-09 07:11:03 UTC
(In reply to Pacho Ramos from comment #0)
> Can be workaround disabling offending USE flags temporally, but not idea if
> situation could be improved :/

The fix would be stage3 w/ systemd right from the start.

For now, this is already fixed by documenting the behavior in the guide:

http://wiki.gentoo.org/wiki/Systemd

Quoting:

"It is necessary to install sys-apps/systemd before enabling the flag. Otherwise, circular dependencies will prevent Portage from continuing. Install sys-apps/systemd:
root # emerge --ask systemd"

Alternatively you can split systemd-logind libraries into it's own package from systemd, but I don't think it's required at all because above ^^ is enough.
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-08-09 09:24:34 UTC
Hmm, but polkit is pure RDEP of systemd. Shouldn't portage be able to handle that?
Comment 3 Pacho Ramos gentoo-dev 2013-08-09 09:41:55 UTC
Moving it to PDEPEND should work then
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-08-09 09:58:35 UTC
Yes, I'll probably do that.

@dev-portage, could you take a look why the RDEP<->(RDEP+DEP) anti-circular dep doesn't work here? Or does it work only with RDEP<->DEP?
Comment 5 Zac Medico gentoo-dev 2013-08-09 16:18:11 UTC
(In reply to Michał Górny from comment #4)
> @dev-portage, could you take a look why the RDEP<->(RDEP+DEP) anti-circular
> dep doesn't work here? Or does it work only with RDEP<->DEP?

It's supposed to work either way. It seems to work for me:

$ emerge -pv systemd

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] net-libs/libmicrohttpd-0.9.27  USE="ssl -messages -static-libs {-test}" 859 kB
[ebuild  N     ] sys-auth/polkit-0.110  USE="introspection nls pam -examples -gtk -kde (-selinux) -systemd" 0 kB
[ebuild  N     ] sys-apps/systemd-204  USE="acl firmware-loader gudev http introspection keymap kmod lzma pam policykit xattr -audit -cryptsetup -doc -gcrypt -openrc -python -qrcode (-selinux) -static-libs -tcpd {-test} -vanilla" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" 0 kB
[uninstall     ] sys-fs/udev-204  USE="acl firmware-loader gudev hwdb introspection keymap kmod openrc -doc (-selinux) -static-libs" 
[blocks b      ] sys-fs/udev ("sys-fs/udev" is blocking sys-apps/systemd-204)
[blocks b      ] sys-apps/systemd ("sys-apps/systemd" is blocking sys-fs/udev-204)

Total: 3 packages (3 new, 1 uninstall), Size of downloads: 859 kB
Conflict: 2 blocks
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-08-09 16:30:29 UTC
(In reply to Zac Medico from comment #5)
> (In reply to Michał Górny from comment #4)
> > @dev-portage, could you take a look why the RDEP<->(RDEP+DEP) anti-circular
> > dep doesn't work here? Or does it work only with RDEP<->DEP?
> 
> It's supposed to work either way. It seems to work for me:
> 
> $ emerge -pv systemd

It should be 'USE=systemd emerge -pv systemd'.
Comment 7 Zac Medico gentoo-dev 2013-08-09 16:33:52 UTC
Actually, I can reproduce the problem if I enable USE=systemd. The way emerge handles RDEP<->RDEP cycles is that it searches for a group of packages that have all build-time deps satisfied, and then adds those packages to the merge list in random order. If any one of those packages has an unsatisfied build-time dep due to a RDEP<->(RDEP+DEP) relationship, it does not handle it. You could use PDEPEND instead.
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-08-09 16:37:48 UTC
Ok, if that is expected, then I'll just use PDEP. Thanks.
Comment 9 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-08-09 17:41:56 UTC
Committed the PDEP.