On tor, 2003-11-06 at 11:58, Paul de Vrieze wrote:
[SNIP]
> There are basically only two ways to do rebuilding when necessary:
> - - use a revdep like approach. This does not work perfectly and is a big
>   resource drain as all libraries and binaries need to be checked for a
>   dependency on the lib. Further this does not work for on-demand loaded
>   libraries so is only a partial "solution". It is basically a shotgun
>   solution that still manages to miss things.
> 
Well - one way of detecting this, could be to only look through every
installed packages USE flags (as used on compile) and look for the use
flag for the certain package. This will handle openssl upgrades atleast.
In regards to gcc and glibc, we know they all depend on it - so we
needn't check that much - only need to set a timestamp, and until every
program on the machine, has been recompiled (so their timestamp is newer
than when gcc/glibc was upgraded) the gcc or glibc libs, has to be
available.

IMHO we could devise a logic like this, that would work. If we need more
finetuned stuff, portage should save this info, while compiling the
package (as it saves USE flags and other things), so we can just wade
through the package-info files. Using a db3 or db4 format for this,
would probably not be all bad :)

v0.1 doesn't have to be bullitproof - it should just catch the obvious
ones (which are the ones which have their own useflag IMHO),and ofcourse
be the right way, so it can be improved upon for next release.

> - - Devise a way that emerge knows (either automatically or specified) that
>   the libraries in a package have changed and rebuild all packages that
>   depend on the package. Finding out the change automatically should not
>   be too complicated. However finding out which packages need to be
>   rebuild is. Especially since dependencies can be indirect. This
>   approach is a lot cleaner although even here there can be no guarantee
>   of correctness.
> 
> I like the second way. However it requires significant changes to portage 
> so is unlikely to happen soon.
> 
I believe qpkg implemented some reverse dependency thing - where it can
show you what packages depend on it - rather quickly. It may not be
perfect though ? 

-- 
Regards,
Klavs Klavsen, GSEC - [EMAIL PROTECTED] - http://www.vsen.dk
PGP: 7E063C62/2873 188C 968E 600D D8F8  B8DA 3D3A 0B79 7E06 3C62
See my new managed CMS Hosting Service at http://www.VirkPaaNettet.dk

Working with Unix is like wrestling a worthy opponent. 
Working with windows is like attacking a small whining child 
who is carrying a .38.                          

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to