tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: understanding relations between binary packages



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



Home | Main Index | Thread Index | Old Index