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

Faré fahree at gmail.com
Thu Feb 19 02:04:49 UTC 2015


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.

In the meantime, splice $PWD in your CL_SOURCE_REGISTRY, and
#.(subpathname *default-pathname-defaults* "foo/") in your
source-registry.conf.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
The word 'politics' is derived from the word 'poly' meaning 'many', and
the word 'ticks' meaning 'blood sucking parasites'.


On Wed, Feb 18, 2015 at 8:45 PM, Eitaro Fukamachi <e.arrows at gmail.com> wrote:
> Hi ASDF developers,
>
> I wanna ask a question about the specification of source-registry.
>
> ASDF doesn't allow relative pathnames in source-registry string
> intentionally.
> https://github.com/drmeister/asdf/blob/master/source-registry.lisp#L136
>
> It seems the line has long history, however, why it won't accept relative
> pathnames?
>
> I think it would be useful when adding the current working directory to the
> source registry like:
>
> # doesn't work
> CL_SOURCE_REGISTRY=. sbcl --eval '(princ (asdf:system-source-directory
> :myapp))'
>
> Thanks,
> Eitaro Fukamachi
>
> _______________________________________________
> Asdf-devel mailing list
> Asdf-devel at common-lisp.net
> https://mailman.common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
>




More information about the asdf-devel mailing list