Packaging CL libs and apps for debian

Dimitri Fontaine dim at tapoueh.org
Wed Apr 23 09:11:37 UTC 2014


Hi,

I'm maintaining pgloader (https://github.com/dimitri/pgloader) and have
picked Common Lisp for the version of it. Of course, I'm using a bunch
of CL libs, and those are really easy to install in a Quicklisp
development environment.

Now comes the time to package the application for debian (and others),
and I'm looking into what it takes to be doing that. Apparently the best
way to doing it would be to package each dependency not already in
debian separately, then Depends: on them somehow.

I've been reading the Common Lisp in Debian Manual at the following
address and I've created a couple of packages modelled after cl-puri
(which looked like the easier to duplicate):

  http://pkg-common-lisp.alioth.debian.org/clid/clid.html/ch-clc.html
  http://pgsql.tapoueh.org/cl-debian/

Now, I'm confused as to how to validate such a packaging. My reading of
the manual is that using sbcl, I should be able to (require :package)
once it's been provided with apt-get install. It's not the case here
either for cl-puri or my own cl-drakma packages:

  Distributor ID: Debian
  Description:    Debian GNU/Linux 7.1 (wheezy)
  Release:        7.1
  Codename:       wheezy

  $ dpkg -l cl-puri cl-drakma
  ...
  ii  cl-drakma      1.3.8-1      all          Common Lisp HTTP client
  ii  cl-puri        1.5.5-1      all          Common Lisp Portable URI Library

  $ sbcl --eval '(require :puri)'
  ...
  debugger invoked on a SB-INT:EXTENSION-FAILURE in thread
  #<THREAD "main thread" RUNNING {1002978E23}>:
    Don't know how to REQUIRE PURI.
  ...

  $ sbcl --eval '(require :drakma)'
  ...
  debugger invoked on a SB-INT:EXTENSION-FAILURE in thread
  #<THREAD "main thread" RUNNING {1002978E33}>:
    Don't know how to REQUIRE DRAKMA.
  ...

So, a couple of questions:

  - what is the best way to package pgloader in debian, where I want to
    ship a self-contained binary image (/usr/bin/pgloader)?

  - if I am to package about 20 CL libs, how do I make sure that they
    work the way they are supposed to be working?

Regards,
-- 
dim



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