Hello community, here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2018-03-13 10:23: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" Tue Mar 13 10:23:46 2018 rev:69 rq:585797 version:20180312.35e7c51 Changes: -------- --- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2018-03-11 15:24:46.444242475 +0100 +++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes 2018-03-13 10:23:57.653937317 +0100 @@ -1,0 +2,29 @@ +Mon Mar 12 09:42:07 UTC 2018 - opensuse-releaset...@opensuse.org + +- Update to version 20180312.35e7c51: + * services: Add Install section to totest-manager service + +------------------------------------------------------------------- +Sun Mar 11 08:31:32 UTC 2018 - opensuse-releaset...@opensuse.org + +- Update to version 20180311.ad60562: + * ReviewBot: don't crash if staging-group is None + * check_source: make adding review team configurable + * check_source: fix boolean option + * pkglistgen: Fix reading boolean values + +------------------------------------------------------------------- +Fri Mar 09 18:06:53 UTC 2018 - opensuse-releaset...@opensuse.org + +- Update to version 20180309.d001daf: + * issue-diff: rename --config-dir as --cache-dir to be more accurate. + * issue-diff: replace git sync functionality with osclib.git. + * osclib/git: provide git utilities: clone() and sync(). + +------------------------------------------------------------------- +Fri Mar 09 11:12:04 UTC 2018 - opensuse-releaset...@opensuse.org + +- Update to version 20180309.fe4edd6: + * Treat stagings differently + +------------------------------------------------------------------- Old: ---- openSUSE-release-tools-20180309.7484722.obscpio New: ---- openSUSE-release-tools-20180312.35e7c51.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openSUSE-release-tools.spec ++++++ --- /var/tmp/diff_new_pack.TXfRML/_old 2018-03-13 10:23:58.897892749 +0100 +++ /var/tmp/diff_new_pack.TXfRML/_new 2018-03-13 10:23:58.901892605 +0100 @@ -20,7 +20,7 @@ %define source_dir osc-plugin-factory %define announcer_filename factory-package-news Name: openSUSE-release-tools -Version: 20180309.7484722 +Version: 20180312.35e7c51 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.TXfRML/_old 2018-03-13 10:23:58.957890599 +0100 +++ /var/tmp/diff_new_pack.TXfRML/_new 2018-03-13 10:23:58.957890599 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/openSUSE/osc-plugin-factory.git</param> - <param name="changesrevision">7484722b2abe685a03cf783661bd23282a7db52f</param> + <param name="changesrevision">f1e56df8b9e8a123911ec8e4f2b08dd6c27db8b4</param> </service> </servicedata> ++++++ openSUSE-release-tools-20180309.7484722.obscpio -> openSUSE-release-tools-20180312.35e7c51.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180309.7484722/ReviewBot.py new/openSUSE-release-tools-20180312.35e7c51/ReviewBot.py --- old/openSUSE-release-tools-20180309.7484722/ReviewBot.py 2018-03-09 11:00:05.000000000 +0100 +++ new/openSUSE-release-tools-20180312.35e7c51/ReviewBot.py 2018-03-12 10:26:07.000000000 +0100 @@ -169,7 +169,10 @@ self.staging_api(project) config = self.staging_config[project] - users = group_members(self.apiurl, config['staging-group']) + users = [] + group = config.get('staging-group') + if group: + users += group_members(self.apiurl, group) if self.override_group_key: override_group = config.get(self.override_group_key) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180309.7484722/check_source.py new/openSUSE-release-tools-20180312.35e7c51/check_source.py --- old/openSUSE-release-tools-20180309.7484722/check_source.py 2018-03-09 11:00:05.000000000 +0100 +++ new/openSUSE-release-tools-20180312.35e7c51/check_source.py 2018-03-12 10:26:07.000000000 +0100 @@ -17,6 +17,7 @@ import urllib2 import ReviewBot from check_maintenance_incidents import MaintenanceChecker +from osclib.conf import str2bool class CheckSource(ReviewBot.ReviewBot): @@ -37,7 +38,8 @@ self.staging_api(project) config = self.staging_config[project] - self.ignore_devel = not bool(config.get('devel-project-enforce', False)) + self.ignore_devel = not str2bool(config.get('devel-project-enforce', 'False')) + self.add_review_team = str2bool(config.get('check-source-add-review-team', 'True')) self.review_team = config.get('review-team') self.repo_checker = config.get('repo-checker') self.devel_whitelist = config.get('devel-whitelist', '').split() @@ -131,7 +133,7 @@ self.review_messages['accepted'] += "\n\nOutput of check script (non-fatal):\n" + output if not self.skip_add_reviews: - if self.review_team is not None: + if self.add_review_team and self.review_team is not None: self.add_review(self.request, by_group=self.review_team, msg='Please review sources') if self.only_changes(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180309.7484722/issue-diff.py new/openSUSE-release-tools-20180312.35e7c51/issue-diff.py --- old/openSUSE-release-tools-20180309.7484722/issue-diff.py 2018-03-09 11:00:05.000000000 +0100 +++ new/openSUSE-release-tools-20180312.35e7c51/issue-diff.py 2018-03-12 10:26:07.000000000 +0100 @@ -22,6 +22,8 @@ from osclib.cache import Cache from osclib.core import package_list +from osclib.git import CACHE_DIR +from osclib.git import sync # Issue summary can contain unicode characters and therefore a string containing # either summary or one in which ISSUE_SUMMARY is then placed must be unicode. @@ -205,40 +207,6 @@ return issues -def git_clone(url, directory): - return_code = subprocess.call(['git', 'clone', url, directory]) - if return_code != 0: - raise Exception('Failed to clone {}'.format(url)) - -def sync(config_dir, db_dir): - cwd = os.getcwd() - devnull = open(os.devnull, 'wb') - - git_sync_dir = os.path.join(config_dir, 'git-sync') - git_sync_exec = os.path.join(git_sync_dir, 'git-sync') - if not os.path.exists(git_sync_dir): - os.makedirs(git_sync_dir) - git_clone('https://github.com/simonthum/git-sync.git', git_sync_dir) - else: - os.chdir(git_sync_dir) - subprocess.call(['git', 'pull', 'origin', 'master'], stdout=devnull, stderr=devnull) - - if not os.path.exists(db_dir): - os.makedirs(db_dir) - git_clone('g...@github.com:jberry-suse/osc-plugin-factory-issue-db.git', db_dir) - - os.chdir(db_dir) - subprocess.call(['git', 'config', '--bool', 'branch.master.sync', 'true']) - subprocess.call(['git', 'config', '--bool', 'branch.master.syncNewFiles', 'true']) - subprocess.call(['git', 'config', 'branch.master.syncCommitMsg', 'Sync issue-diff.py changes.']) - - os.chdir(db_dir) - return_code = subprocess.call([git_sync_exec]) - if return_code != 0: - raise Exception('Failed to sync local db changes.') - - os.chdir(cwd) - def print_stats(db): bug_ids = [] reported = 0 @@ -273,9 +241,10 @@ Cache.init() - db_dir = os.path.join(args.config_dir, 'issue-db') + git_repo_url = 'g...@github.com:jberry-suse/osc-plugin-factory-issue-db.git' + git_message = 'Sync issue-diff.py changes.' + db_dir = sync(args.cache_dir, git_repo_url, git_message) db_file = os.path.join(db_dir, '{}.yml'.format(args.project)) - sync(args.config_dir, db_dir) if os.path.exists(db_file): db = yaml.safe_load(open(db_file).read()) @@ -424,7 +393,7 @@ print('stopped at limit') break - sync(args.config_dir, db_dir) + sync(args.cache_dir, git_repo_url, git_message) if __name__ == '__main__': @@ -443,11 +412,11 @@ parser.add_argument('-p', '--project', default='SUSE:SLE-12-SP3:GA', metavar='PROJECT', help='project to check for issues that have are not found in factory') parser.add_argument('--newest', type=int, default='30', metavar='AGE_IN_DAYS', help='newest issues to be considered') parser.add_argument('--limit', type=int, default='0', help='limit number of packages with new issues processed') - parser.add_argument('--config-dir', help='configuration directory containing git-sync tool and issue db') + parser.add_argument('--cache-dir', help='cache directory containing git-sync tool and issue db') parser.add_argument('--print-stats', action='store_true', help='print statistics based on database') args = parser.parse_args() - if args.config_dir is None: - args.config_dir = os.path.expanduser('~/.osc-plugin-factory') + if args.cache_dir is None: + args.cache_dir = CACHE_DIR sys.exit(main(args)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180309.7484722/osclib/conf.py new/openSUSE-release-tools-20180312.35e7c51/osclib/conf.py --- old/openSUSE-release-tools-20180309.7484722/osclib/conf.py 2018-03-09 11:00:05.000000000 +0100 +++ new/openSUSE-release-tools-20180312.35e7c51/osclib/conf.py 2018-03-12 10:26:07.000000000 +0100 @@ -73,6 +73,7 @@ 'main-repo': 'standard', 'download-baseurl': 'http://download.opensuse.org/distribution/leap/%(version)s/', 'download-baseurl-update': 'http://download.opensuse.org/update/leap/%(version)s/', + 'check-source-add-review-team': 'False', 'review-team': 'opensuse-review-team', 'legal-review-group': 'legal-auto', # check_source.py @@ -169,6 +170,10 @@ # +def str2bool(v): + return v.lower() in ("yes", "true", "t", "1") + + class Config(object): """Helper class to configuration file.""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180309.7484722/osclib/git.py new/openSUSE-release-tools-20180312.35e7c51/osclib/git.py --- old/openSUSE-release-tools-20180309.7484722/osclib/git.py 1970-01-01 01:00:00.000000000 +0100 +++ new/openSUSE-release-tools-20180312.35e7c51/osclib/git.py 2018-03-12 10:26:07.000000000 +0100 @@ -0,0 +1,46 @@ +import os +from os import path +import subprocess +from xdg.BaseDirectory import save_cache_path + +CACHE_DIR = save_cache_path('osc-plugin-factory', 'git') + +def clone(url, directory): + return_code = subprocess.call(['git', 'clone', url, directory]) + if return_code != 0: + raise Exception('Failed to clone {}'.format(url)) + +def sync(cache_dir, repo_url, message=None): + cwd = os.getcwd() + devnull = open(os.devnull, 'wb') + + # Ensure git-sync tool is available. + git_sync_dir = path.join(cache_dir, 'git-sync') + git_sync_exec = path.join(git_sync_dir, 'git-sync') + if not path.exists(git_sync_dir): + os.makedirs(git_sync_dir) + clone('https://github.com/simonthum/git-sync.git', git_sync_dir) + else: + os.chdir(git_sync_dir) + subprocess.call(['git', 'pull', 'origin', 'master'], stdout=devnull, stderr=devnull) + + repo_name = path.basename(path.normpath(repo_url)) + repo_dir = path.join(cache_dir, repo_name) + if not path.exists(repo_dir): + os.makedirs(repo_dir) + clone(repo_url, repo_dir) + + os.chdir(repo_dir) + subprocess.call(['git', 'config', '--bool', 'branch.master.sync', 'true']) + subprocess.call(['git', 'config', '--bool', 'branch.master.syncNewFiles', 'true']) + if message: + subprocess.call(['git', 'config', 'branch.master.syncCommitMsg', message]) + + os.chdir(repo_dir) + return_code = subprocess.call([git_sync_exec]) + if return_code != 0: + raise Exception('failed to sync {}'.format(repo_name)) + + os.chdir(cwd) + + return repo_dir diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180309.7484722/pkglistgen.py new/openSUSE-release-tools-20180312.35e7c51/pkglistgen.py --- old/openSUSE-release-tools-20180309.7484722/pkglistgen.py 2018-03-09 11:00:05.000000000 +0100 +++ new/openSUSE-release-tools-20180312.35e7c51/pkglistgen.py 2018-03-12 10:26:07.000000000 +0100 @@ -39,7 +39,7 @@ from osc.core import show_results_meta from osc.core import undelete_package from osc import conf -from osclib.conf import Config +from osclib.conf import Config, str2bool from osclib.stagingapi import StagingAPI from osclib.util import project_list_family from osclib.util import project_list_family_prior @@ -1156,6 +1156,7 @@ self.copy_directory_contents(group_dir, product_dir, ['supportstatus.txt', 'groups.yml', 'package-groups.changes']) self.change_extension(product_dir, '.spec.in', '.spec') + self.change_extension(product_dir, '.product.in', '.product') self.options.input_dir = group_dir self.options.output_dir = product_dir @@ -1185,9 +1186,9 @@ self.update_merge(nonfree if drop_list else False) print('-> do_solve') - opts.ignore_unresolvable = bool(target_config.get('pkglistgen-ignore-unresolvable')) - opts.ignore_recommended = bool(target_config.get('pkglistgen-ignore-recommended')) - opts.include_suggested = bool(target_config.get('pkglistgen-include-suggested')) + opts.ignore_unresolvable = str2bool(target_config.get('pkglistgen-ignore-unresolvable')) + opts.ignore_recommended = str2bool(target_config.get('pkglistgen-ignore-recommended')) + opts.include_suggested = str2bool(target_config.get('pkglistgen-include-suggested')) opts.locale = target_config.get('pkglistgen-local') opts.locales_from = target_config.get('pkglistgen-locales-from') self.do_solve('solve', opts) @@ -1223,6 +1224,8 @@ delete_kiwis = target_config.get('pkglistgen-delete-kiwis-{}'.format(opts.scope), '').split(' ') self.unlink_list(product_dir, delete_kiwis) + if opts.scope == 'staging': + self.strip_medium_from_staging(product_dir) spec_files = glob.glob(os.path.join(product_dir, '*.spec')) if skip_release: @@ -1297,6 +1300,16 @@ return prior + # staging projects don't need source and debug medium - and the glibc source + # rpm conflicts between standard and bootstrap_copy repository causing the + # product builder to fail + def strip_medium_from_staging(self, path): + medium = re.compile('name="(DEBUG|SOURCE)MEDIUM"') + for name in glob.glob(os.path.join(path, '*.kiwi')): + lines = open(name).readlines() + lines = [l for l in lines if not medium.search(l)] + open(name, 'w').writelines(lines) + def move_list(self, file_list, destination): for name in file_list: os.rename(name, os.path.join(destination, os.path.basename(name))) @@ -1335,7 +1348,7 @@ def multibuild_from_glob(self, destination, pathname): root = ET.Element('multibuild') - for name in glob.glob(os.path.join(destination, pathname)): + for name in sorted(glob.glob(os.path.join(destination, pathname))): package = ET.SubElement(root, 'package') package.text = os.path.splitext(os.path.basename(name))[0] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180309.7484722/systemd/osrt-totest-manager@.service new/openSUSE-release-tools-20180312.35e7c51/systemd/osrt-totest-manager@.service --- old/openSUSE-release-tools-20180309.7484722/systemd/osrt-totest-manager@.service 2018-03-09 11:00:05.000000000 +0100 +++ new/openSUSE-release-tools-20180312.35e7c51/systemd/osrt-totest-manager@.service 2018-03-12 10:26:07.000000000 +0100 @@ -6,3 +6,7 @@ User=osrt-totest-manager WorkingDirectory=~ ExecStart=/usr/bin/osrt-totest-manager --verbose run --interval 5 "%i" + +[Install] +WantedBy=multi-user.target + ++++++ openSUSE-release-tools.obsinfo ++++++ --- /var/tmp/diff_new_pack.TXfRML/_old 2018-03-13 10:23:59.933855632 +0100 +++ /var/tmp/diff_new_pack.TXfRML/_new 2018-03-13 10:23:59.933855632 +0100 @@ -1,5 +1,5 @@ name: openSUSE-release-tools -version: 20180309.7484722 -mtime: 1520589605 -commit: 7484722b2abe685a03cf783661bd23282a7db52f +version: 20180312.35e7c51 +mtime: 1520846767 +commit: 35e7c51c1653c36d80cae97804d95f1f34ce9402