[Asdf-devel] Why won't accept relative pathnames in source-registry?

Robert P. Goldman rpgoldman at sift.net
Thu Feb 19 02:55:58 UTC 2015


Faré wrote:
> Isn't it allowed because it's never clear what directory they are
> relative to, considering that the user may have changed the getcwd()
> arbitrarily between startup and asdf parsing the source-registry
> configuration, which would cause "interesting" subtle bugs, that I
> wanted to avoid — including security issues if a binary written in
> Lisp ever loads systems at runtime and examines a carefully crafted
> directory.
> 
> I suppose there's a case for allowing relative names, making them
> relative to the configuration file when in a configuration file
> (though that's not a common use case at all), and relative to
> *default-pathname-defaults* when in an environment string, leaving the
> user full responsibility to avoid subtle bugs. I'm not the one to
> convince anymore, though. Ask Robert. If he agrees with you, I'll
> gladly help with the required modifications to ASDF.

Actually, this feature is already available, I believe, through the
:HERE directive in the configuration language.

This was something we added for the case that I found common, where
there would be a project directory tree, with all the required code in
subdirectories, and a master configuration file at the root.*

Have a look at that and see if it does what you want.

Cheers,
r

* In practice, we create these trees by checking a project out from svn.
We'd have all the required libraries, in stable versions, included as
svn externals.




More information about the asdf-devel mailing list