A Quicklisp Debian package

Paulo Sequeira psequeirag at gmail.com
Mon Oct 3 09:22:37 UTC 2011


Sebastian,

Thanks for pointing out that I didn't write to the list. I'm
forwarding my original message to it for the record.


---------- Forwarded message ----------
From: Paulo Sequeira <psequeirag at gmail.com>
Date: Fri, Sep 30, 2011 at 1:39 AM
Subject: Re: A Quicklisp Debian package
To: Sebastian Tennant <sebyte at smolny.plus.com>


On Tue, Sep 27, 2011 at 7:21 AM, Sebastian Tennant
<sebyte at smolny.plus.com> wrote:
> Hi Paulo,
>
> First of all, sorry for the delay.  I've been meaning to reply for some time
> now and your post to the Quicklisp mailing list was precisely the reminder I
> needed.
>
> Secondly, I'm responding to both postings here *only* because cross-posting
> generally leads to confusion and the main issues up for discussion are
> Debian-specific.

Thank you very much, I understand. I just posted a note on Quicklisp's
list indicating that we'll be discussing the topic here first.

>
> Quoth Paulo Sequeira on pkg-common-lisp-devel:
>> I'd definitely love to see a Quicklisp package for Debian. I think this could
>> be well aligned with the fact that many CL packages are being retired
>
> That's interesting.  I wasn't aware of this 'policy'.
>
>> because of the desire of focusing efforts on implementations and some
>> essential packages (I also agree with this approach).
>
> I see.  So the main effort by the Common Lisp Team is going into keeping the
> Common Lisp implementation packages up-to-date, correct?

That's my understanding from various mails in the list[1][2]. The CL
Team has very limited availability so they're focusing on maintaining
core CL infrastructure (implementations and some other critical
packages), but is letting go of most packages unless a maintainer
shows up for them.

> Virtual package 'lisp-compiler' is provided by the following packages:
>
>  clisp, cmucl, ecl & sbcl
>
> Are there any other lisp implementations packaged for Debian that you know of?

Not really, but I'm not probably the right person to answer that. In
any case, I've been thinking that depending on lisp-compiler would not
really help too much, as there's no standard interface for loading &
running lisp sources. I initially suggested lisp-compiler because it
seemed unfair to arbitrarily pick a specific implementation in order
to install Quicklisp, but I guess the alternative would require just
too much work at this time (suggestions welcomed).

> All this to say that's it's already possible to issue the command 'apt-get
> install cl-quicklisp' (providing you're tracking the testing or unstable
> distributions), but don't expect much!  In fact, all it does is:
>
>  1. pull in sbcl (unless another package which provides lisp-compiler is
>    already installed)
>
>  2. install two files:
>
>     /usr/share/cl-quicklisp/quicklisp.lisp
>     /usr/share/doc/cl-quicklisp/README.Debian
>
>  3. display a helpful message (upon succesful installation) which reads:
>
>    "To install Quicklisp in your home directory
>     please read /usr/share/doc/cl-quicklisp/README.Debian"

This is just great! Way much more than I was hoping to have at this
time. You and Daniel really kick-started it.

> Regarding Quicklisp's intended use, it seems to me Quicklisp has a number of
> uses, some of which we would be going against and other's of which we wouldn't.
>
> For example, if a site-wide Quicklisp library update broke a users lisp
> program, they would not be able to revert to a known good version as they could
> if they were managing their own Quicklisp libraries.

Agreed, just as would happen to a user that happens to have one of his
builds broken because the sysadmin upgraded gcc.

> Perhaps you can help here Paulo?  Do you happen know whether or not we would be
> violating packaging policy if the postinst script were to create a system user
> cl-quicklisp, with home directory /usr/share/cl-quicklisp/, and then run a lisp
> (default sbcl) as that user?

I'm not that versed on Debian's policy to tell. What's the idea behind
this? To use that cl-quicklisp user to run sbcl whenever we want to
install a library? Why not use root for that?

> If not, we'd then be able to run the Quicklisp quickstart file as normal and
> Quicklisp proper would be installed under /usr/share/cl-quicklisp/quicklisp/,
> compiled files would end up under
> /usr/share/cl-quicklisp/.cache/common-lisp/...

I'm pretty sure that having something like
/usr/share/cl-quicklisp/.cache goes against LSB and/or Debian policy;
instead, I think that the expected place for that is something like
/var/cache/cl-quicklisp. I feel it could be reasonable to ask Zack
Beane to enable the customization of this path; we can see what he
says.

Also, I'm noting that the "Common Lisp in Debian Manual" mandates lisp
source files to be installed to
/usr/share/common-lisp/source/destination-dir[3]; should we consider
using this path instead of /usr/share/cl-quicklisp? Not sure. Perhaps
we can leave it as you have it right now (comments anyone?)

> and all the postinst script
> would then have to do would be to install some init file code[3] which, when
> loaded, would somehow distinguish between Debian's site-wide Quicklisp
> libraries and a user's own Quicklisp libraries.
>
> Writing the site-wide Quicklisp init file code will be where the challenge
> lies.

Agreed. I'll need to look deeper into Quicklisp and CLC to clarify my
ideas for the script. I'll see if I can research a little this weekend
and post what I find.

> Lastly, it'd be really good to know whether or not you have time to collaborate
> on this Paulo.  It will be much more likely to actually happen if you do :)

Well, working on a Debian package for Common Lisp is something I've
been wanting to do. I'm very limited with the time I can put on this,
but I think I can commit with 4 hours weekly, would that be ok?

I think this is a really good start. Thank you Sebastian.

Best regards,

--
Paulo

[1] http://lists.alioth.debian.org/pipermail/pkg-common-lisp-devel/2009-July/001337.html
[2] Several other messages in August, specially the thread starting
with http://lists.alioth.debian.org/pipermail/pkg-common-lisp-devel/2009-August/001350.html
[3] http://pkg-common-lisp.alioth.debian.org/clid/clid.html/ch-libs.html



-- 
Paulo



More information about the pkg-common-lisp-devel mailing list