On Thu, Sep 21, 2006 at 01:38:59PM +0200, Luca Barbato wrote: > Alin Nastac wrote: > >I reckon this could be solved by yet another *DEPEND variable. The only > >atoms accepted by this variable would be "CATEGORY/PN". Every time when > >a package gets updated from PV1 to PV2 (distinct versions, revisions > >will not count), portage will automatically re-emerge those packages > >that depend on it. > > > >Thoughts? > > > > It would require revdep resolution on emerge... how painful would be?
Off the top of my head, adding revdeps (period) for unmerge functionality (fex) is the harder part; slipping something of this sort in is just a logic tweak. The problem with this proposal however is that it's attempting automatic revdep based off of version; _any_ non-rev version bump is way too rebuild happy. Proposal I was pushing a while back was addition of a metadata key; it's not exactly .so version, but pretty close- a _manually_ maintained counter var in the ebuild that represents the abi compatibility for that packages versions. Example would be openssl-0.9.7, you stick BINCOMPAT=0.9.7 in it, in openssl-0.9.8, you stick BINCOMPAT=0.9.8 in it, for a replace op the resolver sees that it's breaking compatibility and knows to rebuild any revdeps. Why have the explicit var? Because 0.9.7a through 0.9.7c may all be compatible, but 0.9.7d isn't. If you force an automatic algo that tries to (effectively) guess, you get a lot of rebuilds through a,b,c, end result being folks likely update less because it becomes a bigger pain in the ass. There is one flaw with this though; packages can provide both libraries _and_ binaries. Our dependencies don't represent whether the dep is actual linkage, or just commandline consuming, so (using the openssl example) any package that invokes openssl via the commandline to do a few simple chksum ops gets rebuilt, despite the fact it wasn't affected by linkage change ups. So... short version, at least what jstubbs/marius/myself hashed out in irc a long while back, need binding dependencies and actual tracking of the lib breakage in the metadata. Alternative to shoving an extra key in would be extending slot rules, but that can be somewhat ugly. My 2 cents, for what its worth. ~harring
pgpQ0KLtqw55W.pgp
Description: PGP signature