OK, so I've put in the archives/ directory of asdf a few tarballs. See: http://common-lisp.net/project/asdf/archives/
The driver is in asdf-driver-2.26.118.tar.gz, which has only the general-purpose utilities. I minimally tested that loading it on top of 2.26 doesn't make 2.26 obviously not work. I'll fix backward incompatibility bugs when found. Remember: "If it's not backwards, it's not compatible". The solution is to promptly rename any function the semantics of which clashes.
The defsystem is in asdf-defsystem-2.26.118.tar.gz, which includes a bootstrapped asdf.lisp in addition to the defsystem-specific sources.
And an archive of the git repo plus a bootstrapped asdf.lisp is in asdf-2.26.118.tar.gz.
It's all build through a lisp script. Lisp scripting is so much more run than shell scripting, and it's easier than ever to do in a portable way thanks to asdf-driver and inferior-shell. See bin/asdf-builder for my "canonical" example.
I've finally debugged the CLISP upgrade, an issue with magic symbols for setf-functions.
Featurewise, there a now debugged and somewhat tested mini-language ensure-pathname. POIU was debugged, and its deferred-warning support was moved to asdf-driver, though not yet used in asdf-defsystem.
I devised a convention for putting multiple defsystems in a same file, with asdf being able to find all of them without ambiguity: foo.asd can contain system foo, foo/bar, foo/bar/baz, foo/quux, etc. This won't work on an old asdf, but going forward, you will be able to do that. asdf.asd itself already uses this trick to define asdf/defsystem.
logical pathnames get weirder. If you're crazy enough to use them in your source-registry, the files will be loaded as logical pathnames, at least on some implementations that don't translate-logical-pathname their *load-pathname*. You get what you're asking for. The central-registry keeps using probe-file, which will resolve to a truename.
I'm peddling a new operation 'build-op which should do "the default thing for this system", whatever that be. For asdf/defsystem, it's not load-op, it's concatenate-source-op.
At Stelian Ionescu's request, I implemented a :read-file-form way to point defsystem to a form that contains the version of a system or component. As an extension to what he requested, the form doesn't have to be the first in the file, but you can define a path of accessors to go grab the version number. For instance, POIU has (:read-file-form "poiu.lisp" :path (1 2 2)) which means the 3rd element of the third element of the second form (yay English having an off-by-one bug).
Less bugginess, more features. ASDF is not a "Lisp with batteries included" by far, but it is growing enough spare battery energy to let you go grab the bigger batteries.
The downside is it's bigger. The upside is that it's as many redundant libraries that you don't have to write and/or import on top of it, and it really makes Lisp scripting easier.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org To have a right to do a thing is not at all the same as to be right in doing it. — G.K. Chesterton