Roman Zilka (Tue, 5 Jul 2011 00:36:21 +0200): > Henry Gebhardt (Tue, 5 Jul 2011 00:21:22 +0200): > > On Mon, Jul 04, 2011 at 11:59:23PM +0200, Roman Zilka wrote: > > > Roman Zilka (Mon, 4 Jul 2011 23:34:01 +0200): > > > > Neil Bothwick (Mon, 4 Jul 2011 22:16:18 +0100): > > > > > On Mon, 4 Jul 2011 22:48:44 +0200, Roman Zilka wrote: > > > > > > > > > > > Not quite. This is how I'm thinking: if '-ep world' says virtual/pam > > > > > > needs to be installed, then it either > > > > > > * is in the world file, or > > > > > > * is in the system set, or > > > > > > * is a buildtime or runtime dependency (immediate or deep) of one > > > > > > of the > > > > > > packages in the world set (i.e., world file and system set > > > > > > combined). > > > > > > > > > > There's another possibility, that it is one of a number of packages > > > > > that > > > > > satisfy a particular dependency, the first listed one. If you have > > > > > another package installed that fulfils this dependency, emerge -u > > > > > world > > > > > won't need to do anything, but with emerge -e world you are telling > > > > > portage that the other package is not installed, so it picks the first > > > > > dependency from the list. > > > > > > > > I checked that - in this case, there are no alternatives. > > > > > > Ah, I see. I'm sorry, I wasn't thinking enough. Yeah, virtual/pam may > > > be one of a list. But if nothing else, I have openssh and openssh says: > > > RDEPEND="pam? ( virtual/pam ) > > > No alternatives there. And I don't have virtual/pam, but do have > > > openssh. So why does '-uDN world' not pull virtual/pam in? > > > > My guess is that when virtual/pam was introduced, the openssh ebuild was > > changed to depend on it without a rev bump. Then while upgrading emerge > > will use the old ebuild of the installed openssh, and when you use > > --emptytree it will use the new one in the portage tree. > > > > You can test the theory by comparing the ebuild in portage with the one > > in /var/db/pkg/net-misc/. > > I was expecting to find this to be the cause, because I absolutely > didn't think of it and it sounds likely. > But /var/db/pkg/net-misc/openssh-5.8_p1-r1/RDEPEND requires virtual/pam > too.
Furthermore, FWIW, I tried the following. # USE="-pam" emerge -v1 openssh // indicated the change in the pam USE flag and rebuilt openssh # emerge -pv openssh [ebuild R ] net-misc/openssh-5.8_p1-r1 USE="X hpn ldap pam* -X509 -kerberos -libedit (-selinux) -skey -static -tcpd" 0 kB # emerge -vuD --changed-use --with-bdeps y world [ebuild R ] net-misc/openssh-5.8_p1-r1 USE="X hpn ldap pam* -X509 -kerberos -libedit (-selinux) -skey -static -tcpd" 0 kB No signs of virtual/pam. -rz