[Reproducible-commits] [dpkg] 08/13: dpkg: Disable dependency checks on trigger processing

Holger Levsen holger at layer-acht.org
Tue May 3 08:44:15 UTC 2016


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

holger pushed a commit to annotated tag 1.17.24
in repository dpkg.

commit cb58274c98654f1b0a8e069c9deeeadf9641d951
Author: Guillem Jover <guillem at debian.org>
Date:   Fri Feb 20 17:20:04 2015 +0100

    dpkg: Disable dependency checks on trigger processing
    
    There are still trigger showing up this close to the Debian release,
    which are hard to detect automatically as they are caused by maintainer
    script actions.
    
    The checks are only removed in the 1.17.x series, and will be kept in
    force for the 1.18.x series.
    
    Requested-by: Niels Thykier <niels at thykier.net> (Debian Release Manager)
---
 debian/changelog |  4 ++++
 src/trigproc.c   | 55 ++-----------------------------------------------------
 2 files changed, 6 insertions(+), 53 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index cf4df90..fb88d82 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -14,6 +14,10 @@ dpkg (1.17.24) UNRELEASED; urgency=low
   * Check that HAVE_DECL_SYS_SIGLIST is 0 instead of undefined, to fix a
     build failure on uclibc based systems. Closes: #777044
     Based on a patch by Alex Potapenko <opotapenko at gmail.com>.
+  * Disable dependency checks on trigger processing. There are still trigger
+    cycles showing up this close to the Debian release, which are hard to
+    detect automatically as they are caused by maintainer script actions.
+    Requested by Niels Thykier <niels at thykier.net> (Debian Release Manager).
 
   [ Updated manpages translations ]
   * German (Helge Kreutzmann).
diff --git a/src/trigproc.c b/src/trigproc.c
index bb17346..076e2a1 100644
--- a/src/trigproc.c
+++ b/src/trigproc.c
@@ -354,7 +354,6 @@ trigproc(struct pkginfo *pkg, enum trigproc_type type)
 {
 	static struct varbuf namesarg;
 
-	struct varbuf depwhynot = VARBUF_INIT;
 	struct trigpend *tp;
 	struct pkginfo *gaveup;
 
@@ -365,62 +364,12 @@ trigproc(struct pkginfo *pkg, enum trigproc_type type)
 	pkg->clientdata->trigprocdeferred = NULL;
 
 	if (pkg->trigpend_head) {
-		enum dep_check ok;
-
 		assert(pkg->status == PKG_STAT_TRIGGERSPENDING ||
 		       pkg->status == PKG_STAT_TRIGGERSAWAITED);
 
-		if (dependtry > 1) {
-			gaveup = check_trigger_cycle(pkg);
-			if (gaveup == pkg)
-				return;
-
-			if (findbreakcycle(pkg))
-				sincenothing = 0;
-		}
-
-		ok = dependencies_ok(pkg, NULL, &depwhynot);
-		if (ok == DEP_CHECK_DEFER) {
-			varbuf_destroy(&depwhynot);
-			enqueue_package(pkg);
+		gaveup = check_trigger_cycle(pkg);
+		if (gaveup == pkg)
 			return;
-		} else if (ok == DEP_CHECK_HALT) {
-			/* We cannot process this package on this dpkg run,
-			 * and we can get here repeatedly if this package is
-			 * required to make progress for other packages. So
-			 * reset the trigger cycles tracking to avoid bogus
-			 * cycle detections. */
-			trigproc_reset_cycle();
-
-			/* When doing opportunistic trigger processig, nothing
-			 * requires us to be able to make progress; skip the
-			 * package and silently ignore the error due to
-			 * unsatisfiable dependencies. */
-			if (type == TRIGPROC_TRY) {
-				varbuf_destroy(&depwhynot);
-				return;
-			}
-
-			sincenothing = 0;
-			varbuf_end_str(&depwhynot);
-			notice(_("dependency problems prevent processing "
-			         "triggers for %s:\n%s"),
-			       pkg_name(pkg, pnaw_nonambig), depwhynot.buf);
-			varbuf_destroy(&depwhynot);
-			ohshit(_("dependency problems - leaving triggers unprocessed"));
-		} else if (depwhynot.used) {
-			varbuf_end_str(&depwhynot);
-			notice(_("%s: dependency problems, but processing "
-			         "triggers anyway as you requested:\n%s"),
-			       pkg_name(pkg, pnaw_nonambig), depwhynot.buf);
-			varbuf_destroy(&depwhynot);
-		}
-
-		if (dependtry <= 1) {
-			gaveup = check_trigger_cycle(pkg);
-			if (gaveup == pkg)
-				return;
-		}
 
 		printf(_("Processing triggers for %s (%s) ...\n"),
 		       pkg_name(pkg, pnaw_nonambig),

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/dpkg.git



More information about the Reproducible-commits mailing list