Hello community,
here is the log from the commit of package openSUSE-release-tools for
openSUSE:Factory checked in at 2019-12-06 15:06:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.4691 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Fri Dec 6 15:06:14 2019 rev:258 rq:754658 version:20191206.8f62f42c
Changes:
--------
---
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
2019-12-06 12:12:31.964020444 +0100
+++
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.4691/openSUSE-release-tools.changes
2019-12-06 15:06:32.816368731 +0100
@@ -1,0 +2,7 @@
+Fri Dec 06 11:41:08 UTC 2019 - [email protected]
+
+- Update to version 20191206.8f62f42c:
+ * Don't take multibuild packages as subpackage of itself
+ * Delete adi projects whenever we'd build disable them
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20191205.67ccc5ae.obscpio
New:
----
openSUSE-release-tools-20191206.8f62f42c.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.DL4mCP/_old 2019-12-06 15:06:44.828364275 +0100
+++ /var/tmp/diff_new_pack.DL4mCP/_new 2019-12-06 15:06:44.828364275 +0100
@@ -20,7 +20,7 @@
%define source_dir openSUSE-release-tools
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20191205.67ccc5ae
+Version: 20191206.8f62f42c
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.DL4mCP/_old 2019-12-06 15:06:44.888364252 +0100
+++ /var/tmp/diff_new_pack.DL4mCP/_new 2019-12-06 15:06:44.888364252 +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">0eb12a53c4b4cc455e626585c2a91f93c31bdf22</param>
+ <param
name="changesrevision">345321f98d1653df4059ddcb9d5e762ab8d3f99c</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20191205.67ccc5ae.obscpio ->
openSUSE-release-tools-20191206.8f62f42c.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20191205.67ccc5ae/osclib/accept_command.py
new/openSUSE-release-tools-20191206.8f62f42c/osclib/accept_command.py
--- old/openSUSE-release-tools-20191205.67ccc5ae/osclib/accept_command.py
2019-12-05 17:21:59.000000000 +0100
+++ new/openSUSE-release-tools-20191206.8f62f42c/osclib/accept_command.py
2019-12-06 12:39:14.000000000 +0100
@@ -116,6 +116,10 @@
time.sleep(1)
self.api.accept_status_comment(project, staging_packages[project])
+ if self.api.is_adi_project(project):
+ self.api.delete_empty_adi_project(project)
+ return
+
self.api.staging_deactivate(project)
self.reset_rebuild_data(prj)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20191205.67ccc5ae/osclib/adi_command.py
new/openSUSE-release-tools-20191206.8f62f42c/osclib/adi_command.py
--- old/openSUSE-release-tools-20191205.67ccc5ae/osclib/adi_command.py
2019-12-05 17:21:59.000000000 +0100
+++ new/openSUSE-release-tools-20191206.8f62f42c/osclib/adi_command.py
2019-12-06 12:39:14.000000000 +0100
@@ -5,7 +5,6 @@
from osc import oscerr
from osc.core import get_request
-from osc.core import delete_project
from osc.core import show_package_meta
from osc import conf
@@ -56,33 +55,19 @@
return
overall_state = info.get('state')
- if overall_state != 'acceptable' and overall_state != 'empty':
- raise oscerr.WrongArgs('Missed some case')
- # no longer accept/delete adi projects
- return
+ if overall_state == 'empty':
+ self.api.delete_empty_adi_project(project)
+ return
+
+ if overall_state != 'acceptable':
+ raise oscerr.WrongArgs('Missed some case')
- if self.api.is_user_member_of(self.api.user, self.api.cstaging_group):
- print(query_project + ' ' + Fore.GREEN + 'ready')
- packages = []
- for req in info.findall('staged_requests/request'):
- msg = 'ready to accept'
- print(' - {} [{}]'.format(Fore.CYAN + req.get('package') +
Fore.RESET, req.get('id')))
- self.api.rm_from_prj(project, request_id=req.get('id'),
msg=msg)
- self.api.do_change_review_state(req.get('id'), 'accepted',
by_group=self.api.cstaging_group, message=msg)
- packages.append(req.get('package'))
- self.api.accept_status_comment(project, packages)
- try:
- delete_project(self.api.apiurl, project, force=True)
- except HTTPError as e:
- print(e)
- pass
- else:
- ready = []
- for req in info.findall('staged_requests/request'):
- ready.append('{}[{}]'.format(Fore.CYAN + req.get('package') +
Fore.RESET, req.get('id')))
- if len(ready):
- print(query_project, Fore.GREEN + 'ready:', ', '.join(ready))
+ ready = []
+ for req in info.findall('staged_requests/request'):
+ ready.append('{}[{}]'.format(Fore.CYAN + req.get('package') +
Fore.RESET, req.get('id')))
+ if len(ready):
+ print(query_project, Fore.GREEN + 'ready:', ', '.join(ready))
def check_adi_projects(self):
for p in self.api.get_adi_projects():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20191205.67ccc5ae/osclib/stagingapi.py
new/openSUSE-release-tools-20191206.8f62f42c/osclib/stagingapi.py
--- old/openSUSE-release-tools-20191205.67ccc5ae/osclib/stagingapi.py
2019-12-05 17:21:59.000000000 +0100
+++ new/openSUSE-release-tools-20191206.8f62f42c/osclib/stagingapi.py
2019-12-06 12:39:14.000000000 +0100
@@ -20,6 +20,7 @@
from osc.core import buildlog_strip_time
from osc.core import change_review_state
from osc.core import delete_package
+from osc.core import delete_project
from osc.core import get_commitlog
from osc.core import get_group
from osc.core import get_request
@@ -70,6 +71,7 @@
self._package_metas = dict()
self._supersede = False
self._package_disabled = {}
+ self._is_staging_manager = None
Cache.init()
@@ -146,6 +148,12 @@
xpath = 'repository[@name="images"]'
return len(meta.xpath(xpath)) > 0
+ @property
+ def is_staging_manager(self):
+ if self._is_staging_manager is None:
+ self._is_staging_manager = self.is_user_member_of(self.user,
self.cstaging_group)
+ return self._is_staging_manager
+
def makeurl(self, l, query=None):
"""
Wrapper around osc's makeurl passing our apiurl
@@ -938,7 +946,7 @@
# created before through get_sub_packages().
filelist = self.get_filelist_for_package(pkgname=package,
project=project, expand='1')
if '_multibuild' in filelist:
- return [package]
+ return []
mainspec = "{}{}".format(package, '.spec')
if mainspec in filelist:
@@ -1253,7 +1261,10 @@
root = self.project_status(project, reload=True)
if root.get('state') == 'empty':
# Cleanup like accept since the staging is now empty.
- self.staging_deactivate(project)
+ if self.is_adi_project(project):
+ self.api.delete_empty_adi_project(project)
+ else:
+ self.staging_deactivate(project)
else:
self.build_switch_staging_project(project, 'enable')
@@ -1483,3 +1494,16 @@
return meta.find(xpath) is not None
return False
+
+ def delete_empty_adi_project(self, project):
+ if not self.is_adi_project(project):
+ return
+
+ if not self.is_staging_manager:
+ return
+
+ try:
+ delete_project(self.apiurl, project, force=True)
+ except HTTPError as e:
+ print(e)
+ pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20191205.67ccc5ae/tests/select_tests.py
new/openSUSE-release-tools-20191206.8f62f42c/tests/select_tests.py
--- old/openSUSE-release-tools-20191205.67ccc5ae/tests/select_tests.py
2019-12-05 17:21:59.000000000 +0100
+++ new/openSUSE-release-tools-20191206.8f62f42c/tests/select_tests.py
2019-12-06 12:39:14.000000000 +0100
@@ -11,6 +11,7 @@
from osclib.unselect_command import UnselectCommand
from osclib.stagingapi import StagingAPI
from osclib.memoize import memoize_session_reset
+from osclib.core import source_file_load
import logging
from mock import MagicMock
@@ -55,7 +56,7 @@
project = self.wf.create_project('devel:gcc')
package = OBSLocal.Package(name='gcc8', project=project)
- package.create_commit(filename='gcc8.spec')
+ package.create_commit(filename='gcc8.spec', text='Name: gcc8')
package.create_commit(filename='gcc8-tests.spec')
self.wf.submit_package(package)
@@ -63,6 +64,12 @@
self.assertEqual(True, ret)
self.assertEqual(package_list(self.wf.apiurl, staging.name), ['gcc8',
'gcc8-tests'])
+ file = source_file_load(self.wf.apiurl, staging.name, 'gcc8',
'gcc8.spec')
+ self.assertEqual(file, 'Name: gcc8')
+ # we should see the spec file also in the 2nd package
+ file = source_file_load(self.wf.apiurl, staging.name, 'gcc8-tests',
'gcc8.spec')
+ self.assertEqual(file, 'Name: gcc8')
+
uc = UnselectCommand(self.wf.api)
self.assertIsNone(uc.perform(['gcc8'], False, None))
@@ -75,7 +82,7 @@
project = self.wf.create_project('devel:gcc')
package = OBSLocal.Package(name='gcc9', project=project)
- package.create_commit(filename='gcc9.spec')
+ package.create_commit(filename='gcc9.spec', text='Name: gcc9')
package.create_commit(filename='gcc9-tests.spec')
package.create_commit('<multibuild><flavor>gcc9-tests.spec</flavor></multibuild>',
filename='_multibuild')
self.wf.submit_package(package)
@@ -84,6 +91,9 @@
self.assertEqual(True, ret)
self.assertEqual(package_list(self.wf.apiurl, staging.name), ['gcc9'])
+ file = source_file_load(self.wf.apiurl, staging.name, 'gcc9',
'gcc9.spec')
+ self.assertEqual(file, 'Name: gcc9')
+
uc = UnselectCommand(self.wf.api)
self.assertIsNone(uc.perform(['gcc9'], False, None))
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.DL4mCP/_old 2019-12-06 15:06:45.492364028 +0100
+++ /var/tmp/diff_new_pack.DL4mCP/_new 2019-12-06 15:06:45.492364028 +0100
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20191205.67ccc5ae
-mtime: 1575562919
-commit: 67ccc5ae1bf9c4f97ced12acd8c4ce86d4c0b5e6
+version: 20191206.8f62f42c
+mtime: 1575632354
+commit: 8f62f42ca560fb0a374701a2c011ffd6da41d0fa