tech-pkg archive

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

Re: understanding relations between binary packages



28. 3. 2013 v 13:14, Greg Troxel <gdt%ir.bbn.com@localhost>:

>> 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.

Also note that the boundary between base- and pkgsrc-provided libs may vary 
from user to user too: there are controls that you can use to tell pkgsrc which 
features to use from the base system, and which to build from pkgsrc. For 
instance, at Joyent we configure our pkgsrc builds to prefer (almost) 
everything from pkgsrc, so that there are as few dependencies to the base 
system as possible, even though we could re-use things like libz or libbz2 from 
the base system.

REQUIRES is generated from the NEED bits of the ELF objects found in the 
package built, just before it's tarred up. You could think of REQUIRES as an 
ELF based sanity check that can be used by the package manager to see if a 
package makes sense to be fetched at all or not - at least that's how it's 
being used today.

-F


Home | Main Index | Thread Index | Old Index