This is an automated email from the git hooks/post-receive script.

guillem pushed a commit to branch master
in repository dpkg.

View the commit online:
https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=b166c999d28cc56e5befe7f13329ec5aa8f448ca

commit b166c999d28cc56e5befe7f13329ec5aa8f448ca
Author: Guillem Jover <[email protected]>
AuthorDate: Sun Jan 20 22:43:34 2019 +0100

    dpkg: Reset progress_bytrigproc once we have injected into the current 
iteration
    
    We should not leave the package that could be used to make progress by
    way of trigger processing in this variable, because it might not have
    its dependencies satisfied, which means we'll be trying to process it on
    every next loop, and get into artificialy detected trigger cycles.
---
 debian/changelog | 4 ++++
 src/packages.c   | 1 +
 2 files changed, 5 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 4cfc55b63..409195f0e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -32,6 +32,10 @@ dpkg (1.19.3) UNRELEASED; urgency=medium
     were not making progress, as we expected to process this package at a later
     point, when that would never happen anymore. This then was causing asserts
     in the process queue loop. Closes: #901127, #910819
+  * dpkg: Reset progress_bytrigproc once we have injected it into the current
+    package process queue iteration, so that we do not keep trying to process
+    it, which might end up generating artificial trigger cycles, if
+    dependencies are not satisfied yet.
   * Perl modules:
     - Dpkg::Changelog::Debian: Preserve modelines at EOF. Closes: #916056
       Thanks to Chris Lamb <[email protected]> for initial test cases.
diff --git a/src/packages.c b/src/packages.c
index 7ca003433..e4214fd0c 100644
--- a/src/packages.c
+++ b/src/packages.c
@@ -240,6 +240,7 @@ void process_queue(void) {
       if (progress_bytrigproc && progress_bytrigproc->trigpend_head) {
         enqueue_package(pkg);
         pkg = progress_bytrigproc;
+        progress_bytrigproc = NULL;
         action_todo = act_configure;
       } else {
         dependtry++;

-- 
Dpkg.Org's dpkg

Reply via email to