[asdf-devel] version numbers

Daniel Herring dherring at tentpost.com
Fri Aug 7 03:06:30 UTC 2009


ASDF has a poorly-defined versioning system.

I thought the following link may be of general interest.
http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/

There sure are many ways to mess this up.  I'm not convinced there are any 
ways to not mess it up.

Related links
http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
http://stackoverflow.com/questions/663209/can-someone-explain-about-linux-library-naming
http://www.linux.com/archive/feature/45507?theme=print



Given the way ASDF is used today and the rapidly changing ABI of many CL 
implementations, binary compatibility is a nonexistant issue.  Today's CL 
cares rather about compile-time compatibility.

Either way, I almost think the correct solution is to say
- each library release will have a unique version number
- each library release will have a list of old version numbers for which 
it is upwards compatible
- each dependent library or application will list which versions it was 
developed for
- the "linker" (require or asdf) selects the newest version compatible 
with the version specified by the dependent

This is similar to the libtool scheme, but using general data structures 
rather than trying to encode everything into the filename.  How would asdf 
respond to two files named X.asd?  It doesn't scan all such files looking 
for the most recent version, does it?

(end rambling)
- Daniel




More information about the asdf-devel mailing list