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-03-05 14:44:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
 and      /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.1958 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openSUSE-release-tools"

Sat Mar  5 14:44:38 2022 rev:389 rq:959580 version:20220304.1479a628

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
    2022-03-04 20:20:53.632681528 +0100
+++ 
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.1958/openSUSE-release-tools.changes
  2022-03-05 14:45:20.839730145 +0100
@@ -1,0 +2,39 @@
+Fri Mar 04 13:19:41 UTC 2022 - opensuse-releaset...@opensuse.org
+
+- Update to version 20220304.1479a628:
+  * pkglistgen: Don't exit 1 if we skip weakremovers due to restarted builds
+
+-------------------------------------------------------------------
+Fri Mar 04 11:52:40 UTC 2022 - opensuse-releaset...@opensuse.org
+
+- Update to version 20220304.a0d68e4b:
+  * staging-installcheck: Don't exit 1 if there is a problem found
+
+-------------------------------------------------------------------
+Fri Mar 04 11:34:48 UTC 2022 - opensuse-releaset...@opensuse.org
+
+- Update to version 20220304.93564783:
+  * pkglistgen: Fix invalid import
+
+-------------------------------------------------------------------
+Fri Mar 04 11:12:11 UTC 2022 - opensuse-releaset...@opensuse.org
+
+- Update to version 20220304.57322b23:
+  * pkglistgen: Deprecate scope 'all'
+
+-------------------------------------------------------------------
+Fri Mar 04 11:04:48 UTC 2022 - opensuse-releaset...@opensuse.org
+
+- Update to version 20220304.ebe2c528:
+  * tests: Fix api_tests to mock attribute not mtime
+  * tests: Create OSRT:FreezeTime for all tests
+  * osclib: Add an helpful error on failed attribute save
+  * Make frozenage less reliant on changing _frozenlinks
+
+-------------------------------------------------------------------
+Fri Mar 04 10:34:43 UTC 2022 - opensuse-releaset...@opensuse.org
+
+- Update to version 20220304.986ad21b:
+  * docs: Add note that the origin manager is unmaintained
+
+-------------------------------------------------------------------

Old:
----
  openSUSE-release-tools-20220303.003f0105.obscpio

New:
----
  openSUSE-release-tools-20220304.1479a628.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.I20h3t/_old  2022-03-05 14:45:21.519730317 +0100
+++ /var/tmp/diff_new_pack.I20h3t/_new  2022-03-05 14:45:21.527730319 +0100
@@ -20,7 +20,7 @@
 %define source_dir openSUSE-release-tools
 %define announcer_filename factory-package-news
 Name:           openSUSE-release-tools
-Version:        20220303.003f0105
+Version:        20220304.1479a628
 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.I20h3t/_old  2022-03-05 14:45:21.575730331 +0100
+++ /var/tmp/diff_new_pack.I20h3t/_new  2022-03-05 14:45:21.575730331 +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">003f010579af96ef6ffe09b700a50661ed29a9da</param>
+    <param 
name="changesrevision">e3f0a13b96dd1a69f70b7fb5884176b3bf142646</param>
   </service>
 </servicedata>
 

++++++ openSUSE-release-tools-20220303.003f0105.obscpio -> 
openSUSE-release-tools-20220304.1479a628.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220303.003f0105/dist/obs/OSRT:FreezeTime.xml 
new/openSUSE-release-tools-20220304.1479a628/dist/obs/OSRT:FreezeTime.xml
--- old/openSUSE-release-tools-20220303.003f0105/dist/obs/OSRT:FreezeTime.xml   
1970-01-01 01:00:00.000000000 +0100
+++ new/openSUSE-release-tools-20220304.1479a628/dist/obs/OSRT:FreezeTime.xml   
2022-03-04 14:18:20.000000000 +0100
@@ -0,0 +1,5 @@
+<definition name="FreezeTime" namespace="OSRT">
+  <description>Date and time of the last call of freeze (updating 
_frozenlinks)</description>
+  <count>1</count>
+  <modifiable_by role="maintainer"/>
+</definition>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220303.003f0105/docs/origin-manager.md 
new/openSUSE-release-tools-20220304.1479a628/docs/origin-manager.md
--- old/openSUSE-release-tools-20220303.003f0105/docs/origin-manager.md 
2022-03-03 18:03:46.000000000 +0100
+++ new/openSUSE-release-tools-20220304.1479a628/docs/origin-manager.md 
2022-03-04 14:18:20.000000000 +0100
@@ -1,5 +1,7 @@
 # Origin Manager
 
