diff options
author | Holger Levsen <holger@layer-acht.org> | 2014-10-15 09:32:00 +0200 |
---|---|---|
committer | Holger Levsen <holger@layer-acht.org> | 2014-10-15 09:32:00 +0200 |
commit | 985685a82b52e62cede3292705db5e97f2a40bf4 (patch) | |
tree | a46e1e935b9921e6c4f64f91c47472cf05b15169 | |
parent | f369c862bac22fbd115a8944aa8cddc453abf978 (diff) | |
download | jenkins.debian.net-985685a82b52e62cede3292705db5e97f2a40bf4.tar.xz |
reproducible: add new helper script to blacklist packages + document it
-rw-r--r-- | README | 9 | ||||
-rwxr-xr-x | bin/reproducible_blacklist.sh | 57 |
2 files changed, 65 insertions, 1 deletions
@@ -111,9 +111,16 @@ Installation tests inside chroot environments. * manual rescheduling is easy, if you have console access. (Hint: you don't but someone on #debian-reproducible will have.) This is how to: ---- -jenkins@jenkins:~$ /srv/jenkins/bin/reproducible_schedule_on_demand.sh package1 package2 abcde</code> +jenkins@jenkins:~$ /srv/jenkins/bin/reproducible_schedule_on_demand.sh package1 package2 abcde ---- +* blacklisting packages can be done similarily, optionally list reaons in 'notes.git/packages.yml' + +---- +jenkins@jenkins:~$ /srv/jenkins/bin/reproducible_blacklist.sh package1 +---- + + === dvswitch jobs * FIXME: describe dvswitch jobs diff --git a/bin/reproducible_blacklist.sh b/bin/reproducible_blacklist.sh new file mode 100755 index 00000000..dbb040e9 --- /dev/null +++ b/bin/reproducible_blacklist.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +# Copyright 2014 Holger Levsen <holger@layer-acht.org> +# released under the GPLv=2 + +. /srv/jenkins/bin/common-functions.sh +common_init "$@" + +# common code defining db access +. /srv/jenkins/bin/reproducible_common.sh + +blacklist_packages() { + DATE=$(date +'%Y-%m-%d %H:%M') + TMPFILE=$(mktemp) + for PKG in $PACKAGES ; do + VERSION=$(sqlite3 -init $INIT ${PACKAGES_DB} "SELECT version from sources WHERE name = '$PKG';") + sqlite3 -init $INIT ${PACKAGES_DB} "REPLACE INTO source_packages VALUES ('$PKG','$VERSION','blacklisted','$DATE');" + done + echo "=============================================================================" + echo "The following $TOTAL source packages have been (re-)scheduled: $PACKAGES" + echo "=============================================================================" + echo +} + +check_candidates() { + PACKAGES="" + TOTAL=0 + for PKG in $CANDIDATES ; do + RESULT=$(sqlite3 -init $INIT ${PACKAGES_DB} "SELECT name from sources WHERE name = '$PKG';") + if [ ! -z "$RESULT" ] ; then + PACKAGES="$PACKAGES $RESULT" + let "TOTAL+=1" + fi + done +} + + + +# +# main +# +set +x +CANDIDATES="$@" +check_candidates +PACKAGES=$(echo $PACKAGES) +MESSAGE="$TOTAL package(s) blacklisted: ${PACKAGES}" +if [ $TOTAL -lt 1 ] ; then + exit 1 +fi + +# finally +blacklist_packages +echo +echo "$MESSAGE" +kgb-client --conf /srv/jenkins/kgb/debian-reproducible.conf --relay-msg "$MESSAGE" +echo +echo "Probably edit notes.git/packages.yml now and enter reasons for blacklisting there" |