Hello community,
here is the log from the commit of package openSUSE-release-tools for
openSUSE:Factory checked in at 2018-05-02 12:19:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Wed May 2 12:19:29 2018 rev:89 rq:602860 version:20180430.eb1d0be
Changes:
--------
---
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
2018-04-30 22:58:20.121782012 +0200
+++
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes
2018-05-02 12:19:45.193266848 +0200
@@ -1,0 +2,21 @@
+Mon Apr 30 20:34:37 UTC 2018 - [email protected]
+
+- Update to version 20180430.eb1d0be:
+ * ReviewBot: runner: reload checker and reset memoize session caches.
+ * osclib/memoize: provide memoize_session_reset().
+
+-------------------------------------------------------------------
+Fri Apr 27 16:22:23 UTC 2018 - [email protected]
+
+- Update to version 20180427.1730947:
+ * systemd/[email protected]: increase frequency to
hourly.
+ * repo_checker: project_only: store build hash and skip when unchanged.
+
+-------------------------------------------------------------------
+Fri Apr 27 16:16:04 UTC 2018 - [email protected]
+
+- Update to version 20180427.adbbde2:
+ * repo_checker: invoke whitelist_clean() as part of project_only.
+ * repo_checker: whitelist_clean: provide interactive flag.
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20180427.add0eb7.obscpio
New:
----
openSUSE-release-tools-20180430.eb1d0be.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.79ovC5/_old 2018-05-02 12:19:46.049235617 +0200
+++ /var/tmp/diff_new_pack.79ovC5/_new 2018-05-02 12:19:46.053235471 +0200
@@ -20,7 +20,7 @@
%define source_dir openSUSE-release-tools
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20180427.add0eb7
+Version: 20180430.eb1d0be
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.79ovC5/_old 2018-05-02 12:19:46.089234158 +0200
+++ /var/tmp/diff_new_pack.79ovC5/_new 2018-05-02 12:19:46.089234158 +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">add0eb7927dde22dc83b06ae66b3027fbbe83228</param>
+ <param
name="changesrevision">b20c01669e0fe5d1bc199858dfeefcf71e4d7b2f</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20180427.add0eb7.obscpio ->
openSUSE-release-tools-20180430.eb1d0be.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20180427.add0eb7/ReviewBot.py
new/openSUSE-release-tools-20180430.eb1d0be/ReviewBot.py
--- old/openSUSE-release-tools-20180427.add0eb7/ReviewBot.py 2018-04-27
17:55:47.000000000 +0200
+++ new/openSUSE-release-tools-20180430.eb1d0be/ReviewBot.py 2018-04-30
22:28:09.000000000 +0200
@@ -30,6 +30,7 @@
from osclib.conf import Config
from osclib.core import group_members
from osclib.memoize import memoize
+from osclib.memoize import memoize_session_reset
from osclib.stagingapi import StagingAPI
import signal
import datetime
@@ -719,7 +720,17 @@
else:
self.logger.info("sleeping %d minutes." % interval)
time.sleep(interval * 60)
+
+ # Reset all memoize session caches which are designed for
single
+ # tool run and not extended usage.
+ memoize_session_reset()
+
+ # Reload checker to flush instance variables and thus any
config
+ # or caches they may contain.
+ self.postoptparse()
+
continue
+
break
if __name__ == "__main__":
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20180427.add0eb7/osclib/memoize.py
new/openSUSE-release-tools-20180430.eb1d0be/osclib/memoize.py
--- old/openSUSE-release-tools-20180427.add0eb7/osclib/memoize.py
2018-04-27 17:55:47.000000000 +0200
+++ new/openSUSE-release-tools-20180430.eb1d0be/osclib/memoize.py
2018-04-30 22:28:09.000000000 +0200
@@ -100,6 +100,7 @@
SLOTS = 4096 # Number of slots in the cache file
NCLEAN = 1024 # Number of slots to remove when limit reached
TIMEOUT = 60*60*2 # Time to live for every cache slot (seconds)
+ memoize.session_functions = []
def _memoize(fn):
# Implement a POSIX lock / unlock extension for shelves. Inspired
@@ -123,6 +124,7 @@
else:
if not hasattr(fn, '_memoize_session_cache'):
fn._memoize_session_cache = {}
+ memoize.session_functions.append(fn)
cache = fn._memoize_session_cache
return cache
@@ -197,3 +199,8 @@
ttl = ttl if ttl else TIMEOUT
return _memoize
+
+def memoize_session_reset():
+ """Reset all session caches."""
+ for i, _ in enumerate(memoize.session_functions):
+ memoize.session_functions[i]._memoize_session_cache = {}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20180427.add0eb7/repo_checker.py
new/openSUSE-release-tools-20180430.eb1d0be/repo_checker.py
--- old/openSUSE-release-tools-20180427.add0eb7/repo_checker.py 2018-04-27
17:55:47.000000000 +0200
+++ new/openSUSE-release-tools-20180430.eb1d0be/repo_checker.py 2018-04-30
22:28:09.000000000 +0200
@@ -59,7 +59,16 @@
self.logger.info('{}/standard not published'.format(project))
return
- comment = []
+ build = ET.fromstringlist(show_results_meta(
+ self.apiurl, project, multibuild=True,
repository=['standard'])).get('state')
+ dashboard_content = api.dashboard_content_load('repo_checker')
+ if not self.force and dashboard_content:
+ build_previous = dashboard_content.splitlines()[0]
+ if build == build_previous:
+ self.logger.info('{} build unchanged'.format(project))
+ return
+
+ comment = [build]
for arch in self.target_archs(project):
directory_project = self.mirror(project, arch)
@@ -75,6 +84,7 @@
text = '\n'.join(comment).strip()
if not self.dryrun:
api.dashboard_content_ensure('repo_checker', text, 'project_only
run')
+ self.whitelist_clean(project)
else:
print(text)
@@ -520,7 +530,7 @@
self.review_messages['accepted'] = 'delete request is safe'
return True
- def whitelist_clean(self, project):
+ def whitelist_clean(self, project, interactive=False):
from copy import copy
from difflib import unified_diff
from osclib.core import BINARY_REGEX
@@ -579,9 +589,15 @@
# Present diff and prompt to apply.
print(''.join(unified_diff(config, config_new, fromfile='config.orig',
tofile='config.new')))
print('Apply config changes? [y/n] (y): ', end='')
- response = raw_input().lower()
- if response == '' or response == 'y':
- api.dashboard_content_save('config', ''.join(config_new),
'repo_checker whitelist clean')
+ if interactive:
+ response = raw_input().lower()
+ if response != '' and response != 'y':
+ print('quit')
+ return
+ else:
+ print('y')
+
+ api.dashboard_content_save('config', ''.join(config_new),
'repo_checker whitelist clean')
def whitelist_clean_set(self, config, key, value):
# Unfortunately even OscConfigParser does not preserve empty lines.
@@ -625,7 +641,7 @@
def do_whitelist_clean(self, subcmd, opts, project):
self.checker.check_requests() # Needed to properly init ReviewBot.
- self.checker.whitelist_clean(project)
+ self.checker.whitelist_clean(project, interactive=True)
if __name__ == "__main__":
app = CommandLineInterface()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20180427.add0eb7/systemd/[email protected]
new/openSUSE-release-tools-20180430.eb1d0be/systemd/[email protected]
---
old/openSUSE-release-tools-20180427.add0eb7/systemd/[email protected]
2018-04-27 17:55:47.000000000 +0200
+++
new/openSUSE-release-tools-20180430.eb1d0be/systemd/[email protected]
2018-04-30 22:28:09.000000000 +0200
@@ -2,7 +2,7 @@
Description=openSUSE Release Tools: repo-checker project_only for %i
[Timer]
-OnCalendar=daily
+OnCalendar=hourly
Unit=osrt-repo-checker-project_only@%i.service
[Install]
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.79ovC5/_old 2018-05-02 12:19:46.929203511 +0200
+++ /var/tmp/diff_new_pack.79ovC5/_new 2018-05-02 12:19:46.929203511 +0200
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20180427.add0eb7
-mtime: 1524844547
-commit: add0eb7927dde22dc83b06ae66b3027fbbe83228
+version: 20180430.eb1d0be
+mtime: 1525120089
+commit: eb1d0be0cd0fc7da80fb917f23e39d081983f946