Circular dependency in kde-build-metadata

Michael Pyne mpyne at kde.org
Wed May 13 02:10:22 UTC 2015


On Mon, May 4, 2015 13:51:52 Daniel Vrátil wrote:
> Hi,
> 
> commit a5f6c247d99db3a3f565f5fa8d1346420e5a892c ("frameworksintegration
> tests want oxygen-fonts") in kde-build-metadata has introduced a circular
> dependency between frameworkintegration and oxygen, leading to
> 
> $ kdesrc-build --refresh-build kf5 plasma5
>  * Downloading projects.kde.org project database...
> Updating kde-build-metadata (to branch master)
> Somehow there is a dependency cycle involving
> frameworks/frameworkintegration!
> :( at /home/dvratil/devel/KDE/kdesrc-build/modules/ksb/DependencyResolver.pm
> 
> line 390.
> ...
> 
> I reverted the commit locally and kdesrc-build is happy now, but I don't
> know how to fix it properly since there is no record about oxygen-fonts in
> the metadata, only oxygen depending on frameworkintegration so I don't know
> where that is really coming from (maybe kde/workspace/oxygen is matched as
> a wildcard, matching kde/workspace/oxygen-fonts too? I don't know...)

I'm seeing this really late, but my educated guess is indeed that a wildcarded 
rule is interfering here.

In fact the one that's *probably* tripping is that all kde/* modules depend on 
kf5umbrella, which is a virtual dependency on all frameworks/* modules, 
including frameworks/frameworkintegration. This would cause 
kde/workspace/oxygen-fonts to automatically depend on 
frameworks/frameworkintegration, and the manual rule in reverse is then a 
cyclic dependency.

It should be possible to add a "negative" dependency to manually break the 
dependency of kf5umbrella on frameworks/frameworkintegration. If it works I'll 
go ahead and commit.

Regards,
 - Michael Pyne


More information about the Kde-frameworks-devel mailing list