Hi, I have read your mail on hackers@ (I'm not subscribed) with great interest. We're certainly interested in any optimizations for the pkg_install suite.
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. 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. 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]). -- Pav Lucistnik <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> If God is perfect, why did He create discontinuous functions?
signature.asc
Description: Toto je digitálně podepsaná část zprávy