[opensuse-packaging] Common LIsp packaging

Hello everyone, as you know, we're recently formed a team that will take care of the packaging guidelines and introduced a small process to change them: http://en.opensuse.org/openSUSE:Packaging_guidelines_change_process I would like to start discussion about Common Lisp and create Lisp packaging related rules. The first version of it you can find there: http://en.opensuse.org/openSUSE:Packaging_Lisp (please discuss here before edit something in wiki) I don't know how many Lisp developers we have, but I invite everybody to find and create most interesting, correct and optimal packaging rules for openSUSE distribution. Alex -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

Hello, Am Montag, 19. November 2012 schrieb Alex Naumov:
I don't know anything about Lisp, but... (quoting from the wiki page) | BuildRequires: common-lisp-controlle | Requires: common-lisp-controller | Requires(post): common-lisp-controller | Requires(preun): common-lisp-controller a) the first line seems to miss a r (...-controlle_r_) b) what about grouping those lines into a macro %lisp_requires, similar to %perl_requires? | %install | | %{__rm} -rf %{buildroot} IIRC the "normal packaging guidelines" (as you call them) tell you not to delete the buildroot ;-) | # Replace @NAME@ below with the Common Lisp library name, which may be | different from the package name if it is not already prefixed with | "cl-". You might want to define this as a variable in the spec file to avoid duplication. The remaining part of %install looks like you might want to create one or more rpm macros (assuming the %install of most/all lisp packages is done exactly as shown in your example spec file) Now I'm curious if you also get feedback from people who know something about Lisp ;-) Regards, Christian Boltz -- Please do not think so much about licenses, it will just make your head explode if not carefully studied over the years ;) [Marcus Meissner in opensuse-packaging] -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

