4 Jun 2002 19:26
Re: some preliminary patches
Daniel Barlow <dan <at> telent.net>
2002-06-04 17:26:26 GMT
2002-06-04 17:26:26 GMT
Matthew Danish <mdanish <at> andrew.cmu.edu> writes:
> I have attached some patches which contain my recent modifications to
> asdf and cclan.lisp. They aren't really well cleaned up, or finished for
> that matter, but I (ok, dan) thought it would be a good idea to discuss
> the changes before committing them.
>
> asdf:
> * exported some symbols
This stuff is fine and can be committed right away.
> cclan:
> * uses properties now to determine .deb file contents
> :mk-defsystem-source-file indicates the .system file to be used by c-l-c
> :licence-file indicates this file to be installed as the licence
> :installable indicates that this file is to be installed according to its
> place in the system's hierarchy. Currently only files marked by one of
> these above 3 get installed. The old method was to install only cl-
> source-files, but that wouldn't do for other sorts of things. Perhaps
> there should be a :not-installable property instead?
> :postinst-commands are commands to be inserted in the postinst file.
> Bit of a hack, but I needed it for something. Must be a way of making
> this better?
Some points:
1) unless you already know that these properties will be directly
useful to packages for other systems, please prepend debian- or deb-
or something onto the property names.
2) "according to its place in the system's hierarchy" sounds kind of
vague to me.
My guess for what needs installing where is
source-file -> /usr/share/common-lisp/sources/package/
doc-file -> /usr/share/doc/package/
module : process recursively
Anything else: well, what else _is_ there?
The attributes for debian-licence-file, debian-changelog-file, etc
are applied to doc-file components and cause special things to
happen
Where does this break down? :installable on every file is kind of
icky, especially as I don't see what's likely to be in the package
that you _don't_ want to install somewhere
3) The semantics of the existing asdf :licence attribute (on SYSTEM)
are unspecified as far as I know, but I was envisaging that it would
be a string or a pathname: if a string, try it first as a "well-known"
licence name (on a Debian box we could try it for matches against the
filenames in /usr/share/common-licenses/), if that fails then treat it
as a pathname designator for the actual license file. The license
file should also be a component itself, of course, otherwise it'll get
missed out of packages.
Does that obviate the need for a Debian-specific licence-file property?
4) How feasible would it be to generate a (dummy) mk-defsystem file
for use with clc instead of requiring upstream to write two system
definitions? (This is an interim measure until someone can be
persusaded to make clc work with asdf directly anyway)
(make:defsystem foo
(:initially-do
(load "/some/standard/path/to/asdf")
(asdf:operate 'asdf:load-op 'foo)))
or something. Probably needs to intern the asdf symbols at runtime,
but you get the idea.
Thanks!
-dan
--
--
http://ww.telent.net/cliki/ - Link farm for free CL-on-Unix resources
_______________________________________________________________
Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm
RSS Feed