Why bundling lua?

Panu Matilainen pmatilai at laiskiainen.org
Tue Apr 25 09:47:42 PDT 2006


On Tue, 2006-04-25 at 18:23 +0200, Ralf Corsepius wrote:
> On Tue, 2006-04-25 at 18:18 +0200, Matthias Saou wrote:
> > Panu Matilainen wrote :
> > 
> > > On Tue, 2006-04-25 at 17:40 +0200, Ralf Corsepius wrote:
> > > > Hi,
> > > > 
> > > > Question: Why does apt-rpm have a copy of lua bundled with it and can't
> > > > use an external lua instead?
> > > > 
> > > > I see apt-pkg/luaiface.h is accessing some private lua header files, but
> > > > I know too little about lua to be able to understand it.
> > > 
> > > Because it's not just an arbitrarily selected script interpreter to run
> > > external commands at certain points, it's *embedded* in libapt so that
> > > it can affect update/downgrade etc decisions, alter configuration at
> > > runtime and such. It simply wouldn't be possible to do those things from
> > > an external process.
> > 
> > I think Ralf was just asking why apt couldn't link against a separate
> > static lua library.
> Exactly.
> 
> >  AFAIK, lua is only provided as a static library when
> > build from the original sources, never as a DSO.
> Right.
> 
> > Maybe lua could be removed from the apt tarball, but still embedded at
> > build time by using the static library provided by the lua-devel package.
> That's what I am referring to.

Ok I indeed misunderstood the question then. It's a surprisingly common
misunderstanding that apt-rpm requires an external Lua interpreter for
the scripts to work (a number of apt packages I've seen have Requires:
lua), having answered that question quite a few times I suppose you can
guess why I interpreted the question the way I did.

The point in having private copy of Lua is to be able to control the
version and exactly how it gets built so apt-lua scripts can be expected
to work identically everywhere. For example the embedded Lua in apt
includes additional rex and posix extensions, if those don't happen to
be available in the external Lua, script that works on one system
doesn't anymore work on another.

> I want to slimdown to tarball and get rid of code, such it doesn't have
> to be maintained as part of apt-rpm.

For the reasons above, I'll rather keep the bundled Lua than start
slimming things for slimmings sake at the expense of consistency, ~1MB
tarball isn't exactly big in my book to begin with :) 

	- Panu -




More information about the Apt-Rpm mailing list