Mail archive
alpine-devel

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

From: V.Krishn <vkrishn4_at_gmail.com>
Date: Fri, 3 Jan 2014 01:19:26 +0530

On Tuesday, December 31, 2013 04:37:58 PM Natanael Copa wrote:
> 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 am little confused if,
lua5.1-penlight ===============.
   | ||
   | depends on ||
   | ||
   V depends on V
 lua5.2-penlight --------------> lua5.2-filesystem

does this not mean lua5.2-filesystem is required by
lua5.1-penlight to run ?

1. Is it possible to estimate the % usage of users still wanting v5.1 ?

What I was initially thinking if AL v2.7 was marked as transitional version
then 2.8, 2.9 to 3.0 could be made to be a clean-up phase.
(my initial thouht was of lots of other pkgs newer additions)

In all, any higher and better version should have least overhead/bloat and
clean installation , meaning for users in AL v2.8 installing lua 5.1 would
come with some minor-over head, and for AL v3.0 lua 5.1 may/maynot be
available. If available the over-head may be even larger and likely having
both versions may not work.
In reason with available developer resources, I think such scenario may be
acceptable.

2. Is it not easy to just add older repo and install lua 5.1 ?

-- 
Regards,
V.Krishn
> 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:  alpine-devel+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-devel+help_at_lists.alpinelinux.org
---
Received on Fri Jan 03 2014 - 01:19:26 GMT