Hello community,
here is the log from the commit of package openSUSE-release-tools for
openSUSE:Factory checked in at 2018-11-08 09:47:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Thu Nov 8 09:47:23 2018 rev:141 rq:644728 version:20181025.5558473
Changes:
--------
---
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
2018-10-23 20:42:24.836399257 +0200
+++
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes
2018-11-08 09:47:43.277154111 +0100
@@ -1,0 +2,25 @@
+Thu Oct 25 18:49:00 UTC 2018 - [email protected]
+
+- Update to version 20181025.5558473:
+ * repo_checker: filter repository published check by arch.
+ * repo_checker: repository_state_last(): switch to simulate_merge as arg.
+ * repo_checker: repository_state(): limit meta revision to simulate merge.
+ * repo_checker: repository_state(): filter by relevant archs.
+ * repo_checker: extract arch determination as target_archs_from_prairs().
+ * osclib/core: provide archs filter for repository state and published
queries.
+
+-------------------------------------------------------------------
+Thu Oct 25 18:24:53 UTC 2018 - [email protected]
+
+- Update to version 20181025.3ad87ff:
+ * manager_42: remove extra newline to avoid flake8 E301.
+ * flake8: utilize raw strings to avoid invalid escape character warnings.
+ * flake8: ignore W504.
+
+-------------------------------------------------------------------
+Tue Oct 23 08:01:54 UTC 2018 - [email protected]
+
+- Update to version 20181023.f7ea85e:
+ * Fix deployment problems on rabbit-openqa
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20181023.9b1618e.obscpio
New:
----
openSUSE-release-tools-20181025.5558473.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.NWsuR8/_old 2018-11-08 09:47:44.909152192 +0100
+++ /var/tmp/diff_new_pack.NWsuR8/_new 2018-11-08 09:47:44.909152192 +0100
@@ -20,7 +20,7 @@
%define source_dir openSUSE-release-tools
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20181023.9b1618e
+Version: 20181025.5558473
Release: 0
Summary: Tools to aid in staging and release work for openSUSE/SUSE
License: GPL-2.0-or-later AND MIT
@@ -222,7 +222,7 @@
BuildArch: noarch
# TODO Update requirements.
Requires: osclib = %{version}
-Requires: python-openqa_client
+Requires: python2-openqa_client
Requires: python2-pika
%description totest-manager
@@ -298,6 +298,8 @@
Group: Development/Tools/Other
BuildArch: noarch
Requires: osc >= 0.159.0
+Requires: python2-openqa_client
+Requires: python2-pika
%description rabbit-openqa
Bot listening to AMQP bus and syncs openQA job status into OBS for
@@ -399,8 +401,8 @@
%systemd_postun
%pre rabbit-openqa
-getent passwd osrt-rabit-openqa > /dev/null || \
- useradd -r -m -s /sbin/nologin -c "user for
openSUSE-release-tools-rabbit-openqa" osrt-rabit-openqa
+getent passwd osrt-rabbit-openqa > /dev/null || \
+ useradd -r -m -s /sbin/nologin -c "user for
openSUSE-release-tools-rabbit-openqa" osrt-rabbit-openqa
exit 0
%postun rabbit-openqa
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.NWsuR8/_old 2018-11-08 09:47:44.957152136 +0100
+++ /var/tmp/diff_new_pack.NWsuR8/_new 2018-11-08 09:47:44.957152136 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
- <param
name="changesrevision">9b1618e7c51660bb6870efcbdf686cb8645abcbb</param>
+ <param
name="changesrevision">55584739996331a3660216cb8ea4bcadca3bc60a</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20181023.9b1618e.obscpio ->
openSUSE-release-tools-20181025.5558473.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20181023.9b1618e/.flake8
new/openSUSE-release-tools-20181025.5558473/.flake8
--- old/openSUSE-release-tools-20181023.9b1618e/.flake8 2018-10-23
06:38:17.000000000 +0200
+++ new/openSUSE-release-tools-20181025.5558473/.flake8 2018-10-25
20:44:10.000000000 +0200
@@ -1,4 +1,4 @@
[flake8]
exclude = .open-build-service/, abichecker, openqa, openqa-maintenance.py
max-line-length = 100
-ignore =
E501,F401,E302,E228,E128,E251,E201,E202,E203,E305,F841,E265,E261,E266,E712,E401,E126,E502,E222,E241,E711,E226,E125,E123,W293,W391,E731,E101,E227,E713,E225,E124,E221,E127,E701,E714,W503,E129,E303,E741,E722
+ignore =
E501,F401,E302,E228,E128,E251,E201,E202,E203,E305,F841,E265,E261,E266,E712,E401,E126,E502,E222,E241,E711,E226,E125,E123,W293,W391,E731,E101,E227,E713,E225,E124,E221,E127,E701,E714,W503,W504,E129,E303,E741,E722
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20181023.9b1618e/dist/package/openSUSE-release-tools.spec
new/openSUSE-release-tools-20181025.5558473/dist/package/openSUSE-release-tools.spec
---
old/openSUSE-release-tools-20181023.9b1618e/dist/package/openSUSE-release-tools.spec
2018-10-23 06:38:17.000000000 +0200
+++
new/openSUSE-release-tools-20181025.5558473/dist/package/openSUSE-release-tools.spec
2018-10-25 20:44:10.000000000 +0200
@@ -222,7 +222,7 @@
BuildArch: noarch
# TODO Update requirements.
Requires: osclib = %{version}
-Requires: python-openqa_client
+Requires: python2-openqa_client
Requires: python2-pika
%description totest-manager
@@ -298,6 +298,8 @@
Group: Development/Tools/Other
BuildArch: noarch
Requires: osc >= 0.159.0
+Requires: python2-openqa_client
+Requires: python2-pika
%description rabbit-openqa
Bot listening to AMQP bus and syncs openQA job status into OBS for
@@ -399,8 +401,8 @@
%systemd_postun
%pre rabbit-openqa
-getent passwd osrt-rabit-openqa > /dev/null || \
- useradd -r -m -s /sbin/nologin -c "user for
openSUSE-release-tools-rabbit-openqa" osrt-rabit-openqa
+getent passwd osrt-rabbit-openqa > /dev/null || \
+ useradd -r -m -s /sbin/nologin -c "user for
openSUSE-release-tools-rabbit-openqa" osrt-rabbit-openqa
exit 0
%postun rabbit-openqa
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20181023.9b1618e/factory-package-news/announcer.py
new/openSUSE-release-tools-20181025.5558473/factory-package-news/announcer.py
---
old/openSUSE-release-tools-20181023.9b1618e/factory-package-news/announcer.py
2018-10-23 06:38:17.000000000 +0200
+++
new/openSUSE-release-tools-20181025.5558473/factory-package-news/announcer.py
2018-10-25 20:44:10.000000000 +0200
@@ -99,7 +99,7 @@
if loc is None:
raise Exception("empty location!")
- m = re.search('(?:Snapshot|Build)([\d.]+)-Media', loc)
+ m = re.search(r'(?:Snapshot|Build)([\d.]+)-Media', loc)
if m is None:
raise Exception("failed to parse %s"%loc)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20181023.9b1618e/leaper.py
new/openSUSE-release-tools-20181025.5558473/leaper.py
--- old/openSUSE-release-tools-20181023.9b1618e/leaper.py 2018-10-23
06:38:17.000000000 +0200
+++ new/openSUSE-release-tools-20181025.5558473/leaper.py 2018-10-25
20:44:10.000000000 +0200
@@ -164,7 +164,7 @@
if review_result == None:
other_projects_to_check = []
- m = re.match('SUSE:SLE-(\d+)(?:-SP(\d+)):', target_project)
+ m = re.match(r'SUSE:SLE-(\d+)(?:-SP(\d+)):', target_project)
if m:
sle_version = int(m.group(1))
sp_version = int(m.group(2))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20181023.9b1618e/manager_42.py
new/openSUSE-release-tools-20181025.5558473/manager_42.py
--- old/openSUSE-release-tools-20181023.9b1618e/manager_42.py 2018-10-23
06:38:17.000000000 +0200
+++ new/openSUSE-release-tools-20181025.5558473/manager_42.py 2018-10-25
20:44:10.000000000 +0200
@@ -268,7 +268,6 @@
return srcmd5, historyrevs[srcmd5]
return None, None
-
# check if we can find the srcmd5 in any of our underlay
# projects
def check_one_package(self, package):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20181023.9b1618e/metrics.py
new/openSUSE-release-tools-20181025.5558473/metrics.py
--- old/openSUSE-release-tools-20181023.9b1618e/metrics.py 2018-10-23
06:38:17.000000000 +0200
+++ new/openSUSE-release-tools-20181025.5558473/metrics.py 2018-10-25
20:44:10.000000000 +0200
@@ -331,7 +331,7 @@
# Extract Factory "release schedule" from Tumbleweed snapshot list.
command = 'rsync
rsync.opensuse.org::opensuse-full/opensuse/tumbleweed/iso/Changes.* | ' \
- 'grep -oP "Changes\.\K\d{5,}"'
+ 'grep -oP "' + r'Changes\.\K\d{5,}' + '"'
snapshots = subprocess.Popen(command, shell=True,
stdout=subprocess.PIPE).communicate()[0]
for date in snapshots.split():
release_schedule[datetime.strptime(date, '%Y%m%d')] = 'Snapshot
{}'.format(date)
@@ -547,9 +547,9 @@
if args.wipe_cache:
Cache.delete_all()
if args.heavy_cache:
- Cache.PATTERNS['/search/request'] = sys.maxint
- Cache.PATTERNS['/source/[^/]+/{}/_history'.format(package)] =
sys.maxint
- Cache.PATTERNS['/source/[^/]+/{}/[^/]+\?rev=.*'.format(package)] =
sys.maxint
+ Cache.PATTERNS[r'/search/request'] = sys.maxint
+ Cache.PATTERNS[r'/source/[^/]+/{}/_history'.format(package)] =
sys.maxint
+ Cache.PATTERNS[r'/source/[^/]+/{}/[^/]+\?rev=.*'.format(package)] =
sys.maxint
Cache.init('metrics')
Config(apiurl, args.project)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20181023.9b1618e/osclib/cache.py
new/openSUSE-release-tools-20181025.5558473/osclib/cache.py
--- old/openSUSE-release-tools-20181023.9b1618e/osclib/cache.py 2018-10-23
06:38:17.000000000 +0200
+++ new/openSUSE-release-tools-20181025.5558473/osclib/cache.py 2018-10-25
20:44:10.000000000 +0200
@@ -71,32 +71,32 @@
TTL_SHORT = 5 * 60
TTL_DUPLICATE = 3
PATTERNS = {
- '/build/[^/]+/_result': TTL_DUPLICATE,
+ r'/build/[^/]+/_result': TTL_DUPLICATE,
# For cycles when run via repo-checker cache non-stagings.
- '/build/(?:[^/](?!:Staging:))+/[^/]+/[^/]+/_builddepinfo$': TTL_MEDIUM,
+ r'/build/(?:[^/](?!:Staging:))+/[^/]+/[^/]+/_builddepinfo$':
TTL_MEDIUM,
# Group members cannot be guaranteed, but change rarely.
- '/group/[^/?]+$': TTL_SHORT,
+ r'/group/[^/?]+$': TTL_SHORT,
# Clear target project cache upon request acceptance.
- '/request/(\d+)\?.*newstate=accepted': TTL_DUPLICATE,
- "/search/package\?match=\[@project='([^']+)'\]$": TTL_LONG,
+ r'/request/(\d+)\?.*newstate=accepted': TTL_DUPLICATE,
+ r"/search/package\?match=\[@project='([^']+)'\]$": TTL_LONG,
# Potentially expire the latest_updated since it will be the only way
to
# tell after an adi staging is removed. For now just cache the calls
# that occur in rapid succession.
- "/search/project/id\?match=starts-with\(@name,'([^']+)\:'\)$":
TTL_DUPLICATE,
+ r"/search/project/id\?match=starts-with\(@name,'([^']+)\:'\)$":
TTL_DUPLICATE,
# List of all projects may change, but relevant ones rarely.
- '/source$': TTL_LONG,
+ r'/source$': TTL_LONG,
# Sources will be expired with project, could be done on package level.
- '/source/([^/?]+)(?:\?.*)?$': TTL_LONG,
+ r'/source/([^/?]+)(?:\?.*)?$': TTL_LONG,
# Project will be marked changed when packages are added/removed.
- '/source/([^/]+)/_meta$': TTL_LONG,
- '/source/([^/]+)/(?:[^/]+)/(?:_meta|_link)$': TTL_LONG,
- '/source/([^/]+)/dashboard/[^/]+': TTL_LONG,
- '/source/([^/]+)/_attribute/[^/]+': TTL_MEDIUM,
+ r'/source/([^/]+)/_meta$': TTL_LONG,
+ r'/source/([^/]+)/(?:[^/]+)/(?:_meta|_link)$': TTL_LONG,
+ r'/source/([^/]+)/dashboard/[^/]+': TTL_LONG,
+ r'/source/([^/]+)/_attribute/[^/]+': TTL_MEDIUM,
# Handles clearing local cache on package deletes. Lots of queries like
# updating project info, comment, and package additions.
- '/source/([^/]+)/(?:[^/?]+)(?:\?[^/]+)?$': TTL_LONG,
+ r'/source/([^/]+)/(?:[^/?]+)(?:\?[^/]+)?$': TTL_LONG,
# Presumably users are not interweaving in short windows.
- '/statistics/latest_updated': TTL_SHORT,
+ r'/statistics/latest_updated': TTL_SHORT,
}
last_updated = {}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20181023.9b1618e/osclib/core.py
new/openSUSE-release-tools-20181025.5558473/osclib/core.py
--- old/openSUSE-release-tools-20181023.9b1618e/osclib/core.py 2018-10-23
06:38:17.000000000 +0200
+++ new/openSUSE-release-tools-20181025.5558473/osclib/core.py 2018-10-25
20:44:10.000000000 +0200
@@ -28,7 +28,7 @@
from osclib.memoize import memoize
BINARY_REGEX =
r'(?:.*::)?(?P<filename>(?P<name>.*)-(?P<version>[^-]+)-(?P<release>[^-]+)\.(?P<arch>[^-\.]+))'
-RPM_REGEX = BINARY_REGEX + '\.rpm'
+RPM_REGEX = BINARY_REGEX + r'\.rpm'
BinaryParsed = namedtuple('BinaryParsed', ('package', 'filename', 'name',
'arch'))
@memoize(session=True)
@@ -392,31 +392,34 @@
from osclib.util import sha1_short
return sha1_short(http_GET(url).read())
-def repository_state(apiurl, project, repository):
+def repository_state(apiurl, project, repository, archs=[]):
+ if not len(archs):
+ archs = target_archs(apiurl, project, repository)
+
# Unfortunately, the state hash reflects the published state and not the
# binaries published in repository. As such request binary list and hash.
combined_state = []
- for arch in target_archs(apiurl, project, repository):
+ for arch in archs:
combined_state.append(repository_arch_state(apiurl, project,
repository, arch))
from osclib.util import sha1_short
return sha1_short(combined_state)
-def repositories_states(apiurl, repository_pairs):
+def repositories_states(apiurl, repository_pairs, archs=[]):
states = []
for project, repository in repository_pairs:
- states.append(repository_state(apiurl, project, repository))
+ states.append(repository_state(apiurl, project, repository, archs))
return states
-def repository_published(apiurl, project, repository):
+def repository_published(apiurl, project, repository, archs=[]):
root = ETL.fromstringlist(show_results_meta(
- apiurl, project, multibuild=True, repository=[repository]))
+ apiurl, project, multibuild=True, repository=[repository], arch=archs))
return not len(root.xpath('result[@state!="published" and
@state!="unpublished"]'))
-def repositories_published(apiurl, repository_pairs):
+def repositories_published(apiurl, repository_pairs, archs=[]):
for project, repository in repository_pairs:
- if not repository_published(apiurl, project, repository):
+ if not repository_published(apiurl, project, repository, archs):
return (project, repository)
return True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20181023.9b1618e/osclib/stagingapi.py
new/openSUSE-release-tools-20181025.5558473/osclib/stagingapi.py
--- old/openSUSE-release-tools-20181023.9b1618e/osclib/stagingapi.py
2018-10-23 06:38:17.000000000 +0200
+++ new/openSUSE-release-tools-20181025.5558473/osclib/stagingapi.py
2018-10-25 20:44:10.000000000 +0200
@@ -265,7 +265,7 @@
return package_info
def extract_specfile_short(self, filelist):
- packages = [spec[:-5] for spec in filelist if re.search('\.spec$',
spec)]
+ packages = [spec[:-5] for spec in filelist if re.search(r'\.spec$',
spec)]
return packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20181023.9b1618e/pkglistgen.py
new/openSUSE-release-tools-20181025.5558473/pkglistgen.py
--- old/openSUSE-release-tools-20181023.9b1618e/pkglistgen.py 2018-10-23
06:38:17.000000000 +0200
+++ new/openSUSE-release-tools-20181025.5558473/pkglistgen.py 2018-10-25
20:44:10.000000000 +0200
@@ -487,7 +487,7 @@
# only comment first time
comment = None
x = ET.tostring(x, pretty_print=True)
- x = re.sub('\s*<!-- reason:', ' <!-- reason:', x)
+ x = re.sub(r'\s*<!-- reason:', ' <!-- reason:', x)
# fh.write(ET.tostring(x, pretty_print = True, doctype =
'<?xml version="1.0" encoding="UTF-8"?>'))
fh.write(x)
return summary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20181023.9b1618e/rabbit-openqa.py
new/openSUSE-release-tools-20181025.5558473/rabbit-openqa.py
--- old/openSUSE-release-tools-20181023.9b1618e/rabbit-openqa.py
2018-10-23 06:38:17.000000000 +0200
+++ new/openSUSE-release-tools-20181025.5558473/rabbit-openqa.py
2018-10-25 20:44:10.000000000 +0200
@@ -227,7 +227,7 @@
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description='Bot to sync openQA status to OBS')
- parser.add_argument("--apiurl", '-A', type=str,
default='https://api.opensuse.org', help='API URL of OBS')
+ parser.add_argument("--apiurl", '-A', type=str, help='API URL of OBS')
parser.add_argument('-s', '--staging', type=str, default=None,
help='staging project letter')
parser.add_argument('-f', '--force', action='store_true', default=False,
@@ -239,10 +239,10 @@
args = parser.parse_args()
- osc.conf.get_config()
+ osc.conf.get_config(override_apiurl = args.apiurl)
osc.conf.config['debug'] = args.debug
- apiurl = args.apiurl
+ apiurl = osc.conf.config['apiurl']
if apiurl.endswith('suse.de'):
amqp_prefix = 'suse'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20181023.9b1618e/repo_checker.py
new/openSUSE-release-tools-20181025.5558473/repo_checker.py
--- old/openSUSE-release-tools-20181023.9b1618e/repo_checker.py 2018-10-23
06:38:17.000000000 +0200
+++ new/openSUSE-release-tools-20181025.5558473/repo_checker.py 2018-10-25
20:44:10.000000000 +0200
@@ -64,7 +64,7 @@
return
repository_pairs = repository_path_expand(self.apiurl, project,
repository)
- state_hash = self.repository_state(repository_pairs)
+ state_hash = self.repository_state(repository_pairs, False)
self.repository_check(repository_pairs, state_hash, False,
bool(post_comments))
def package_comments(self, project, repository):
@@ -117,6 +117,15 @@
# Trick to prioritize x86_64.
return sorted(archs, reverse=True)
+ @memoize(session=True)
+ def target_archs_from_prairs(self, repository_pairs, simulate_merge):
+ if simulate_merge:
+ # Restrict top layer archs to the whitelisted archs from merge
layer.
+ return set(target_archs(self.apiurl, repository_pairs[0][0],
repository_pairs[0][1])).intersection(
+ set(self.target_archs(repository_pairs[1][0],
repository_pairs[1][1])))
+
+ return self.target_archs(repository_pairs[0][0],
repository_pairs[0][1])
+
@memoize(ttl=60, session=True, add_invalidate=True)
def mirror(self, project, repository, arch):
"""Call bs_mirrorfull script to mirror packages."""
@@ -347,24 +356,27 @@
return filename
@memoize(ttl=60, session=True)
- def repository_state(self, repository_pairs):
- states = repositories_states(self.apiurl, repository_pairs)
- states.append(str(project_meta_revision(self.apiurl,
repository_pairs[0][0])))
+ def repository_state(self, repository_pairs, simulate_merge):
+ archs = self.target_archs_from_prairs(repository_pairs, simulate_merge)
+ states = repositories_states(self.apiurl, repository_pairs, archs)
+
+ if simulate_merge:
+ states.append(str(project_meta_revision(self.apiurl,
repository_pairs[0][0])))
return sha1_short(states)
@memoize(ttl=60, session=True)
- def repository_state_last(self, project, repository, pseudometa):
- if pseudometa:
- filename = self.project_pseudometa_file_name(project, repository)
- content = project_pseudometa_file_load(self.apiurl, project,
filename)
- if content:
- return content.splitlines()[0]
- else:
+ def repository_state_last(self, project, repository, simulate_merge):
+ if simulate_merge:
comments = self.comment_api.get_comments(project_name=project)
_, info = self.comment_api.comment_find(comments,
'::'.join([self.bot_name, repository]))
if info:
return info.get('build')
+ else:
+ filename = self.project_pseudometa_file_name(project, repository)
+ content = project_pseudometa_file_load(self.apiurl, project,
filename)
+ if content:
+ return content.splitlines()[0]
return None
@@ -375,10 +387,11 @@
self.logger.info('checking {}/{}@{}[{}]'.format(
project, repository, state_hash, len(repository_pairs)))
- published = repositories_published(self.apiurl, repository_pairs)
+ archs = self.target_archs_from_prairs(repository_pairs, simulate_merge)
+ published = repositories_published(self.apiurl, repository_pairs,
archs)
if not self.force:
- if state_hash == self.repository_state_last(project, repository,
not simulate_merge):
+ if state_hash == self.repository_state_last(project, repository,
simulate_merge):
self.logger.info('{} build unchanged'.format(project))
# TODO keep track of skipped count for cycle summary
return None
@@ -395,14 +408,9 @@
# Drop non-published repository information and thus reduce to boolean.
published = published is True
- if simulate_merge:
- # Restrict top layer archs to the whitelisted archs from merge
layer.
- archs = set(target_archs(self.apiurl, project,
repository)).intersection(
- set(self.target_archs(repository_pairs[1][0],
repository_pairs[1][1])))
- else:
+ if not simulate_merge:
# Top of pseudometa file.
comment.append(state_hash)
- archs = self.target_archs(project, repository)
if post_comments:
# Stores parsed install_check() results grouped by package.
@@ -561,7 +569,7 @@
if not isinstance(repository_pairs, list):
return repository_pairs
- state_hash = self.repository_state(repository_pairs)
+ state_hash = self.repository_state(repository_pairs, True)
if not self.repository_check(repository_pairs, state_hash, True):
return None
@@ -603,7 +611,7 @@
if not isinstance(repository_pairs, list):
return repository_pairs
- state_hash = self.repository_state(repository_pairs)
+ state_hash = self.repository_state(repository_pairs, True)
if not self.repository_check(repository_pairs, state_hash, True):
return None
@@ -618,7 +626,7 @@
if not isinstance(repository_pairs, list):
return repository_pairs
- state_hash = self.repository_state(repository_pairs)
+ state_hash = self.repository_state(repository_pairs, True)
if not self.repository_check(repository_pairs, state_hash, True):
return None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20181023.9b1618e/tests/obs.py
new/openSUSE-release-tools-20181025.5558473/tests/obs.py
--- old/openSUSE-release-tools-20181023.9b1618e/tests/obs.py 2018-10-23
06:38:17.000000000 +0200
+++ new/openSUSE-release-tools-20181025.5558473/tests/obs.py 2018-10-25
20:44:10.000000000 +0200
@@ -689,7 +689,7 @@
return response
- @DELETE(re.compile('/source/openSUSE:Factory:Staging:[B|C]/\w+'))
+ @DELETE(re.compile(r'/source/openSUSE:Factory:Staging:[B|C]/\w+'))
def delete_package(self, request, uri, headers):
"""Delete a source package from a Staging project."""
package = re.search(r'/source/([\w:]+/\w+)', uri).group(1)
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.NWsuR8/_old 2018-11-08 09:47:45.629151346 +0100
+++ /var/tmp/diff_new_pack.NWsuR8/_new 2018-11-08 09:47:45.633151341 +0100
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20181023.9b1618e
-mtime: 1540269497
-commit: 9b1618e7c51660bb6870efcbdf686cb8645abcbb
+version: 20181025.5558473
+mtime: 1540493050
+commit: 55584739996331a3660216cb8ea4bcadca3bc60a