lua-users home
lua-l archive

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


> Andre wrote:
> > Source versioning relates to a published API, so if a module does not
> > change its API for Lua 5.1 but compiles for it, ideally the module
> > source should remain at the same major.minor version (the third number
> > would change if the source has modifications but not the API). Note
> > that this is valid for both C and Lua modules.
>
> Diego wrote:
> What if the API is the same for Lua 5.1 and Lua 5.0, but the
> source code is not?

That would be the parenthesis. :o)

> That's what I am talking about. It would become a mess. You
> would have several files named luasocket-2.0.tar.gz, each for each
> version of Lua, but all implementing the same API as far as Lua code is
> concerned.

Indeed. What I am proposing assumes that your source is compilable in more
than one version of Lua.

So if luasocket-2.0.tar.gz is the source for Lua 5.0, the source that works
with both 5.0 and 5.1 would be released as luasocket-2.0.1.tar.gz

If your source is not compilable in both Lua versions, then you're probably
heading for a maintenance branch on your SCM tree or even the stagnation of
the old source base. In that case you'd better changing at least the second
number.

If that was the case, in the release docs you would indicate that LuaSocket
2.0 is only for Lua 5.0 and that LuaSocket 2.1 is only for Lua 5.1 for
example.

> What David suggested is to make this part of the distribution file name.

I see the point, but I still think that compatible versions (same API)
should get only third number versions (you can look at them as fixing the
source so it now compiles in 5.1) and incompatible versions should get
second or even first number versions (since now one version works and the
other don't).

But please, as long as it is clear which package one should get to use a
module in a version of Lua, use the system that feels better for you. I'm
really biased here.

Andre