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 16:32 schrieb Greg Troxel <gdt%ir.bbn.com@localhost>:
>
> Jens Rehsack <rehsack%gmail.com@localhost> writes:
>
>> 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"
>> }
>> }
>> }
>> }
>
> I find this a bit strange. Are you saying that the perl module
> distribution (that lives in CPAN, that a packaging system like pkgsrc
> would download, or that a user would) would really have a baked-in
> requirement for major version 20 of a shlib? Would it also have the
> path baked in?
No! The question I asked is: how can we canonical identify such a shared
library to guess the right package (or builtin.mk) from.
The example above is something how it _could_ look like, not like it looks.
In case of specifying dedicated shared libraries (which is finally the
thingie which is linked against), which version number should be specified?
I simply assumed, the number of the shared library (and for real: I neither
know nor care which is the recent major library version of libcrypto, because
neither I maintain libssl nor Net::OpenSSL ^^).
> If this isn't already baked in, why is depending on the release version
> of the package that contains the dependency insufficient?
Because libssl has different version numbers. The one delivered with AIX
has a number from IBM (neither the implementation has necessarily anything
in common with OpenSSL).
We are still in some kind of negotiating how such a version could be
specified (and thing becoming more complicated - also header files or
executables might be a requirement, eg. thinking about the Perl interface to
Wx (requires headers) or Archive::Tar (requires executables)).
> Or is this about providing metadata to be used by packaging system?
>
>>> 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).
>
> I see - but still the question would seem to be about having a
> particular version or higher (or maybe NOT higher??) of some other
> package, not the shlib major version and path.
That’s why I’m asking - I want to read other opinions. My background might
be insufficient to drive the spec alone (but I seem to have the most
experience at the particular group which is interested to improve toolchain
here).
Cheers
--
Jens Rehsack
pkgsrc, Perl5
sno%NetBSD.org@localhost
Home |
Main Index |
Thread Index |
Old Index