Ralf Treinen <treinen%pps.univ-paris-diderot.fr@localhost> writes: > but only only DEPENDS: imlib2>=1.4.5nb1. I doubt that imlib2 is providing > all the libraries mentioned above. And X libraries are not part of the base > system, I assume ? X is part of the base system. You have a point that this is a bit scary. I think it's probably a fair characterization (but others will correct me if I'm fuzzy here): historically, pkgsrc did not try to track fine-grained dependencies, either to particular shlibs from pkgsrc, or to shlibs from the base system. packages are built for "native X" or "modular/pkgsrc X". They are usable on systems with native X (first case) or systems with or without native X (2nd case, but ignores and does not link with native X). The dependencies in packages (on other packages) are sufficient to ensure the right libraries are present with the caveat that you need to respect the ordering of updates. When a package has an ABI change (which is about far more than shlibs), then all depending packages get a PKGREVISION++ in the makefile so that new versions of the depending package is built. The PROVIDES/REQUIRES mechanism came later and is still a work in progress. Perhaps it's almost mature. Given all that, you analyzing things both with and without PROVIDES/REQUIRES information would be extremely interesting. Also, it would be probably good for the base tools to pay attention, at least as warning, to PROVIDES/REQUIRES. > Interesting. How can I know which libraries are provided by the base system? Unpack the sets from a release and look at them, basically. There are tarballs for all the files that are installed. There are also mtree files, so egrep lib.*.so /etc/mtree/* is helpful (but 1300 lines). However, pkgsrc is multi-OS, so this has to be done per OS and architecture. But all of your analysis has to deal with OS/arch.
Attachment:
pgpSVY_o_V2eo.pgp
Description: PGP signature