[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