On Monday 14 Apr 2014 04:41:05 Tom Wijsman wrote:
> On Sun, 13 Apr 2014 22:00:10 +0100
> Peter Humphrey <[email protected]> wrote:
> > How is it possible for portage to emerge packages differently when
> > it's installing from packages?
> 
> The difference is mostly accountable to build-time dependencies;
> without binpkg they need to be pulled in for the build, with binpkg
> there is no build thus those build-time dependencies aren't needed.
> 
> The rest (only a small few) are accountable to the recorded
> dependencies in the binpkg being different from the dependencies of
> the ebuilds in the Portage tree; as dynamic dependencies* don't work
> entirely well with binpkgs and thus there is this small difference.
> 
>  * These propagate ebuild dependency changes to /var/db/pkg/.
> 
> Here is a list of those that aren't installed along the binpkgs:
> 
>  $ diff -u list listk | sort -k4 | pcregrep -Mv '^\+\N*\n-' | grep '^-\['
--->8

Many thanks for that little bit of magic. I've incorporated it into a simple 
script to find all the missed packages and list their atoms in a form suitable 
for piping into emerge.

I still think this is bad behaviour by portage. If portage's environment is 
identical in the two cases and I tell it to emerge -ek, the results should be 
identical to those if I tell it to emerge -e. I know that -e means "empty-
tree" but that sounds to me exactly like "everything", so that's what I expect 
to get.

Thanks again to both of you - at least I can now be sure that I've rebuilt 
everything when I think I have. I hate to think how many things I've missed in 
the past.

-- 
Regards
Peter


Reply via email to