[SCM] KDE Discover packaging branch, master, updated. debian/5.7.4-1-7-g1ff8922

Matthias Klumpp mak at moszumanska.debian.org
Sat Nov 5 16:08:10 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/plasma/plasma-discover.git;a=commitdiff;h=37d76bc

The following commit has been merged in the master branch:
commit 37d76bc57203b0a8d238535243221761400df1a8
Author: Matthias Klumpp <mak at debian.org>
Date:   Sat Nov 5 15:15:07 2016 +0100

    new-appstreamqt.patch: Compile with recent AppStreamQt
---
 debian/control                          |   2 +-
 debian/patches/01_new-appstreamqt.patch | 254 ++++++++++++++++++++++++++++++++
 debian/patches/series                   |   1 +
 3 files changed, 256 insertions(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index 6dff902..cdf1fe4 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,7 @@ Build-Depends: cmake (>= 2.8.12),
                debhelper (>= 9),
                extra-cmake-modules (>= 5.16.0~),
                kio-dev (>= 5.16.0~),
-               libappstreamqt-dev (>= 0.9.2~),
+               libappstreamqt-dev (>= 0.10.3),
                libdebconf-kde-dev (>= 1.0.0),
                libkf5archive-dev,
                libkf5attica-dev (>= 5.23~),
diff --git a/debian/patches/01_new-appstreamqt.patch b/debian/patches/01_new-appstreamqt.patch
new file mode 100644
index 0000000..91b67d5
--- /dev/null
+++ b/debian/patches/01_new-appstreamqt.patch
@@ -0,0 +1,254 @@
+commit 5748ab0d65df220ce1e084939b07e32c676f853b
+Author: Matthias Klumpp <matthias at tenstral.net>
+Date:   Sat Nov 5 16:30:43 2016 +0100
+
+    Make Discover compile with newer AppStreamQt releases
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 48a9b77..c59d7ad 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -28,7 +28,15 @@ if (NOT packagekitqt5_FOUND)
+         find_package(KF5 REQUIRED IconThemes Notifications KIO)
+     endif()
+ endif()
+-find_package(AppstreamQt 0.10)
++
++find_package(AppStreamQt 0.10)
++set(AppStreamTarget "AppStreamQt")
++if (NOT AppStreamQt_FOUND)
++    find_package(AppstreamQt 0.10)
++    set(AppStreamTarget "AppstreamQt")
++    set(AppStreamQt_FOUND TRUE)
++endif()
++
+ find_package(KF5Attica 5.23)
+ find_package(KF5NewStuff 5.23)
+ 
+diff --git a/libdiscover/backends/CMakeLists.txt b/libdiscover/backends/CMakeLists.txt
+index 93497f6..8eb7365 100644
+--- a/libdiscover/backends/CMakeLists.txt
++++ b/libdiscover/backends/CMakeLists.txt
+@@ -20,7 +20,7 @@ if(BODEGA_FOUND)
+     add_subdirectory(BodegaBackend)
+ endif()
+ 
+-if(packagekitqt5_FOUND AND AppstreamQt_FOUND)
++if(packagekitqt5_FOUND AND AppStreamQt_FOUND)
+     add_subdirectory(PackageKitBackend)
+ endif()
+ 
+diff --git a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
+index 658019f..5256db3 100644
+--- a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
++++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
+@@ -19,8 +19,14 @@
+  ***************************************************************************/
+ 
+ #include "AppPackageKitResource.h"
++#ifdef NEWAPPSTREAM
++#include <AppStreamQt/icon.h>
++#include <AppStreamQt/screenshot.h>
++#include <AppStreamQt/image.h>
++#else
+ #include <AppstreamQt/screenshot.h>
+ #include <AppstreamQt/image.h>
++#endif
+ // #include <AppstreamQt/release.h>
+ #include <KLocalizedString>
+ #include <KToolInvocation>
+@@ -52,7 +58,23 @@ QString AppPackageKitResource::longDescription()
+ QVariant AppPackageKitResource::icon() const
+ {
+     QIcon ret;
+-
++#ifdef NEWAPPSTREAM
++    const auto icons = m_appdata.icons();
++    if (icons.isEmpty()) {
++        ret = QIcon::fromTheme(QStringLiteral("package-x-generic"));
++    } else foreach(const AppStream::Icon &icon, icons) {
++        switch(icon.kind()) {
++            case AppStream::Icon::KindLocal:
++                ret.addFile(icon.url().toLocalFile(), icon.size());
++                break;
++            case AppStream::Icon::KindCached:
++                ret.addFile(icon.url().toLocalFile(), icon.size());
++                break;
++            default:
++                break;
++        }
++    }
++#else
+     const auto icons = m_appdata.iconUrls();
+     if (icons.isEmpty())
+         return m_appdata.name();
+@@ -66,7 +88,7 @@ QVariant AppPackageKitResource::icon() const
+     if (ret.isNull()) {
+         ret = QIcon::fromTheme(QStringLiteral("package-x-generic"));
+     }
+-
++#endif
+     return ret;
+ }
+ 
+@@ -105,7 +127,11 @@ QString AppPackageKitResource::appstreamId() const
+ 
+ QUrl AppPackageKitResource::homepage()
+ {
++#ifdef NEWAPPSTREAM
++    return m_appdata.url(Appstream::Component::UrlKindHomepage);
++#else
+     return m_appdata.urls().value(Appstream::Component::UrlKindHomepage);
++#endif
+ }
+ 
+ bool AppPackageKitResource::isTechnical() const
+@@ -150,13 +176,20 @@ static QUrl screenshot(const Appstream::Component& comp, Appstream::Image::Kind
+ 
+ QUrl AppPackageKitResource::screenshotUrl()
+ {
++#ifdef NEWAPPSTREAM
++    return screenshot(m_appdata, Appstream::Image::KindSource);
++#else
+     return screenshot(m_appdata, Appstream::Image::Plain);
+-
++#endif
+ }
+ 
+ QUrl AppPackageKitResource::thumbnailUrl()
+ {
++#ifdef NEWAPPSTREAM
++    return screenshot(m_appdata, Appstream::Image::KindThumbnail);
++#else
+     return screenshot(m_appdata, Appstream::Image::Thumbnail);
++#endif
+ }
+ 
+ void AppPackageKitResource::fetchScreenshots()
+@@ -164,8 +197,13 @@ void AppPackageKitResource::fetchScreenshots()
+     QList<QUrl> thumbnails, screenshots;
+ 
+     Q_FOREACH (const Appstream::Screenshot &s, m_appdata.screenshots()) {
++#ifdef NEWAPPSTREAM
++        const QUrl thumbnail = imageOfKind(s.images(), Appstream::Image::KindThumbnail);
++        const QUrl plain = imageOfKind(s.images(), Appstream::Image::KindSource);
++#else
+         const QUrl thumbnail = imageOfKind(s.images(), Appstream::Image::Thumbnail);
+         const QUrl plain = imageOfKind(s.images(), Appstream::Image::Plain);
++#endif
+         if (plain.isEmpty())
+             qWarning() << "invalid screenshot for" << name();
+ 
+@@ -183,11 +221,15 @@ bool AppPackageKitResource::canExecute() const
+ 
+ QStringList AppPackageKitResource::findProvides(Appstream::Provides::Kind kind) const
+ {
++#ifdef NEWAPPSTREAM
++    return m_appdata.provided(kind).items();
++#else
+     QStringList ret;
+     Q_FOREACH (Appstream::Provides p, m_appdata.provides())
+         if (p.kind() == kind)
+             ret += p.value();
+     return ret;
++#endif
+ }
+ 
+ QStringList AppPackageKitResource::allPackageNames() const
+diff --git a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
+index 08d133d..4ec3681 100644
+--- a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
++++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
+@@ -24,6 +24,10 @@
+ #include "PackageKitResource.h"
+ #include "PackageKitBackend.h"
+ 
++#ifdef NEWAPPSTREAM
++namespace Appstream = AppStream;
++#endif
++
+ class AppPackageKitResource : public PackageKitResource
+ {
+     Q_OBJECT
+diff --git a/libdiscover/backends/PackageKitBackend/CMakeLists.txt b/libdiscover/backends/PackageKitBackend/CMakeLists.txt
+index e31ea86..cfebaff 100644
+--- a/libdiscover/backends/PackageKitBackend/CMakeLists.txt
++++ b/libdiscover/backends/PackageKitBackend/CMakeLists.txt
+@@ -10,7 +10,13 @@ add_library(packagekit-backend MODULE PackageKitBackend.cpp
+     PackageKitSourcesBackend.cpp
+     AppstreamReviews.cpp
+ )
+-target_link_libraries(packagekit-backend PRIVATE Discover::Common Qt5::Core PK::packagekitqt5 KF5::ConfigGui KF5::Service KF5::KIOWidgets KF5::Archive AppstreamQt)
++
++if (${AppStreamQt_VERSION} VERSION_LESS 0.10.3)
++    target_compile_definitions(packagekit-backend PRIVATE -DNEWAPPSTREAM=0)
++else()
++    target_compile_definitions(packagekit-backend PRIVATE -DNEWAPPSTREAM=1)
++endif()
++target_link_libraries(packagekit-backend PRIVATE Discover::Common Qt5::Core PK::packagekitqt5 KF5::ConfigGui KF5::Service KF5::KIOWidgets KF5::Archive ${AppStreamTarget})
+ 
+ install(TARGETS packagekit-backend DESTINATION ${PLUGIN_INSTALL_DIR}/discover)
+ install(FILES packagekit-backend.desktop DESTINATION ${DATA_INSTALL_DIR}/libdiscover/backends)
+diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
+index d2698e9..3f180e5 100644
+--- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
++++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
+@@ -54,7 +54,11 @@ PackageKitBackend::PackageKitBackend(QObject* parent)
+     , m_isFetching(0)
+     , m_reviews(new AppstreamReviews(this))
+ {
++#ifdef NEWAPPSTREAM
++    bool b = m_appdata.load();
++#else
+     bool b = m_appdata.open();
++#endif
+     if (!b) {
+         qWarning() << "Could not open the AppStream metadata pool";
+ 
+@@ -122,7 +126,11 @@ void PackageKitBackend::reloadPackageList()
+         disconnect(m_refresher.data(), &PackageKit::Transaction::finished, this, &PackageKitBackend::reloadPackageList);
+     }
+ 
++#ifdef NEWAPPSTREAM
++    const auto components = m_appdata.components();
++#else
+     const auto components = m_appdata.allComponents();
++#endif
+     QStringList neededPackages;
+     neededPackages.reserve(components.size());
+     foreach(const Appstream::Component& component, components) {
+@@ -343,7 +351,11 @@ AbstractResource* PackageKitBackend::resourceByPackageName(const QString& name)
+ 
+ QList<AbstractResource*> PackageKitBackend::searchPackageName(const QString& searchText)
+ {
++#ifdef NEWAPPSTREAM
++    const QList<Appstream::Component> components = m_appdata.search(searchText);
++#else
+     const QList<Appstream::Component> components = m_appdata.findComponentsByString(searchText, {});
++#endif
+     const QStringList ids = kTransform<QStringList>(components, [](const Appstream::Component& comp) { return comp.id(); });
+ 
+     return resourcesByPackageNames<QList<AbstractResource*>>(ids);
+diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
+index 7b8d3fb..562099e 100644
+--- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
++++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
+@@ -29,7 +29,18 @@
+ #include <QTimer>
+ #include <QSet>
+ #include <PackageKit/Transaction>
++
++#ifdef NEWAPPSTREAM
++#include <AppStreamQt/pool.h>
++#include <AppStreamQt/provided.h>
++namespace AppStream {
++    typedef Provided Provides;
++    typedef Pool Database;
++}
++namespace Appstream = AppStream;
++#else
+ #include <AppstreamQt/database.h>
++#endif
+ 
+ class AppstreamReviews;
+ class AppPackageKitResource;
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..aefd0f1
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+01_new-appstreamqt.patch

-- 
KDE Discover packaging



More information about the pkg-kde-commits mailing list