> The pkg database in /var/db/pkg stores two-way dependency chains. > Each port lists all it's dependencies in +CONTENTS file, and all ports > that depend on it in +REQUIRED_BY. When you delete package, all > dependencies of deleted package are iterated and the name of deleted > package is removed from dependency's +REQUIRED_BY file. That's what > undepend() do.
aha, thanks! hmm, this should have been pretty obvious to me... > Quick solution would be to gather all depnames for the deleted package, > and then do a single pass over /var/db/pkg entries looking for origins. > > Ultimate solution would be to implement a database which would > concentrate origins for all packages with linear lookup time. I'm personally against of decresing complexity by means of incresing complexity of pkg_install suit (i.e., database instead of fs). I might have a distorted understanding, but UFS2 is an OK database in itself? Can't the the tools be made O(n) without resorting to moving everything to a DB? FS-based approach performs well enough when /var/db/pkg/ is cached, so IMO the issue is just that whole pkg/ tree doesn't fit in cache on machines with 256M RAM anymore (because of sheer monstrosity of the tree caused by them 'modular' approaches to large projects). > The OpenSSL thing I assume is only relevant for people who happen to > have OpenSSL installed from ports. For that, it could be solved by > spamming the required value into /etc/make.conf, similar what perl ports > do. But that really is up to the openssl port maintainer > ([EMAIL PROTECTED]). right, but note how I suggested 'intelligently modifying' rather than "spamming" :) I am probably wrong (didn't check in detail), but doesn't bsd.openssl.mk get invoked every time (every port install) if USE_OPENSSL==yes, no matter if the openssl port is installed or not? Anyway, it'd be nice if dinoex could take a look at bsd.openssl.mk (does he need to be CC'd?) > Pav Lucistnik <[EMAIL PROTECTED]> > <[EMAIL PROTECTED]> [SorAlx] ridin' VS1400 _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "[EMAIL PROTECTED]"