Mail archive

Re: [alpine-devel] Avoiding bloat for Lua 5.1/5.2 modules

From: Ted Trask <>
Date: Thu, 2 Jan 2014 11:27:27 -0800 (PST)

Is there anything besides ACF that is preventing the wholesale move to Lua 5.2? My goal is to get ACF working with Lua 5.2 before the next release. Ted ________________________________ From: Natanael Copa <> To: Sent: Tuesday, December 31, 2013 6:07 AM Subject: [alpine-devel] Avoiding bloat for Lua 5.1/5.2 modules Hi, I am a bit in doubt how to handle the Lua modules and 5.1 and 5.2 compat. I originally wanted to have lua5.1-<module> and lua5.2-<module> packages because that would allow us to avoid bloat. You could have a pure lua5.2 system. I am not so sure anymore. What I wanted: * separate arch specific modules (compiled C code) for 5.1 and 5.2 so   we don't get both installed unless wanted. Example: lua-filesystem. * join arch agnostic lua modules (pure lua modules) and use symlinks   for 5.1/5.2 compat. Since they normally support both 5.1 and 5.2 the   code itself is identical. Rather than install 2 copies of same lua   code, we want use symlinks. Example: lua-penlight. * the lua-<module> (without lua version) should pull in both   lua5.1-module and lua5.2-module. (or pull in the "current" lua   version of the module) Now, this becomes a bit compilcated when dealing with dependencies. Lets take the example with lua-penlight and lua-filesystem. Since lua-penlight is a pure lua module and supports both 5.1 and 5.2 we want use symlinks. So lua5.1-penlight is just a symlink to lua5.2-penlight. However, if lua5.1-penlight depends on lua5.2-penlight it will also pull in the lua5.2-penlight dependency lua5.2-filesystem - which we don't want for lua5.1-penlight. I think we have the following options: 1) Continue try avoid bloat and have a common package without dependency:   * lua5.1-filesystem:  has lua 5.1 module   * lua5.2-filesystem:  had lua 5.2 module   * lua-filesystem:      depends on lua5.1-filesystem and                           lua5.2-filesystem.   * lua-penlight-common: has the .lua files but does not depend on                           lua-filesystem. in it self not useful. (maybe                           install the .lua files to /usr/share/lua/common)   * lua5.1-penlight:    depends on lua-penlight-common and                           lua5.1-filesystem. It has symlinks to the                           files provided by lua-penlight-common.   * lua5.2-penlight:    depends on lua-penlight-common and                           lua5.2-filesystem. (might have symlinks too)   * lua-penlight:        depends on lua5.1-penlight and lua5.2-penlight.   This means 7(!) packages for 2 Lua modules. 2) We embrace the bloat and always ship both lua 5.1 and 5.2 in same   package (like Debian does):   * lua-filesystem:  ships both 5.1 and 5.2 modules.   * lua-penlight:    ships both 5.1 and 5.2 modues and depends only                       lua-filesystem.   This is way simpler, but will mean that you will always get the   moduels for both lua versions, regardless if you use both or not (I   assume you normally only will want run one version of Lua). This   means bloat. What do you think? We keep it 'simple' and accept the bloat, or we make it 'complicated' to avoid the bloat? Some things to keep in mind: we have many more C modules (arch specific) modules than noarch (pure Lua) modules. -nc --- Unsubscribe: Help: ---

Received on Thu Jan 02 2014 - 11:27:27 UTC