[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Packaging Lua libraries
- From: tuomov@... (Tuomo Valkonen)
- Date: Thu, 1 Apr 2004 01:08:22 +0300
On Wed, Mar 31, 2004 at 06:15:14PM -0300, Andre Nathan wrote:
> * .lua files are installed to $PREFIX/share/lua5
> * .so/.a files are installed to $PREFIX/lua5
Probably supposed to say $PREFIX/lib/lua5 here? Also, maybe it should
be lua50, lua-5.0 or whatever instead as (?) Lua 5.1 is incompatible?
> So what is left to decide is wether library files should have a version
> number or not.
I don't think the module standard should be concerned with versioning.
There are two kinds of version numbers for libraries, the "package version"
and "API version". For example, the main Lua library under Debian is
liblua50.so.5.0
api package
with a symlink
liblua50.so
API version is part of the library name and system utilities are not
concerned with it. 'ldconfig' is used to manage symlinks based on package
versions. On Windows such are not used, AFAIK. Ideally there would be only
one version number, and the addition of the API version can be seen as a
failure of the .so.X.Y.Z scheme where one can not tell gcc -l which version
to use.
API version is needed if it is expected that a system may need multiple
versions of the library with different APIs, and it should be up to the
module author to decide if this is the case. In this case the stubs should
also be versioned. If incompatible versions of the module are indicated
with API versions, 'ldconfig' can be used to manage 'package versions' if
module authors consider those usefull.
--
Tuomo