+<span style="color:red">Note that the Origin Manager is unmaintained and 
considered mostly obsolete in its current form by 
https://www.suse.com/c/closing-the-leap-gap-src/</span>
+
 The primary function of origin manager is, as the name implies, to _manage_ 
the _origin_ of packages. In other words to keep track of from what project a 
package originates, submit updates, review requests to detect origin changes, 
and enforce origin specific policies like adding appropriate reviews.
 
 The primary configuration for all parts of the tool is the `OSRT:OriginConfig` 
attribute to be placed on the target project. Once the config is created all 
relevant caches, listeners, and cron jobs will automatically include the 
project. The only exception is the `origin-manager` user should be added as a 
project _reviewer_ in order to activate the review portion of the tool. 
Conversely either removing the config or locking the project will disable all 
services. Locking the project will preserve the caches used by the web 
interface, but not update them which allows for archived viewing.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220303.003f0105/gocd/pkglistgen.opensuse.gocd.yaml 
new/openSUSE-release-tools-20220304.1479a628/gocd/pkglistgen.opensuse.gocd.yaml
--- 
old/openSUSE-release-tools-20220303.003f0105/gocd/pkglistgen.opensuse.gocd.yaml 
    2022-03-03 18:03:46.000000000 +0100
+++ 
new/openSUSE-release-tools-20220304.1479a628/gocd/pkglistgen.opensuse.gocd.yaml 
    2022-03-04 14:18:20.000000000 +0100
@@ -49,22 +49,22 @@
             - repo-checker
             tasks:
               - script: |
-                  python3 -u ./pkglistgen.py -d -A https://api.opensuse.org 
update_and_solve -p openSUSE:Factory:PowerPC --only-release-packages
-                  python3 -u ./pkglistgen.py -d -A https://api.opensuse.org 
update_and_solve -p openSUSE:Factory:PowerPC
+                  python3 -u ./pkglistgen.py -d -A https://api.opensuse.org 
update_and_solve -p openSUSE:Factory:PowerPC -s target --only-release-packages
+                  python3 -u ./pkglistgen.py -d -A https://api.opensuse.org 
update_and_solve -p openSUSE:Factory:PowerPC -s target
           openSUSE_Factory_zSystems:
             resources:
             - repo-checker
             tasks:
               - script: |
-                  python3 -u ./pkglistgen.py -d -A https://api.opensuse.org 
update_and_solve -p openSUSE:Factory:zSystems --only-release-packages
-                  python3 -u ./pkglistgen.py -d -A https://api.opensuse.org 
update_and_solve -p openSUSE:Factory:zSystems
+                  python3 -u ./pkglistgen.py -d -A https://api.opensuse.org 
update_and_solve -p openSUSE:Factory:zSystems -s target --only-release-packages
+                  python3 -u ./pkglistgen.py -d -A https://api.opensuse.org 
update_and_solve -p openSUSE:Factory:zSystems -s target
           openSUSE_Factory_RISCV:
             resources:
             - repo-checker
             tasks:
               - script: |
