[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