On 26/08/2014 16:42, Gevisz wrote: > On Tue, 26 Aug 2014 13:30:58 +0200 > Alan McKinnon <alan.mckin...@gmail.com> wrote: > >> On 26/08/2014 12:00, Gevisz wrote: >>> On Tue, 26 Aug 2014 10:42:01 +0100 >>> Peter Humphrey <pe...@prh.myzen.co.uk> wrote: >>> >>>> On Tuesday 26 August 2014 12:21:35 Gevisz wrote: >>>>> I have just tried to upgrade my system (which I do almost every >>>>> day) and found out that portage wants to install 6 new python >>>>> packages that seem to be unnecessary because for example >>>>> # equery depends dev-python/pyopenssl >>>>> reports that no other package depends on this one. >>>>> >>>>> The same situation is with all the other python packages. >>>>> >>>>> # emerge --update --deep --with-bdeps=y --newuse --backtrack=60 >>>>> --ask world >>>> >>>> It could be that "--with-bdeps=y" term. I took a long time to learn >>>> that lesson, as old-timers may remember. >>>> >>>> What happens if you change y to n? >>> >>> In this case, the portage wants to update all the same "unnecessary" >>> python packages and only decides not to update the eselect-ruby. >> >> >> You've approached this in an inefficient way. >> >> When portage gives an odd list of dependencies to be emerged >> (especially if they are new indicated by [ebuild N ]), then >> always run emerge with the -t option. This will display the same >> output in a tree view showing you what pulls things in. This exactly >> answers the question you asked. > > Thank you for the hint. I will try it next time but now > # emerge -t pyopenssl > just re-emerged the package and I saw no dependencies.
That's correct. pyopenssl depends on nothing so there is nothing to display. Other things depend on pyopenssl (like ssl-fetch) so emerge those and you'll see. It's vital when working with portage to have a very firm grasp of the difference between what a package depends on and what depends on it. > >> Looking at emerge output without the -t option does not show this >> information, so you don't know. >> >> When a package is to be installed new (i.e. not an update) then >> "equery depends" is pointless. That form of the command shows the >> dependencies for *installed*packages*, so obviously can't show the >> deps for something not installed yet. > > Yes, now "equery depends" shows that pyopenssl is needed for ssl-fetch > and ndg-httpsclient, ssl-fetch is needed for mirrorselect is needed for > nothing. :) > > I do not remember installing mirrorselect, at least I never used it > (just now found out what it is used for) but somehow it managed to get > into my world file... A hundred bucks says you ran "emerge mirrorselect" during your very first install, because the install doc says to do it > > May be I used it during my first Gentoo installation, my birth as Gentoo > user. We usually do not remember what happened during our births. :) > >> There are options to equery that make it search the tree itself, >> not your vdb, but they are slo-o-o-ow. maan equery for details. > > I am not in a hurry, so will look for this option too. :) > >> --with-bdeps=n omits eselect-ruby as it is a build depend for some >> package. A build depend means you need it to build something not to >> run it. Portage defaults to n on this to make things a little more >> efficient and compile less stuff. In your case eselect-ruby will only >> be updated when something else that needs it at build time is >> updated. Until then you strictly speaking don't really need it to be >> updated. > > Thank you for the explanations. -- Alan McKinnon alan.mckin...@gmail.com