-                  python3 -u ./pkglistgen.py -d -A https://api.opensuse.org 
update_and_solve -p openSUSE:Factory:RISCV --only-release-packages
-                  python3 -u ./pkglistgen.py -d -A https://api.opensuse.org 
update_and_solve -p openSUSE:Factory:RISCV
+                  python3 -u ./pkglistgen.py -d -A https://api.opensuse.org 
update_and_solve -p openSUSE:Factory:RISCV -s target --only-release-packages
+                  python3 -u ./pkglistgen.py -d -A https://api.opensuse.org 
update_and_solve -p openSUSE:Factory:RISCV -s target
   Update.Repos.Factory:
     group: Factory.pkglistgen
     lock_behavior: unlockWhenFinished
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220303.003f0105/gocd/pkglistgen.opensuse.gocd.yaml.erb
 
new/openSUSE-release-tools-20220304.1479a628/gocd/pkglistgen.opensuse.gocd.yaml.erb
--- 
old/openSUSE-release-tools-20220303.003f0105/gocd/pkglistgen.opensuse.gocd.yaml.erb
 2022-03-03 18:03:46.000000000 +0100
+++ 
new/openSUSE-release-tools-20220304.1479a628/gocd/pkglistgen.opensuse.gocd.yaml.erb
 2022-03-04 14:18:20.000000000 +0100
@@ -22,6 +22,8 @@
   if project.size > 1
     options=" -s #{project[1]}"
     name = name + "_#{project[1]}"
+  else
+    options=" -s target"
   end
   -%>
           <%= name %>:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220303.003f0105/osclib/conf.py 
new/openSUSE-release-tools-20220304.1479a628/osclib/conf.py
--- old/openSUSE-release-tools-20220303.003f0105/osclib/conf.py 2022-03-03 
18:03:46.000000000 +0100
+++ new/openSUSE-release-tools-20220304.1479a628/osclib/conf.py 2022-03-04 
14:18:20.000000000 +0100
@@ -94,7 +94,6 @@
         # No special packages since they will pass through SLE first.
         'splitter-special-packages': '',
         'pkglistgen-archs': 'x86_64',
-        'pkglistgen-scopes': 'target rings staging',
         'pkglistgen-locales-from': 'openSUSE.product',
         'pkglistgen-delete-kiwis-rings': 'openSUSE-ftp-ftp-x86_64.kiwi 
openSUSE-cd-mini-x86_64.kiwi',
         'pkglistgen-delete-kiwis-staging': 'openSUSE-ftp-ftp-x86_64.kiwi 
openSUSE-cd-mini-x86_64.kiwi',
@@ -145,18 +144,6 @@
         'repo_checker-project-skip': 'True',
         '_priority': '101',
     },
