Re: some preliminary patches
Daniel Barlow <[email protected]>
| Newsgroups | gmane.lisp.cclan.general |
|---|---|
| Message-ID | <[email protected]> |
Matthew Danish <[email protected]> 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