New location for KNSRC files

Authored by leinir on Mar 14 2019, 10:12 AM.

Description

New location for KNSRC files

This introduces a cmake variable in KNewStuffCore which contains
a KDEInstallDirs based location for our knsrc files, and further
adds functionality to fetch search locations from KNewStuff.

A fallback is currently included, as we have to be able to work
with older software. We also unfortunately cannot properly mark
anything as deprecated, as there previously was no API for this,
but rather a basic instruction to just install knsrc files in
the system configuration directory (instructions which
previously not even a part of the API docs, which this patch
also addresses). The code was written with future deprecation in
mind, and we can at that time simply remove the configuration
fallback options and the functionality it holds.

Rationale:
This change is being made on request from various distributions,
as the current install location for knsrc files is causing a
great many issues during the distribution update cycle which
means we are left with stale knsrc files in various places.
This in turn causes a great many issues, particularly for
Discover which has suffered crashes and other strange side
effects when attempting to use these stale files (some of which
attempt to access servers which almost-but-not-quite respond).
Discover has workarounds for some of these, but it is becoming
more than a little awkward, and being able to manage this a
little more tightly would come in very handy indeed.

Differential Revision: https://phabricator.kde.org/D19338

Details

Committed
leinirMar 14 2019, 10:12 AM
Differential Revision
D19338: New location for KNSRC files
Parents
R304:20870ce8cc79: [knewstuff] make it compile without foreach
Branches
Unknown
Tags
Unknown