Hi Christian, thanks a lot for your reply! On Mon, Nov 19, 2012 at 9:52 PM, Christian Boltz <opensuse@cboltz.de> wrote:
For sure... FIXED
b) what about grouping those lines into a macro %lisp_requires, similar to %perl_requires?
Do you mean macros.perl file? %perl_requires() \ %if 0%{?suse_version} > 0 && 0%{?suse_version} < 1700 \ Requires: perl = %{perl_version} \ %endif Yes, good idea, but we have not such macro file for Lisp until now. And the question is... where we can add it? For perl or python it's easy, because we put it to package of interpreter: perl or python-base, but for Common Lisp there are different interpreters/compilers implementation. For example, clisp or sbcl. Maybe it make sense to add such macros to the common-lisp-controller package.
Yes, you are right, it's also FIXED.
I'm waiting critic about using ASDF ;-) Now I'm trying to build some packages with quicklisp.
Regards,
Christian Boltz
Thanks again for feedback ;-) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 11/20/2012 12:14 AM, Alex Naumov wrote:
Or maybe let the lisp implementation to have a initialization file and solve the fasl problem via that. (see sbcl documentation about FASL Format). Currently sbcl in the factory does not have a system wide initialization, but could be added if needed.
Now I'm trying to build some packages with quicklisp.
I actually would like to see quicklisp somehow incorporated in the game plan Togan -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 11/20/2012 12:14 AM, Alex Naumov wrote:
Before putting common-lisp-controller as a requriment how about providing the package. If one builds a package based on this sample spec it sure will fail as there is no such package and having it in your home project does not count to have it in a guideline for the entire project. Togan -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On Wed, Nov 21, 2012 at 5:58 PM, Togan Muftuoglu <toganm@opensuse.org> wrote:
Yes, it will solve the problem in case using SBCL, but what's about another Lisp interpreters? Do you want to use SBCL as a main compiler, that should be installed always? On Thu, Nov 22, 2012 at 1:51 PM, Togan Muftuoglu <toganm@opensuse.org> wrote:
Maintainer needed? ;-) On Thu, Nov 22, 2012 at 1:51 PM, Togan Muftuoglu <toganm@opensuse.org> wrote:
I did not send request, because I still not satisfied about quality and, as I said, I'm going to use quicklisp. Stumpwm, that I have already, works well, but I would like to make it cleaner and check/test it again. http://thefreecountry.files.wordpress.com/2012/03/stumpwm.png Alex -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 11/26/2012 07:57 PM, Alex Naumov wrote:
Do you want to use SBCL as a main compiler, that should be installed always?
I do not like to force an enduser to some package based on packager wishes. I would add such a config option to sbcl package with the next version that is installed as a sample in the documentation along with a README file, and let the user decide how to use it.
Submit it to a devel project and see how it goes on thereafter.
Hence this proves my concern, I would prefer to have quicklisp also, but on the other hand the guideline should take it into consideration what is available in the distribution not things available in users' home repositories. Therefore I suggest you remove the parts regarding common-lisp-controller related parts from the guideline as they are not correct at the time being.
I know Stumpwm but that is something else not related to the guidelines of common-lisp-packaging Togan -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On Tue, Nov 27, 2012 at 8:47 AM, Togan Muftuoglu <toganm@opensuse.org> wrote:
Sorry, I did not get it. Why SBCL, and not CLISP or GCL or another compiler/interpreter? Why not CLC?
If I will implement Christian's idea about macro %lisp, then I will add it exactly to common-lisp-controller (as a system for installing Common Lisp libraries and source). But.. until I am satisfied with the quality and logic of dependencies, I will not send any requests.
I took stumpWM as example or as a test project, that will use Lisp rules/guidelines which we are trying to discuss about. Why don't use new scripts or macros (adding to CLC) and test it on stumpWM? Alex -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 11/27/2012 07:02 PM, Alex Naumov wrote:
Simple I am one of the maintainers for sbcl but not for clisp, therefore I can add the asdf solution to sbcl easily. clisp maintainer needs to solve the problem if s/he wants also. All other mentioned are not available for factory so there is no need to discuss. Having said that feel free to package and submit them.
That is my point hence please remove the common-lisp-controller related part from the guideline. You just can't put something that does not exist in the main project into the guideline and ask people to follow the guideline.
Do what ever you want in your home repos, hey as a matter of fact you do not even have to follow the spec guidelines or use them as test bed for ideas. Togan -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On Tue, Nov 27, 2012 at 7:33 PM, Togan Muftuoglu <toganm@opensuse.org> wrote:
Ok, then we can use SBCL as a default openSUSE Common Lisp compiler.
Sure. The idea of using quicklisp is automatically to check and download missing software components (all needed dependencies). So, first, we download quicklisp.lisp file: $ curl -O http://beta.quicklisp.org/quicklisp.lisp We can use "download_url" service for that. After that we run compiler and install our package (in my case it's "stumpwm"): $ sbcl --load quicklisp.lisp --eval "(quicklisp-quickstart:install)" --eval "(ql:add-to-init-file)" $ sbcl --eval "(ql:quickload \"stumpwm\")" This will download and install a lot of CL packages needed for stumpwm. After that we can start stumpwm. The problem is that such features will never support for OBS (in the .opensuse.org instance), I guess. The reason is that for one the builds would not be reproducable anymore. Also it would create a number of security problems. It would be for example possible to attack oS servers and also external servers. As I can see, another distros still uses old way - ASDF. In this case all needed libraries/dependencies are in the same repositories like usual. I have no idea how to do that for quicklisp packages... I see one (and very bad) way to do that: just put all quicklisp stuff to %post and use BuildRequires: -post-build-checks I hope somebody can help to find another solution for that. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

