Interesting issue for kde-baseapps, Jenkins & kdesrc-build, proposed solution

Michael Pyne mpyne at kde.org
Sun Mar 10 21:04:05 GMT 2013


Hi all,

I would like to propose moving the kde-baseapps, kate, and konsole git modules 
to an alternative layout within the kde-projects repository, due to circular 
dependency issues.

For some background, the aforementioned modules have the following names and 
virtual layouts in kde-projects (the database):

kde-baseapps => kde/kde-baseapps
kate         => kde/kde-baseapps/kate
konsole      => kde/kde-baseapps/konsole

Logically speaking, you can see that it might seem that both kate and konsole 
depend on the kde-baseapps module.

As it turns out, the opposite is true, at least for kate: kate provides the 
text/plain KPart required to exercise the test suite for konqueror in kde-
baseapps, so recently Albert Astals Cid made the proper update to the 
dependency-data information used for Jenkins on build.kde.org, to make kde-
baseapps depend on kate.

The change is actually correct, but kdesrc-build has an implicit dependency in 
the opposite direction (kate depending on kde-baseapps) since kdesrc-build 
uses the same on-disk layout as it presented in the kde-projects database [1] 
(otherwise there would likely be 100+ directories in the source directory). 
Without this implicit dependency kdesrc-build would try to run git-clone of 
kde-baseapps into a non-empty source directory (since it would already contain 
kate), which git-clone treats as a fatal error.

Even without kdesrc-build adding this dependency, it is very strange for a 
"parent" module to depend on its child in general.

The easiest fix, as proposed by the sysadmins is to move the affected modules 
to a different virtual layout within kde-projects. Something like:

kde-baseapps => kde/$foo/kde-baseapps
kate         => kde/$foo/kate
konsole      => kde/$foo/konsole

where $foo == "applications" (as my proposal). This would be a new grouping 
and make it possible to fix the dependency issue cleanly, since there would 
only be sibling dependencies (which are far better IMHO than modules that are 
simultaneously git modules and logical parents of other git modules, like 
kdelibs is).

Other alternatives include splitting kate up in the various library/runtime-
support/application components but that's a lot of extra work for what is 
really just a kde-projects problem.

Does anyone have objections to the sysadmins realigning the 3 git modules in 
question? (And if so, I'd appreciate ideas for better ways to fix).

Regards,
 - Michael Pyne

[1] See kdesrc-build commit b48b7ed0db219f1d9e2b9cbb80b1be10fa238410;  
http://quickgit.kde.org/?p=kdesrc-build.git&a=commit&h=b48b7ed0db219f1d9e2b9cbb80b1be10fa238410
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20130310/d7948b95/attachment.sig>


More information about the kde-core-devel mailing list