[opensuse-packaging] RFC: Lua packaging guidelines
Hi, I have mailed packaging mailing list earlier <http://lists.opensuse.org/opensuse-packaging/2012-09/msg00123.html> regarding packaging guidelines for Lua packaging which probably did not get enough attention. Following a mail to the opensuse-buildservice regarding lua packages development <http://lists.opensuse.org/opensuse-buildservice/2012-09/msg00144.html> I would like to propose the following packaging guidelines for Lua since the projct does not have one. 1) The main development should be taking place in devel:languages:lua and therefore devel:languages:misc should be droped as the devel repo for Factory. 2) various lua packages that are scattered around the OBS should be developed in devel:languages:lua Guidelines for Lua packages Macros are already defined by the lua and lua51 packages in devel:languages:misc # RPM macros for Lua # The major.minor version of Lua %lua_version %(lua -e 'print(_VERSION)' | cut -d ' ' -f 2) # compiled modules should go here %lua_archdir %{_libdir}/lua/%{lua_version} # pure Lua modules should go here %lua_noarchdir %{_datadir}/lua/%{lua_version} * Addon packages Lua add-on packages should generally follow the naming scheme of lua(version)-PKG_NAME -- e.g. lua51-luafilesystem -- tobe used with lua version 5.1 lua-luafilesystem -- tobe used with lua version 5.2 * Development Packages Development packages should have devel suffix added to the package name lua(version)-PKG_NAME-devel Example lua51-luafilesystem-devel * Documentation packages If a package has huge documentation or is just a doc package then naming should be lua(version)-PackageName-doc and should be installed to %_defaultdocdir /usr/share/doc/packages/lua-{PKG_NAME}-doc/* Many upstream Lua developers use LuaRocks to distribute their modules. Therefore we probably should be finding a way to integrate luarocks in our build system and possibly provide a packaging mechanism similar to py2pack of python Comments will be appreciated Togan -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi Togan, Quoting Togan Muftuoglu <toganm@opensuse.org>:
Following a mail to the opensuse-buildservice regarding lua packages development <http://lists.opensuse.org/opensuse-buildservice/2012-09/msg00144.html> I would like to propose the following packaging guidelines for Lua since the projct does not have one.
good initiative and, as such, needs to be supported...
1) The main development should be taking place in devel:languages:lua and therefore devel:languages:misc should be droped as the devel repo for Factory.
you could start this effort by populating the packages (preferably as links to openSUSE:Factory, where they are already pushed). Any package that made it into devel:languages:lua should get a changedevelrequest to have the official devel repo follow the new package.
2) various lua packages that are scattered around the OBS should be developed in devel:languages:lua
Agreed... this would be especially important to be followed by Factory Reviewers, who agree to having a package come from a specific place.
Guidelines for Lua packages
Macros are already defined by the lua and lua51 packages in devel:languages:misc
=> should probably read devel:languages:lua; and so it's not a lie, start with adding the packages there. Once the guideline is documented in the wiki, it would be good for it not to point to 'outdated' repositories.
# RPM macros for Lua
# The major.minor version of Lua %lua_version %(lua -e 'print(_VERSION)' | cut -d ' ' -f 2)
# compiled modules should go here %lua_archdir %{_libdir}/lua/%{lua_version}
# pure Lua modules should go here %lua_noarchdir %{_datadir}/lua/%{lua_version}
* Addon packages Lua add-on packages should generally follow the naming scheme of lua(version)-PKG_NAME -- e.g.
lua51-luafilesystem -- tobe used with lua version 5.1 lua-luafilesystem -- tobe used with lua version 5.2
This requires definition on when lua(version) vs lua is to be used. How will you handle a lua 5.3 release? Will it get the lua namespace, invalidating all exising 'lua-<pkg>' items, as they would no longer the naming convention? Or will lua 5.3 automatyically become lua53? If so, why the exception for lua 5.2?
* Development Packages Development packages should have devel suffix added to the package name lua(version)-PKG_NAME-devel Example
lua51-luafilesystem-devel
Makes sense. For the guideline (note, I know nothing about lua), it might be beneficial to give some examples of what 'devel' files could be... In C we all know about the files *.so, *.a, *.h...
* Documentation packages If a package has huge documentation or is just a doc package then naming should be lua(version)-PackageName-doc and should be installed to %_defaultdocdir
/usr/share/doc/packages/lua-{PKG_NAME}-doc/*
An advise on 'when a package is huge' can be good here... in any case, it's important to mark documentation as %doc (so rpm --excludedocs knows about it)
Many upstream Lua developers use LuaRocks to distribute their modules. Therefore we probably should be finding a way to integrate luarocks in our build system and possibly provide a packaging mechanism similar to py2pack of python
Best regards, Dominique / DimStar -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 09/24/2012 02:36 PM, Dominique Leuenberger a.k.a DimStar wrote:
Hi Togan,
Quoting Togan Muftuoglu <toganm@opensuse.org>:
Following a mail to the opensuse-buildservice regarding lua packages development <http://lists.opensuse.org/opensuse-buildservice/2012-09/msg00144.html> I would like to propose the following packaging guidelines for Lua since the projct does not have one.
good initiative and, as such, needs to be supported...
1) The main development should be taking place in devel:languages:lua and therefore devel:languages:misc should be droped as the devel repo for Factory.
you could start this effort by populating the packages (preferably as links to openSUSE:Factory, where they are already pushed). Any package that made it into devel:languages:lua should get a changedevelrequest to have the official devel repo follow the new package.
I would also like to hear from other people, especially who are packaging lua and/or maintainer of the lua packages as well before diving into unknown waters ;)
2) various lua packages that are scattered around the OBS should be developed in devel:languages:lua
Agreed... this would be especially important to be followed by Factory Reviewers, who agree to having a package come from a specific place.
Guidelines for Lua packages
Macros are already defined by the lua and lua51 packages in devel:languages:misc
=> should probably read devel:languages:lua; and so it's not a lie, start with adding the packages there. Once the guideline is documented in the wiki, it would be good for it not to point to 'outdated' repositories.
Yes it should be reflective of the real devel repo and I used d:l:misc since it is the current devel project for factory. If the transition is going to happen then of course the wiki should/would reflect the actual devel repo.
* Addon packages Lua add-on packages should generally follow the naming scheme of lua(version)-PKG_NAME -- e.g.
lua51-luafilesystem -- tobe used with lua version 5.1 lua-luafilesystem -- tobe used with lua version 5.2
This requires definition on when lua(version) vs lua is to be used. How will you handle a lua 5.3 release? Will it get the lua namespace, invalidating all exising 'lua-<pkg>' items, as they would no longer the naming convention? Or will lua 5.3 automatyically become lua53? If so, why the exception for lua 5.2?
You are right on the versioning and at the time being I do not have an answer; hence RFC so it could be enhanced. It is a similar situation with python packages meaning there is python 2.7 and 3.2 and the packaging is a bit complex create a linked package for python3 and work on that spec for python3 etc. Therefore with this proposal I am well aware of the problem, yet I unfortunately do not have an answer :(
* Development Packages Development packages should have devel suffix added to the package name lua(version)-PKG_NAME-devel Example
lua51-luafilesystem-devel
Makes sense. For the guideline (note, I know nothing about lua), it might be beneficial to give some examples of what 'devel' files could be... In C we all know about the files *.so, *.a, *.h...
That would be similar in lua as well since these would be C api related
* Documentation packages If a package has huge documentation or is just a doc package then naming should be lua(version)-PackageName-doc and should be installed to %_defaultdocdir
/usr/share/doc/packages/lua-{PKG_NAME}-doc/*
An advise on 'when a package is huge' can be good here... in any case, it's important to mark documentation as %doc (so rpm --excludedocs knows about it)
Following rpmlint recommendations I would go for Thanks Togan -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Togan Muftuoglu wrote:
# The major.minor version of Lua %lua_version %(lua -e 'print(_VERSION)' | cut -d ' ' -f 2)
I'd suggest to compute that once at build time when installing the macros file rather than having rpm evaluate that ugly piece of shell each time. cu Ludwig -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.de/ SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Mon, Oct 01, 2012 at 04:12:43PM +0200, Ludwig Nussel wrote:
Togan Muftuoglu wrote:
# The major.minor version of Lua %lua_version %(lua -e 'print(_VERSION)' | cut -d ' ' -f 2)
I'd suggest to compute that once at build time when installing the macros file rather than having rpm evaluate that ugly piece of shell each time.
I think that's a bit overkill. The perl/python/ruby macros look pretty much the same, and there really is no need to speed up lue package building by the fraction of a second. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Michael Schroeder wrote:
On Mon, Oct 01, 2012 at 04:12:43PM +0200, Ludwig Nussel wrote:
Togan Muftuoglu wrote:
# The major.minor version of Lua %lua_version %(lua -e 'print(_VERSION)' | cut -d ' ' -f 2)
I'd suggest to compute that once at build time when installing the macros file rather than having rpm evaluate that ugly piece of shell each time.
I think that's a bit overkill. The perl/python/ruby macros look pretty much the same, and there really is no need to speed up lue package building by the fraction of a second.
It's not about speed. It's about beauty and robustness :-) I didn't say potential other existing macro files aren't ugly too. I guess someone started with this method and others just copied. cu Ludwig -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.de/ SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 09/24/2012 01:59 PM, Togan Muftuoglu wrote:
[...]
Guidelines for Lua packages
Macros are already defined by the lua and lua51 packages in devel:languages:misc
# RPM macros for Lua
# The major.minor version of Lua %lua_version %(lua -e 'print(_VERSION)' | cut -d ' ' -f 2)
# compiled modules should go here %lua_archdir %{_libdir}/lua/%{lua_version}
# pure Lua modules should go here %lua_noarchdir %{_datadir}/lua/%{lua_version}
* Addon packages Lua add-on packages should generally follow the naming scheme of lua(version)-PKG_NAME -- e.g.
lua51-luafilesystem -- tobe used with lua version 5.1 lua-luafilesystem -- tobe used with lua version 5.2
* Development Packages Development packages should have devel suffix added to the package name lua(version)-PKG_NAME-devel Example
lua51-luafilesystem-devel
* Documentation packages If a package has huge documentation or is just a doc package then naming should be lua(version)-PackageName-doc and should be installed to %_defaultdocdir
/usr/share/doc/packages/lua-{PKG_NAME}-doc/*
Many upstream Lua developers use LuaRocks to distribute their modules. Therefore we probably should be finding a way to integrate luarocks in our build system and possibly provide a packaging mechanism similar to py2pack of python
Comments will be appreciated
There were some minor suggestions for improvements of this. Could you resend the proposal following the new change process (see http://en.opensuse.org/openSUSE:Packaging_guidelines_change_process) and then let's create a wiki page and document this as part of the packaging guidelines. Thanks, Andreas -- Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg) GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126 -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Btw. looking through the archives, I see you mentioned the Fedora page http://fedoraproject.org/wiki/PackagingDrafts/Lua Is there a reason to diverge from their documentation? If there's none, let's try to stay close to make packaging easier, Andreas -- Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg) GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126 -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 10/15/2012 03:43 PM, Andreas Jaeger wrote:
Btw. looking through the archives, I see you mentioned the Fedora page http://fedoraproject.org/wiki/PackagingDrafts/Lua
Is there a reason to diverge from their documentation? If there's none, let's try to stay close to make packaging easier,
I feel the debian draft is more sound with examples on usage, while the fedora draft does not give me the same impression. Having said that, I would prefer to have something that is a combination of both. When I wrote that mail I hadn't been able to find similar drafts or actual policies for other distro's. I will reword the previous proposal in a day or so and add the suggestions offered and then we can take the next step from there on. Togan -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 10/15/2012 04:54 PM, Togan Muftuoglu wrote:
On 10/15/2012 03:43 PM, Andreas Jaeger wrote:
Btw. looking through the archives, I see you mentioned the Fedora page http://fedoraproject.org/wiki/PackagingDrafts/Lua
Is there a reason to diverge from their documentation? If there's none, let's try to stay close to make packaging easier,
I feel the debian draft is more sound with examples on usage, while the fedora draft does not give me the same impression.
Having said that, I would prefer to have something that is a combination of both. When I wrote that mail I hadn't been able to find similar drafts or actual policies for other distro's.
I suggest you reach out to both distros lua maintainers, perhaps we can create a shared version.
I will reword the previous proposal in a day or so and add the suggestions offered and then we can take the next step from there on.
Thanks! Andreas -- Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg) GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126 -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (5)
-
Andreas Jaeger
-
Dominique Leuenberger a.k.a DimStar
-
Ludwig Nussel
-
Michael Schroeder
-
Togan Muftuoglu