tech-pkg archive

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

Re: Requirements for specifying dependencies on libraries



Am 15.03.2014 um 00:36 schrieb Greg Troxel <gdt%ir.bbn.com@localhost>:
> 
> Jens Rehsack <rehsack%gmail.com@localhost> writes:
> 
>> since I currently attend the annual Perl Q&A Hackathon, where
>> traditionally most important toolchain people sit together and talk
>> about ways to improve Perl and CPAN, we talked about packaging and how
>> to support that.
>> 
>> We come to the conclusion, that in the machine readable meta
>> information a field shall be provided which names the requirements of
>> external libraries (eg. libfile.so, libstatgrab.so, libfetch.so,
>> libssl.so ...). This name should be in a canonical way.
>> 
>> Here comes the question: from pkgsrc point of view, how such a
>> canonical name should look like?
> 
> The notion of specifying libraries can come in two ways. One is
> relative to a source package, in terms of what it needs, and there it’s
I mean in terms of developer - the person who writes that down before
uploading a package upstream. So it could look like:
{
 "abstract" : "Provide the stuff missing in List::Util“,
 "prereqs" : {
 "runtime" : {
 "recommends" : {
 "perl" : "5.018001"
 },
 "requires" : {
 "Sub::Exporter" : "0",
 "XSLoader" : "0",
 "perl" : "5.008001"
 },
 "linking" : {
 "libgcrypto.la" : "20"
 }
 }
 }
}
> about API. The other is about particular shlib versions, afer a
> package has been built. Then, I can see three ways, and (picking
> libgcrypt without loss of generality), I can see:
> 
> /usr/pkg/lib/libgcrypto.la
> /usr/pkg/lib/libgcrypto.so.20
> /usr/pkg/lib/libgcrypto.20.dylib
> 
> The first one seems to be present on most systems, but only works for
> packages that use libtool. And the filename doesn't have the version,
> but it's in the file. The second works on normal computers (with an ELF
> bias, how quickly we don't even remember when an a.out library looked
> like in detail) and the last one on Macs,
> 
> So if you're really talking about ABI of a built package, then I think
> it's either so or dylib.
> 
> Are perl modules configured to dlopen particular shlib versions? Really
> the version number is arbitrary per OS and can be changed by packaging,
> so that seems somewhat fraught.
It’s more a question of proving before - to have an option to reject
versions which lack requirements (there is no "must“ - you always can
specify 0).
Cheers
-- 
Jens Rehsack
rehsack%gmail.com@localhost


Home | Main Index | Thread Index | Old Index

AltStyle によって変換されたページ (->オリジナル) /