[SCM] qapt packaging branch, kubuntu_vivid_archive, updated. debian/1.3.0-2-19-g3fda132

Jonathan Riddell jriddell-guest at moszumanska.debian.org
Tue Apr 28 11:58:33 UTC 2015


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/qapt.git;a=commitdiff;h=fc86c6b

The following commit has been merged in the kubuntu_vivid_archive branch:
commit fc86c6b47766453158eb935464083629b935831d
Author: Jonathan Riddell <jr at jriddell.org>
Date:   Tue Apr 28 13:57:53 2015 +0200

    sync to archive
---
 debian/changelog                                   | 19 +++++--
 debian/control                                     |  2 +-
 debian/patches/series                              |  3 +
 .../upstream_cmake-configure-kf5iconthemes.diff    | 26 +++++++++
 .../upstream_exclude-broken-state-changes.diff     | 59 ++++++++++++++++++++
 debian/patches/upstream_fix-heldness-state.diff    | 64 ++++++++++++++++++++++
 debian/watch                                       |  2 +-
 7 files changed, 167 insertions(+), 8 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 9179c0a..8c63c1f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,11 +1,18 @@
-libqapt (3.0.0-0ubuntu3) UNRELEASED; urgency=medium
+libqapt (3.0.0-0ubuntu2.2) vivid; urgency=medium
 
-  * Update watch file.
-  * Build depend on pkg-kde-tools to (>> 0.15.15) so we make sure we are
-    building against a pkg-kde-tools which provides the kde frameworks
-    module.
+  * Add upstream_cmake-configure-kf5iconthemes.diff to fix compile
 
- -- José Manuel Santamaría Lema <panfaust at gmail.com>  Tue, 10 Feb 2015 15:06:04 +0100
+ -- Jonathan Riddell <jriddell at ubuntu.com>  Tue, 28 Apr 2015 13:49:23 +0200
+
+libqapt (3.0.0-0ubuntu2.1) vivid; urgency=medium
+
+  * SRU two fixes LP: #1448929
+   - make sure that the changesdialog in muon apps shows the right
+    packages with the right states
+   - upstream_fix-heldness-state.diff
+   - upstream_exclude-broken-state-changes.diff
+
+ -- Jonathan Riddell <jriddell at ubuntu.com>  Mon, 27 Apr 2015 10:38:24 +0200
 
 libqapt (3.0.0-0ubuntu2) vivid; urgency=medium
 
diff --git a/debian/control b/debian/control
index d6fe01f..33b80ae 100644
--- a/debian/control
+++ b/debian/control
@@ -24,7 +24,7 @@ Build-Depends: cmake (>= 2.8.4+dfsg.1-3),
                libpolkit-qt5-1-dev,
                libxapian-dev,
                pkg-config,
