[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:
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 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:
Hello,
Am Montag, 19. November 2012 schrieb Alex Naumov:
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 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_)
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.
| %install | | %{__rm} -rf %{buildroot}
IIRC the "normal packaging guidelines" (as you call them) tell you not to delete the buildroot ;-)
Yes, you are right, it's also FIXED.
| # 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 ;-)
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:
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. .......
Now I'm curious if you also get feedback from people who know something about Lisp ;-)
I'm waiting critic about using ASDF ;-)
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:
Hi Christian,
thanks a lot for your reply!
On Mon, Nov 19, 2012 at 9:52 PM, Christian Boltz <opensuse@cboltz.de> wrote:
Hello,
Am Montag, 19. November 2012 schrieb Alex Naumov:
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 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
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:
On 11/20/2012 12:14 AM, Alex Naumov wrote:
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. .......
Now I'm curious if you also get feedback from people who know something about Lisp ;-)
I'm waiting critic about using ASDF ;-)
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.
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:
On 11/20/2012 12:14 AM, Alex Naumov wrote:
Hi Christian,
thanks a lot for your reply!
On Mon, Nov 19, 2012 at 9:52 PM, Christian Boltz <opensuse@cboltz.de> wrote:
Hello,
Am Montag, 19. November 2012 schrieb Alex Naumov:
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 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
Before putting common-lisp-controller as a requriment how about providing the package.
Maintainer needed? ;-) On Thu, Nov 22, 2012 at 1:51 PM, Togan Muftuoglu <toganm@opensuse.org> wrote:
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.
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:
On Wed, Nov 21, 2012 at 5:58 PM, Togan Muftuoglu <toganm@opensuse.org> wrote:
On 11/20/2012 12:14 AM, Alex Naumov wrote:
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. .......
Now I'm curious if you also get feedback from people who know something about Lisp ;-)
I'm waiting critic about using ASDF ;-)
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.
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?
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.
On Thu, Nov 22, 2012 at 1:51 PM, Togan Muftuoglu <toganm@opensuse.org> wrote:
Before putting common-lisp-controller as a requriment how about providing the package.
Maintainer needed? ;-)
Submit it to a devel project and see how it goes on thereafter.
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.
I did not send request, because I still not satisfied about quality and, as I said, I'm going to use quicklisp.
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.
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
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:
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.
Sorry, I did not get it. Why SBCL, and not CLISP or GCL or another compiler/interpreter? Why not CLC?
On Thu, Nov 22, 2012 at 1:51 PM, Togan Muftuoglu <toganm@opensuse.org> wrote:
Before putting common-lisp-controller as a requriment how about providing the package.
Maintainer needed? ;-)
Submit it to a devel project and see how it goes on thereafter.
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.
I did not send request, because I still not satisfied about quality and, as I said, I'm going to use quicklisp.
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.
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.
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
I know Stumpwm but that is something else not related to the guidelines of common-lisp-packaging
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:
On Tue, Nov 27, 2012 at 8:47 AM, Togan Muftuoglu <toganm@opensuse.org> wrote:
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.
Sorry, I did not get it. Why SBCL, and not CLISP or GCL or another compiler/interpreter? Why not CLC?
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.
I did not send request, because I still not satisfied about quality and, as I said, I'm going to use quicklisp.
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.
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.
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.
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
I know Stumpwm but that is something else not related to the guidelines of common-lisp-packaging
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?
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:
On 11/27/2012 07:02 PM, Alex Naumov wrote:
On Tue, Nov 27, 2012 at 8:47 AM, Togan Muftuoglu <toganm@opensuse.org> wrote:
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.
Sorry, I did not get it. Why SBCL, and not CLISP or GCL or another compiler/interpreter? Why not CLC?
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.
Ok, then we can use SBCL as a default openSUSE Common Lisp compiler.
I did not send request, because I still not satisfied about quality and, as I said, I'm going to use quicklisp.
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.
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
participants (3)
-
Alex Naumov
-
Christian Boltz
-
Togan Muftuoglu