[Qa-jenkins-scm] [jenkins.debian.net] 02/04: reproducible: add new package set: build-essential-depends

Holger Levsen holger at moszumanska.debian.org
Thu Mar 19 13:56:53 UTC 2015


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 6c4b4a55b30409ea6a06ce36edfaea00f309f668
Author: josch <j.schauer at email.de>
Date:   Wed Mar 18 22:25:13 2015 +0100

    reproducible: add new package set: build-essential-depends
---
 bin/reproducible_common.sh               |  1 +
 bin/reproducible_create_meta_pkg_sets.sh | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)

diff --git a/bin/reproducible_common.sh b/bin/reproducible_common.sh
index 3aba86c..eba98be 100755
--- a/bin/reproducible_common.sh
+++ b/bin/reproducible_common.sh
@@ -72,6 +72,7 @@ META_PKGSET[10]="tails_build-depends"
 META_PKGSET[11]="grml"
 META_PKGSET[12]="grml_build-depends"
 META_PKGSET[13]="maint_pkg-perl-maintainers"
+META_PKGSET[14]="build-essential-depends"
 
 schedule_packages() {
 	# these packages are manually scheduled, so should have high priority,
diff --git a/bin/reproducible_create_meta_pkg_sets.sh b/bin/reproducible_create_meta_pkg_sets.sh
index f08a453..1a2b5e4 100755
--- a/bin/reproducible_create_meta_pkg_sets.sh
+++ b/bin/reproducible_create_meta_pkg_sets.sh
@@ -190,6 +190,34 @@ update_pkg_sets() {
 		grep-dctrl -sPackage -n -FMaintainer pkg-perl-maintainers at lists.alioth.debian.org $SOURCES > $TMPFILE
 		update_if_similar ${META_PKGSET[13]}.pkgset
 	fi
+
+	# build-essential-depends
+	#
+	# This set is created using the following procedure:
+	#
+	#  1. take the binary package build-essential and put it into set S
+	#  2. go over every package in S and
+	#      2.1. if it is a binary package
+	#          2.1.1 add all its Depends and Pre-Depends to S
+	#          2.1.2 add the source package it builds from to S
+	#      2.2. if it is a source package add all its Build-Depends,
+	#           Build-Depends-Indep and Build-Depends-Arch to S
+	#  3. if step 2 added new packages, repeat step 2, otherwise exit
+	#
+	# This set is important because a package can only be trusted if
+	# also all its dependencies, all its build dependencies and
+	# recursively their own dependencies and build dependencies can be
+	# trusted.
+	# So making this set reproducible is required to make anything
+	# in the essential or build-essential set trusted.
+	if [ ! -z $(find $TPATH -maxdepth 1 -mtime +0 -name ${META_PKGSET[14]}.pkgset) ] || [ ! -f $TPATH/${META_PKGSET[14]}.pkgset ] ; then
+		curl http://bootstrap.debian.net/importance_metric_all.txt > $TMPFILE2
+		# retrieve the highest number in the third column (packages affect)
+		HIGHEST=`sort -n -k 3 $TMPFILE2 | tail -1 | cut -f 3`
+		# now get all lines where the third column is equal to this value
+		awk '$3 == "'$HIGHEST'" { print $1 }' $TMPFILE2 | cut -d ':' -f 2 > $TMPFILE
+		update_if_similar ${META_PKGSET[14]}.pkgset
+	fi
 }
 
 TMPFILE=$(mktemp)

-- 
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