kde-plasma

This commit is contained in:
Rmys
2025-01-21 15:46:21 +03:00
parent 366d8c1820
commit 4a2b60c149
135 changed files with 3886 additions and 23672 deletions
+6 -6
View File
@@ -4,18 +4,18 @@
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import kde5
from pisi.actionsapi import kde6
from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools
def setup():
#shelltools.system("sed -i 's|5.11.0|5.10.0|g' CMakeLists.txt")
kde5.configure()
kde6.configure()
def build():
kde5.make()
kde6.make()
def install():
kde5.install()
pisitools.dosym("/usr/lib/plasma-discover/libDiscoverNotifiers.so", "usr/lib/libDiscoverNotifiers.so")
pisitools.dosym("/usr/lib/plasma-discover/libDiscoverCommon.so", "usr/lib/libDiscoverCommon.so")
kde6.install()
pisitools.dosym("/usr/lib/plasma-discover/libdiscoverNotifiers.so", "usr/lib/libdiscoverNotifiers.so")
pisitools.dosym("/usr/lib/plasma-discover/libdiscoverCommon.so", "usr/lib/libdiscoverCommon.so")
@@ -0,0 +1,599 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 31460a6d5..89cee3182 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -31,7 +31,7 @@ find_package(KF5 ${KF5_MIN_VERSION} REQUIRED CoreAddons Config Crash DBusAddons
find_package(KF5Kirigami2 2.7.0)
find_package(packagekitqt5 1.0.1 CONFIG)
-find_package(AppStreamQt 0.15.3 CONFIG REQUIRED)
+find_package(AppStreamQt5 1.0 CONFIG REQUIRED)
find_package(KF5Attica 5.23 CONFIG)
find_package(KF5NewStuff 5.53 CONFIG)
@@ -85,7 +85,7 @@ set_package_properties(packagekitqt5 PROPERTIES
URL "https://www.freedesktop.org/software/PackageKit/"
PURPOSE "Required to build the PackageKit backend"
TYPE OPTIONAL)
-set_package_properties(AppStreamQt PROPERTIES
+set_package_properties(AppStreamQt5 PROPERTIES
DESCRIPTION "Library that lists Appstream resources"
URL "https://www.freedesktop.org"
PURPOSE "Required to build the PackageKit, Flatpak and Snap backends"
diff --git a/libdiscover/appstream/AppStreamUtils.cpp b/libdiscover/appstream/AppStreamUtils.cpp
index 94f030c9d..c2080c17a 100644
--- a/libdiscover/appstream/AppStreamUtils.cpp
+++ b/libdiscover/appstream/AppStreamUtils.cpp
@@ -7,11 +7,11 @@
#include "AppStreamUtils.h"
#include "utils.h"
-#include <AppStreamQt/pool.h>
-#include <AppStreamQt/release.h>
-#include <AppStreamQt/screenshot.h>
-#include <AppStreamQt/spdx.h>
-#include <AppStreamQt/version.h>
+#include <AppStreamQt5/pool.h>
+#include <AppStreamQt5/release.h>
+#include <AppStreamQt5/screenshot.h>
+#include <AppStreamQt5/spdx.h>
+#include <AppStreamQt5/version.h>
#include <Category/Category.h>
#include <KLocalizedString>
#include <QDebug>
@@ -35,10 +35,20 @@ QUrl AppStreamUtils::imageOfKind(const QList<AppStream::Image> &images, AppStrea
QString AppStreamUtils::changelogToHtml(const AppStream::Component &appdata)
{
- if (appdata.releases().isEmpty())
+#if ASQ_CHECK_VERSION(1, 0, 0)
+ const auto releases = appdata.releasesPlain();
+#else
+ const auto releases = appdata.releases();
+#endif
+ if (releases.isEmpty()) {
return {};
+ }
- const auto release = appdata.releases().constFirst();
+#if ASQ_CHECK_VERSION(1, 0, 0)
+ const auto release = releases.indexSafe(0).value();
+#else
+ const auto release = releases.constFirst();
+#endif
if (release.description().isEmpty())
return {};
@@ -49,7 +59,7 @@ QString AppStreamUtils::changelogToHtml(const AppStream::Component &appdata)
Screenshots AppStreamUtils::fetchScreenshots(const AppStream::Component &appdata)
{
- const auto appdataScreenshots = appdata.screenshots();
+ const auto appdataScreenshots = appdata.screenshotsAll();
Screenshots ret;
ret.reserve(appdataScreenshots.size());
for (const AppStream::Screenshot &s : appdataScreenshots) {
@@ -131,10 +141,10 @@ QString AppStreamUtils::versionString(const QString &version, const AppStream::C
if (version.isEmpty()) {
return {};
} else {
- if (appdata.releases().isEmpty())
+ if (appdata.releasesPlain().isEmpty())
return version;
- auto release = appdata.releases().constFirst();
+ auto release = appdata.releasesPlain().indexSafe(0).value();
if (release.timestamp().isValid() && version.startsWith(release.version())) {
QLocale l;
return i18n("%1, released on %2", version, l.toString(release.timestamp().date(), QLocale::ShortFormat));
@@ -256,7 +266,7 @@ QList<AppStream::Component> AppStreamUtils::componentsByCategories(AppStream::Po
{
QList<AppStream::Component> ret;
for (const auto &categoryName : cat->involvedCategories()) {
- ret += pool->componentsByCategories({categoryName});
+ ret += pool->componentsByCategories({categoryName}).toList();
}
kRemoveDuplicates(ret, kind);
return ret;
diff --git a/libdiscover/appstream/AppStreamUtils.h b/libdiscover/appstream/AppStreamUtils.h
index 383e55aa8..906bd327a 100644
--- a/libdiscover/appstream/AppStreamUtils.h
+++ b/libdiscover/appstream/AppStreamUtils.h
@@ -6,9 +6,9 @@
#pragma once
-#include <AppStreamQt/component.h>
-#include <AppStreamQt/image.h>
-#include <AppStreamQt/pool.h>
+#include <AppStreamQt5/component.h>
+#include <AppStreamQt5/image.h>
+#include <AppStreamQt5/pool.h>
#include <QColor>
#include <QList>
#include <QUrl>
diff --git a/libdiscover/backends/CMakeLists.txt b/libdiscover/backends/CMakeLists.txt
index bd3a03256..c2e0ec12d 100644
--- a/libdiscover/backends/CMakeLists.txt
+++ b/libdiscover/backends/CMakeLists.txt
@@ -8,11 +8,11 @@ function(add_unit_test name)
Qt::Test Qt::Core ${EXTRA_LIBS})
endfunction()
-if(KF5Attica_FOUND AND KF5NewStuff_FOUND AND AppStreamQt_FOUND)
+if(KF5Attica_FOUND AND KF5NewStuff_FOUND AND AppStreamQt5_FOUND)
add_subdirectory(KNSBackend)
endif()
-if(packagekitqt5_FOUND AND AppStreamQt_FOUND)
+if(packagekitqt5_FOUND AND AppStreamQt5_FOUND)
add_subdirectory(PackageKitBackend)
endif()
@@ -22,10 +22,10 @@ if(BUILD_DummyBackend)
endif()
option(BUILD_FlatpakBackend "Build Flatpak support" "ON")
-if(Flatpak_FOUND AND AppStreamQt_FOUND AND BUILD_FlatpakBackend)
+if(Flatpak_FOUND AND AppStreamQt5_FOUND AND BUILD_FlatpakBackend)
add_subdirectory(FlatpakBackend)
elseif(BUILD_FlatpakBackend)
- message(WARNING "BUILD_FlatpakBackend enabled but Flatpak=${Flatpak_FOUND} or AppStreamQt=${AppStreamQt_FOUND} not found")
+ message(WARNING "BUILD_FlatpakBackend enabled but Flatpak=${Flatpak_FOUND} or AppStreamQt=${AppStreamQt5_FOUND} not found")
endif()
find_package(Snapd)
@@ -41,7 +41,7 @@ if(BUILD_SteamOSBackend)
endif()
option(BUILD_SnapBackend "Build Snap support." "ON")
-if(BUILD_SnapBackend AND AppStreamQt_FOUND AND Snapd_FOUND)
+if(BUILD_SnapBackend AND AppStreamQt5_FOUND AND Snapd_FOUND)
add_subdirectory(SnapBackend)
endif()
diff --git a/libdiscover/backends/FlatpakBackend/CMakeLists.txt b/libdiscover/backends/FlatpakBackend/CMakeLists.txt
index eac5a3241..905f2ee7f 100644
--- a/libdiscover/backends/FlatpakBackend/CMakeLists.txt
+++ b/libdiscover/backends/FlatpakBackend/CMakeLists.txt
@@ -15,7 +15,7 @@ set(flatpak-backend_SRCS
add_library(flatpak-backend MODULE ${flatpak-backend_SRCS})
target_link_libraries(flatpak-backend Qt::Core Qt::Widgets Qt::Concurrent KF5::CoreAddons KF5::ConfigCore KF5::KIOGui Discover::Common AppStreamQt PkgConfig::Flatpak)
-if (AppStreamQt_VERSION VERSION_GREATER 0.14.6)
+if (AppStreamQt5_VERSION VERSION_GREATER 0.14.6)
target_compile_definitions(flatpak-backend PRIVATE -DAPPSTREAM_NEW_POOL_API)
endif()
diff --git a/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp b/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp
index 99488469b..2471bb8f0 100644
--- a/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp
+++ b/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp
@@ -20,12 +20,12 @@
#include <resources/StandardBackendUpdater.h>
#include <utils.h>
-#include <AppStreamQt/bundle.h>
-#include <AppStreamQt/icon.h>
-#include <AppStreamQt/metadata.h>
-#include <AppStreamQt/pool.h>
-#include <AppStreamQt/release.h>
-#include <AppStreamQt/version.h>
+#include <AppStreamQt5/bundle.h>
+#include <AppStreamQt5/icon.h>
+#include <AppStreamQt5/metadata.h>
+#include <AppStreamQt5/pool.h>
+#include <AppStreamQt5/release.h>
+#include <AppStreamQt5/version.h>
#include <KAboutData>
#include <KConfigGroup>
@@ -159,18 +159,19 @@ public:
QList<AppStream::Component> componentsByName(const QString &name)
{
- QList<AppStream::Component> comps = m_pool->componentsById(name);
- if (!comps.isEmpty())
- return comps;
+ auto comps = m_pool->componentsById(name);
+ if (!comps.isEmpty()) {
+ return comps.toList();
+ }
comps = m_pool->componentsByProvided(AppStream::Provided::KindId, name);
- return comps;
+ return comps.toList();
}
QList<AppStream::Component> componentsByFlatpakId(const QString &ref)
{
#if ASQ_CHECK_VERSION(0, 16, 0)
- QList<AppStream::Component> comps = m_pool->componentsByBundleId(AppStream::Bundle::KindFlatpak, ref, false);
+ QList<AppStream::Component> comps = m_pool->componentsByBundleId(AppStream::Bundle::KindFlatpak, ref, false).toList();
#else
QList<AppStream::Component> comps = m_pool->components();
comps = kFilter<QList<AppStream::Component>>(comps, [&ref](const AppStream::Component &component) {
@@ -181,7 +182,7 @@ public:
if (!comps.isEmpty())
return comps;
- comps = m_pool->componentsByProvided(AppStream::Provided::KindId, ref.section('/', 1, 1));
+ comps = m_pool->componentsByProvided(AppStream::Provided::KindId, ref.section('/', 1, 1)).toList();
return comps;
}
@@ -274,7 +275,11 @@ static std::optional<AppStream::Metadata> metadataFromBytes(GBytes *appstreamGz,
gconstpointer data = g_bytes_get_data(appstream, &len);
AppStream::Metadata metadata;
+#if ASQ_CHECK_VERSION(0, 16, 0)
+ metadata.setFormatStyle(AppStream::Metadata::FormatStyleCatalog);
+#else
metadata.setFormatStyle(AppStream::Metadata::FormatStyleCollection);
+#endif
AppStream::Metadata::MetadataError error = metadata.parse(QString::fromUtf8((char *)data, len), AppStream::Metadata::FormatKindXml);
if (error != AppStream::Metadata::MetadataErrorNoError) {
qWarning() << "Failed to parse appstream metadata: " << error;
@@ -479,7 +484,7 @@ FlatpakResource *FlatpakBackend::getAppForInstalledRef(FlatpakInstallation *inst
g_autoptr(GBytes) metadata = flatpak_installed_ref_load_appdata(ref, 0, 0);
if (metadata) {
auto meta = metadataFromBytes(metadata, m_cancellable);
- comps = meta->components();
+ comps = meta->components().toList();
}
}
@@ -626,7 +631,7 @@ void FlatpakBackend::addAppFromFlatpakBundle(const QUrl &url, ResultsStream *str
return;
}
- const QList<AppStream::Component> components = metadata->components();
+ const QList<AppStream::Component> components = metadata->components().toList();
if (components.size()) {
asComponent = components.first();
} else {
@@ -777,7 +782,11 @@ AppStream::Component fetchComponentFromRemote(const QSettings &settings, GCancel
AppStream::Pool pool;
#ifdef APPSTREAM_NEW_POOL_API
pool.setLoadStdDataLocations(false);
+#if ASQ_CHECK_VERSION(0, 16, 0)
+ pool.addExtraDataLocation(appstreamLocation, AppStream::Metadata::FormatStyleCatalog);
+#else
pool.addExtraDataLocation(appstreamLocation, AppStream::Metadata::FormatStyleCollection);
+#endif
#else
pool.clearMetadataLocations();
pool.addMetadataLocation(appstreamLocation);
@@ -795,7 +804,7 @@ AppStream::Component fetchComponentFromRemote(const QSettings &settings, GCancel
}
// TODO optimise, this lookup should happen in libappstream
- auto comps = pool.components();
+ auto comps = pool.components().toList();
comps = kFilter<QList<AppStream::Component>>(comps, [name, branch](const AppStream::Component &component) {
const QString id = component.bundle(AppStream::Bundle::KindFlatpak).id();
// app/app.getspace.Space/x86_64/stable
@@ -1079,7 +1088,11 @@ void FlatpakBackend::createPool(QSharedPointer<FlatpakSource> source)
#ifdef APPSTREAM_NEW_POOL_API
pool->setLoadStdDataLocations(false);
+#if ASQ_CHECK_VERSION(0, 16, 0)
+ pool->addExtraDataLocation(appstreamDirPath, AppStream::Metadata::FormatStyleCatalog);
+#else
pool->addExtraDataLocation(appstreamDirPath, AppStream::Metadata::FormatStyleCollection);
+#endif
#else
pool->clearMetadataLocations();
pool->addMetadataLocation(appstreamDirPath);
@@ -1558,11 +1571,11 @@ ResultsStream *FlatpakBackend::search(const AbstractResourcesBackend::Filters &f
for (const auto &source : qAsConst(m_flatpakSources)) {
QList<FlatpakResource *> resources;
if (source->m_pool) {
- const auto a = !filter.search.isEmpty() ? source->m_pool->search(filter.search)
+ const auto a = !filter.search.isEmpty() ? source->m_pool->search(filter.search).toList()
#if ASQ_CHECK_VERSION(0, 15, 6)
: filter.category ? AppStreamUtils::componentsByCategories(source->m_pool, filter.category, AppStream::Bundle::KindFlatpak)
#endif
- : source->m_pool->components();
+ : source->m_pool->components().toList();
resources = kTransform<QList<FlatpakResource *>>(a, [this, &source](const auto &comp) {
return resourceForComponent(comp, source);
});
diff --git a/libdiscover/backends/FlatpakBackend/FlatpakBackend.h b/libdiscover/backends/FlatpakBackend/FlatpakBackend.h
index 66188095a..878965bfc 100644
--- a/libdiscover/backends/FlatpakBackend/FlatpakBackend.h
+++ b/libdiscover/backends/FlatpakBackend/FlatpakBackend.h
@@ -14,7 +14,7 @@
#include <QVariantList>
#include <resources/AbstractResourcesBackend.h>
-#include <AppStreamQt/component.h>
+#include <AppStreamQt5/component.h>
#include "flatpak-helper.h"
diff --git a/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp b/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp
index 7ed905ead..1af8c9e3f 100644
--- a/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp
+++ b/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp
@@ -13,9 +13,11 @@
#include <Transaction/AddonList.h>
-#include <AppStreamQt/icon.h>
-#include <AppStreamQt/screenshot.h>
-#include <AppStreamQt/utils.h>
+#include <AppStreamQt5/developer.h>
+#include <AppStreamQt5/icon.h>
+#include <AppStreamQt5/screenshot.h>
+#include <AppStreamQt5/utils.h>
+#include <AppStreamQt5/version.h>
#include <appstream/AppStreamUtils.h>
#include <KConfigGroup>
@@ -24,7 +26,7 @@
#include <KIO/ApplicationLauncherJob>
#include <KLocalizedString>
-#include <AppStreamQt/release.h>
+#include <AppStreamQt5/release.h>
#include <QDebug>
#include <QDesktopServices>
#include <QDir>
@@ -113,7 +115,11 @@ QList<PackageState> FlatpakResource::addonsInformation()
QString FlatpakResource::availableVersion() const
{
if (m_availableVersion.isEmpty()) {
+#if ASQ_CHECK_VERSION(1, 0, 0)
+ const auto releases = m_appdata.releasesPlain().entries();
+#else
const auto releases = m_appdata.releases();
+#endif
if (!releases.isEmpty()) {
auto latestVersion = releases.constFirst().version();
for (const auto &release : releases) {
@@ -649,8 +655,13 @@ QUrl FlatpakResource::url() const
QDate FlatpakResource::releaseDate() const
{
- if (!m_appdata.releases().isEmpty()) {
- auto release = m_appdata.releases().constFirst();
+#if ASQ_CHECK_VERSION(1, 0, 0)
+ if (!m_appdata.releasesPlain().isEmpty()) {
+ auto release = m_appdata.releasesPlain().indexSafe(0).value();
+#else
+ if (const auto releases = m_appdata.releases(); !releases.isEmpty()) {
+ auto release = releases.constFirst();
+#endif
return release.timestamp().date();
}
@@ -673,7 +684,7 @@ QString FlatpakResource::sourceIcon() const
QString FlatpakResource::author() const
{
- QString name = m_appdata.developerName();
+ QString name = m_appdata.developer().name();
if (name.isEmpty()) {
name = m_appdata.projectGroup();
@@ -711,8 +722,13 @@ QString FlatpakResource::versionString()
if (ref) {
version = flatpak_installed_ref_get_appdata_version(ref);
}
+#if ASQ_CHECK_VERSION(1, 0, 0)
+ } else if (!m_appdata.releasesPlain().isEmpty()) {
+ const auto release = m_appdata.releasesPlain().indexSafe(0).value();
+#else
} else if (!m_appdata.releases().isEmpty()) {
- auto release = m_appdata.releases().constFirst();
+ const auto release = m_appdata.releases().constFirst();
+#endif
version = release.version();
} else {
version = m_id.branch;
diff --git a/libdiscover/backends/FlatpakBackend/FlatpakResource.h b/libdiscover/backends/FlatpakBackend/FlatpakResource.h
index 06e1b030a..648b6a5a7 100644
--- a/libdiscover/backends/FlatpakBackend/FlatpakResource.h
+++ b/libdiscover/backends/FlatpakBackend/FlatpakResource.h
@@ -12,7 +12,7 @@
#include "FlatpakPermission.h"
#include "flatpak-helper.h"
-#include <AppStreamQt/component.h>
+#include <AppStreamQt5/component.h>
#include <QAbstractItemModel>
#include <QPixmap>
diff --git a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
index 510266dfd..740127879 100644
--- a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
+++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
@@ -6,10 +6,12 @@
#include "AppPackageKitResource.h"
#include "utils.h"
-#include <AppStreamQt/icon.h>
-#include <AppStreamQt/image.h>
-#include <AppStreamQt/release.h>
-#include <AppStreamQt/screenshot.h>
+#include <AppStreamQt5/developer.h>
+#include <AppStreamQt5/icon.h>
+#include <AppStreamQt5/image.h>
+#include <AppStreamQt5/release.h>
+#include <AppStreamQt5/screenshot.h>
+#include <AppStreamQt5/version.h>
#include <KLocalizedString>
#include <KService>
#include <PackageKit/Daemon>
@@ -236,8 +238,13 @@ QString AppPackageKitResource::versionString()
QDate AppPackageKitResource::releaseDate() const
{
+#if ASQ_CHECK_VERSION(1, 0, 0)
+ if (!m_appdata.releasesPlain().isEmpty()) {
+ const auto release = m_appdata.releasesPlain().indexSafe(0).value();
+#else
if (!m_appdata.releases().isEmpty()) {
- auto release = m_appdata.releases().constFirst();
+ const auto release = m_appdata.releases().constFirst();
+#endif
return release.timestamp().date();
}
@@ -246,7 +253,7 @@ QDate AppPackageKitResource::releaseDate() const
QString AppPackageKitResource::author() const
{
- QString name = m_appdata.developerName();
+ QString name = m_appdata.developer().name();
if (name.isEmpty()) {
name = m_appdata.projectGroup();
diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
index 6902318a3..f713b9036 100644
--- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
+++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
@@ -13,9 +13,10 @@
#include "PKTransaction.h"
#include "PackageKitSourcesBackend.h"
#include "PackageKitUpdater.h"
-#include <AppStreamQt/release.h>
-#include <AppStreamQt/utils.h>
-#include <AppStreamQt/version.h>
+#include <AppStreamQt5/release.h>
+#include <AppStreamQt5/systeminfo.h>
+#include <AppStreamQt5/utils.h>
+#include <AppStreamQt5/version.h>
#include <appstream/AppStreamIntegration.h>
#include <appstream/AppStreamUtils.h>
#include <appstream/OdrsReviewsBackend.h>
@@ -309,12 +310,16 @@ void PackageKitBackend::reloadPackageList()
}
acquireFetching(false);
- const QList<AppStream::Component> distroComponents = m_appdata->componentsById(AppStream::Utils::currentDistroComponentId());
+ const auto distroComponents = m_appdata->componentsById(AppStream::SystemInfo::currentDistroComponentId());
if (distroComponents.isEmpty()) {
- qWarning() << "no component found for" << AppStream::Utils::currentDistroComponentId();
+ qWarning() << "no component found for" << AppStream::SystemInfo::currentDistroComponentId();
}
- for (const AppStream::Component &dc : distroComponents) {
+ for (const auto list = distroComponents.toList(); const AppStream::Component &dc : list) {
+#if ASQ_CHECK_VERSION(1, 0, 0)
+ const auto releases = dc.releasesPlain().entries();
+#else
const auto releases = dc.releases();
+#endif
for (const auto &r : releases) {
int cmp = AppStream::Utils::vercmpSimple(r.version(), AppStreamIntegration::global()->osRelease()->versionId());
if (cmp == 0) {
@@ -552,7 +557,7 @@ QList<AppStream::Component> PackageKitBackend::componentsById(const QString &id)
if (comps.isEmpty()) {
comps = m_appdata->componentsByProvided(AppStream::Provided::KindId, id);
}
- return comps;
+ return comps.toList();
}
static const auto needsResolveFilter = [](AbstractResource *res) {
@@ -698,13 +703,15 @@ ResultsStream *PackageKitBackend::search(const AbstractResourcesBackend::Filters
if (!stream) {
return;
}
- const auto components = !filter.search.isEmpty() ? m_appdata->search(filter.search)
-#if ASQ_CHECK_VERSION(0, 15, 6)
- : filter.category ? AppStreamUtils::componentsByCategories(m_appdata.get(),
- filter.category,
- AppStream::Bundle::KindUnknown)
-#endif
- : m_appdata->components();
+ QList<AppStream::Component> components;
+ if (!filter.search.isEmpty()) {
+ components = m_appdata->search(filter.search).toList();
+ } else if (filter.category) {
+ components = AppStreamUtils::componentsByCategories(m_appdata.get(), filter.category, AppStream::Bundle::KindUnknown);
+ } else {
+ components = m_appdata->components().toList();
+ }
+
const QSet<QString> ids = kTransform<QSet<QString>>(components, [](const AppStream::Component &comp) {
return comp.id();
});
diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
index d9a5fd824..93899450b 100644
--- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
+++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
@@ -7,7 +7,7 @@
#pragma once
#include "PackageKitResource.h"
-#include <AppStreamQt/pool.h>
+#include <AppStreamQt5/pool.h>
#include <PackageKit/Transaction>
#include <QFile>
#include <QPointer>
diff --git a/libdiscover/backends/PackageKitBackend/PackageKitResource.cpp b/libdiscover/backends/PackageKitBackend/PackageKitResource.cpp
index 8bdaec395..c7e2c0077 100644
--- a/libdiscover/backends/PackageKitBackend/PackageKitResource.cpp
+++ b/libdiscover/backends/PackageKitBackend/PackageKitResource.cpp
@@ -10,7 +10,7 @@
#include "PackageKitMessages.h"
#include "appstream/AppStreamUtils.h"
#include "config-paths.h"
-#include <AppStreamQt/spdx.h>
+#include <AppStreamQt5/spdx.h>
#include <KIO/ApplicationLauncherJob>
#include <KLocalizedString>
#include <KService>
diff --git a/libdiscover/backends/RpmOstreeBackend/RpmOstreeBackend.cpp b/libdiscover/backends/RpmOstreeBackend/RpmOstreeBackend.cpp
index 6e1528be4..eb06b6510 100644
--- a/libdiscover/backends/RpmOstreeBackend/RpmOstreeBackend.cpp
+++ b/libdiscover/backends/RpmOstreeBackend/RpmOstreeBackend.cpp
@@ -10,8 +10,8 @@
#include "Transaction/TransactionModel.h"
-#include <AppStreamQt/release.h>
-#include <AppStreamQt/utils.h>
+#include <AppStreamQt5/release.h>
+#include <AppStreamQt5/utils.h>
#include <Category/Category.h>
#include <KLocalizedString>
#include <appstream/AppStreamIntegration.h>
@@ -316,7 +316,7 @@ void RpmOstreeBackend::lookForNextMajorVersion()
}
// Look at releases to see if we have a new major version available.
- const QList<AppStream::Component> distroComponents = m_appdata->componentsById(distroId);
+ const auto distroComponents = m_appdata->componentsById(distroId);
if (distroComponents.isEmpty()) {
qWarning() << "rpm-ostree-backend: No component found for" << distroId;
return;
@@ -324,8 +324,12 @@ void RpmOstreeBackend::lookForNextMajorVersion()
QString currentVersion = AppStreamIntegration::global()->osRelease()->versionId();
QString nextVersion;
- for (const AppStream::Component &dc : distroComponents) {
+ for (const auto list = distroComponents.toList(); const AppStream::Component &dc : list) {
+#if ASQ_CHECK_VERSION(1, 0, 0)
+ const auto releases = dc.releasesPlain().entries();
+#else
const auto releases = dc.releases();
+#endif
for (const auto &r : releases) {
// Only look at stable releases unless development mode is enabled
if ((r.kind() != AppStream::Release::KindStable) && !m_developmentEnabled) {
diff --git a/libdiscover/backends/RpmOstreeBackend/RpmOstreeBackend.h b/libdiscover/backends/RpmOstreeBackend/RpmOstreeBackend.h
index 8ceed1af1..ea0a07c6f 100644
--- a/libdiscover/backends/RpmOstreeBackend/RpmOstreeBackend.h
+++ b/libdiscover/backends/RpmOstreeBackend/RpmOstreeBackend.h
@@ -14,7 +14,7 @@
#include <resources/AbstractResourcesBackend.h>
#include <resources/StandardBackendUpdater.h>
-#include <AppStreamQt/pool.h>
+#include <AppStreamQt5/pool.h>
#include <QTimer>
class DiscoverAction;
@@ -0,0 +1,193 @@
From dc67ef22f47b9e8b46d668b811982f33600f1aae Mon Sep 17 00:00:00 2001
From: Aleix Pol <aleixpol@kde.org>
Date: Wed, 10 Nov 2021 01:55:56 +0100
Subject: [PATCH] flatpak: Do not include the resource type in the
FlatpakResource::Id
Otherwise we couldn't make sure that idForInstalledRef() was coherent
with FlatpakResource::uniqueId().
In the end it's not a problem, it's not like we can have an app and
runtime with the same name.
(cherry picked from commit 614450b3ee9175fb16f068af505fb59ed27e6697)
---
.../FlatpakBackend/FlatpakBackend.cpp | 25 ++++++++-----------
.../FlatpakBackend/FlatpakResource.cpp | 12 ++++-----
.../backends/FlatpakBackend/FlatpakResource.h | 7 +++---
3 files changed, 19 insertions(+), 25 deletions(-)
diff --git a/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp b/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp
index 012817ef9..6727b0227 100644
--- a/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp
+++ b/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp
@@ -149,8 +149,7 @@ QDebug operator<<(QDebug debug, const FlatpakResource::Id &id)
QDebugStateSaver saver(debug);
debug.nospace() << "FlatpakResource::Id(";
debug.nospace() << "name:" << id.id << ',';
- debug.nospace() << "branch:" << id.branch << ',';
- debug.nospace() << "type:" << id.type;
+ debug.nospace() << "branch:" << id.branch;
debug.nospace() << ')';
return debug;
}
@@ -162,7 +161,6 @@ static FlatpakResource::Id idForRefString(const QStringView &ref)
auto parts = ref.split('/');
// app/app.getspace.Space/x86_64/stable
return {
- parts[0] == QLatin1String("app") ? FlatpakResource::DesktopApp : FlatpakResource::Runtime,
parts[1].toString(),
parts[3].toString(),
parts[2].toString(),
@@ -178,7 +176,7 @@ static FlatpakResource::Id idForInstalledRef(FlatpakInstalledRef *ref, const QSt
const QString arch = QString::fromUtf8(flatpak_ref_get_arch(FLATPAK_REF(ref)));
const QString branch = QString::fromUtf8(flatpak_ref_get_branch(FLATPAK_REF(ref)));
- return {appType, appId, branch, arch};
+ return {appId, branch, arch};
}
FlatpakBackend::FlatpakBackend(QObject *parent)
@@ -350,25 +348,20 @@ QString refToBundleId(FlatpakRef *ref)
FlatpakResource *FlatpakBackend::getAppForInstalledRef(FlatpakInstallation *installation, FlatpakInstalledRef *ref) const
{
- auto id = idForInstalledRef(ref, {});
- for (const auto &source : m_flatpakSources) {
- auto ret = source->m_resources.value(id);
+ const QString origin = QString::fromUtf8(flatpak_installed_ref_get_origin(ref));
+ auto source = findSource(installation, origin);
+ if (source) {
+ auto ret = source->m_resources.value(idForInstalledRef(ref, {}));
if (ret) {
return ret;
}
- }
- auto id2 = idForInstalledRef(ref, QStringLiteral(".desktop"));
- for (const auto &source : m_flatpakSources) {
- auto ret = source->m_resources.value(id2);
+ ret = source->m_resources.value(idForInstalledRef(ref, QStringLiteral(".desktop")));
if (ret) {
return ret;
}
}
const QLatin1String name(flatpak_ref_get_name(FLATPAK_REF(ref)));
-
- const QString origin = QString::fromUtf8(flatpak_installed_ref_get_origin(ref));
- auto source = findSource(installation, origin);
const QString pathExports = FlatpakResource::installationPath(installation) + QLatin1String("/exports/");
const QString pathApps = pathExports + QLatin1String("share/applications/");
AppStream::Component cid;
@@ -413,6 +406,8 @@ FlatpakResource *FlatpakBackend::getAppForInstalledRef(FlatpakInstallation *inst
resource->updateFromRef(FLATPAK_REF(ref));
resource->setState(AbstractResource::Installed);
source->addResource(resource);
+
+ Q_ASSERT(resource->uniqueId() == idForInstalledRef(ref, {}) || resource->uniqueId() == idForInstalledRef(ref, {".desktop"}));
return resource;
}
@@ -445,7 +440,7 @@ FlatpakResource *FlatpakBackend::getRuntimeForApp(FlatpakResource *resource) con
for (const auto &source : m_flatpakSources) {
for (auto it = source->m_resources.constBegin(), itEnd = source->m_resources.constEnd(); it != itEnd; ++it) {
const auto &id = it.key();
- if (id.type == FlatpakResource::Runtime && id.id == runtimeInfo.at(0) && id.branch == runtimeInfo.at(2)) {
+ if ((*it)->resourceType() == FlatpakResource::Runtime && id.id == runtimeInfo.at(0) && id.branch == runtimeInfo.at(2)) {
runtime = *it;
break;
}
diff --git a/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp b/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp
index 8f6b25575..7419dcee7 100644
--- a/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp
+++ b/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp
@@ -41,7 +41,7 @@ static QString iconCachePath(const AppStream::Icon &icon)
FlatpakResource::FlatpakResource(const AppStream::Component &component, FlatpakInstallation *installation, FlatpakBackend *parent)
: AbstractResource(parent)
, m_appdata(component)
- , m_id({FlatpakResource::DesktopApp, component.id(), QString(), QString()})
+ , m_id({component.id(), QString(), QString()})
, m_downloadSize(0)
, m_installedSize(0)
, m_propertyStates({{DownloadSize, NotKnownYet}, {InstalledSize, NotKnownYet}, {RequiredRuntime, NotKnownYet}})
@@ -122,7 +122,7 @@ QString FlatpakResource::branch() const
bool FlatpakResource::canExecute() const
{
- return (m_id.type == DesktopApp && (m_state == AbstractResource::Installed || m_state == AbstractResource::Upgradeable));
+ return (m_type == DesktopApp && (m_state == AbstractResource::Installed || m_state == AbstractResource::Upgradeable));
}
void FlatpakResource::updateFromRef(FlatpakRef *ref)
@@ -241,7 +241,7 @@ int FlatpakResource::installedSize() const
AbstractResource::Type FlatpakResource::type() const
{
- switch (m_id.type) {
+ switch (m_type) {
case FlatpakResource::Runtime:
return Technical;
case FlatpakResource::Extension:
@@ -381,12 +381,12 @@ AbstractResource::State FlatpakResource::state()
FlatpakResource::ResourceType FlatpakResource::resourceType() const
{
- return m_id.type;
+ return m_type;
}
QString FlatpakResource::typeAsString() const
{
- switch (m_id.type) {
+ switch (m_type) {
case FlatpakResource::Runtime:
case FlatpakResource::Extension:
return QLatin1String("runtime");
@@ -528,7 +528,7 @@ void FlatpakResource::setState(AbstractResource::State state)
void FlatpakResource::setType(FlatpakResource::ResourceType type)
{
- m_id.type = type;
+ m_type = type;
}
QString FlatpakResource::installationPath() const
diff --git a/libdiscover/backends/FlatpakBackend/FlatpakResource.h b/libdiscover/backends/FlatpakBackend/FlatpakResource.h
index 7cf0022d7..364857950 100644
--- a/libdiscover/backends/FlatpakBackend/FlatpakResource.h
+++ b/libdiscover/backends/FlatpakBackend/FlatpakResource.h
@@ -55,7 +55,6 @@ public:
Q_ENUM(FlatpakFileType)
struct Id {
- FlatpakResource::ResourceType type;
const QString id;
QString branch;
QString arch;
@@ -66,8 +65,7 @@ public:
bool operator==(const Id &other) const
{
return &other == this
- || (other.type == type //
- && other.id == id //
+ || (other.id == id //
&& other.branch == branch //
&& other.arch == arch //
);
@@ -183,11 +181,12 @@ private:
AbstractResource::State m_state;
FlatpakInstallation *const m_installation;
QString m_origin;
+ FlatpakResource::ResourceType m_type = DesktopApp;
};
inline uint qHash(const FlatpakResource::Id &key)
{
- return qHash(key.type) ^ qHash(key.id) ^ qHash(key.branch) ^ qHash(key.arch);
+ return qHash(key.id) ^ qHash(key.branch) ^ qHash(key.arch);
}
#endif // FLATPAKRESOURCE_H
--
GitLab
+41 -621
View File
@@ -1,3 +1,4 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "https://pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
@@ -13,7 +14,7 @@
<Icon>plasmadiscover</Icon>
<Summary>KDE and Plasma resources management GUI</Summary>
<Description>KDE and Plasma resources management GUI</Description>
<Archive sha1sum="ac2597d3b7de8a4acb8d96a4a7fe7c0ba07fedcf" type="tarxz">mirrors://kde/stable/plasma/5.27.11/discover-5.27.11.tar.xz</Archive>
<Archive sha1sum="012c8a6e6ce39c1d8cd4717f8441e71a90f8f825" type="tarxz">mirrors://kde/stable/plasma/6.2.5/discover-6.2.5.tar.xz</Archive>
<BuildDependencies>
<Dependency>kio-devel</Dependency>
<Dependency>fwupd-devel</Dependency>
@@ -30,22 +31,25 @@
<Dependency>knotifications-devel</Dependency>
<Dependency>kxmlgui-devel</Dependency>
<Dependency>kdeclarative-devel</Dependency>
<Dependency>plasma-framework-devel</Dependency>
<Dependency versionFrom="6.2.5">libplasma-devel</Dependency>
<Dependency>knewstuff-devel</Dependency>
<Dependency>extra-cmake-modules</Dependency>
<Dependency>kirigami-devel</Dependency>
<Dependency>kcmutils-devel</Dependency>
<Dependency>kidletime-devel</Dependency>
<Dependency>kuserfeedback-devel</Dependency>
<Dependency>appstream-qt5-devel</Dependency>
<Dependency>appstream-qt6-devel</Dependency>
<Dependency>purpose-devel</Dependency>
<Dependency>packagekit-qt5-devel</Dependency>
<Dependency versionFrom="5.7.1">qt5-svg-devel</Dependency>
<Dependency>packagekit-qt6-devel</Dependency>
<Dependency>kstatusnotifieritem-devel</Dependency>
<Dependency>kirigami-addons</Dependency>
<Dependency>kuserfeedback-devel</Dependency>
<Dependency>kiconthemes-devel</Dependency>
<Dependency>qcoro-qt6-devel</Dependency>
<Dependency versionFrom="6.7.1">qt6-svg-devel</Dependency>
<Dependency versionFrom="1.1.0">flatpak-devel</Dependency>
<Dependency versionFrom="5.7.1">qt5-base-devel</Dependency>
<Dependency versionFrom="5.7.1">qt5-webview-devel</Dependency>
<Dependency versionFrom="5.7.1">qt5-x11extras-devel</Dependency>
<Dependency versionFrom="5.7.1">qt5-declarative-devel</Dependency>
<Dependency versionFrom="6.7.1">qt6-base-devel</Dependency>
<Dependency versionFrom="6.7.1">qt6-webview-devel</Dependency>
<Dependency versionFrom="6.7.1">qt6-declarative-devel</Dependency>
</BuildDependencies>
<Patches>
<!-- <Patch level="1">appstream-1.0.patch</Patch> -->
@@ -55,9 +59,8 @@
<Package>
<Name>discover</Name>
<RuntimeDependencies>
<Dependency versionFrom="5.7.1">qt5-base</Dependency>
<Dependency versionFrom="5.7.1">qt5-webview</Dependency>
<Dependency versionFrom="5.7.1">qt5-x11extras</Dependency>
<Dependency versionFrom="6.7.1">qt6-base</Dependency>
<Dependency versionFrom="6.7.1">qt6-webview</Dependency>
<Dependency>kdeclarative</Dependency>
<Dependency>kio</Dependency>
<Dependency>fwupd</Dependency>
@@ -80,12 +83,15 @@
<Dependency>kxmlgui</Dependency>
<Dependency>kidletime</Dependency>
<Dependency>kwindowsystem</Dependency>
<Dependency versionFrom="5.7.1">qt5-declarative</Dependency>
<Dependency>kstatusnotifieritem</Dependency>
<Dependency versionFrom="6.7.1">qt6-declarative</Dependency>
<Dependency>knewstuff</Dependency>
<Dependency>purpose</Dependency>
<Dependency>packagekit-qt5</Dependency>
<Dependency>appstream-qt5</Dependency>
<!-- <Dependency>pisi-appstream-data</Dependency> -->
<Dependency>appstream-qt6</Dependency>
<Dependency>packagekit-qt6</Dependency>
<Dependency>kuserfeedback</Dependency>
<Dependency>kirigami-addons</Dependency>
<Dependency>qcoro-qt6</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="config">/etc</Path>
@@ -97,7 +103,11 @@
<Path fileType="data">/usr/share</Path>
<Path fileType="localedata">/usr/share/locale</Path>
</Files>
<Replaces>
<Package>discover-kf6</Package>
</Replaces>
</Package>
<Package>
<Name>discover-plugin-flatpak</Name>
<PartOf>hardware.virtualization</PartOf>
@@ -105,624 +115,34 @@
<Dependency release="current">discover</Dependency>
<Dependency>glib2</Dependency>
<Dependency versionFrom="1.1.0">flatpak</Dependency>
<Dependency>appstream-qt5</Dependency>
<Dependency>qt5-base</Dependency>
<Dependency>appstream-qt6</Dependency>
<Dependency>qt6-base</Dependency>
<Dependency>kio</Dependency>
<Dependency>ki18n</Dependency>
<Dependency>kservice</Dependency>
<Dependency>kconfig</Dependency>
<Dependency>kcoreaddons</Dependency>
<Dependency>gnupg</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib/qt5/plugins/discover-notifier/FlatpakNotifier.so</Path>
<Path fileType="library">/usr/lib/qt5/plugins/discover/flatpak-backend.so</Path>
<Path fileType="library">/usr/lib/qt6/plugins/discover-notifier/FlatpakNotifier.so</Path>
<Path fileType="library">/usr/lib/qt6/plugins/discover/flatpak-backend.so</Path>
<Path fileType="data">/usr/share/applications/org.kde.discover-flatpak</Path>
<Path fileType="data">/usr/share/libdiscover/categories/flatpak-backend-categories.xml</Path>
<Path fileType="data">/usr/share/metainfo/org.kde.discover.flatpak.appdata.xml</Path>
</Files>
<Replaces>
<Package>discover-plugin-flatpak-kf6</Package>
</Replaces>
</Package>
<History>
<Update release="86">
<Date>2024-05-20</Date>
<Version>5.27.11</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="85">
<Date>2023-12-06</Date>
<Version>5.27.10</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="84">
<Date>2023-11-14</Date>
<Version>5.27.9</Version>
<Comment>Revuild.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="83">
<Date>2023-10-26</Date>
<Version>5.27.9</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="82">
<Date>2023-09-12</Date>
<Version>5.27.8</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="81">
<Date>2023-08-01</Date>
<Version>5.27.7</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="80">
<Date>2023-06-20</Date>
<Version>5.27.6</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="79">
<Date>2023-05-09</Date>
<Version>5.27.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="78">
<Date>2023-04-08</Date>
<Version>5.27.4</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="77">
<Date>2023-03-15</Date>
<Version>5.27.3</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="76">
<Date>2023-03-01</Date>
<Version>5.27.2</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="75">
<Date>2023-02-22</Date>
<Version>5.27.1</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="74">
<Date>2023-02-16</Date>
<Version>5.27.0</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="73">
<Date>2023-02-01</Date>
<Version>5.26.5</Version>
<Comment>Rebuild</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="72">
<Date>2023-01-04</Date>
<Version>5.26.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="71">
<Date>2022-11-29</Date>
<Version>5.26.4</Version>
<Comment>Version bump</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="70">
<Date>2022-11-21</Date>
<Version>5.26.3</Version>
<Comment>Rebuild packagekit-qt5</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="69">
<Date>2022-11-11</Date>
<Version>5.26.3</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="68">
<Date>2022-10-28</Date>
<Version>5.26.2</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="67">
<Date>2022-09-13</Date>
<Version>5.25.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="66">
<Date>2022-08-02</Date>
<Version>5.25.4</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="65">
<Date>2022-07-23</Date>
<Version>5.25.3</Version>
<Comment>Rebuild.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="64">
<Date>2022-07-12</Date>
<Version>5.25.3</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="63">
<Date>2022-06-30</Date>
<Version>5.25.2</Version>
<Comment>Version bump</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="62">
<Date>2022-06-22</Date>
<Version>5.25.1</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="61">
<Date>2022-06-18</Date>
<Version>5.25.0</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="60">
<Date>2022-05-06</Date>
<Version>5.24.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="59">
<Date>2022-02-26</Date>
<Version>5.24.2</Version>
<Comment>Version bump.</Comment>
<Name>Kamil Atlı</Name>
<Email>suvari@pisilinux.org</Email>
</Update>
<Update release="58">
<Date>2022-01-04</Date>
<Version>5.23.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="57">
<Date>2021-12-01</Date>
<Version>5.23.4</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="56">
<Date>2021-11-10</Date>
<Version>5.23.3</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="55">
<Date>2021-10-27</Date>
<Version>5.23.2</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="54">
<Date>2021-10-19</Date>
<Version>5.23.1</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="53">
<Date>2021-10-14</Date>
<Version>5.23.0</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="52">
<Date>2021-08-31</Date>
<Version>5.22.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="51">
<Date>2021-07-08</Date>
<Version>5.22.3</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="50">
<Date>2021-06-22</Date>
<Version>5.22.2</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="49">
<Date>2021-06-15</Date>
<Version>5.22.1</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="48">
<Date>2021-05-05</Date>
<Version>5.21.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="47">
<Date>2021-03-17</Date>
<Version>5.21.3</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="46">
<Date>2021-03-14</Date>
<Version>5.21.2</Version>
<Comment>Version bump</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="45">
<Date>2021-01-10</Date>
<Version>5.20.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="44">
<Date>2020-12-11</Date>
<Version>5.20.4</Version>
<Comment>Version bump.</Comment>
<Name>Ali Algul</Name>
<Email>aligulle3801@gmail.com</Email>
</Update>
<Update release="43">
<Date>2020-09-01</Date>
<Version>5.19.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="42">
<Date>2020-06-16</Date>
<Version>5.19.1</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="41">
<Date>2020-06-09</Date>
<Version>5.19.0</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="40">
<Date>2020-05-06</Date>
<Version>5.18.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="39">
<Date>2020-03-29</Date>
<Version>5.18.3</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="38">
<Date>2020-01-10</Date>
<Version>5.17.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="37">
<Date>2019-11-15</Date>
<Version>5.16.5</Version>
<Comment>Rebuild.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="36">
<Date>2019-09-15</Date>
<Version>5.16.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="35">
<Date>2019-07-31</Date>
<Version>5.16.4</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="34">
<Date>2019-07-22</Date>
<Version>5.16.3</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="33">
<Date>2019-04-15</Date>
<Version>5.15.4</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="32">
<Date>2019-03-20</Date>
<Version>5.15.3</Version>
<Comment>Version bump</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="31">
<Date>2019-02-27</Date>
<Version>5.15.2</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="30">
<Date>2019-02-26</Date>
<Version>5.15.1</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="29">
<Date>2019-02-12</Date>
<Version>5.15.0</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="28">
<Date>2019-01-12</Date>
<Version>5.14.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="27">
<Date>2018-12-26</Date>
<Version>5.14.4</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="26">
<Date>2018-11-19</Date>
<Version>5.14.3</Version>
<Comment>Rebuild for flatpak-1.1.0.</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="25">
<Date>2018-11-06</Date>
<Version>5.14.3</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="24">
<Date>2018-11-03</Date>
<Version>5.14.1</Version>
<Comment>discover-flatpak.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="23">
<Date>2018-10-17</Date>
<Version>5.14.1</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="22">
<Date>2018-10-17</Date>
<Version>5.14.0</Version>
<Comment>Version bump</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="21">
<Date>2018-08-11</Date>
<Version>5.12.5</Version>
<Comment>Rebuild</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="20">
<Date>2018-05-14</Date>
<Version>5.12.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="19">
<Date>2018-04-23</Date>
<Version>5.12.4</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="18">
<Date>2018-04-06</Date>
<Version>5.12.4</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="17">
<Date>2018-03-22</Date>
<Version>5.12.3</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="16">
<Date>2018-02-03</Date>
<Version>5.11.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="15">
<Date>2017-12-15</Date>
<Version>5.11.4</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="14">
<Date>2017-11-14</Date>
<Version>5.11.3</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="13">
<Date>2017-11-02</Date>
<Version>5.11.2</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="12">
<Date>2017-10-14</Date>
<Version>5.11.0</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="11">
<Date>2017-09-13</Date>
<Version>5.10.5</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="10">
<Date>2017-07-18</Date>
<Version>5.10.2</Version>
<Comment>version bump</Comment>
<Name>Ali Algul</Name>
<Email>aligulle3801@gmail.com</Email>
</Update>
<Update release="9">
<Date>2017-03-01</Date>
<Version>5.8.5</Version>
<Comment>Rebuild for new Toolchain.</Comment>
<Name>Stefan Gronewold(groni)</Name>
<Email>groni@pisilinux.org</Email>
</Update>
<Update release="8">
<Date>2017-01-01</Date>
<Version>5.8.5</Version>
<Comment>Version bump.</Comment>
<Name>Stefan Gronewold(groni)</Name>
<Email>groni@pisilinux.org</Email>
</Update>
<Update release="7">
<Date>2016-11-26</Date>
<Version>5.8.4</Version>
<Comment>Version bump.</Comment>
<Name>Stefan Gronewold(groni)</Name>
<Email>groni@pisilinux.org</Email>
</Update>
<Update release="6">
<Date>2016-11-03</Date>
<Version>5.8.3</Version>
<Comment>Version bump.</Comment>
<Name>Stefan Gronewold (groni)</Name>
<Email>groni@pisilinux.org</Email>
</Update>
<Update release="5">
<Date>2016-10-20</Date>
<Version>5.8.2</Version>
<Comment>Version bump.</Comment>
<Name>Stefan Gronewold (groni)</Name>
<Email>groni@pisilinux.org</Email>
</Update>
<Update release="4">
<Date>2016-10-06</Date>
<Version>5.8.0</Version>
<Comment>Version bump.</Comment>
<Name>Stefan Gronewold (groni)</Name>
<Email>groni@pisilinux.org</Email>
</Update>
<Update release="3">
<Date>2016-07-30</Date>
<Version>5.7.2</Version>
<Comment>Version bump.</Comment>
<Name>Yusuf Aydemir</Name>
<Email>yusuf.aydemir@pisilinux.org</Email>
</Update>
<Update release="2">
<Date>2016-05-18</Date>
<Version>5.6.4</Version>
<Comment>Version bump.</Comment>
<Name>Burak Ertürk</Name>
<Email>burakerturk@pisilinux.org</Email>
</Update>
<Update release="1">
<Date>2016-04-08</Date>
<Version>5.6.2</Version>
<Update release="87">
<Date>2025-01-01</Date>
<Version>6.2.5</Version>
<Comment>First release</Comment>
<Name>Yusuf Aydemir</Name>
<Email>yusuf.aydemir@pisilinux.org</Email>
<Name>Pisi Linux Community</Name>
<Email>admin@pisilinux.org</Email>
</Update>
</History>
</PISI>