[issue730] Latest DEVEL still reflects old pkg_* paths

Gergo Szakal bastyaelvtars at gmail.com
Mon Jul 16 14:57:35 PDT 2007


Well, this installer just mocks the whole Lua language. Its Lua part is
a whole mess. I have researched it carefully and found that it works in
the following way:
- The installer starts the Lua commandline whose location is defined in
pfi.conf.
- Lua loads modules written in C and Lua and 'connects' with the
frontend. This is painful, because C modules could have been linked to
Lua statically rather than having them loaded runtime. Moreover,
creating self-running executables from Lua code is possible (srlua
anyone?), or using Lua as a script interpreter (#!/usr/pkg/bin/lua in
the first line) is possible.
- The whole mess uses a goddamn compatibility layer for Lua 5.1. When
we tried to update to the latest 5.0-release, we failed miserably since
incompatibilities were found here and there (repeat after me:
compat-5.1 sucks).

I think this should work in the following way:
- Make the whole Lua backend a shared library, with compiled-in POSIX,
filesystem etc. support.
- The current frontend loads this shared library (or any other backend
library* specified in pfi.conf).
* library
- The library starts the specific lua scripts that represents menuitems
(this can even be inherited from the current sources). Or, it should
load a 'master script' that require()'s and/or dofile()'s the scripts
necessary.
This would be good because there would be no conflicts with pkgsrc
packages later installed, there would be no need to define
OS-/packagemanager-specific library paths and it would eliminate the
need for using 25 types of package management frameworks in the CVS
tree. Licensing is also a non-issue since most Lua stuff is under MIT
license.

Here is what we tried to do with Adam:
- Transformed the ports stuff into pkgsrc.
- Created pkgsrc packages from the lua-based installer's CVS tree.
- I have created a nice pfi.conf.
- Since distfiles were no longer available, we tried to use the latest
ones. This cause incompatibilities between those s**tloads of
libraries. We thought about forking the whole stuff but we constantly
ran into problems with the C code and none of us knows C.
- Corecode said he would port it into 5.1. As he has no experience with
Lua, his reaction is totally understandable, because even the way the
stuff works is a mess, let alone the installer specific Lua interface is
a Rocky Horror Picture Show as well.

-- 
Gergo Szakal MD <bastyaelvtars at gmail.com>
University Of Szeged, HU
Faculty Of General Medicine

/* Please do not CC me with replies, thank you. */





More information about the Bugs mailing list