Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 239437 - sys-libs/pam USE="consolekit gnome-keyring" results in circular deps with no pam installed
Summary: sys-libs/pam USE="consolekit gnome-keyring" results in circular deps with no ...
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: PAM Gentoo Team (OBSOLETE)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-03 14:26 UTC by Michael Croes
Modified: 2010-11-02 00:20 UTC (History)
2 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 Michael Croes 2008-10-03 14:26:13 UTC
When pam is not installed (and it's useflag previously disabled) and you want to install pam with use consolekit and use gnome-keyring it will fail because consolekit and gnome-keyring first need to be compiled with pam support. In order for gnome-keyring and consolekit to be compiled with pam support, pam needs to be installed. A workaround is to install pam (don't install stuff like pambase (which will fail anyway) yet), then install consolekit and gnome-keyring with pam support (they will be able to compile now that pam is installed) and then finish up installation of pam or world or whatever...

Reproducible: Always

Steps to Reproduce:
1. disable use pam
2. remerge world
3. enable use pam, use consolekit, use gnome-keyring
4. update world (rebuild packages with new use flags)

Actual Results:  
installation will fail on sys-auth/pambase because it wants consolekit and gnome-keyring with pam support, but because of the circular deps it decides to go for pambase first.

Expected Results:  
If the circular dep is resolved, the expected result is that first pam will be installed, then consolekit and gnome-keyring and after that pambase

Tried with paludis only.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2008-10-03 15:23:27 UTC
Please post your `emerge --info' too.
Comment 2 Diego Elio Pettenò (RETIRED) gentoo-dev 2008-10-03 15:44:05 UTC
Hm this is strange, since pambase is, for the right reasons a PDEPEND. This means that the order would be

sys-libs/pam then sys-auth/pambase

and as pambase requires consolekit
sys-libs/pam then consolekit then sys-auth/pambase

at which point consolekit does have sys-libs/pam available.
Comment 3 Zac Medico gentoo-dev 2008-10-03 16:16:45 UTC
In order to solve cases like bug #180045, PDEPEND behaves more like RDEPEND than it has in the past.

In order to ensure correct merge order in cases like this, USE dependencies are the best solution (and those require a bump to EAPI 2).
Comment 4 Diego Elio Pettenò (RETIRED) gentoo-dev 2008-10-03 16:40:50 UTC
Okay, Michael which version of pambase are you using? Latest ~arch _is_ using USE deps (EAPI=2).
Comment 5 Michael Croes 2008-10-03 20:40:40 UTC
I'm using the stable (x86) version, I already noticed the EAPI 2 ebuilds when filing the bug, but it didn't come to mind that they'd change the behaviour in this case. So my guess is it's fixed already when using the newer ebuilds. Thanks for all the comments!
Comment 6 Decibels 2009-10-05 01:19:35 UTC
I don't use PAM and have it uninstalled for quite a few years. This is the first time I have had to do something to work around that. Not sure why I am being required to install pam just for consolekit? Part of the reason for USE Flags is to customize your install. 

So am I to understand I must install Pam on all my boxes just because of this?
Okay this is weird:
If do a emerge -upDN world it requires me to install pambase
If do a emerge -up world it doesn't.

First got this info from someone else cause I usually just do '-u' to emerge and not '-uDN', they ran into it and now I have when started testing it out.

Guess will do just -u world so don't have to install pambase. Is the future of consolekit? You can't use the USE Flags to not install PAM?
Comment 7 Michael Croes 2009-10-05 06:41:01 UTC
(In reply to comment #6)
> I don't use PAM and have it uninstalled for quite a few years. This is the
> first time I have had to do something to work around that. Not sure why I am
> being required to install pam just for consolekit? Part of the reason for USE
> Flags is to customize your install. 
File another bug for it, don't abuse this one.
Comment 8 Decibels 2009-10-05 10:56:28 UTC
I think saying, "File a new bug report on this.", would have been sufficient. Have a good day.
Comment 9 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-10-31 16:43:57 UTC
I haven't seen this reported in a while, so I'll suppose it's fixed.
Comment 10 Michael Croes 2010-11-01 20:32:23 UTC
(In reply to comment #9)
> I haven't seen this reported in a while, so I'll suppose it's fixed.
What kind of comment is this? How can you argue about QA on your blog all the time, and close this bug because it hasn't been reported in a while? Have you tried the listed steps and validated it's working correctly right now?
Comment 11 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-11-01 21:48:52 UTC
No, I can only see that yes there is a circular dep but no, I cannot change it any other way, so I assume either people can deal with that or Portage is doing so.

It's also very low priority because it does not involve stages (they have pam enabled) and I'M STILL FRIGGING ONE MAN TRYING TO DEAL WITH THE F*CKING MESS THAT PAM IS IN GENTOO.

So no, if nobody else but you and Decibels hit this bug in two years, I consider this worked around or at the best of its state.
Comment 12 Zac Medico gentoo-dev 2010-11-02 00:20:30 UTC
All versions of sys-auth/pambase in the tree see to have the appropriate USE dependencies now. For example, the oldest version is sys-auth/pambase-20090620.1-r1 and it has the following relevant dependencies:

consolekit? ( >=sys-auth/consolekit-0.3[pam] ) gnome-keyring? ( >=gnome-base/gnome-keyring-2.20[pam] )