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