Quicklisp to debian
This projects updates Common Lisp libraries debian packages from the current release found at Quicklisp, if an update is needed.
ql-to-deb works with a directory of debian packaging as input, and then fetches informations from the quicklisp web site.
The quicklisp URLs used are:
The first URL contains as its
release-index-url the second URL, which
contains the list of currently most recent available releases in Quicklisp.
It's only possible to
ql-to-deb on packages you've prepared before hand.
Add the packaging in the
debian/ subdirectory of the project. A typical
workflow would be:
$ ql-to-deb status [ package ] $ ql-to-deb build [ package ] $ ql-to-deb lint $ ql-to-deb sign $ ql-to-deb upload
build command stores the name of the debian changes files in
~/.ql-to-deb.changes and will reuse that information in the other steps,
so that it's possible to use the
without any arguments meaning work on what I just built please.
The application will parse the
debian/control file to figure out the name
of the debian source package, it is adviced to name the packaging directory
the same as the source file for easier maintenance.
The tarball given by Quicklisp is considered to be the
for debian packaging purposes.
ql-to-deb just symlinks it in the format
expected by debian, and at the right place.
Basically Quicklisp wins. When quicklisp release has a version number that
is both not the same as the current debian one, nor
gt to it (in terms of
dpkg --compare-versions), then an epoch is added to the debian version
For example, the
cffi package debian version currently is 20100219 where
in Quicklisp the release version string is 0.12.0. In that case
ql-to-deb will prepare a new version of the package with the debian
Currently lacking a debian package, because of a classic chicken and eggs
ql-to-deb itself has some dependencies that are not to be found
in debian yet (drakma, md5 and command-line-arguments).
$ sudo apt-get install sbcl cl-ppcre cl-split-sequence cl-alexandria $ sudo apt-get build-dep cl-asdf $ sudo apt-get build-dep buildapp $ dpkg -i cl-asdf...
Note that we need
cl-asdf version 3.0.3 or more recent, and
version 1.5 or more recent, both as found in sid and an
apt-get build-dep command away to being backported into squeeze.
Now that you have the build requirements sorted:
$ ./build/bin/ql-to-deb --version ql-to-deb version "0.7.0" compiled with SBCL 1.2.3.debian $ ./build/bin/ql-to-deb --help ./build/bin/ql-to-deb [ option ... ] command [ package ...] Options: --help -h boolean Show usage and exit. --version -V boolean Displays version and exit. --verbose -v boolean Be verbose. --fix-bugs -F boolean Fix packaging bugs. --config -c string configuration file. (default: #P"/vagrant/ql-to-deb.ini") --dir -D string where to build packages. (default: "/tmp/ql-to-deb/") --logs -L string where to write detailed logs. (default: "/tmp/ql-to-deb/logs/") --quicklisp -Q string URL to use to fetch quicklisp.txt main file (default: "http://beta.quicklisp.org/dist/quicklisp.txt") Commands: status Compare versions (debian sid, local, Quicklisp) check List packages that need building update Build either packages or all that need a build build Build either packages or all that need a build lint Run lintian on just built packages install Run dpkg -i on just built packages sign Run debsign on just built packages upload Run dput on just built packages