[Qa-jenkins-scm] [jenkins.debian.net] 05/08: reproducible: setup_notify: also allow passing a maintainer email, the script will look up packages maintained by that email in sid (using udd) and flag them
Holger Levsen
holger at moszumanska.debian.org
Fri May 29 14:25:24 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 0e38e75fac3b6ae71f664a28feb40b92acff1ed7
Author: Mattia Rizzolo <mattia at mapreri.org>
Date: Thu May 28 23:02:18 2015 +0200
reproducible: setup_notify: also allow passing a maintainer email, the script will look up packages maintained by that email in sid (using udd) and flag them
---
bin/reproducible_setup_notify.py | 44 +++++++++++++++++++++++++++++++---------
1 file changed, 34 insertions(+), 10 deletions(-)
diff --git a/bin/reproducible_setup_notify.py b/bin/reproducible_setup_notify.py
index 80ef9a6..3b79016 100755
--- a/bin/reproducible_setup_notify.py
+++ b/bin/reproducible_setup_notify.py
@@ -16,11 +16,12 @@ parser = argparse.ArgumentParser(
'maintainer when the reproducibly status change',
epilog='The build results will be announced on the #debian-reproducible' +
' IRC channel.')
-group = parser.add_mutually_exclusive_group()
parser.add_argument('-o', '--deactivate', action='store_true',
help='Deactivate the notifications')
-group.add_argument('-p', '--packages', default='', nargs='+',
- help='list of packages for which activate notifications')
+parser.add_argument('-p', '--packages', default='', nargs='+',
+ help='list of packages for which activate notifications')
+parser.add_argument('-m', '--maintainer', default='',
+ help='email of a maintainer interested in his packages')
local_args = parser.parse_known_args()[0]
# these are here as an hack to be able to parse the command line
@@ -35,19 +36,19 @@ class bcolors:
FAIL = '\033[91m' + BOLD + UNDERLINE
ENDC = '\033[0m'
-packages = local_args.packages
+packages = local_args.packages if local_args.packages else []
+maintainer = local_args.maintainer
-if not packages:
- log.critical(bcolors.FAIL + 'You have to specify at least a package' +
- bcolors.ENDC)
+if not packages and not maintainer:
+ log.critical(bcolors.FAIL + 'You have to specify at least a package ' +
+ 'or a maintainer.' + bcolors.ENDC)
def _good(text):
log.info(bcolors.GOOD + str(text) + bcolors.ENDC)
-c = conn_db.cursor()
-for package in packages:
- if local_args.deactivate:
+def process_pkg(package, deactivate):
+ if deactivate:
_good('Deactovating notification for package ' + str(package))
flag = 0
else:
@@ -65,3 +66,26 @@ for package in packages:
log.debug(query_db(query))
+if maintainer:
+ global conn_udd
+ if not conn_udd:
+ conn_udd = start_udd_connection()
+ c = conn_udd.cursor()
+ query = "SELECT source FROM sources WHERE maintainer_email = '{}' " + \
+ "AND release = 'sid'"
+ try:
+ c.execute(query.format(maintainer))
+ pkgs = [x[0] for x in c.fetchall()]
+ except IndexError:
+ log.info('No packages maintained by ' + maintainer)
+ sys.exit(0)
+ finally:
+ conn_udd.close()
+ log.info('Packages maintained by ' + maintainer + ':')
+ log.info('\t' + ', '.join(pkgs))
+ packages.extend(pkgs)
+
+
+c = conn_db.cursor()
+for package in packages:
+ process_pkg(package, local_args.deactivate)
--
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