[clbuild-devel] Recursive search for dependencies
David Lichteblau
david at lichteblau.com
Tue Dec 16 18:30:20 UTC 2008
Quoting budden (budden-lisp at mail.ru):
> Am I right that "sh clbuild install/update system" will update only
> direct dependencies of that system and do not recurse dependency tree?
"clbuild install" doesn't install systems, it installs projects.
Projects can contain multiple systems. System dependencies are
transitive and acyclic; project dependencies are not necessarily
transitive and can be cyclic. Project dependencies always agree with
system dependencies if every project contains only one system.
Please refer to the FAQ at:
http://common-lisp.net/project/clbuild/#faq_dependency_details
[...]
> First of all, I think this feature should be noted at manual page,
> as most user would expect recursive behaviour. It is mentioned
> that "non-transitive dependency is not a bug", but it is only a weak
> hint.
Back then, I've given my best to explain this in the FAQ. I don't know
what else to write on the subject.
> Second, I made a workaround. It is a lisp program, which can be
> launched with
[...]
Please explain what your intention is.
If project FOO has a system file foo.asd, and you do
$ clbuild install foo
followed by
CL-USER> (asdf:operate 'asdf:load-op :foo)
the first step is meant to install all projects required for the second
step to work.
>From your mail I'm not sure whether you are
a) reporting a bug (i.e. our dependency guessing logic got something
wrong and the design goal above was violated)
or
b) requesting a feature (you think that the design goal above isn't
sufficient)
If you are reporting a bug, please explain for which project our
dependency file is incorrect (of course, a patch is even better).
If you are requesting a change in behaviour, I suggest a command line
argument (say, --follow-auxiliary-dependencies) that joins the
dependencies. This could be implemented in the shell script.
d.
More information about the clbuild-devel
mailing list