summaryrefslogtreecommitdiff
path: root/kde-apps/print-manager
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-01-15 15:51:32 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-01-15 15:51:32 +0000
commit21435953e16cda318a82334ddbadb3b5c36d9ea7 (patch)
treee1810a4b135afce04b34862ef0fab2bfaeb8aeca /kde-apps/print-manager
parent7bc9c63c9da678a7e6fceb095d56c634afd22c56 (diff)
gentoo resync : 15.01.2020
Diffstat (limited to 'kde-apps/print-manager')
-rw-r--r--kde-apps/print-manager/Manifest6
-rw-r--r--kde-apps/print-manager/files/print-manager-19.08.3-crash-w-cups-jobs-w-duplicate-id.patch87
-rw-r--r--kde-apps/print-manager/print-manager-19.08.3-r1.ebuild60
-rw-r--r--kde-apps/print-manager/print-manager-19.12.1.ebuild (renamed from kde-apps/print-manager/print-manager-19.12.0.ebuild)2
4 files changed, 152 insertions, 3 deletions
diff --git a/kde-apps/print-manager/Manifest b/kde-apps/print-manager/Manifest
index 549cee124ef5..bafd4a43f780 100644
--- a/kde-apps/print-manager/Manifest
+++ b/kde-apps/print-manager/Manifest
@@ -1,5 +1,7 @@
+AUX print-manager-19.08.3-crash-w-cups-jobs-w-duplicate-id.patch 3059 BLAKE2B 3aca0faae876385d7c94d6567caf8403cca51471d1ac225ac68e9589bc8c5db411830d3a54aba453ea9c14fe960ddb131abb254d73572c5bfbd5bf13270558ec SHA512 5050d299d362c5f1047fa6c3e01327e3b702d06512c8f7b2e2b53470bb3e480ae7e5957ff2f2eb0f14c88f6a5f65429ccc1b20f64d05fade4ae547ca7ad8e178
DIST print-manager-19.08.3.tar.xz 245476 BLAKE2B 218c2d0676ecc5fbb2fbb8ad60cafdc85ccb388db3577f19867fe2e8a266617d010e67878f34d7c02c1e161923db24d817d7b624c1d6472f343d8bd9c025d66f SHA512 b68d9f28a2e387ee11c5756c18a08e60dfb31561721e97b7d55749c60b65b887c217e096ec8bc27004f7da22700500c767b894b84e16a6d571a4cc8e112ffcb8
-DIST print-manager-19.12.0.tar.xz 250916 BLAKE2B 332a2516c730b5637b441d777e197fe836feccb87457106c16a2f5840ce4d0700da51b72712dff0d5afdfe66308b70c811b099ffb0c6658f52b9d7d46c006e00 SHA512 88c30d81521de51da98c04a2c3a2584975376f14771169a95df9f9f1635a39a19eaef3c94e44bca44857af8b7de11b6e2ef159562cadb4cbc57ec7cce7914f48
+DIST print-manager-19.12.1.tar.xz 250772 BLAKE2B b8de65c32bdeec77e3b34de48a8f074e4d05e576eed7be95f45f81e1fdeb4c1d3be2dea99cedfc6b4b99b89249af80b2494a5a87c246f054d069f2d4742ddd28 SHA512 82aa325d7ebd1fd1d73b99eed20f724b4a51f093451ee2de8ce8e486d9ee10aa6c02208d0f9648c713a92d7442f08728358857daed51e7afddac3fa0fca86160
+EBUILD print-manager-19.08.3-r1.ebuild 1772 BLAKE2B d1dc251f6659482b5adf9f063fbe644c5ba20d2fbdbcce6351831aa0a9a7441d79504e3d17e625609e7f75bdda8163a9cbfd57a0a312e3305fe8f324067dc4f7 SHA512 b88cae028e7daad1ff3b95ede395284d4900d0da7caa4803b812b70059ae3f7a3fcf0520a4500569f6a26e740d5b9223ad423c027302971fa5163832ee9fb562
EBUILD print-manager-19.08.3.ebuild 1698 BLAKE2B cce96648f0a741a461a7721c9b99db6670f332a5ef6e7476eae9bc4d3725df7c48b15e095f47d2686a1763a207b54343f7f30c9c8341683bc45f205828c2c756 SHA512 7f7e435a291710ae8d4344bf1a21f13a2ca44d382d1064206f499ad734a279cb4c8cdc64b9d554c84bcd4393d663614f6796e1f7a4298559a1e7fa685bc9e0e1
-EBUILD print-manager-19.12.0.ebuild 1702 BLAKE2B c5da94420a6c375fb65439eb3879d30e86a62f54171386af0055c281e301357050875c7356017a8292f61d3f46a916ba908d8d0752b51ea17c7db12f7185b8f6 SHA512 f1ec6fc9a83c12760518cc439472c38b3c6b6fea16c789709bfa1d8f16b0acbd2bbef2325dfd6ff53c652039101c1b1776d0c2bb279b1c549510f20922ef96ef
+EBUILD print-manager-19.12.1.ebuild 1702 BLAKE2B f00f0e807d109336c3ee9676a67fced9fe0a85aaf92c4dcd7626c3be4749ab5b826e49efee50c9631fad5131b6b2416912d81c5572e7711321a25edb1eea76fc SHA512 42f0ee58c790716db33d62d3ef9bec11880cab730d7e3e61ea01a07e19c26889f39225084a941faf5f772b87aa2695dce55cff03aebbe2ec60a0e063c030073a
MISC metadata.xml 249 BLAKE2B ad415db89e5dee1627aa77f44ded9d4e1e5b8217d06c7ca25bbaa3fe92ce67c2b1090957c45a821b407d7927e5af798498aa6a5b903895ee1af8ee20a446c7f7 SHA512 76a5a340b13f0053ca3c5e94ed24380ea8d29b45ac8655419e22eaadb1e4a827c04d2e7e36b65145c4964e6526f656618fc6ac144e277ef53cb7373e6239e3c3
diff --git a/kde-apps/print-manager/files/print-manager-19.08.3-crash-w-cups-jobs-w-duplicate-id.patch b/kde-apps/print-manager/files/print-manager-19.08.3-crash-w-cups-jobs-w-duplicate-id.patch
new file mode 100644
index 000000000000..be4b2efd4935
--- /dev/null
+++ b/kde-apps/print-manager/files/print-manager-19.08.3-crash-w-cups-jobs-w-duplicate-id.patch
@@ -0,0 +1,87 @@
+From c93f2f16c30d10fbd0f4bfb4c0bf0cec07a4c93b Mon Sep 17 00:00:00 2001
+From: Albert Astals Cid <aacid@kde.org>
+Date: Mon, 2 Dec 2019 23:04:42 +0100
+Subject: Fix crash when cups returns jobs with duplicate id
+
+Summary:
+For some reason my cups was giving me two withheld jobs with id 33 and two with id 40
+
+That made the JobModel code crash, because it went like this
+
+ * First job with id 33 found
+ * insertRow with 0 called
+ * Row 0 inserted
+ * Job at row 0 updated (from inside insertRow)
+ * Second job with id 33 found
+ * The "oh i already have this job code triggers", updates the job, then takesRow 0 and inserts at row 1. QStandardItemModel doesn't like getting a row add at 1 inserted when empty
+ * First job with id 40 found
+ * insertRow with 2 called
+ * Row 2 inserted, it fails, QStandardItemModel doesn't like getting a row add at 2 when empty
+ * Job at row 2 updated (from iniside insertRow)
+ * Crash because there's no row 2 in the model
+
+BUGS: 326289
+
+Test Plan: Doesn't crash anymore with my weird cups list of pending jobs
+
+Reviewers: dantti
+
+Reviewed By: dantti
+
+Subscribers: ngraham, marcelm, fvogt, broulik, nicolasfella, kmaterka, kde-utils-devel
+
+Differential Revision: https://phabricator.kde.org/D25623
+---
+ libkcups/JobModel.cpp | 23 +++++++++++++++++++++--
+ 1 file changed, 21 insertions(+), 2 deletions(-)
+
+diff --git a/libkcups/JobModel.cpp b/libkcups/JobModel.cpp
+index 73c5174..3c4878b 100644
+--- a/libkcups/JobModel.cpp
++++ b/libkcups/JobModel.cpp
+@@ -174,6 +174,25 @@ void JobModel::getJobs()
+ m_processingJob.clear();
+ }
+
++static KCupsJobs sanitizeJobs(KCupsJobs jobs)
++{
++ // For some reason sometimes cups has broken job queues with jobs with duplicated id
++ // our model doesn't like that at all so sanitize the job list before processing it
++ QVector<int> seenIds;
++ int i = 0;
++ while (i < jobs.count()) {
++ const int jobId = jobs.at(i).id();
++ if (seenIds.contains(jobId)) {
++ qCWarning(LIBKCUPS) << "Found job with duplicated id" << jobId;
++ jobs.removeAt(i);
++ } else {
++ seenIds << jobId;
++ ++i;
++ }
++ }
++ return jobs;
++}
++
+ void JobModel::getJobFinished(KCupsRequest *request)
+ {
+ if (request) {
+@@ -181,7 +200,7 @@ void JobModel::getJobFinished(KCupsRequest *request)
+ // clear the model after so that the proper widget can be shown
+ clear();
+ } else {
+- const KCupsJobs jobs = request->jobs();
++ const KCupsJobs jobs = sanitizeJobs(request->jobs());
+ qCDebug(LIBKCUPS) << jobs.size();
+ for (int i = 0; i < jobs.size(); ++i) {
+ const KCupsJob job = jobs.at(i);
+@@ -207,7 +226,7 @@ void JobModel::getJobFinished(KCupsRequest *request)
+ }
+ }
+
+- // remove old printers
++ // remove old jobs
+ // The above code starts from 0 and make sure
+ // dest == modelIndex(x) and if it's not the
+ // case it either inserts or moves it.
+--
+cgit v1.1
diff --git a/kde-apps/print-manager/print-manager-19.08.3-r1.ebuild b/kde-apps/print-manager/print-manager-19.08.3-r1.ebuild
new file mode 100644
index 000000000000..a0f498d40171
--- /dev/null
+++ b/kde-apps/print-manager/print-manager-19.08.3-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+KFMIN=5.60.0
+PLASMA_MINIMAL=5.16.5
+QTMIN=5.12.3
+inherit ecm kde.org
+
+DESCRIPTION="Manage print jobs and printers in Plasma"
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+gtk"
+
+DEPEND="
+ >=kde-frameworks/kcmutils-${KFMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kdbusaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kiconthemes-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/knotifications-${KFMIN}:5
+ >=kde-frameworks/kservice-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5
+ >=kde-frameworks/plasma-${KFMIN}:5
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ net-print/cups
+"
+RDEPEND="${DEPEND}
+ >=kde-plasma/kde-cli-tools-${PLASMA_MINIMAL}:5
+ gtk? ( app-admin/system-config-printer )
+"
+
+PATCHES=( "${FILESDIR}"/${P}-crash-w-cups-jobs-w-duplicate-id.patch )
+
+pkg_postinst(){
+ ecm_pkg_postinst
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] && ! use gtk ; then
+ ewarn "By switching off \"gtk\" USE flag, you have chosen to do without"
+ ewarn "an important, though optional, runtime dependency:"
+ ewarn
+ ewarn "app-admin/system-config-printer"
+ ewarn
+ ewarn "${PN} will work nevertheless, but is going to be less comfortable"
+ ewarn "and will show the following error status during runtime:"
+ ewarn
+ ewarn "\"Failed to group devices: 'The name org.fedoraproject.Config.Printing"
+ ewarn "was not provided by any .service files'\""
+ fi
+}
diff --git a/kde-apps/print-manager/print-manager-19.12.0.ebuild b/kde-apps/print-manager/print-manager-19.12.1.ebuild
index b490480fc950..523fbf084711 100644
--- a/kde-apps/print-manager/print-manager-19.12.0.ebuild
+++ b/kde-apps/print-manager/print-manager-19.12.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7