On Thu, Aug 16, 2012 at 9:26 PM, Rich Freeman <ri...@gentoo.org> wrote:
> On Thu, Aug 16, 2012 at 4:05 PM, Michael Mol <mike...@gmail.com> wrote:
>> The limited-visibility build feature discussed a week or so ago would
>> go a long way in detecting unexpressed build dependencies.
>
> I can't say that is a coincidence, but my intent would be to include
> @system as implicit dependencies, at least until we change that policy
> (though the morbidly curious could use that as a test in a tinderbox
> to find packages in @system that are good candidates for removal).
>
> I haven't gotten to test it, but after studying sandbox it shouldn't
> be hard to just hack together a manual test by removing read access to
> root from the config files and adding in a bazillion files. That
> should at least let me profile performance/etc.  I'm not convinced
> that there isn't room for improvement, but if it works well as-is then
> automating this shouldn't be hard at all.  If portage has the
> dependency tree in RAM then you just need to dump all the edb listings
> for those packages plus @system and feed those into sandbox.  That
> just requires reading a bunch of text files and no searching, so it
> should be pretty quick. As far as I can tell the relevant calls to
> check for read access are already being made in sandbox already, and
> obviously they aren't taking forever.  We just have to see if the
> search gets slow if the access list has tens of thousands of entries
> (if it does, that is just a simple matter of optimization, but being
> in-RAM I can't see how tens of thousands of entries is going to slow
> down a modern CPU even if it is just an unsorted list).

Yeah, I presumed you'd have @system as a set of implicit dependencies.
The obvious approaches would be to either temporarily remove a package
from @system, tell the portage to ignore a package while doing limited
visibility, or copy @system to a different, temporary set and remove
things piecemeal from there.

That last might make the most sense. "--implicit-dependencies ---
defaults to @system. Additional instances append to the set of
implicit dependencies. Use, e.g. -${ATOM} or -@system to override
default include."

-- 
:wq

Reply via email to