X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@mail.alpinelinux.org Received: from dal-a2.localdomain (unknown [74.117.189.115]) by mail.alpinelinux.org (Postfix) with ESMTP id 3E881DC0439 for ; Tue, 31 Dec 2013 11:08:04 +0000 (UTC) Received: from ncopa-desktop.alpinelinux.org (3.203.202.84.customer.cdi.no [84.202.203.3]) (using SSLv3 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: ncopa@tanael.org) by dal-a2.localdomain (Postfix) with ESMTPSA id 9E063BC1214 for ; Tue, 31 Dec 2013 11:08:03 +0000 (UTC) Date: Tue, 31 Dec 2013 12:07:58 +0100 From: Natanael Copa To: alpine-devel@lists.alpinelinux.org Subject: [alpine-devel] Avoiding bloat for Lua 5.1/5.2 modules Message-ID: <20131231120758.50b5d559@ncopa-desktop.alpinelinux.org> X-Mailer: Claws Mail 3.9.3 (GTK+ 2.24.20; x86_64-alpine-linux-uclibc) X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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- and lua5.2- 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- (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: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---