tech-pkg archive

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

Re: pkg_add and update

On Fri, Feb 25, 2011 at 01:29:54PM +0100, Anthony Mallet wrote:
> On Friday, at 12:37, Marc Espie wrote:
> | - handle shared libs specifically, by keeping old libs until all updates 
> have
> | been done.
> Just curious: how do you compute the set of files to be kept from the 'old'
> package? Is that based on some heuristic (e.g. keep */lib*.so.[0-9]*), on the
> diff of the old vs. new PLIST, or ... ?

shared libs are annotated as @lib.
when you build a package, there's a set of WANTLIB that says which shared
libs are needed, pkg_create walks the depends tree, and transforms that into
@wantlib annotations in the packing-list (with the shared lib version frozen).

> What if a package does not version its shared libraries?

Not a problem for us, We do enforce versions. We took control of *all* 
shared lib versions.  We have a slightly patched version of cmake and 
libtool, for instance (well, actually, we totally rewrote libtool in perl 
for 4.9), and we have another script that does a objdump on all binaries 
while preparing a new port/updating an existing port, so that all shared 
libraries are accounted for as WANTLIB.

Yes, that's a lot of work... took about two years to do all ports. It's
much easier for new stuff.

Home | Main Index | Thread Index | Old Index