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 2F4B3DC00AE for ; Fri, 3 Jan 2014 07:45:55 +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 54AEEBC1221; Fri, 3 Jan 2014 07:45:54 +0000 (UTC) Date: Fri, 3 Jan 2014 08:45:50 +0100 From: Natanael Copa To: vkrishn4@gmail.com Cc: alpine-devel@lists.alpinelinux.org Subject: Re: [alpine-devel] Avoiding bloat for Lua 5.1/5.2 modules Message-ID: <20140103084550.0f4a2210@ncopa-desktop.alpinelinux.org> In-Reply-To: <201401030119.26938.vkrishn4@gmail.com> References: <20131231120758.50b5d559@ncopa-desktop.alpinelinux.org> <201401030119.26938.vkrishn4@gmail.com> 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 On Fri, 3 Jan 2014 01:19:26 +0530 "V.Krishn" wrote: > 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- 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 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 ? You are right. This is how it is right now. lua5.2-filesystem is pulled in as a dependency for lua5.1-penlight, but it is lua5.1-filesystem that is required for the penlight runtime to actually run, not lua5.2-filessytem (which is "unused", bloat). And since lua5.1-filesystem is currently not pulled in, it is actually broken. That's why I raised this question. Its currently broken, how do we fix it properly? > 1. Is it possible to estimate the % usage of users still wanting v5.1 ? I don't think anybody actually wants 5.1, but there might be some that depends on modules that is not yet ported. Oh, the lighttpd developers don't want add support for lua 5.2 for the current stable branch. > 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) Well, the idea is more or less, alpine edge is a rolling release. Every 6 months we take what we have and ship a vX.Y release that we support for 2 years. > 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. So if you pick Lua 5.2 (or Lua 'current') you'll don't get the compat bloat. If you use lua5.1 (or Lua 'previous') you might get some unused compat packages. I suppose that would be a better option than do the full separation. Ok... Then the options are: 1) lua5.2- -> no bloat lua5.1- -> might give some bloat for compatibility (might or might not pull in some unused lua packages) 2) don't have version number in lua- packages. The module will always include the lua variant til its no longer needed. Option 1 will make it more visible what packages that are available for each lua version. (apk search lua5.2-*) I think I am slightly in favor for option #2 though. > 2. Is it not easy to just add older repo and install lua 5.1 ? Problem are if some package that we need/want (acf, prosody, awesome) depends on lua 5.1. We cannot depend on packages in other repositories. -nc --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---