Hello, Am Montag, 19. November 2012 schrieb Alex Naumov:
I don't know anything about Lisp, but... (quoting from the wiki page) | BuildRequires: common-lisp-controlle | Requires: common-lisp-controller | Requires(post): common-lisp-controller | Requires(preun): common-lisp-controller a) the first line seems to miss a r (...-controlle_r_) b) what about grouping those lines into a macro %lisp_requires, similar to %perl_requires? | %install | | %{__rm} -rf %{buildroot} IIRC the "normal packaging guidelines" (as you call them) tell you not to delete the buildroot ;-) | # Replace @NAME@ below with the Common Lisp library name, which may be | different from the package name if it is not already prefixed with | "cl-". You might want to define this as a variable in the spec file to avoid duplication. The remaining part of %install looks like you might want to create one or more rpm macros (assuming the %install of most/all lisp packages is done exactly as shown in your example spec file) Now I'm curious if you also get feedback from people who know something about Lisp ;-) Regards, Christian Boltz -- Please do not think so much about licenses, it will just make your head explode if not carefully studied over the years ;) [Marcus Meissner in opensuse-packaging] -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

Hi Christian, thanks a lot for your reply! On Mon, Nov 19, 2012 at 9:52 PM, Christian Boltz <opensuse@cboltz.de> wrote:
For sure... FIXED
b) what about grouping those lines into a macro %lisp_requires, similar to %perl_requires?
Do you mean macros.perl file? %perl_requires() \ %if 0%{?suse_version} > 0 && 0%{?suse_version} < 1700 \ Requires: perl = %{perl_version} \ %endif Yes, good idea, but we have not such macro file for Lisp until now. And the question is... where we can add it? For perl or python it's easy, because we put it to package of interpreter: perl or python-base, but for Common Lisp there are different interpreters/compilers implementation. For example, clisp or sbcl. Maybe it make sense to add such macros to the common-lisp-controller package.
Yes, you are right, it's also FIXED.
I'm waiting critic about using ASDF ;-) Now I'm trying to build some packages with quicklisp.
Regards,
Christian Boltz
Thanks again for feedback ;-) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 11/20/2012 12:14 AM, Alex Naumov wrote:
Or maybe let the lisp implementation to have a initialization file and solve the fasl problem via that. (see sbcl documentation about FASL Format). Currently sbcl in the factory does not have a system wide initialization, but could be added if needed.
Now I'm trying to build some packages with quicklisp.
I actually would like to see quicklisp somehow incorporated in the game plan Togan -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 11/20/2012 12:14 AM, Alex Naumov wrote:
Before putting common-lisp-controller as a requriment how about providing the package. If one builds a package based on this sample spec it sure will fail as there is no such package and having it in your home project does not count to have it in a guideline for the entire project. Togan -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On Wed, Nov 21, 2012 at 5:58 PM, Togan Muftuoglu <toganm@opensuse.org> wrote:
Yes, it will solve the problem in case using SBCL, but what's about another Lisp interpreters? Do you want to use SBCL as a main compiler, that should be installed always? On Thu, Nov 22, 2012 at 1:51 PM, Togan Muftuoglu <toganm@opensuse.org> wrote:
Maintainer needed? ;-) On Thu, Nov 22, 2012 at 1:51 PM, Togan Muftuoglu <toganm@opensuse.org> wrote:
I did not send request, because I still not satisfied about quality and, as I said, I'm going to use quicklisp. Stumpwm, that I have already, works well, but I would like to make it cleaner and check/test it again. http://thefreecountry.files.wordpress.com/2012/03/stumpwm.png Alex -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 11/26/2012 07:57 PM, Alex Naumov wrote:
Do you want to use SBCL as a main compiler, that should be installed always?
I do not like to force an enduser to some package based on packager wishes. I would add such a config option to sbcl package with the next version that is installed as a sample in the documentation along with a README file, and let the user decide how to use it.
Submit it to a devel project and see how it goes on thereafter.
Hence this proves my concern, I would prefer to have quicklisp also, but on the other hand the guideline should take it into consideration what is available in the distribution not things available in users' home repositories. Therefore I suggest you remove the parts regarding common-lisp-controller related parts from the guideline as they are not correct at the time being.
I know Stumpwm but that is something else not related to the guidelines of common-lisp-packaging Togan -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (3)
-
Alex Naumov
-
Christian Boltz
-
Togan Muftuoglu