Issue with Discover on the Plasma/5.14 branch

Dan Leinir Turthra Jensen admin at leinir.dk
Tue Jan 22 11:33:05 GMT 2019


On Monday, 21 January 2019 20:20:24 GMT Nate Graham wrote:
> Hello folks,
> We have a non-ideal situation with Discover. Its package update
> functionality is broken for many users of Plasma 5.14 due to
> https://bugs.kde.org/show_bug.cgi?id=399981.
> 
> The fix requires:
> - Frameworks 5.54 for
> https://cgit.kde.org/attica.git/commit/?id=4c53ebade05a3961abb0c70549870ba74
> 9d90692 - Plasma 5.15 for
> https://cgit.kde.org/discover.git/commit/?id=7f6caf385809ce8c8087d8e56e9f3c6
> bd8c9170a
> 
> Unfortunately, because there are no more 5.14 bugfix releases scheduled,
> Plasma 5.14 users would be out of luck even if we could backport a
> version of that fix that didn't have any string changes.
> 
> Ideas regarding how to proceed? If we prepare a targeted
> string-change-less fix for 5.14.x, could we re-spin the tars for
> Discover to include it?
> 
> 
> Nate

So i've been poking about with this for a bit, and think i might have a 
workable proposal for a minimal fix to work around this problem:

Both Attica and KNewStuff are part of Frameworks, and so arguably can be 
considered a single entity for releasey/patchy purposes, so it seems to make 
sense to suggest the following. Even if it means introducing new Attica API, 
it doesn't introduce the much more invasive KNewStuff API, allowing the 
Discover patch to be fairly minimal as well.

Attica:
Pick this patch
https://cgit.kde.org/attica.git/commit/?
id=4c53ebade05a3961abb0c70549870ba749d90692

KNewStuff:
Pick this patch
https://cgit.kde.org/knewstuff.git/commit/?
id=4b6420596ca6a557591c24184a57b7985c77984e

Discover bits for KNSBackend.cpp's old error handler, removed in:
https://cgit.kde.org/discover.git/commit/?
id=7f6caf385809ce8c8087d8e56e9f3c6bd8c9170a

        if(error == QLatin1Literal("All categories are missing")
          || error == QLatin1Literal("Error initializing provider."
          || error.startsWith(QLatin1Literal("Loading of providers from 
file:")
          || error.startsWith(QLatin1Literal("Could not load get hot new stuff 
providers from file:")
          || error.startsWith(QLatin1Literal("Configuration file is invalid:")
          || error.startsWith(QLatin1Literal("Configuration file exists, but 
cannot be opened:")) {

It cannot be done purely on any error (as all errors go through this signal, 
including installation errors which should not invalidate the backend), so it 
needs to be handled per-message.

Optionally, we would also want to remove the i18n calls on the messages in 
KNewStuff, as otherwise this won't work for anyone who runs Discover in not-
US-English... This would also be a fairly simple thing to do, though these 
strings are translated because they are also user-facing in certain cases... 
In other words, there is no optimum solution to this problem that i can really 
see, but if we accept fault reduction over retaining translations, this would 
work.

-- 
..dan / leinir..
http://leinir.dk/




More information about the Plasma-devel mailing list