> Delivery-Date: Thu, 03 Feb 2000 19:42:06 +0100
> Date: Thu, 3 Feb 2000 10:42:40 -0800
> From: donc@... (Don Cohen)
> CC: marcoxa@..., pvaneynd@..., stefan@...,
> Sender: clocc-devel-admin@...
> X-Mailman-Version: 1.1
> Precedence: bulk
> List-Id: <clocc-devel.lists.sourceforge.net>
> X-BeenThere: clocc-devel@...
> > Don> :system-version-tag ...
> > This is ok with me. However, from the user's viewpoint, how do he GET
> I think we have to separate the two problems of getting the files
> and building the result.
Ahem! I believe I said this think a few postings ago....
> I was assuming we had a way to get the right files and install them
> into a subdirectory that looks like part of clocc. I wanted defsystem
> to then be able to build the result starting from a database file with
> a defsystem form that describes what versions of everything to use.
This is an idea, *BUT* it would overload MK:DEFSYSTEM with a function
which you want to keep separate, as you just stated.
PRCS (http://xcf.berkeley.edu/prcs) works pretty much the way you
discuss, but the .prj file (the database you propose) although
human-readable and editable (and *almost* Lisp-like) is not good as a
'make-like' format. In fact, PRCS (and CVS) do not deal with system
Having said so, I'd favor something that would keep track of "system
version dependencies". But I believe that this is a cannot be easily
solved at the DEFSYSTEM level.
Suppose you were alloved to do something like
:version #<what is the format of a version tag?>
:depends-on ((:system "ZOT" :version #<xxxxx>)))
(First of all, note that I am against something like
(:file "zzz" :version #<wwww>)
especially in :depends-on clauses).
You immediatily open up the can of worms of how the actual location of
the system files and how you load them up must be handled. Right now
it is rather simple and understandable (see MK:*CENTRAL-REGISTRY*).
You propose to supersed this machinery with a full blown CVS or PRCS
Not that I am not against it, but
(1) what if you do not want the above functionality and just want a
(2) what if you want to plug in a different revision control system.
Now, you could "closify" MK:*CENTRAL-REGISTRY* and plug in different
implementations of your (cloned or reuse) revision control system, but
that is just an idea. I have no clues (yet) about how to proceed.
Moreover, even if you had this in place, you'd still have to figure
out how to do "configuration" management (admittedly a relitively
smaller problem for CL applications than other languages based ones).
> > that particular version. Would he have to know and understand CVS?
> > Or should there be tar files that he can download? The latter is
> > easier and just about everyone knows how to do that if the version
> > naming is reasonable.
> Of course, the same data has to also be used for getting the files.
> One possibiliy is that we can arrange to make a tar for this version
> and all the required versions of other systems. I don't know how to
> do that but it's clearly possible. It does need some new software
> that understands both our conventions for naming/building versions
> and how to retrieve these from cvs.
Everthing is possible.
> > *features* for CMUCL sent privately.
> When you send me features please specify all of
> implementation, implementation version, platform
> (and anything else on which features might depend).
> > killer-lisp-app-1.1.tar.gz would be better.
> That would be great. The cost, of course, is creating (and storing)
> the archive for each version you want to distribute.
That goes without saying. As a matter of fact I should prepare a
defsystem-3.2.interim.tar.gz and put it up for download.
> We might also want to support archives for individual systems, not
> including those they require, in order to save space and download time
> for people who already have most of the required systems. In that
> case we need to at least be able to tell the user what other system
> versions he needs. Alternatively, we could give him a way to load
> all the required systems separately and only create archives for
> single systems.
This is easy and doable right now.
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26