Dec 28

I recently pushed two new scripts to the KDE overlay to help with CMake-based ebuild creation and maintenance.

cmake_dep_check inspects all CMakeLists.txt files under the current directory and maps find_package calls to Gentoo packages.

cmake_ebuild_check builds on cmake_dep_check and produces a list of CMake dependencies that are not present in the ebuild (and optionally vice versa).

If you find it useful or run into any issues feel free to drop me a line.

Aug 28

Background

For those that are not already aware, KDE’s release structure has evolved. The familiar all-in-one release of KDE SC 4 has been split into three distinct components, each with their own release cycles – KDE Frameworks 5, KDE Plasma 5, and KDE Applications 5.

This means there’s no such thing as KDE 5!

KDE Frameworks 5

KDE Frameworks 5 is a collection of libraries upon which Plasma and Applications are built. Each framework is distinct in terms of functionality, allowing consumers to depend on smaller individual libraries. This has driven adoption in other Qt-based projects such as LXQt as they no longer have to worry about “pulling in KDE”.

We ship the latest version of KDE Frameworks 5 in the main tree, and plan to target it for stabilisation shortly.

KDE Plasma 5

KDE Plasma 5 is the next generation of the Plasma desktop environment. While some might not consider it as mature as Plasma 4, it is in a good state for general use and is shipped as stable by a number of other distributions.

We ship the latest version of KDE Plasma 5 in the main tree, and would expect to target it for stabilisation within a few months.

KDE Applications 5

KDE Applications 5 consists of the remaining applications and supporting libraries. Porting is gradual process, with each new major release containing more KF5-based and fewer KDE 4-based packages.

Unfortunately, current Applications releases are not entirely coherent – some packages have features that require unreleased dependencies, and some cannot be installed at the same time as others. This situation is expected to improve in future releases as porting efforts progress.

Because of this, it’s not possible to ship KDE Applications in its entirety. Rather, we are in the process of cherry-picking known-good packages into the main tree. We have not discussed any stabilisation plan yet.

Migrating

As Frameworks are just libraries, they are automatically pulled in as required by consuming packages, and no user intervention is required.

To upgrade to Plasma 5, please follow the upgrade guide. Unfortunately it’s not possible to have both Plasma 4 and Plasma 5 installed at the same time, due to an upstream design decision.

Applications appear in the tree as a regular version bump, so will upgrade automatically.

Ongoing KDE 4 support

Plasma 4 has reached end-of-life upstream, and no further releases are expected. As per usual, we will keep it for a reasonable time before removing it completely.

As each Applications upgrade should be invisible, there’s less need to retain old versions. It is likely that the existing policy of removing old shortly after stabilisation will continue.

What is this 15.08.0 stuff, or, why is it upgrading to KDE 5?

As described above, Applications are now released separately from Plasma, following a yy.mm.xx versioning scheme. This means that, regardless of whether they are KDE 4 or KF5-based, they will work correctly in both Plasma 4 and Plasma 5, or any other desktop environment.

It is the natural upgrade path, and there is no longer a “special relationship” between Plasma and Applications the way there was in KDE SC 4.

Feedback

As always, feedback is appreciated – especially during major transitions like this. Sharing your experience will help improve it for the next person, and substantial improvements have already been made made thanks to the contributions of early testers.

Feel free to file a bug, send a mail, or drop by #gentoo-kde for a chat any time. Thanks for flying Gentoo KDE!

Jun 06

tinderboxOne of the problems faced by the tinderbox of yesteryear is the picking information out of logs, as well as the reliance of one person to interpret the results. With this in mind, I’ve been doing some work to improve accessibility of this data and have produced a tinderbox interface.

A Portage bashrc (based on the original work by Diego Elio Pettenò) collects QA information about builds, and stores it in individual files to make it easier to operate on – eliminating a lot of the need to parse logs.

You’ll notice the interface lists all packages – not just those with a recent build. This allows for a central location to report static analysis information from tools such as repoman and pkgcore-checks. Other lesser-known tools are supported, with experimental reporting of sub-slot candidates and automated dependency checking.

What’s next? I’d like to add ways to find packages beyond the usual category breakdown – such as by maintainer or builds by architecture. There’s more build-time checks to add, and I’m sure there’s other static analysis tools out there too. I don’t personally have the resources to build packages at the scale seen previously, so last but of course not least, more building power is needed. Fortunately, it’s quite easy to collate the tinderbox data from multiple sources so we may be able to ‘crowd-source’ if necessary.

As always, comments/feedback/suggestions welcome.

May 20

As you may have heard, the KDE release structure is evolving. The process is already well under way, with the second beta of the reusable KDE frameworks and first beta of the next-generation Plasma workspace already released.

Please note that while usable, Plasma Next is definitely not yet ready for production. For the adventurous, everything needed can be found in the KDE overlay.

If you do decide to try it out, feel free to file bugs, send pull requests, or just drop us a line on mail/irc with your feedback. It’s definitely appreciated, and numerous improvements have already been made thanks to efforts of our users.

Otherwise, enjoy the screenshot and stay tuned for the next release.

plasma-next

Jan 29

I recently added app-misc/asciinema to the tree, a tool used to record and share terminal sessions. Everything is text-based, so it’s much more lightweight than video recording approaches.

Let me know if you do anything useful with it. 🙂

ASCII Solitaire