Dear maintainer,
I've prepared an NMU for dde-store (versioned as 1.2.5-2.1) and
uploaded it to DELAYED/3. Please feel free to tell me if I
should cancel it.
Regards.
diffstat for dde-store-1.2.5 dde-store-1.2.5
changelog | 14 ++
control | 14 +-
patches/002-port-to-qt6.patch | 200 ++++++++++++++++++++++++++++++++++++++++++
patches/series | 1
4 files changed, 222 insertions(+), 7 deletions(-)
diff -Nru dde-store-1.2.5/debian/changelog dde-store-1.2.5/debian/changelog
--- dde-store-1.2.5/debian/changelog 2025-05-19 16:11:20.000000000 -0400
+++ dde-store-1.2.5/debian/changelog 2026-09-10 16:07:52.000000000 -0400
@@ -1,3 +1,17 @@
+dde-store (1.2.5-2.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Port to Qt 6 and DTK 6, dropping Qt 5 support (Closes: #1117833):
+ + debian/patches/002-port-to-qt6.patch: Backport upstream pull request
+ #34 by Gary Wang. It also raises cmake_minimum_required to 3.16, fixing
+ the FTBFS with CMake 4 (Closes: #1112832), and fixes a crash on the
+ home page when AppStream provides fewer than 10 entries.
+ + debian/control: Build-depend on qt6-base-dev, qt6-tools-dev,
+ libdtk6core-dev, libdtk6gui-dev, libdtk6widget-dev, libpackagekitqt6-dev
+ and libappstreamqt-dev instead of their Qt 5 counterparts.
+
+ -- Boyuan Yang <byang@debian.org> Thu, 10 Sep 2026 16:07:52 -0400
+
dde-store (1.2.5-2) unstable; urgency=medium
* Disable snap support. (Closes: #1104833)
diff -Nru dde-store-1.2.5/debian/control dde-store-1.2.5/debian/control
--- dde-store-1.2.5/debian/control 2025-05-19 16:11:20.000000000 -0400
+++ dde-store-1.2.5/debian/control 2026-09-10 16:03:27.000000000 -0400
@@ -5,14 +5,14 @@
Build-Depends:
cmake,
debhelper-compat (=13),
- libappstreamqt5-dev (>= 1.0.0~),
- libdtkcore-dev,
- libdtkgui-dev,
- libdtkwidget-dev,
- libpackagekitqt5-dev,
+ libappstreamqt-dev (>= 1.0.0~),
+ libdtk6core-dev,
+ libdtk6gui-dev,
+ libdtk6widget-dev,
+ libpackagekitqt6-dev,
pkgconf,
- qtbase5-dev,
- qttools5-dev,
+ qt6-base-dev,
+ qt6-tools-dev,
Standards-Version: 4.6.2
Rules-Requires-Root: no
Homepage: https://github.com/ubuntudde/dde-store
diff -Nru dde-store-1.2.5/debian/patches/002-port-to-qt6.patch dde-store-1.2.5/debian/patches/002-port-to-qt6.patch
--- dde-store-1.2.5/debian/patches/002-port-to-qt6.patch 1969-12-31 19:00:00.000000000 -0500
+++ dde-store-1.2.5/debian/patches/002-port-to-qt6.patch 2026-09-10 16:03:23.000000000 -0400
@@ -0,0 +1,200 @@
+Description: Port to Qt 6 and DTK 6, drop Qt 5 support
+ Taken from the upstream pull request by Gary Wang (BLumia). Besides the
+ Qt 6 / Dtk6 / PackageKitQt6 / AppStreamQt port it raises
+ cmake_minimum_required to 3.16 (fixes the CMake 4 FTBFS) and fixes a
+ crash on the home page when AppStream provides fewer than 10 entries
+ in a category.
+Author: Wang Zichong <wangzichong@deepin.org>
+Origin: upstream, https://github.com/UbuntuDDE/dde-store/pull/34
+Bug-Debian: https://bugs.debian.org/1112832
+Bug-Debian: https://bugs.debian.org/1117833
+Applied-Upstream: no
+Last-Update: 2026-09-10
+---
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b790511..4a20ac3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 3.0)
++cmake_minimum_required(VERSION 3.16)
+
+ project(dde-store)
+
+@@ -10,21 +10,16 @@ set(CMAKE_AUTOMOC ON)
+ set(CMAKE_AUTORCC ON)
+
+ find_package(PkgConfig REQUIRED)
+-find_package(Qt5 REQUIRED Core Widgets Network DBus Gui LinguistTools)
+-find_package(Dtk REQUIRED Widget Gui)
+-find_package(PackageKitQt5 REQUIRED)
+-find_package(AppStreamQt5 1.0 REQUIRED)
++find_package(Qt6 REQUIRED Core Widgets Network DBus Gui LinguistTools)
++find_package(Dtk6 REQUIRED Widget Gui)
++find_package(PackageKitQt6 REQUIRED)
++find_package(AppStreamQt 1.0 REQUIRED)
+ find_package(PkgConfig REQUIRED)
+ include(FindPkgConfig)
+ include(GNUInstallDirs)
+
+-include_directories(
+- ${PackageKitQt5_INCLUDE_DIR}
+- ${AppStreamQt5_INCLUDE_DIRS}
+-)
+-
+ file(GLOB TS_FILES ./translations/*.ts)
+-qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
++qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
+
+ file(GLOB SRC
+ main.cpp
+@@ -61,19 +56,14 @@ add_executable(${PROJECT_NAME}
+ ${QM_FILES}
+ )
+
+-target_include_directories(${PROJECT_NAME} PUBLIC
+- ${PackageKitQt5_INCLUDE_DIR}
+- ${AppStreamQt5_INCLUDE_DIRS}
+-)
+-
+ target_link_libraries(${PROJECT_NAME}
+- ${DtkWidget_LIBRARIES}
+- ${DtkCore_LIBRARIES}
+- ${DtkGui_LIBRARIES}
+- ${Qt5Widgets_LIBRARIES}
+- ${Qt5Network_LIBRARIES}
+- ${PackageKitQt5_LIBRARIES}
+- AppStreamQt5
++ Dtk6::Widget
++ Dtk6::Core
++ Dtk6::Gui
++ Qt6::Widgets
++ Qt6::Network
++ PK::packagekitqt6
++ AppStreamQt
+ )
+
+ add_subdirectory(backend/sources)
+diff --git a/backend/sources/packagekit/packagekitsource.cpp b/backend/sources/packagekit/packagekitsource.cpp
+index 27b4229..0d312ce 100644
+--- a/backend/sources/packagekit/packagekitsource.cpp
++++ b/backend/sources/packagekit/packagekitsource.cpp
+@@ -2,11 +2,12 @@
+ #include "backend/settings.h"
+ #include "backend/ratingshelper.h"
+ #include <Details>
+-#include <AppStreamQt5/pool.h>
+-#include <AppStreamQt5/icon.h>
+-#include <AppStreamQt5/screenshot.h>
+-#include <AppStreamQt5/image.h>
+-#include <AppStreamQt5/developer.h>
++#include <QRegularExpression>
++#include <AppStreamQt/pool.h>
++#include <AppStreamQt/icon.h>
++#include <AppStreamQt/screenshot.h>
++#include <AppStreamQt/image.h>
++#include <AppStreamQt/developer.h>
+
+ using namespace PackageKit;
+ using namespace AppStream;
+@@ -195,7 +196,7 @@ void PackageKitSource::search(QString query)
+ break;
+ Component component = metadata.value(key);
+ bool noMatch = false;
+- for (QString item : query.split(QRegExp("\\s"), Qt::SkipEmptyParts)) {
++ for (QString item : query.split(QRegularExpression("\\s+"), Qt::SkipEmptyParts)) {
+ if (!component.name().contains(item, Qt::CaseInsensitive) && !component.description().contains(item,
Qt::CaseInsensitive))
+ noMatch = true;
+ }
+diff --git a/backend/sources/packagekit/packagekitsource.h b/backend/sources/packagekit/packagekitsource.h
+index d5e77b0..3abb5a1 100644
+--- a/backend/sources/packagekit/packagekitsource.h
++++ b/backend/sources/packagekit/packagekitsource.h
+@@ -3,7 +3,7 @@
+
+ #include "backend/sourcemanager.h"
+ #include <Daemon>
+-#include <AppStreamQt5/component.h>
++#include <AppStreamQt/component.h>
+
+ class PackageKitSource : public Source
+ {
+diff --git a/pages/homepage.cpp b/pages/homepage.cpp
+index 0c9c409..9fbba33 100644
+--- a/pages/homepage.cpp
++++ b/pages/homepage.cpp
+@@ -26,7 +26,7 @@ HomePage::HomePage(MainWindow *parent)
+ layout->setAlignment(Qt::AlignTop);
+ widget->setLayout(layout);
+ QHBoxLayout *mainLayout = new QHBoxLayout;
+- mainLayout->setMargin(0);
++ mainLayout->setContentsMargins(0, 0, 0, 0);
+ mainLayout->setSpacing(0);
+ setLayout(mainLayout);
+ mainLayout->addWidget(scroll);
+@@ -65,7 +65,7 @@ void HomePage::addCategory(QString name, QString category, MainWindow *parent)
+ for (App *app : map.values()) {
+ items.insert(0, app);
+ }
+- for (int i = 0; i < 10; i++) {
++ for (int i = 0; i < qMin(10, items.size()); i++) {
+ list->addItem(items[i]->name, items[i]->icon, i);
+ apps->append(items[i]);
+ }
+diff --git a/pages/itempage.cpp b/pages/itempage.cpp
+index eaf6dc8..b014c44 100644
+--- a/pages/itempage.cpp
++++ b/pages/itempage.cpp
+@@ -21,7 +21,7 @@ ItemPage::ItemPage(App *app)
+ this->app = app;
+
+ QHBoxLayout *mainLayout = new QHBoxLayout;
+- mainLayout->setMargin(0);
++ mainLayout->setContentsMargins(0, 0, 0, 0);
+ mainLayout->setSpacing(0);
+ setLayout(mainLayout);
+ mainLayout->addWidget(scroll);
+@@ -48,7 +48,7 @@ void ItemPage::load()
+ spinner->hide();
+ layout->removeWidget(spinner);
+ QHBoxLayout *header = new QHBoxLayout;
+- header->setMargin(10);
++ header->setContentsMargins(10, 10, 10, 10);
+ header->setAlignment(Qt::AlignVCenter);
+
+ QLabel *icon = new QLabel;
+@@ -56,7 +56,7 @@ void ItemPage::load()
+ header->addWidget(icon);
+
+ QVBoxLayout *nameSection = new QVBoxLayout;
+- nameSection->setMargin(0);
++ nameSection->setContentsMargins(0, 0, 0, 0);
+ nameSection->setAlignment(Qt::AlignTop);
+
+ DLabel *name = new DLabel(app->name);
+diff --git a/widgets/list.cpp b/widgets/list.cpp
+index 04ac467..7892978 100644
+--- a/widgets/list.cpp
++++ b/widgets/list.cpp
+@@ -14,7 +14,7 @@ List::List(QString title)
+ headerLayout->addWidget(titleLabel);
+ headerLayout->addStretch();
+ headerLayout->setSpacing(10);
+- headerLayout->setMargin(10);
++ headerLayout->setContentsMargins(10, 10, 10, 10);
+ layout->addLayout(headerLayout);
+
+ listView = new DListView;
+diff --git a/widgets/stars.cpp b/widgets/stars.cpp
+index a6d0dd3..24e9a5b 100644
+--- a/widgets/stars.cpp
++++ b/widgets/stars.cpp
+@@ -7,7 +7,7 @@ stars::stars(QString app)
+ {
+ QHBoxLayout *layout = new QHBoxLayout;
+ this->setLayout(layout);
+- layout->setMargin(0);
++ layout->setContentsMargins(0, 0, 0, 0);
+ layout->setAlignment(Qt::AlignLeft);
+ double rating = RatingsHelper::instance()->averageRating(app);
+ for (int i = 0; i < int(rating); i++) {
diff -Nru dde-store-1.2.5/debian/patches/series dde-store-1.2.5/debian/patches/series
--- dde-store-1.2.5/debian/patches/series 2025-05-19 16:11:20.000000000 -0400
+++ dde-store-1.2.5/debian/patches/series 2026-09-10 16:03:23.000000000 -0400
@@ -1 +1,2 @@
001-fix-updates-nullcheck.patch
+002-port-to-qt6.patch