[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Cyclic dependency, please fix
> : > Otherwise, go to ../../devel/p5-Module-Build and install from
> : > there to fulfill this dependency.
> : I'm sorry, but you skipped 'perl>=5.10'. Why?
> I used the part after the colon, which is what is used when building
> the dependency from source. What I skipped is everything before the
> colon, since I used that in determining if a suitable package is
> already installed.
I'll try to describe why this recently introduced cyclic
dependency is the problem.
distbb algorithm (in short):
1) Using external pkg_src_summary(1) utility a summary is built for all
packages in a tree or for requested packages with their dependencies.
Summary includes PKGNAME, PKGPATH, DEPENDS and BUILD_DEPENDS fields.
2) Using this summary distbb builds a dependency graph.
In this graph an arc (A,B) means package A should be built before
Dependency graph is built using DEPENDS and BUILD_DEPENDS fields and
distbb uses only the part after `:' separator.
3) External utility paexec(1) gives this graph on input and distributes
tasks over cluster or chroots. paexec, run on master node, also
collects results from all client hosts/chroots and ... etc.
4) <The rest is not significant here.>
I don't know how pbulk and bbf work but algorithm of distbb is very
simple and worked for me for one year
(distbb is developped for one year now).
After "fixing" pkg/xxx pkgsrc becomes broken and I don't see any reason
for this. As I already said it is possible to build dependency graph
using the part before `:' too searching for PKGBASE=perl in the full
src_summary but this makes the algorithm overcomplecated and adds extra
bloat to the code.
Alternative dependencies themself are not a big problem. The problem is
that only one ../../devel/p5-Module-Build is present in DEPENDS fields
for both "perl" and "p5-Module-Build" and it is unknown to which package
this ../../devel/p5-Module-Build corresponds.
Best regards, Aleksey Cheusov.
Main Index |
Thread Index |