TheBlindCow

2 April 2014

New git repositories structure: The KDE workspaces

Filed under: bluesystems,KDE,me,Software Libre — apol @ 1:33 am

I know most of you have been following the upcoming Plasma Next release with interest, there’s lots of work being done, and as usual, most of it happens under the surface.

I would like to talk today about the new repository structure we have been working on during the last weeks: Splitting the kde-workspace and kde-runtime repositories.

What did we use to have, so far?

What we have now is mostly an evolution of what KDE ever was, only that after many iterations, especially given the long history we’ve been through, since the Kool Desktop environment days, in CVS back then. Since then, concepts have changed, the community has progressed and ultimately, the projects we’re offering have evolved a great deal.
Nowadays our workspaces are built around the kde-workspace repository which is a subset of what kdebase once was. It contains the code relative to the shell, System Settings, kinfocenter, KWin and other components, even some libraries.

Note that some of these are big components, some are small, some are part of Plasma Active, some aren’t. This had different implications, for example: Plasma Active depends on having the desktop environment installed, repository-wise, so does KWin need to have systemsettings installed, etc.

What will we have now?

We chopped kde-workspace into several chunks. We separated what’s specific to our desktop users and what can be independent components, trying to make sure that we end up with manageable projects rather than a bag of surprises. This leaves us a clean outline of what projects we are working on, while still letting us figure out what is part of a project and what isn’t.

This is all glued together by the dependency-data files, where we specify what project depends on what project within KDE. This means both and compile-time and runtime. The dependency-data files will start gaining relevance as it suggests, what does it mean to have a full Plasma Desktop installed or, for example, a full KDevelop. *

What does this mean?

Depending on how you look at it, nothing changes. I would like to highlight some points though, of what I think will have the most impact.

  • Simpler to modify and deploy the components. Some of our components are more complex than others. Now you can modify System Settings without pulling a full KWin.
  • Easily follow your favorite projects. Now you’ll be able to follow the commits in a specific project (See the “Follow this project” check in a project page). This should increase peer review for people interested in a project but concerned about receiving noise on the inbox.
  • Simpler to reach the components. Now it’s easier to figure out where the System Settings are, given that you can find them in projects.kde.org right away.

I hope you’ll be as excited as I am, hopefully by joining the development team and helping us create a wonderfully awesome Plasma Next release.

* This opens the possibility to review what’s extragear and what’s KDE SC roles, it will be an interesting discussion.

6 Comments »

  1. That’s pretty cool. The dependency files sound like simplified ebuilds :) Speaking of ebuilds, this should allow for lighter, more customised KDE installs, which is awesome.

    Comment by GreatEmerald — 2 April 2014 @ 8:20 am

  2. Nice move that the projects can be developed more independently now :) The dependency files sound like something which should be handled by the build system?.. For Java maven does exactly what you are (trying) to do with the dependency file. Isn’t cmake capable of something like this? Or is the file an addition to the cmake dependency descriptions?

    Comment by friesoft — 3 April 2014 @ 12:59 pm

  3. #2 Not really, cmake checks if the dependencies are there, but doesn’t fetch them. We have a kde-src-build tool though, for installing a said project together with all its dependencies.

    Comment by apol — 3 April 2014 @ 1:21 pm

  4. Nice! Must have been a lot of effort both on the admins’ and devs’ side.

    Is there enough time and / or people to add descriptions to the newly-added smaller projects on projects.kde.org? That makes sense for (relative) newcomers to KDE or those unfamiliar with the mechanics of the split.

    Comment by isemenov — 5 April 2014 @ 7:37 pm

  5. #2 It would definitely be a good idea.

    Also help is welcome!

    Comment by apol — 6 April 2014 @ 12:04 am

  6. Howdy just wanted to give you a quick heads up. The
    words in your content seem to be running off the screen in Chrome.

    I’m not sure if this is a format issue or something to do with
    web browser compatibility but I thought I’d post to
    let you know. The design look great though! Hope you get the problem resolved soon. Many thanks

    Comment by Télécharger — 18 June 2014 @ 7:38 am

RSS feed for comments on this post. TrackBack URI

Leave a comment

Powered by WordPress