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 <[EMAIL PROTECTED]> University Of Szeged, HU Faculty Of General Medicine /* Please do not CC me with replies, thank you. */
