What KDE would like distributions to do
Luca Beltrame
lbeltrame at kde.org
Mon Mar 21 09:27:29 GMT 2016
In data domenica 20 marzo 2016 21:46:43 CET, Thomas Pfeiffer ha scritto:
Hey Thomas,
> we have now collected what we think distributions can do to make our
> software shine, and here is what we were able to come up with:
This is mine, and openSUSE's KDE team view on it.
> - No downstream patching, if possible
> - If it's strictly necessary, we'd very much appreciate it if it was
> together with a bug report on https://bugs.kde.org - If you can develop a
This assumes that patching is done to "fix" KDE software somehow. While this is
true in some regards, it needs clarification. At least in openSUSE, we have two
kinds of patches that *may* be applied to our packages:
- Upstream patches: these are backports of fixes that have been already
submitted upstream but not part of an official release yet, or for a newer
version that hasn't been backported yet (see below on why). Examples include
the Qt patch for the infamous kded5 deadlock with Qt 5.6.
- openSUSE specific patches: these are mostly "integration" patches, like
providing compiler flags, correct library locations, and/or stuff that allows
the software to coexist in the distribution(s) as a whole. I used the plural
because we support multiple distributions out of a single package definition
(yes, formally incorrect, but you get the point ;)
We've been trying to keep the latter patches to a minimum, also because they
have a maintenance cost.
> fix for a problem yourself, that's great, but please offer it upstream
At least in our case, we do it already: all the major packagers in openSUSE
have KDE contributor accounts and have been submitting fixes upstream since a
while. And if not submitting fixes, at least pestering developers if things
break (hello Plasma people, do you remember me with multiscreen issues? ;) so
that changes end up upstream.
> Respect release cycles. If you are able to synchronize your release
> schedule with ours, that would be ideal - Most optional dependencies are
In openSUSE's case, it depends on which angle you look at it:
- Tumbleweed has generally no problem, because newer versions are submitted as
they're available. It may take a bit to arrive to users (see below on
"testing" to understand why) but this is done in a timely manner.
- Leap has 1 year release cycle and it's marked as a "stable" release,
therefore it should stay a little more static software-wise (tried-and-
tested). That said, we *may* (and we already did) provide updated versions of
the KDE sofware stack via the so-called maintenance updates. IOW, it's
possible, but it's at our discretion.
> because of non-linux platforms
> - We expect Linux distributions to fulfill them
Then new dependencies should be communicated in advance, or when the tarballs
are made ready for a new (beta) release. Sometimes it's guesswork, or checking
the CMake output, which is not ideal with automated build systems.
> - Recompile plasma-integration/frameworks-integration on every Qt update
> (and any other software using private Qt API)
This is already done or I wouldn't have my CJK input working. ;)
> Testing
> - Please Test stuff systematically, not just a quick unstructured "Let's use
> the new release ourselves for a while and see if it breaks" kind of test -
That's the best part in openSUSE, we have this covered. ;) openQA does a range
of "normal" desktop tests, from login to launching a number of applications,
and compares the result with previously stored "good" conditions. It's been an
excellent resource to bring software into openSUSE.
In the case of Tumbleweed, openQA is also run before publishing a new
snapshot: so, in case something breaks (openQA tests a lot of things, not only
KDE software), the snapshot publishing is delayed, hence sometimes it may take
a while for updates to reach users. ("A while" is in worst-cases usually a
week).
One topic that I would like to mention is that the changes in artwork in
Plasma have been large for every release, and this breaks the testing because
of course, looks change. So perhaps visual changes like theming should be
properly communicated.
In addition to automated testing, most of the KDE team runs the latest Plasma,
Frameworks, and Applications code from master. This helped us finding and fixing
issues before they reach users.
> Look and Feel
> visuals. Please use them if possible. - If you want to create your own
> themes, we'd encourage you to discuss your changes with the VDG to ensure
At least for openSUSE, you have to bear in mind that we are shipping
*multiple* desktops, and they should have at least a coherent branding.
Therefore we can't give KDE software a preferential treatment.
Nevertheless, for a number of reasons, we're using upstream branding in Plasma
at the moment.
> If visual changes are provided, store them into a Look and Feel package so
> the user is able to easily switch from the distro default one to the
> upstream default one (Breeze) and vice versa
That's what we used to do.
> - Graphics drivers are very important for a comfortable Plasma experience.
> Make sure they're correctly set up.
openSUSE Tumbleweed has the latest X11/Mesa available when released.
Unfortunately that doesn't mean there aren't driver regressions (hello, Intel
driver!).
> System Settings
> - Do not ship your own KCMs if they mostly duplicate or replace existing
While not a "KCM" per se, the openSUSE way to configure the distro is YaST,
which has an entry in System Settings. Since YaST is used to configure things
in a distro-neutral way, it's going to stay there. And while it can certainly
duplicate some functions (the fonts module, for example), we think it's a
small price to pay.
> KWallet
> - Configure your display manager to be able to unlock the default wallet via
> PAM (see
This should be aleady done.
> Discover
> - Make sure Appstream information is properly pupulated in your
> distribution. - Make sure PackageKit is properly set up. It's possible to
We actually provide AppStream information in our packages, and the integration
is there. However, there are differences between the "regular" AppStream
specification and what GNOME uses (and we also ship GNOME), so things are
sometimes more complicated than what it seems at first.
> have a different backend, besides PackageKit, but it's not the recommended
> solution, for maintainability.
We have a PackageKit backend for libzypp, which is the solution to handle
package management in openSUSE, and we use plasma-pk-updates (software
maintained in KDE git) to provide updates to users.
--
Luca Beltrame - KDE Forums team
KDE Science supporter
GPG key ID: A29D259B
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/distributions/attachments/20160321/13d89a7e/attachment.sig>
More information about the Distributions
mailing list