-    r'openSUSE:(?P<project>Jump:(?P<version>[\d.]+))$': {
-        'product': 'openSUSE.product',
-        'openqa': 'https://openqa.opensuse.org',
-        'lock-ns': 'openSUSE',
-        'main-repo': 'standard',
-        'pseudometa_package': 'openSUSE:%(project)s:Staging/dashboard',
-        'download-baseurl': 
'http://download.opensuse.org/distribution/leap/%(version)s/',
-        'download-baseurl-update': 
'http://download.opensuse.org/update/leap/%(version)s/',
-        'pkglistgen-archs': 'x86_64 aarch64 ppc64le s390x',
-        'pkglistgen-scopes': 'target',
-        'pkglistgen-locales-from': 'openSUSE.product',
-    },
     # Allows devel projects to utilize tools that require config, but not
     # complete StagingAPI support.
     r'(?P<project>.*$)': {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220303.003f0105/osclib/core.py 
new/openSUSE-release-tools-20220304.1479a628/osclib/core.py
--- old/openSUSE-release-tools-20220303.003f0105/osclib/core.py 2022-03-03 
18:03:46.000000000 +0100
+++ new/openSUSE-release-tools-20220304.1479a628/osclib/core.py 2022-03-04 
14:18:20.000000000 +0100
@@ -1,9 +1,9 @@
 from collections import namedtuple
-from datetime import datetime
-from datetime import timezone
+from datetime import datetime, timezone
 from dateutil.parser import parse as date_parse
 import re
 import socket
+import logging
 from lxml import etree as ET
 from urllib.error import HTTPError
 
@@ -452,7 +452,12 @@
 
     # The OBS API of attributes is super strange, POST to update.
     url = makeurl(apiurl, list(filter(None, ['source', project, package, 
'_attribute'])))
-    http_POST(url, data=ET.tostring(root))
+    try:
+        http_POST(url, data=ET.tostring(root))
+    except HTTPError as e:
+        if e.code == 404:
+            logging.error(f"Saving attribute {namespace}:{name} to {project} 
failed. You may need to create the type on your instance.")
+        raise e
 
 
 def attribute_value_delete(apiurl, project, name, namespace='OSRT', 
package=None):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220303.003f0105/osclib/freeze_command.py 
new/openSUSE-release-tools-20220304.1479a628/osclib/freeze_command.py
--- old/openSUSE-release-tools-20220303.003f0105/osclib/freeze_command.py       
2022-03-03 18:03:46.000000000 +0100
+++ new/openSUSE-release-tools-20220304.1479a628/osclib/freeze_command.py       
2022-03-04 14:18:20.000000000 +0100
@@ -1,7 +1,9 @@
 import time
+from datetime import datetime, timezone
 from urllib.error import HTTPError
 from lxml import etree as ET
 import osc.core
+from osclib.core import attribute_value_save
 
 MAX_FROZEN_AGE = 6.5
 
@@ -197,6 +199,7 @@
 
         url = self.api.makeurl(['source', self.prj, '_project', 
'_frozenlinks'], {'meta': '1'})
         self.api.retried_PUT(url, ET.tostring(flink))
+        attribute_value_save(self.api.apiurl, self.prj, 'FreezeTime', 
datetime.now(timezone.utc).isoformat())
 
     def receive_sources(self, prj, sources, flink):
         url = self.api.makeurl(['source', prj], {'view': 'info', 'nofilename': 
'1'})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220303.003f0105/osclib/stagingapi.py 
new/openSUSE-release-tools-20220304.1479a628/osclib/stagingapi.py
--- old/openSUSE-release-tools-20220303.003f0105/osclib/stagingapi.py   
2022-03-03 18:03:46.000000000 +0100
+++ new/openSUSE-release-tools-20220304.1479a628/osclib/stagingapi.py   
2022-03-04 14:18:20.000000000 +0100
@@ -879,7 +879,14 @@
         :param project: project to check
         :return age in days(float) of the last update
         """
-        root = ET.fromstring(self._fetch_project_meta(project))
+        freezetime = attribute_value_load(self.apiurl, project, 'FreezeTime')
+        if freezetime:
+            freezetime = datetime.fromisoformat(freezetime)
+            tz_info = freezetime.tzinfo
+            return (datetime.now(tz_info) - freezetime).total_seconds() / 3600 
/ 24
+        # fallback: old method
+        url = self.makeurl(['source', project, '_project'], {'meta': '1'})
+        root = ET.parse(http_GET(url))
         for entry in root.findall('entry'):
             if entry.get('name') == '_frozenlinks':
                 return (time.time() - float(entry.get('mtime'))) / 3600 / 24
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220303.003f0105/pkglistgen/cli.py 
new/openSUSE-release-tools-20220304.1479a628/pkglistgen/cli.py
--- old/openSUSE-release-tools-20220303.003f0105/pkglistgen/cli.py      
2022-03-03 18:03:46.000000000 +0100
+++ new/openSUSE-release-tools-20220304.1479a628/pkglistgen/cli.py      
2022-03-04 14:18:20.000000000 +0100
@@ -5,6 +5,7 @@
 import cmdln
 import os
 import re
+
 import ToolBase
 import traceback
 import logging
@@ -17,7 +18,7 @@
 
 
 class CommandLineInterface(ToolBase.CommandLineInterface):
-    SCOPES = ['all', 'target', 'rings', 'staging']
+    SCOPES = ['target', 'rings', 'staging']
 
     def __init__(self, *args, **kwargs):
         ToolBase.CommandLineInterface.__init__(self, args, kwargs)
@@ -64,8 +65,9 @@
             opts.project = match.group(1)
         elif not opts.project:
             raise ValueError('project is required')
-        elif not opts.scope:
-            opts.scope = ['all']
+
+        if not opts.scope:
+            raise ValueError('--scope or --staging required')
 
         apiurl = conf.config['apiurl']
         Config(apiurl, opts.project)
@@ -85,10 +87,6 @@
         if apiurl.find('opensuse.org') > 0:
             os.environ['OBS_NAME'] = 'build.opensuse.org'
 
-        # special case for all
-        if opts.scope == ['all']:
-            opts.scope = target_config.get('pkglistgen-scopes', 
'target').split(' ')
-
         self.error_occured = False
 
         def solve_project(project, scope):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220303.003f0105/pkglistgen/tool.py 
new/openSUSE-release-tools-20220304.1479a628/pkglistgen/tool.py
--- old/openSUSE-release-tools-20220303.003f0105/pkglistgen/tool.py     
2022-03-03 18:03:46.000000000 +0100
+++ new/openSUSE-release-tools-20220304.1479a628/pkglistgen/tool.py     
2022-03-04 14:18:20.000000000 +0100
@@ -36,6 +36,10 @@
 CACHEDIR = CacheManager.directory('repository-meta')
 
 
+class MismatchedRepoException(Exception):
+    """raised on repos that restarted building"""
+
+
 class PkgListGen(ToolBase.ToolBase):
 
     def __init__(self):
@@ -225,7 +229,7 @@
                 continue
             s = f'repo-{project}-{reponame}-{arch}-{state}.solv'
             if not repo.add_solv(s):
-                raise Exception('failed to add repo {}/{}/{}'.format(project, 
reponame, arch))
+                raise MismatchedRepoException('failed to add repo 
{}/{}/{}'.format(project, reponame, arch))
             for solvable in repo.solvables_iter():
                 if ignore_conflicts:
                     solvable.unset(solv.SOLVABLE_CONFLICTS)
@@ -428,7 +432,7 @@
                         fn = f'repo-{project}-{repo}-{arch}-{state}.solv'
                         r = pool.add_repo('/'.join([project, repo]))
                         if not r.add_solv(fn):
-                            raise Exception('failed to add repo 
{}/{}/{}.'.format(project, repo, arch))
+                            raise MismatchedRepoException('failed to add repo 
{}/{}/{}.'.format(project, repo, arch))
 
                 pool.createwhatprovides()
 
@@ -580,10 +584,10 @@
         if self.dry_run:
             package = Package(path)
             for i in package.get_diff():
-                print(''.join(i))
+                logging.info(''.join(i))
         else:
             # No proper API function to perform the same operation.
-            print(subprocess.check_output(
+            logging.debug(subprocess.check_output(
                 ' '.join(['cd', path, '&&', 'osc', 'addremove']), shell=True, 
encoding='utf-8'))
             package = Package(path)
             package.commit(msg='Automatic update', skip_local_service_run=True)
@@ -602,7 +606,7 @@
         self.all_architectures = target_config.get('pkglistgen-archs').split(' 
')
         self.use_newest_version = 
str2bool(target_config.get('pkglistgen-use-newest-version', 'False'))
         self.repos = self.expand_repos(project, main_repo)
-        print('[{}] {}/{}: update and solve'.format(scope, project, main_repo))
+        logging.debug('[{}] {}/{}: update and solve'.format(scope, project, 
main_repo))
 
         group = target_config.get('pkglistgen-group', '000package-groups')
         product = target_config.get('pkglistgen-product', '000product')
@@ -615,13 +619,13 @@
             if not self.dry_run:
                 undelete_package(api.apiurl, project, product, 'revive')
             # TODO disable build.
-            print('{} undeleted, skip dvd until next cycle'.format(product))
+            logging.info('{} undeleted, skip dvd until next 
cycle'.format(product))
             return
         elif not force:
             root = ET.fromstringlist(show_results_meta(api.apiurl, project, 
product,
                                                        repository=[main_repo], 
multibuild=True))
             if len(root.xpath('result[@state="building"]')) or 
len(root.xpath('result[@state="dirty"]')):
-                print('{}/{} build in progress'.format(project, product))
+                logging.info('{}/{} build in progress'.format(project, 
product))
                 return
 
         drop_list = api.item_exists(project, oldrepos)
@@ -632,7 +636,7 @@
         if packages.find('entry[@name="{}"]'.format(release)) is None:
             if not self.dry_run:
                 undelete_package(api.apiurl, project, release, 'revive')
-            print('{} undeleted, skip dvd until next cycle'.format(release))
+            logging.info('{} undeleted, skip dvd until next 
cycle'.format(release))
             return
 
         # Cache dir specific to hostname and project.
@@ -654,7 +658,7 @@
 
         for package in checkout_list:
             if no_checkout:
-                print('Skipping checkout of {}/{}'.format(project, package))
+                logging.debug('Skipping checkout of {}/{}'.format(project, 
package))
                 continue
             checkout_package(api.apiurl, project, package, expand_link=True,
                              prj_dir=cache_dir, outdir=os.path.join(cache_dir, 
package))
@@ -668,7 +672,7 @@
         file_utils.change_extension(product_dir, '.spec.in', '.spec')
         file_utils.change_extension(product_dir, '.product.in', '.product')
 
-        print('-> do_update')
+        logging.debug('-> do_update')
         # make sure we only calculcate existant architectures
         self.filter_architectures(target_archs(api.apiurl, project, main_repo))
         self.update_repos(self.filtered_architectures)
@@ -688,19 +692,23 @@
 
         if drop_list and not only_release_packages:
             weakremovers_file = os.path.join(release_dir, 'weakremovers.inc')
-            self.create_weakremovers(project, target_config, oldrepos_dir, 
output=open(weakremovers_file, 'w'))
+            try:
+                self.create_weakremovers(project, target_config, oldrepos_dir, 
output=open(weakremovers_file, 'w'))
+            except MismatchedRepoException:
+                logging.error("Failed to create weakremovers.inc due to 
mismatch in repos - project most likey started building again.")
+                return
 
         delete_products = target_config.get('pkglistgen-delete-products', 
'').split(' ')
         file_utils.unlink_list(product_dir, delete_products)
 
-        print('-> product service')
+        logging.debug('-> product service')
         product_version = attribute_value_load(api.apiurl, project, 
'ProductVersion')
         if not product_version:
             # for stagings the product version doesn't matter (I hope)
             product_version = '1'
         for product_file in glob.glob(os.path.join(product_dir, '*.product')):
             self.replace_product_version(product_file, product_version)
-            print(subprocess.check_output(
+            logging.debug(subprocess.check_output(
                 [PRODUCT_SERVICE, product_file, product_dir, project], 
encoding='utf-8'))
 
         for delete_kiwi in 
target_config.get('pkglistgen-delete-kiwis-{}'.format(scope), '').split(' '):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220303.003f0105/staging-installcheck.py 
new/openSUSE-release-tools-20220304.1479a628/staging-installcheck.py
--- old/openSUSE-release-tools-20220303.003f0105/staging-installcheck.py        
2022-03-03 18:03:46.000000000 +0100
+++ new/openSUSE-release-tools-20220304.1479a628/staging-installcheck.py        
2022-03-04 14:18:20.000000000 +0100
@@ -379,4 +379,4 @@
                 result = staging_report.staging(staging) and result
 
     if not result:
-        sys.exit(1)
+        logging.error("Found problem")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220303.003f0105/tests/OBSLocal.py 
new/openSUSE-release-tools-20220304.1479a628/tests/OBSLocal.py
--- old/openSUSE-release-tools-20220303.003f0105/tests/OBSLocal.py      
2022-03-03 18:03:46.000000000 +0100
+++ new/openSUSE-release-tools-20220304.1479a628/tests/OBSLocal.py      
2022-03-04 14:18:20.000000000 +0100
@@ -382,6 +382,7 @@
         # First ensure the existence of both the target project and the 
'Config' attribute type
         self.create_target()
         self.create_attribute_type('OSRT', 'Config', 1)
+        self.create_attribute_type('OSRT', 'FreezeTime', 1)
 
         self.remote_config_set(self.initial_config(), replace_all=True)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220303.003f0105/tests/api_tests.py 
new/openSUSE-release-tools-20220304.1479a628/tests/api_tests.py
--- old/openSUSE-release-tools-20220303.003f0105/tests/api_tests.py     
2022-03-03 18:03:46.000000000 +0100
+++ new/openSUSE-release-tools-20220304.1479a628/tests/api_tests.py     
2022-03-04 14:18:20.000000000 +0100
@@ -1,7 +1,5 @@
-
 import osc.core
-
-from mock import MagicMock
+from osclib.core import attribute_value_delete, attribute_value_save
 from . import OBSLocal
 
 
@@ -181,7 +179,7 @@
         self.wf.create_staging('B', freeze=True, rings=1)
         
self.assertLess(self.wf.api.days_since_last_freeze('openSUSE:Factory:Staging:B'),
 1)
 
-        self.mock_project_meta()
+        attribute_value_save(self.wf.apiurl, 'openSUSE:Factory:Staging:B', 
'FreezeTime', "2021-03-04T10:23:55.127903")
         
self.assertGreater(self.wf.api.days_since_last_freeze('openSUSE:Factory:Staging:B'),
 8)
 
     def test_frozen_enough(self):
@@ -198,16 +196,13 @@
         self.wf.create_staging('C', freeze=True, rings=1)
         
self.assertEqual(self.wf.api.prj_frozen_enough('openSUSE:Factory:Staging:C'), 
True)
 
-        self.mock_project_meta()
+        # pretend it's old
+        attribute_value_save(self.wf.apiurl, 'openSUSE:Factory:Staging:C', 
'FreezeTime', "2021-03-04T10:23:55.127903")
         
self.assertEqual(self.wf.api.prj_frozen_enough('openSUSE:Factory:Staging:C'), 
False)
 
-    def mock_project_meta(self):
-        body = """<directory name="_project" rev="3" vrev="" 
srcmd5="9dd1ec5b77a9e953662eb32955e9066a">
-              <entry name="_frozenlinks" 
md5="64127b7a5dabbca0ec2bf04cd04c9195" size="16" mtime="1555000000"/>
-              <entry name="_meta" md5="cf6fb1eac1a676d6c3707303ae2571ad" 
size="162" mtime="1555945413"/>
-            </directory>"""
-
-        self.wf.api._fetch_project_meta = MagicMock(return_value=body)
+        # test old method (which still shows it's recent)
+        attribute_value_delete(self.wf.apiurl, 'openSUSE:Factory:Staging:C', 
'FreezeTime')
+        
self.assertEqual(self.wf.api.prj_frozen_enough('openSUSE:Factory:Staging:C'), 
True)
 
     def test_move(self):
         """Test package movement."""

++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.I20h3t/_old  2022-03-05 14:45:22.255730502 +0100
+++ /var/tmp/diff_new_pack.I20h3t/_new  2022-03-05 14:45:22.271730507 +0100
@@ -1,5 +1,5 @@
 name: openSUSE-release-tools
-version: 20220303.003f0105
-mtime: 1646327026
-commit: 003f010579af96ef6ffe09b700a50661ed29a9da
+version: 20220304.1479a628
+mtime: 1646399900
+commit: 1479a628529da330c8b79c3c72580caa185e4bc9
 

Reply via email to