[Qa-jenkins-scm] [jenkins.debian.net] 01/01: bin/find_dpkg_trigger_cycles.sh: ignore dependencies on Essential:yes packages

Holger Levsen holger at layer-acht.org
Fri Mar 31 08:57:27 UTC 2017


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

holger pushed a commit to branch master
in repository jenkins.debian.net.

commit dd347bb5e0587fed7e6881c8cb0ed3ca60b6595b
Author: Johannes 'josch' Schauer <josch at mister-muffin.de>
Date:   Thu Mar 30 14:37:58 2017 +0200

    bin/find_dpkg_trigger_cycles.sh: ignore dependencies on Essential:yes packages
    
    The implicit dependencies of all binary packages on all Essential:yes
    packages cannot result in a trigger cycle for two reasons:
    
    1. Policy §3.8 says "Since dpkg will not prevent upgrading of other packages
       while an `essential' package is in an unconfigured state" which
       implies that because triggers check the possibility to process or not
       triggers based on normal dpkg dependency resolution, then essential does not
       apply.
    
    2. The trigger documentation in /usr/share/doc/dpkg-dev/triggers.txt.gz
       does not mention Essential at all and when talking about dependency
       satisfiability it only refers to Depends field.
    
    Signed-off-by: Mattia Rizzolo <mattia at debian.org>
---
 bin/find_dpkg_trigger_cycles.sh | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/bin/find_dpkg_trigger_cycles.sh b/bin/find_dpkg_trigger_cycles.sh
index 879d5f3..9fdad93 100755
--- a/bin/find_dpkg_trigger_cycles.sh
+++ b/bin/find_dpkg_trigger_cycles.sh
@@ -226,7 +226,10 @@ cat $DIRECTORY/interested-file | while read pkg ttype ipath; do
 	echo "getting dependency closure..." >&2
 	# go through all packages in the dependency closure and check if any
 	# of the files they ship match one of the interested paths
-	dose-ceve -c $pkg -T cudf -t deb \
+	#
+	# We ignore the implicit dependencies on Essential:yes packages because
+	# they do not create trigger cycles.
+	dose-ceve --deb-ignore-essential -c $pkg -T cudf -t deb \
 		$DIRECTORY/var/lib/apt/lists/*_dists_${DIST}_main_binary-${ARCH}_Packages \
 		| awk '/^package:/ { print $2 }' \
 		| apt-file $APT_FILE_OPTS show -F --from-file - \
@@ -244,7 +247,10 @@ cat $DIRECTORY/interested-file | while read pkg ttype ipath; do
 	echo "getting dependency closure..." >&2
 	# go through all packages in the dependency closure and check if any
 	# of them activate a matching path
-	dose-ceve -c $pkg -T cudf -t deb \
+	#
+	# We ignore the implicit dependencies on Essential:yes packages because
+	# they do not create trigger cycles.
+	dose-ceve --deb-ignore-essential -c $pkg -T cudf -t deb \
 		$DIRECTORY/var/lib/apt/lists/*_dists_${DIST}_main_binary-${ARCH}_Packages \
 		| awk '/^package:/ { print $2 }' \
 		| while read dep; do
@@ -266,7 +272,10 @@ cat $DIRECTORY/interested-explicit | while read pkg ttype iname; do
 	echo "getting dependency closure..." >&2
 	# go through all packages in the dependency closure and check if any of
 	# them activate the trigger in which this package is interested
-	dose-ceve -c $pkg -T cudf -t deb \
+	#
+	# We ignore the implicit dependencies on Essential:yes packages because
+	# they do not create trigger cycles.
+	dose-ceve --deb-ignore-essential -c $pkg -T cudf -t deb \
 		$DIRECTORY/var/lib/apt/lists/*_dists_${DIST}_main_binary-${ARCH}_Packages \
 		| awk '/^package:/ { print $2 }' \
 		| while read dep; do

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/qa/jenkins.debian.net.git



More information about the Qa-jenkins-scm mailing list