tech-pkg archive

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

Fixing REQUIRES information



Hi guys,

I don't know if this is not a problem on NetBSD, but it is on SunOS platforms. 
When a binary package is assembled, pkgsrc (amongst other stuff) loops through 
the files using 'ldd' to record information about libraries required. This 
breaks when the shared lib linked against comes from the very package that the 
linking binary/lib belongs to (and there is no previous version installed), as 
ldd of course goes the extra mile to make sure it can find the lib.

For instance, the package for textproc/libxml2 will record /lib/libxml2.so.2 in 
REQUIRES, because e.g. ${PREFIX}/bin/xmllint links against libxml2.so.2, and 
while ${PREFIX}/lib/libxml2.so.2 is not present yet in this phase (in case of a 
clean build, and USE_DESTDIR=yes, at least), /lib/libxml2.so.2 does (on our 
Illumos-based OS), and ldd was just as happy about that one.

Anyone have a suggestion on how to fix this? AFAIK only pkgin uses now REQUIRES 
as a pre-installation check, but it's a helpful measure in general to check on 
a package's requirements (or 'health'). Right now I'm resorting to a crude 
procedure on known packages that installs the package, runs a sed pattern 
across the +REQUIRES file, then pkg_tarup's the package, but I'd love to have 
this working by default.

Regard,

Filip

--
Filip Hajny
Joyent Inc.



Home | Main Index | Thread Index | Old Index