-               pkg-kde-tools (>> 0.15.15),
+               pkg-kde-tools (>= 0.5.0),
                plasma-framework-dev,
                qttools5-dev,
                qttools5-dev-tools
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..db36777
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,3 @@
+upstream_exclude-broken-state-changes.diff
+upstream_fix-heldness-state.diff
+upstream_cmake-configure-kf5iconthemes.diff
diff --git a/debian/patches/upstream_cmake-configure-kf5iconthemes.diff b/debian/patches/upstream_cmake-configure-kf5iconthemes.diff
new file mode 100644
index 0000000..794a721
--- /dev/null
+++ b/debian/patches/upstream_cmake-configure-kf5iconthemes.diff
@@ -0,0 +1,26 @@
+commit 2dcf0926572589ac52e3410a02c7ffcada440fad
+Author: Jonathan Riddell <jr at jriddell.org>
+Date:   Tue Apr 28 13:45:36 2015 +0200
+
+    fix compile by finding kf5 iconthemes
+
+Index: libqapt-3.0.0/CMakeLists.txt
+===================================================================
+--- libqapt-3.0.0.orig/CMakeLists.txt
++++ libqapt-3.0.0/CMakeLists.txt
+@@ -75,6 +75,7 @@ find_package(KF5Runner ${KF5_DEP_VERSION
+ find_package(KF5TextWidgets ${KF5_DEP_VERSION})
+ find_package(KF5WidgetsAddons ${KF5_DEP_VERSION})
+ find_package(KF5WindowSystem ${KF5_DEP_VERSION})
++find_package(KF5IconThemes ${KF5_DEP_VERSION})
+ 
+ find_package(DebconfKDE)
+ find_package(GStreamer)
+@@ -87,6 +88,7 @@ if (KF5CoreAddons_FOUND
+         AND KF5TextWidgets_FOUND
+         AND KF5WidgetsAddons_FOUND
+         AND KF5WindowSystem_FOUND
++        AND KF5IconThemes_FOUND
+         AND DebconfKDE_FOUND)
+     set(WITH_UTILS true)
+ endif()
diff --git a/debian/patches/upstream_exclude-broken-state-changes.diff b/debian/patches/upstream_exclude-broken-state-changes.diff
new file mode 100644
index 0000000..de84d53
--- /dev/null
+++ b/debian/patches/upstream_exclude-broken-state-changes.diff
@@ -0,0 +1,59 @@
+From: Harald Sitter <sitter at kde.org>
+Date: Fri, 24 Apr 2015 11:50:51 +0000
+Subject: warn about state changes we cannot represent and exclude them from list
+X-Git-Url: http://quickgit.kde.org/?p=libqapt.git&a=commitdiff&h=9b134aed5d09731f914195f4c04c34d53e4b4098
+---
+warn about state changes we cannot represent and exclude them from list
+
+if a package changed state such that ToFoo nor Held are set we'd get
+an empty standardized status we can't do anything with. so instead warn
+and do not include this package in the list of changes. as far as changing
+things goes having no ToFoo nor Held means whatever the state change
+was, it is no-op anyway so reporting it as a change has no impact on
+anything.
+
+this presently happens with kubuntu ci where bluedevil cannot be installed
+because one of its dependencies cannot be met.
+when bluedevil however is already installed from the archive it is
+originally upgradable and held but after marking it for dist-upgrade it
+will simple be marked keep and not held. this is consistent with apt-get
+and apt so apparently this is by design.
+
+eitherway, in the event that a package changed state in an unexpected way
+print a warning and its flags for possible inspection.
+---
+
+
+--- a/src/backend.cpp
++++ b/src/backend.cpp
+@@ -766,6 +766,29 @@
+                    Package::ToDowngrade |
+                    Package::ToRemove);
+ 
++        if (status == 0) {
++            qWarning() << "Package" << pkg->name() << "had a state change,"
++                       << "it can however not be presented as a unique state."
++                       << "This is often an indication that the package is"
++                       << "supposed to be upgraded but can't because its"
++                       << "dependencies are not satisfied. This is not"
++                       << "considered a held package unless its upgrade is"
++                       << "necessary or causing breakage. A simple unsatisfied"
++                       << "dependency without the need to upgrade is not"
++                       << "considered an issue and thus not reported.
"
++                       << "States were:"
++                       << (Package::States)oldState.at(i)
++                       << "->"
++                       << (Package::States)pkg->state();
++            // Apt pretends packages like this are not held (which is reflected)
++            // in the state loss. Whether or not this is intentional is not
++            // obvious at the time of writing in case it isn't the states
++            // here would add up again and the package rightfully would be
++            // reported as held. So we would never get here.
++            // Until then ignore these packages as we cannot serialize their
++            // state anyway.
++            continue;
++        }
+         // Add this package/status pair to the changes hash
+         PackageList list = changes.value((Package::State)status);
+         list.append(pkg);
+
diff --git a/debian/patches/upstream_fix-heldness-state.diff b/debian/patches/upstream_fix-heldness-state.diff
new file mode 100644
index 0000000..462863b
--- /dev/null
+++ b/debian/patches/upstream_fix-heldness-state.diff
@@ -0,0 +1,64 @@
+From: Harald Sitter <sitter at kde.org>
+Date: Fri, 24 Apr 2015 11:43:18 +0000
+Subject: fix heldness state
+X-Git-Url: http://quickgit.kde.org/?p=libqapt.git&a=commitdiff&h=06fc79d435c3d906d651a60005f0a8f5572b696a
+---
+fix heldness state
+
+a) the initStaticState function is wrong in assuming that Held is a static
+state. notably static states are those that only change through a cache
+reload. heldness however (along with keepness and the ToFoo states) can
+change on marking the cache for upgrade or distupgrade. those actions
+do not require a reload so heldness would incorrectly not be reported
+on upgrades. so move heldness into the ::state function for consistent
+re-evaluation.
+b) heldness is a sub-state of keepness. particularly heldness is a
+composition of keepness and actual status (what we can do). a package
+is only considered held iff its status!=0 (i.e. there is something
+else available) and it is being kept (i.e. not changed). this is
+actual internal apt-pkg logic so technically we could evaluate held()
+regardless of keep() as held entails keep anyway, so we might as well
+only do it on keep==true
+c) heldness *is not* a state related to upgradable. a package that wants to
+downgrade but can't is just as held as a package that wants to upgrade
+but can't. trying to compose heldness conditionally is utterly useless
+optimization that is wrong on top of everything else since Upgradable()
+even is implemented as condition Status!=0 (i.e. package should be
+changed in some form or fashion). detangle the two indirectly as
+held also is non-static while upgradable isn't.
+---
+
+
+Index: libqapt-3.0.0/src/package.cpp
+===================================================================
+--- libqapt-3.0.0.orig/src/package.cpp
++++ libqapt-3.0.0/src/package.cpp
+@@ -149,16 +149,14 @@ void PackagePrivate::initStaticState(con
+     int packageState = 0;
+ 
+     if (!ver.end()) {
+-        // Set flags exclusive to installed packages
+         packageState |= QApt::Package::Installed;
+ 
+         if (stateCache.CandidateVer && stateCache.Upgradable()) {
+             packageState |= QApt::Package::Upgradeable;
+-            if (stateCache.Keep())
+-                packageState |= QApt::Package::Held;
+         }
+-    } else
++    } else {
+         packageState |= QApt::Package::NotInstalled;
++    }
+ 
+     // Broken/garbage statuses are constant until a cache reload
+     if (stateCache.NowBroken()) {
+@@ -745,6 +743,9 @@ int Package::state() const
+         }
+     } else if (stateCache.Keep()) {
+         packageState |= ToKeep;
++        if (stateCache.Held()) {
++            packageState |= QApt::Package::Held;
++        }
+     }
+ 
+    return packageState | d->state;
diff --git a/debian/watch b/debian/watch
index 0ad536f..758bfe2 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,5 +1,5 @@
 version=3
 
 opts=pasv \
-  ftp://ftp.kde.org/pub/kde/stable/libqapt/([\d\.]+)/libqapt-([\d\.]+)\.tar\.xz \
+  ftp://ftp.kde.org/pub/kde/stable/libqapt/([\d\.]+)/src/libqapt-([\d\.]+)\.tar\.bz2 \
   debian git-import-orig

-- 
qapt packaging



More information about the pkg-kde-commits mailing list