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

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, 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).

- Michael Pyne

[1] See kdesrc-build commit b48b7ed0db219f1d9e2b9cbb80b1be10fa238410;
<a href=";a=commit&amp;h=b48b7ed0db219f1d9e2b9cbb80b1be10fa238410" title=";a=commit&amp;h=b48b7ed0db219f1d9e2b9cbb80b1be10fa238410">;a=commit&amp;h=b48b7ed0db219f1d9...</a>


Re: Interesting issue for kde-baseapps, Jenkins & kdesrc-build,

By Christoph Cullmann at 03/11/2013 - 03:16

I would have no problem with moving kate.git around, splitting is IMHO
a pain for later developing on it, as all parts are tightly coupled anyway.


Re: Interesting issue for kde-baseapps, Jenkins & kdesrc-build,

By Ben Cooksley at 03/12/2013 - 03:38

Hi all,

On Mon, Mar 11, 2013 at 8:16 PM, Christoph Cullmann < ... at absint dot com> wrote:
Just a note that we now have a policy against any future modules being
in a similar situation such as this one.
Only historical modules will have this issue.

Please note that the actual location of kate.git (on will
not be affected in any way by this.
It only affects the module structure.


Re: Interesting issue for kde-baseapps, Jenkins & kdesrc-build,

By Michael Pyne at 03/12/2013 - 20:08

On Tuesday, March 12, 2013 20:38:30 Ben Cooksley wrote:
Given the lack of opposition I have submitted a KDE Sysadmin bug [1] to
request the move.

I will update dependency-data and kdesrc-build after the move is complete.

[1] <a href="" title=""></a>

- Michael Pyne

Re: Interesting issue for kde-baseapps, Jenkins & kdesrc-build,

By Ben Cooksley at 03/12/2013 - 22:32

On Wed, Mar 13, 2013 at 1:08 PM, Michael Pyne < ... at kde dot org> wrote:
This has now been completed. The dependency data and
have both been updated for this change.