Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2022-02-17 00:30:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old) and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.1956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools" Thu Feb 17 00:30:30 2022 rev:376 rq:955167 version:20220215.c77acf53 Changes: -------- --- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2022-02-15 23:57:42.696283976 +0100 +++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.1956/openSUSE-release-tools.changes 2022-02-17 00:31:51.157419628 +0100 @@ -1,0 +2,18 @@ +Tue Feb 15 14:47:15 UTC 2022 - opensuse-releaset...@opensuse.org + +- Update to version 20220215.c77acf53: + * Factory staging: report pkglistgen status + +------------------------------------------------------------------- +Tue Feb 15 14:39:40 UTC 2022 - opensuse-releaset...@opensuse.org + +- Update to version 20220215.34abdb2b: + * Support to move one staging into another + +------------------------------------------------------------------- +Tue Feb 15 12:44:05 UTC 2022 - opensuse-releaset...@opensuse.org + +- Update to version 20220215.805cd93d: + * truncate overlong changelogs to 100 lines + last line + +------------------------------------------------------------------- Old: ---- openSUSE-release-tools-20220214.e0da44c3.obscpio New: ---- openSUSE-release-tools-20220215.c77acf53.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openSUSE-release-tools.spec ++++++ --- /var/tmp/diff_new_pack.ySvCQv/_old 2022-02-17 00:31:51.969419488 +0100 +++ /var/tmp/diff_new_pack.ySvCQv/_new 2022-02-17 00:31:51.977419487 +0100 @@ -20,7 +20,7 @@ %define source_dir openSUSE-release-tools %define announcer_filename factory-package-news Name: openSUSE-release-tools -Version: 20220214.e0da44c3 +Version: 20220215.c77acf53 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.ySvCQv/_old 2022-02-17 00:31:52.025419479 +0100 +++ /var/tmp/diff_new_pack.ySvCQv/_new 2022-02-17 00:31:52.029419478 +0100 @@ -1,7 +1,7 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param> - <param name="changesrevision">e0da44c3ed8a18244b2330d33fba28f737dbd408</param> + <param name="changesrevision">c77acf533ebb3974c7cd63c00aac07cb3b131d11</param> </service> </servicedata> ++++++ openSUSE-release-tools-20220214.e0da44c3.obscpio -> openSUSE-release-tools-20220215.c77acf53.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20220214.e0da44c3/docs/staging.asciidoc new/openSUSE-release-tools-20220215.c77acf53/docs/staging.asciidoc --- old/openSUSE-release-tools-20220214.e0da44c3/docs/staging.asciidoc 2022-02-14 17:24:13.000000000 +0100 +++ new/openSUSE-release-tools-20220215.c77acf53/docs/staging.asciidoc 2022-02-15 15:46:11.000000000 +0100 @@ -159,12 +159,19 @@ project to another one, we need to use the parameter +--move+: -------------------------------------------------------------------------------- -osc staging select --move B 12345 +osc staging select B --move 12345 -------------------------------------------------------------------------------- This command will move #12345 from openSUSE:Factory:Staging:A to openSUSE:Factory:Staging:B +You can also merge staging projects by giving other staging projects as arguments: + +-------------------------------------------------------------------------------- +osc staging select B --move A C +-------------------------------------------------------------------------------- + +This moves all requests currently staged in A and C into B Unselect ~~~~~~~~ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20220214.e0da44c3/factory-package-news/factory-package-news.py new/openSUSE-release-tools-20220215.c77acf53/factory-package-news/factory-package-news.py --- old/openSUSE-release-tools-20220214.e0da44c3/factory-package-news/factory-package-news.py 2022-02-14 17:24:13.000000000 +0100 +++ new/openSUSE-release-tools-20220215.c77acf53/factory-package-news/factory-package-news.py 2022-02-15 15:46:11.000000000 +0100 @@ -16,6 +16,8 @@ data_version = 3 +changelog_max_lines = 100 # maximum number of changelog lines per package + try: from xml.etree import cElementTree as ET except ImportError: @@ -251,10 +253,21 @@ print(" %s" % name) if len(pkgs) > 1: details += "Subpackages: %s\n" % " ".join([p for p in pkgs if p != name]) + + changedetails = "" for (i2, t2) in enumerate(v2changelogs[srpm]['changelogtime']): if t2 <= t1: break - details += "\n" + v2changelogs[srpm]['changelogtext'][i2] + changedetails += "\n" + v2changelogs[srpm]['changelogtext'][i2] + + # if a changelog is too long, cut it off after changelog_max_lines lines + changedetails_lines = changedetails.splitlines() + if len(changedetails_lines) > changelog_max_lines + 5: # apply 5 lines tolerance to avoid silly-looking "skipping 2 lines" + changedetails = '\n'.join(changedetails_lines[0:changelog_max_lines]) + changedetails += '\n ... changelog too long, skipping %s lines ...\n' % (len(changedetails_lines) - changelog_max_lines - 1) + changedetails += changedetails_lines[-1] # add last line of changelog diff so that it's possible to find out the end of the changelog section + + details += changedetails details += '\n' print("\n=== Details ===") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20220214.e0da44c3/gocd/pkglistgen_staging.gocd.yaml new/openSUSE-release-tools-20220215.c77acf53/gocd/pkglistgen_staging.gocd.yaml --- old/openSUSE-release-tools-20220214.e0da44c3/gocd/pkglistgen_staging.gocd.yaml 2022-02-14 17:24:13.000000000 +0100 +++ new/openSUSE-release-tools-20220215.c77acf53/gocd/pkglistgen_staging.gocd.yaml 2022-02-15 15:46:11.000000000 +0100 @@ -173,7 +173,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -227,7 +233,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -281,7 +293,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -335,7 +353,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -389,7 +413,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -443,7 +473,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -497,7 +533,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -551,7 +593,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -605,7 +653,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -659,7 +713,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -713,7 +773,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -767,7 +833,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -821,7 +893,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -875,7 +953,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -929,7 +1013,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: @@ -983,7 +1073,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20220214.e0da44c3/gocd/pkglistgen_staging.gocd.yaml.erb new/openSUSE-release-tools-20220215.c77acf53/gocd/pkglistgen_staging.gocd.yaml.erb --- old/openSUSE-release-tools-20220214.e0da44c3/gocd/pkglistgen_staging.gocd.yaml.erb 2022-02-14 17:24:13.000000000 +0100 +++ new/openSUSE-release-tools-20220215.c77acf53/gocd/pkglistgen_staging.gocd.yaml.erb 2022-02-15 15:46:11.000000000 +0100 @@ -71,7 +71,13 @@ - repo-checker tasks: - script: |- - ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force + export PYTHONPATH=scripts + if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success + else + ./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure + exit 1 + fi - Enable.images.repo: resources: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20220214.e0da44c3/osc-staging.py new/openSUSE-release-tools-20220215.c77acf53/osc-staging.py --- old/openSUSE-release-tools-20220214.e0da44c3/osc-staging.py 2022-02-14 17:24:13.000000000 +0100 +++ new/openSUSE-release-tools-20220215.c77acf53/osc-staging.py 2022-02-15 15:46:11.000000000 +0100 @@ -449,7 +449,9 @@ # special staging with a capital letter which makes them unique. # lastly adi stagings are consistently prefix with adi: which # also makes it consistent to distinguish them from request IDs. - if arg in existing_stagings and arg not in stagings: + # + # also support --move passing 2 or more staging projects to merge + if arg in existing_stagings and arg not in stagings and (len(stagings) == 0 and opts.move): stagings.append(api.extract_staging_short(arg)) elif arg not in requests: requests.append(arg) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20220214.e0da44c3/osclib/request_finder.py new/openSUSE-release-tools-20220215.c77acf53/osclib/request_finder.py --- old/openSUSE-release-tools-20220214.e0da44c3/osclib/request_finder.py 2022-02-14 17:24:13.000000000 +0100 +++ new/openSUSE-release-tools-20220215.c77acf53/osclib/request_finder.py 2022-02-15 15:46:11.000000000 +0100 @@ -131,7 +131,7 @@ return ret - def find(self, pkgs, newcand): + def find(self, pkgs, newcand, consider_stagings): """ Search for all various mutations and return list of SR#s :param pkgs: mesh of argumets to search for @@ -146,6 +146,8 @@ continue if self.find_request_project(p, newcand): continue + if consider_stagings and self.find_staging_project(p): + continue raise oscerr.WrongArgs('No SR# found for: {}'.format(p)) def find_via_stagingapi(self, pkgs): @@ -172,16 +174,32 @@ if not found: raise oscerr.WrongArgs('No SR# found for: {}'.format(p)) + def find_staging_project(self, project): + """ + Check if project is an existing staging project. If so, return + all requests staged in it + """ + project = self.api.prj_from_short(project) + url = self.api.makeurl(['staging', self.api.project, 'staging_projects', project], { 'requests': 1 }) + try: + staging = ET.parse(self.api.retried_GET(url)).getroot() + except HTTPError: + return False + for request in staging.findall('staged_requests/request'): + self.srs[int(request.get('id'))] = {'staging': staging.get('name')} + return True + @classmethod - def find_sr(cls, pkgs, api, newcand=False): + def find_sr(cls, pkgs, api, newcand=False, consider_stagings=False): """ Search for all various mutations and return list of SR#s :param pkgs: mesh of argumets to search for :param api: StagingAPI instance :param newcand: the review state of staging-group must be new + :param consider_stagings: consider names of staging projects """ finder = cls(api) - finder.find(pkgs, newcand) + finder.find(pkgs, newcand, consider_stagings) return finder.srs @classmethod diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20220214.e0da44c3/osclib/select_command.py new/openSUSE-release-tools-20220215.c77acf53/osclib/select_command.py --- old/openSUSE-release-tools-20220214.e0da44c3/osclib/select_command.py 2022-02-14 17:24:13.000000000 +0100 +++ new/openSUSE-release-tools-20220215.c77acf53/osclib/select_command.py 2022-02-15 15:46:11.000000000 +0100 @@ -128,7 +128,7 @@ # ie. the review state of staging-project must be new if newcand is True newcand = not move - requests = RequestFinder.find_sr(requests, self.api, newcand) + requests = RequestFinder.find_sr(requests, self.api, newcand, consider_stagings=move) requests_count = len(requests) for index, request in enumerate(requests, start=1): print('({}/{}) '.format(index, requests_count), end='') ++++++ openSUSE-release-tools.obsinfo ++++++ --- /var/tmp/diff_new_pack.ySvCQv/_old 2022-02-17 00:31:52.781419348 +0100 +++ /var/tmp/diff_new_pack.ySvCQv/_new 2022-02-17 00:31:52.785419348 +0100 @@ -1,5 +1,5 @@ name: openSUSE-release-tools -version: 20220214.e0da44c3 -mtime: 1644855853 -commit: e0da44c3ed8a18244b2330d33fba28f737dbd408 +version: 20220215.c77acf53 +mtime: 1644936371 +commit: c77acf533ebb3974c7cd63c00aac07cb3b131d11