[asdf-devel] Old revisions of ASDF in the wild.

Robert Goldman rpgoldman at sift.info
Fri Oct 1 03:14:45 UTC 2010


On 9/30/10 Sep 30 -7:53 PM, Faré wrote:
> Which legacy versions of ASDF should we support?
> 
> Xach and/or one of his users had trouble with ASDF from SBCL 1.0.38.
> # git show sbcl_1_0_38:contrib/asdf/asdf.lisp > /tmp/asdf-from-sbcl-1.0.38.lisp
> # sha1sum /tmp/asdf-from-sbcl-1.0.38.lisp
> fd7eab8cd8e5eaeb34264896d62a8bb3847b4d00
> 
> We can identify which revision this came from with:
> # git log sbcl_1_0_38 -- contrib/asdf/asdf.lisp
> It was 1.0.29.50 by nikodemus which claims to have imported it from git.
> Of course, whichever revision is latest in asdf.git at that point was
> not in master when nikodemus pulled, and
> # for i in $(git rev-list HEAD -- asdf.lisp) ; do echo "$i $(git show
> "$i":asdf.lisp | sha1sum)" ; done | grep
> fd7eab8cd8e5eaeb34264896d62a8bb3847b4d00
> replies nothing. How come we can't see the same version anywhere in
> the asdf git repo?
> Let's find the version with least differences...
> # for i in $(git rev-list HEAD -- asdf.lisp) ; do echo "$i $(git show
> "$i":asdf.lisp | diff -uab - /tmp/asdf-from-sbcl-1.0.38.lisp | grep
> '^[+-]' | wc -l)" ; done | sort -k2 | head -n 1
> 3ef18cd49ef82c6a2dd92034972019721458d22c 0
> What, no difference? Yeah, it's SBCL whitespace canonicalization at work.
> So the good version was a commit by gwking on 2009-06-09.
> 
> I'm too lazy to do anything systematic about it right now, but I
> wanted to record that for posterity. Maybe at some point I'll scum
> around the SBCL sources and try to extract a few versions of ASDF that
> we may want to support. Are there any other implementations than SBCL,
> ECL and ABCL that used to distribute copies of ASDF? We may want to do
> something similar, and integrate that in our test suite.
> 
> Now to make sure that upgrades work from ALL these versions, before we
> release 2.009... soupirs (le sigh).
> 

What do we mean by "support"?  I /think/ I understand: since all of our
ASDF versions are intended to be compatible, what we mean by supported
is that it should be possible to successfully upgrade all of these
versions to the latest release.  Is that correct?

I claim also that we only need to worry about supporting (in this sense)
ASDF versions that have been bundled with an implementation.  If you
have a version of ASDF that's not bundled with your implementation, then
you can simply replace it --- it doesn't need to be hot-patched.

Does this sound right?

Best,
r





More information about the asdf-devel mailing list