lua-users home
lua-l archive

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


I tried some Lua XML-RPC loopback benchmarks on my Debian/sparc Ultra 10 at
work and got some numbers (10/second Apache CGI, 130/second Apache aguia).
I wanted to try this at home between machines on our home network.  And then
I realized that my Lua directories were a giant mess, and it wasn't going to
be much fun to replicate the builds of everything, and on top of that I had
about 274 different executables called lxplua, socketlua, flua, etc.  So to
try to bring some order to this, I sat down and produced....

...yet another set of Debian packages for Lua.

You can find them off my lua page at http://www.place.org/~nop/lua/ .

Eduardo Ochs packaged 4.0, but it seemed a bit out of the current
recommendations for Debian packages.
I couldn't use Daniel Silverstone's packages from testing/unstable because
they package Lua 4.1.

These are Lua 4.0 packages for the current Debian stable distribution, 2.2.
They include separate packages for purist Lua 4.0, Eduardo Ochs's simple
version of loadlib, and "dlua4.0", an enhanced Lua 4.0 binary supporting a
Debian framework for shared objects and modules.  lxp and luasocket are
.debs packaged in that framework.  (lua xml-rpc shortly.)

dlua includes back-ports of the Lua 4.1-work readline support and "="
shortcut.  I started to hack in end-of-statement detection but gave up :-)

The packaging builds on the work of Eduardo and Daniel; I probably never
would have started this without their efforts.

Here's how I split things up:

Standard Lua, with no source changes:

liblua4.0_4.0.0-1_i386.deb
liblua4.0-dev_4.0.0-1_i386.deb
lua4.0-doc_4.0.0-1_all.deb
lua4.0_4.0.0-1_i386.deb

A tiny shared library with Eduardo's loadlib:

liblua4.0-loadlib2_1.0-1_i386.deb
liblua4.0-loadlib2-dev_1.0-1_i386.deb
liblua4.0-loadlib2-runtime_1.0-1_i386.deb

The dlua framework (/etc/dlua4.0, /usr/share/dlua4.0, require.lua, automatic
byte-compiling soon):

dlua4.0-common_1.0-1_all.deb

The dlua executable (crucially, performs dofile("/etc/dlua4.0/init.lua")):

dlua4.0_1.0-1_i386.deb

Two of my current favorite extensions:

dlua4.0-luasocket_1.4-1_i386.deb
dlua4.0-lxp_1.0-1_i386.deb

The extensions are loaded with require("luasocket.lua") and
require("lxp.lua"), which then search for luasocket.so etc.

I think I did a good job of getting these packages morally correct, although
I know I don't have Build-Depends set properly.  dlua4.0-luasocket perhaps
should be split into -luasocket and -luasocket-doc.

I'm not a Debian maintainer, so these packages aren't going anywhere
official, but I think other people working on Debian packaging could mine
ideas from them.  Think of them as a position paper.

Jay