Hello community,
here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2018-04-16 12:47:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Mon Apr 16 12:47:46 2018 rev:80 rq:595658 version:20180411.820d103
Changes:
--------
--- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2018-04-07 20:55:30.689746959 +0200
+++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes 2018-04-16 12:48:01.755207226 +0200
@@ -1,0 +2,9 @@
+Wed Apr 11 12:36:59 UTC 2018 - opensuse-releaseteam@opensuse.org
+
+- Update to version 20180411.820d103:
+ * issue-diff: utilize entity_mail() as adapted into osclib.core.
+ * devel-project: provide notify sub-command.
+ * osclib/util: provide mail_send(), modified from announcer.py.
+ * osclib/core: provide entity_email(), modified from issue-diff.py.
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20180406.ace73fe.obscpio
New:
----
openSUSE-release-tools-20180411.820d103.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.LzjGEx/_old 2018-04-16 12:48:05.739062300 +0200
+++ /var/tmp/diff_new_pack.LzjGEx/_new 2018-04-16 12:48:05.739062300 +0200
@@ -20,7 +20,7 @@
%define source_dir openSUSE-release-tools
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20180406.ace73fe
+Version: 20180411.820d103
Release: 0
Summary: Tools to aid in staging and release work for openSUSE/SUSE
License: GPL-2.0-or-later AND MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.LzjGEx/_old 2018-04-16 12:48:05.783060700 +0200
+++ /var/tmp/diff_new_pack.LzjGEx/_new 2018-04-16 12:48:05.783060700 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
- <param name="changesrevision">ace73fecaf4995fb8714639901ece1b6d276f570</param>
+ <param name="changesrevision">1102e3cebcce638d3f2a241f6a9131482140619d</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20180406.ace73fe.obscpio -> openSUSE-release-tools-20180411.820d103.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180406.ace73fe/devel-project.py new/openSUSE-release-tools-20180411.820d103/devel-project.py
--- old/openSUSE-release-tools-20180406.ace73fe/devel-project.py 2018-04-06 15:28:16.000000000 +0200
+++ new/openSUSE-release-tools-20180411.820d103/devel-project.py 2018-04-11 14:30:51.000000000 +0200
@@ -12,12 +12,16 @@
from osc.core import get_review_list
from osc.core import http_GET
from osc.core import makeurl
+from osc.core import meta_get_packagelist
from osc.core import show_package_meta
from osc.core import show_project_meta
from osclib.comments import CommentAPI
from osclib.conf import Config
+from osclib.core import devel_project_fallback
+from osclib.core import entity_email
from osclib.core import request_age
from osclib.stagingapi import StagingAPI
+from osclib.util import mail_send
BOT_NAME = 'devel-project'
@@ -96,6 +100,32 @@
if len(intersection) != len(desired):
print('{} missing {}'.format(devel_project, ', '.join(desired - intersection)))
+def notify(args):
+ apiurl = osc.conf.config['apiurl']
+
+ # devel_projects_get() only works for Factory as such
+ # devel_project_fallback() must be used on a per package basis.
+ packages = meta_get_packagelist(apiurl, args.project)
+ maintainer_map = {}
+ for package in packages:
+ devel_project, devel_package = devel_project_fallback(apiurl, args.project, package)
+ if devel_project and devel_package:
+ devel_package_identifier = '/'.join([devel_project, devel_package])
+ userids = maintainers_get(apiurl, devel_project, devel_package)
+ for userid in userids:
+ maintainer_map.setdefault(userid, set())
+ maintainer_map[userid].add(devel_package_identifier)
+
+ Config(args.project) # Ensure mail-* options are loaded for mail_send().
+ subject = 'Packages you maintain are present in {}'.format(args.project)
+ for userid, package_identifiers in maintainer_map.items():
+ email = entity_email(apiurl, userid)
+ message = 'The following packages you maintain are in {}:\n\n- {}'.format(
+ args.project, '\n- '.join(sorted(package_identifiers)))
+
+ mail_send(args.project, email, subject, message, dry=args.dry)
+ print('notified {} of {} packages'.format(userid, len(package_identifiers)))
+
def requests(args):
apiurl = osc.conf.config['apiurl']
devel_projects = devel_projects_load(args)
@@ -227,6 +257,10 @@
parser_maintainer.set_defaults(func=maintainer)
parser_maintainer.add_argument('-g', '--group', action='append', help='group for which to check')
+ parser_notify = subparsers.add_parser('notify', help='notify maintainers of their packages')
+ parser_notify.set_defaults(func=notify)
+ parser_notify.add_argument('--dry', action='store_true', help='dry run emails')
+
parser_requests = subparsers.add_parser('requests', help='List open requests.')
parser_requests.set_defaults(func=requests)
common_args_add(parser_requests)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180406.ace73fe/issue-diff.py new/openSUSE-release-tools-20180411.820d103/issue-diff.py
--- old/openSUSE-release-tools-20180406.ace73fe/issue-diff.py 2018-04-06 15:28:16.000000000 +0200
+++ new/openSUSE-release-tools-20180411.820d103/issue-diff.py 2018-04-11 14:30:51.000000000 +0200
@@ -21,6 +21,7 @@
import osc.core
from osclib.cache import Cache
+from osclib.core import entity_email
from osclib.core import package_list
from osclib.git import CACHE_DIR
from osclib.git import sync
@@ -54,12 +55,6 @@
return newbug.id
-def entity_email(apiurl, entity, key):
- url = osc.core.makeurl(apiurl, (entity, key))
- root = ET.parse(osc.core.http_GET(url)).getroot()
- email = root.find('email')
- return email.text if email is not None else None
-
def bug_owner(apiurl, package, entity='person'):
query = {
'binary': package,
@@ -69,10 +64,10 @@
bugowner = root.find('.//{}[@role="bugowner"]'.format(entity))
if bugowner is not None:
- return entity_email(apiurl, entity, bugowner.get('name'))
+ return entity_email(apiurl, bugowner.get('name'), entity)
maintainer = root.find('.//{}[@role="maintainer"]'.format(entity))
if maintainer is not None:
- return entity_email(apiurl, entity, maintainer.get('name'))
+ return entity_email(apiurl, maintainer.get('name'), entity)
if entity == 'person':
return bug_owner(apiurl, package, 'group')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180406.ace73fe/osclib/conf.py new/openSUSE-release-tools-20180411.820d103/osclib/conf.py
--- old/openSUSE-release-tools-20180406.ace73fe/osclib/conf.py 2018-04-06 15:28:16.000000000 +0200
+++ new/openSUSE-release-tools-20180411.820d103/osclib/conf.py 2018-04-11 14:30:51.000000000 +0200
@@ -54,6 +54,10 @@
'legal-review-group': 'legal-auto',
'repo-checker': 'repo-checker',
'pkglistgen-product-family-include': 'openSUSE:Leap:N',
+ 'mail-list': 'opensuse-factory@opensuse.org',
+ 'mail-maintainer': 'Dominique Leuenberger