Hello community,

here is the log from the commit of package openSUSE-release-tools for 
openSUSE:Factory checked in at 2018-12-04 20:58:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
 and      /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openSUSE-release-tools"

Tue Dec  4 20:58:25 2018 rev:152 rq:653862 version:20181204.aa1c004

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
    2018-11-29 23:01:23.843432674 +0100
+++ 
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.19453/openSUSE-release-tools.changes
 2018-12-04 20:58:35.116570009 +0100
@@ -1,0 +2,25 @@
+Tue Dec 04 13:34:32 UTC 2018 - opensuse-releaset...@opensuse.org
+
+- Update to version 20181204.aa1c004:
+  * droplist: Ignore Leap:15.1 for Leap:15.1:ARM
+  * Do not generate drop list for leap:15.1:arm at the moment
+  * No longer default to all scopes but make it configurable
+  * Also remove 'arm' scope
+  * Remove 'ports' scope - powerpc uses target project
+  * Fix deleting of files
+  * Delete kiwi by glob
+  * Add option to only generate release packages
+  * Remove skip_release option
+  * Set OBS_NAME ourselves on api.suse.de
+  * pkglistgen: Add --staging option for easier scoping
+
+-------------------------------------------------------------------
+Thu Nov 29 02:55:22 UTC 2018 - opensuse-releaset...@opensuse.org
+
+- Update to version 20181129.f45087d:
+  * osclib/cache: remove double comment introduced in #1802.
+  * metrics: sync config key with recent Leap changes.
+  * tests/metrics: add basic test to ensure code is executable.
+  * travis: use ecrypted e-mail address to avoid spam from forks.
+
+-------------------------------------------------------------------

Old:
----
  openSUSE-release-tools-20181127.ad48ebf.obscpio

New:
----
  openSUSE-release-tools-20181204.aa1c004.obscpio

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

Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.qtlxiM/_old  2018-12-04 20:58:36.212568799 +0100
+++ /var/tmp/diff_new_pack.qtlxiM/_new  2018-12-04 20:58:36.216568795 +0100
@@ -20,7 +20,7 @@
 %define source_dir openSUSE-release-tools
 %define announcer_filename factory-package-news
 Name:           openSUSE-release-tools
-Version:        20181127.ad48ebf
+Version:        20181204.aa1c004
 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.qtlxiM/_old  2018-12-04 20:58:36.248568759 +0100
+++ /var/tmp/diff_new_pack.qtlxiM/_new  2018-12-04 20:58:36.248568759 +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">ad48ebfe20c1bf4a9f3d81438a99c52779306af4</param>
+    <param 
name="changesrevision">53595a24bffe9c8d92b7c44bd3675059c6d6b328</param>
   </service>
 </servicedata>

++++++ openSUSE-release-tools-20181127.ad48ebf.obscpio -> 
openSUSE-release-tools-20181204.aa1c004.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openSUSE-release-tools-20181127.ad48ebf/.travis.yml 
new/openSUSE-release-tools-20181204.aa1c004/.travis.yml
--- old/openSUSE-release-tools-20181127.ad48ebf/.travis.yml     2018-11-27 
06:34:31.000000000 +0100
+++ new/openSUSE-release-tools-20181204.aa1c004/.travis.yml     2018-12-04 
14:28:52.000000000 +0100
@@ -156,4 +156,6 @@
 notifications:
   email:
     recipients:
-      - opensuse-releaset...@suse.de
+      # Avoid spam from forks by using secure value that is only available in
+      # main project (see travis-ci/travis-ci#5063).
+      - secure: 
"CpMzZ1W2x9KCCsrWiYXy8PVfR8vJfuR6ewm/oui7F/hCQ736YHbtQpCbC7GjVoDNpsnWc0XbvFjOl0ehwFBRo1FM1ejy4Zc+XdZSgVFvJ6zUHW/S7uxBZ3YuC07YCzQnHIHh0TCFkFK9GCw0lrcPpsjgneux+C8JQ6tz16H5AmA="
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openSUSE-release-tools-20181127.ad48ebf/metrics.py 
new/openSUSE-release-tools-20181204.aa1c004/metrics.py
--- old/openSUSE-release-tools-20181127.ad48ebf/metrics.py      2018-11-27 
06:34:31.000000000 +0100
+++ new/openSUSE-release-tools-20181204.aa1c004/metrics.py      2018-12-04 
14:28:52.000000000 +0100
@@ -28,7 +28,7 @@
 # Duplicate Leap config to handle 13.2 without issue.
 osclib.conf.DEFAULT[
     r'openSUSE:(?P<project>[\d.]+)$'] = osclib.conf.DEFAULT[
-    r'openSUSE:(?P<project>Leap:(?P<version>[\d.]+)(?::Ports)?)$']
+    r'openSUSE:(?P<project>Leap:(?P<version>[\d.]+))(?::NonFree)?$']
 
 # Provide osc.core.get_request_list() that swaps out search() implementation to
 # capture the generated query, paginate over and yield each request to avoid
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20181127.ad48ebf/osclib/cache.py 
new/openSUSE-release-tools-20181204.aa1c004/osclib/cache.py
--- old/openSUSE-release-tools-20181127.ad48ebf/osclib/cache.py 2018-11-27 
06:34:31.000000000 +0100
+++ new/openSUSE-release-tools-20181204.aa1c004/osclib/cache.py 2018-12-04 
14:28:52.000000000 +0100
@@ -107,8 +107,8 @@
         # Use TTL_DUPLICATE for project _meta as only description changes are 
listed in latest_updated:
         # https://github.com/openSUSE/open-build-service/issues/6323
         r'/source/([^/]+)/_meta$': TTL_DUPLICATE,
-        ## Handles clearing local cache on package deletes. Lots of queries 
like
-        ## updating project info, comment, and package additions.
+        # Handles clearing local cache on package deletes. Lots of queries like
+        # updating project info, comment, and package additions.
         r'/source/([^/]+)/(?:[^/?]+)(?:\?[^/]+)?$': TTL_DUPLICATE,
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20181127.ad48ebf/osclib/conf.py 
new/openSUSE-release-tools-20181204.aa1c004/osclib/conf.py
--- old/openSUSE-release-tools-20181127.ad48ebf/osclib/conf.py  2018-11-27 
06:34:31.000000000 +0100
+++ new/openSUSE-release-tools-20181204.aa1c004/osclib/conf.py  2018-12-04 
14:28:52.000000000 +0100
@@ -98,8 +98,7 @@
         # - F-C-C submitter requests (maxlin_factory)
         'unselect-cleanup-whitelist': 'leaper maxlin_factory',
         'pkglistgen-archs': 'x86_64',
-        'pkglistgen-archs-arm': 'aarch64',
-        'pkglistgen-archs-ports': 'aarch64 ppc64le',
+        'pkglistgen-scopes': 'target rings staging',
         'pkglistgen-locales-from': 'openSUSE.product',
         'pkglistgen-include-suggested': 'False',
         'pkglistgen-delete-kiwis-rings': 'openSUSE-ftp-ftp-x86_64.kiwi 
openSUSE-cd-mini-x86_64.kiwi',
@@ -114,7 +113,8 @@
         'openqa': 'https://openqa.opensuse.org',
         'main-repo': 'ports',
         'pseudometa_package': 'openSUSE:%(project)s:ARM:Staging/dashboard',
-        'download-baseurl': 
'http://download.opensuse.org/ports/aarch64/distribution/leap/%(version)s/',
+        'pkglistgen-product-family-include': 'openSUSE:Leap:15.0:ARM',
+        'download-baseurl-openSUSE-Leap-15.0-ARM': 
'http://download.opensuse.org/ports/aarch64/distribution/leap/15.0/',
         'mail-list': 'opensuse-...@opensuse.org',
         'mail-maintainer': 'Dirk Mueller <dmuel...@suse.com>',
         'mail-noreply': 'nore...@opensuse.org',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20181127.ad48ebf/osclib/util.py 
new/openSUSE-release-tools-20181204.aa1c004/osclib/util.py
--- old/openSUSE-release-tools-20181127.ad48ebf/osclib/util.py  2018-11-27 
06:34:31.000000000 +0100
+++ new/openSUSE-release-tools-20181204.aa1c004/osclib/util.py  2018-12-04 
14:28:52.000000000 +0100
@@ -11,6 +11,9 @@
     if project == 'openSUSE:Factory':
         return [project]
 
+    if project.endswith(':ARM') or project.endswith(':PowerPC'):
+        return [project]
+
     count_original = project.count(':')
     if project.startswith('SUSE:SLE'):
         project = ':'.join(project.split(':')[:2])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20181127.ad48ebf/pkglistgen.py 
new/openSUSE-release-tools-20181204.aa1c004/pkglistgen.py
--- old/openSUSE-release-tools-20181127.ad48ebf/pkglistgen.py   2018-11-27 
06:34:31.000000000 +0100
+++ new/openSUSE-release-tools-20181204.aa1c004/pkglistgen.py   2018-12-04 
14:28:52.000000000 +0100
@@ -747,7 +747,7 @@
 
 
 class CommandLineInterface(ToolBase.CommandLineInterface):
-    SCOPES = ['all', 'target', 'rings', 'staging', 'arm']
+    SCOPES = ['all', 'target', 'rings', 'staging']
 
     def __init__(self, *args, **kwargs):
         ToolBase.CommandLineInterface.__init__(self, args, kwargs)
@@ -1071,7 +1071,7 @@
         if name is not None and '-Build' in name:
             return name, 'build'
 
-        raise Exception('media.1/{media,build} includes no build number')
+        raise Exception(baseurl + '/media.1/{media,build} includes no build 
number')
 
     @cmdln.option('--ignore-unresolvable', action='store_true', help='ignore 
unresolvable and missing packges')
     @cmdln.option('--ignore-recommended', action='store_true', help='do not 
include recommended packages automatically')
@@ -1154,6 +1154,8 @@
     @cmdln.option('-s', '--scope', action='append', default=['all'], 
help='scope on which to operate ({}, staging:$letter)'.format(', 
'.join(SCOPES)))
     @cmdln.option('--no-checkout', action='store_true', help='reuse checkout 
in cache')
     @cmdln.option('--stop-after-solve', action='store_true', help='only create 
group files')
+    @cmdln.option('--staging', help='Only solve that one staging')
+    @cmdln.option('--only-release-packages', action='store_true', 
help='Generate 000release-packages only')
     def do_update_and_solve(self, subcmd, opts):
         """${cmd_name}: update and solve for given scope
 
@@ -1163,13 +1165,26 @@
 
         self.error_occured = False
 
+        if opts.staging:
+            match = re.match('(.*):Staging:(.*)', opts.staging)
+            opts.scope = ['staging:' + match.group(2)]
+            opts.project = match.group(1)
+
         if not opts.project:
             raise ValueError('project is required')
         opts.staging_project = None
 
+        apiurl = conf.config['apiurl']
+        config = Config(apiurl, opts.project)
+        target_config = conf.config[opts.project]
+
+        if apiurl.find('suse.de') > 0:
+            # used by product converter
+            os.environ['OBS_NAME'] = 'build.suse.de'
+
         # special case for all
         if opts.scope == ['all']:
-            opts.scope = self.SCOPES[1:]
+            opts.scope = target_config.get('pkglistgen-scopes', 
'target').split(' ')
 
         for scope in opts.scope:
             if scope.startswith('staging:'):
@@ -1179,25 +1194,18 @@
             if scope not in self.SCOPES:
                 raise ValueError('scope "{}" must be one of: {}'.format(scope, 
', '.join(self.SCOPES)))
             opts.scope = scope
-            self.real_update_and_solve(copy.deepcopy(opts))
+            self.real_update_and_solve(target_config, copy.deepcopy(opts))
         return self.error_occured
 
     # note: scope is a value here - while it's an array above
-    def real_update_and_solve(self, opts):
+    def real_update_and_solve(self, target_config, opts):
         # Store target project as opts.project will contain subprojects.
         target_project = opts.project
 
         apiurl = conf.config['apiurl']
-        config = Config(apiurl, target_project)
         api = StagingAPI(apiurl, target_project)
 
-        target_config = conf.config[target_project]
-        if opts.scope == 'ports':
-            archs_key = 'pkglistgen-archs-ports'
-        elif opts.scope == 'arm':
-            archs_key = 'pkglistgen-archs-arm'
-        else:
-            archs_key = 'pkglistgen-archs'
+        archs_key = 'pkglistgen-archs'
 
         if archs_key in target_config:
             self.options.architectures = target_config.get(archs_key).split(' 
')
@@ -1206,25 +1214,10 @@
         if opts.scope == 'target':
             self.repos = self.tool.expand_repos(target_project, main_repo)
             self.update_and_solve_target_wrapper(api, target_project, 
target_config, main_repo, opts, drop_list=True)
-            return self.error_occured
-        elif opts.scope == 'arm':
-            main_repo = 'ports'
-            opts.project += ':ARM'
-            self.repos = self.tool.expand_repos(opts.project, main_repo)
-            self.update_and_solve_target_wrapper(api, target_project, 
target_config, main_repo, opts, drop_list=True)
-            return self.error_occured
-        elif opts.scope == 'ports':
-            # TODO Continue supporting #1297, but should be abstracted.
-            main_repo = 'ports'
-            opts.project += ':Ports'
-            self.repos = self.tool.expand_repos(opts.project, main_repo)
-            self.update_and_solve_target_wrapper(api, target_project, 
target_config, main_repo, opts, drop_list=True)
-            return self.error_occured
         elif opts.scope == 'rings':
             opts.project = api.rings[1]
             self.repos = self.tool.expand_repos(api.rings[1], main_repo)
             self.update_and_solve_target_wrapper(api, target_project, 
target_config, main_repo, opts)
-            return self.error_occured
         elif opts.scope == 'staging':
             letters = api.get_staging_projects_short()
             for letter in letters:
@@ -1233,7 +1226,7 @@
                 opts.project = api.prj_from_short(letter)
                 self.repos = self.tool.expand_repos(opts.project, main_repo)
                 self.update_and_solve_target_wrapper(api, target_project, 
target_config, main_repo, opts)
-            return self.error_occured
+        return self.error_occured
 
     def update_and_solve_target_wrapper(self, *args, **kwargs):
         try:
@@ -1248,7 +1241,7 @@
             self.error_occured = True
 
     def update_and_solve_target(self, api, target_project, target_config, 
main_repo, opts,
-                                skip_release=False, drop_list=False):
+                                drop_list=False):
         print('[{}] {}/{}: update and solve'.format(opts.scope, opts.project, 
main_repo))
 
         group = target_config.get('pkglistgen-group', '000package-groups')
@@ -1276,15 +1269,13 @@
                 print('{}/{} build in progress'.format(opts.project, product))
                 return
 
-        checkout_list = [group, product]
-        if not skip_release:
-            checkout_list.append(release)
-
-            if packages.find('entry[@name="{}"]'.format(release)) is None:
-                if not self.options.dry:
-                    undelete_package(api.apiurl, opts.project, release, 
'revive')
-                print('{} undeleted, skip dvd until next 
cycle'.format(release))
-                return
+        checkout_list = [group, product, release]
+
+        if packages.find('entry[@name="{}"]'.format(release)) is None:
+            if not self.options.dry:
+                undelete_package(api.apiurl, opts.project, release, 'revive')
+            print('{} undeleted, skip dvd until next cycle'.format(release))
+            return
 
         # Cache dir specific to hostname and project.
         host = urlparse(api.apiurl).hostname
@@ -1305,9 +1296,9 @@
                 continue
             checkout_package(api.apiurl, opts.project, package, 
expand_link=True, prj_dir=cache_dir)
 
-        if not skip_release:
-            self.unlink_all_except(release_dir)
-        self.unlink_all_except(product_dir)
+        self.unlink_all_except(release_dir)
+        if not opts.only_release_packages:
+            self.unlink_all_except(product_dir)
         self.copy_directory_contents(group_dir, product_dir,
                                      ['supportstatus.txt', 'groups.yml', 
'package-groups.changes'])
         self.change_extension(product_dir, '.spec.in', '.spec')
@@ -1321,7 +1312,7 @@
         self.tool.update_repos(opts)
 
         nonfree = target_config.get('nonfree')
-        if opts.scope not in ('arm', 'ports') and nonfree and drop_list:
+        if nonfree and drop_list:
             print('-> do_update nonfree')
 
             # Switch to nonfree repo (ugly, but that's how the code was setup).
@@ -1343,7 +1334,8 @@
         opts.include_suggested = 
str2bool(target_config.get('pkglistgen-include-suggested'))
         opts.locale = target_config.get('pkglistgen-local')
         opts.locales_from = target_config.get('pkglistgen-locales-from')
-        summary = self.do_solve('solve', opts)
+        if not opts.only_release_packages:
+            summary = self.do_solve('solve', opts)
 
         if opts.stop_after_solve:
             return
@@ -1377,28 +1369,28 @@
             print(subprocess.check_output(
                 [PRODUCT_SERVICE, product_file, product_dir, opts.project]))
 
-        delete_kiwis = 
target_config.get('pkglistgen-delete-kiwis-{}'.format(opts.scope), '').split(' 
')
-        self.tool.unlink_list(product_dir, delete_kiwis)
+        for delete_kiwi in 
target_config.get('pkglistgen-delete-kiwis-{}'.format(opts.scope), '').split(' 
'):
+            delete_kiwis = glob.glob(os.path.join(product_dir, delete_kiwi))
+            self.tool.unlink_list(product_dir, delete_kiwis)
         if opts.scope == 'staging':
             self.strip_medium_from_staging(product_dir)
 
         spec_files = glob.glob(os.path.join(product_dir, '*.spec'))
-        if skip_release:
-            self.tool.unlink_list(None, spec_files)
-        else:
-            self.move_list(spec_files, release_dir)
-            inc_files = glob.glob(os.path.join(group_dir, '*.inc'))
-            self.move_list(inc_files, release_dir)
+        self.move_list(spec_files, release_dir)
+        inc_files = glob.glob(os.path.join(group_dir, '*.inc'))
+        self.move_list(inc_files, release_dir)
+
+        self.multibuild_from_glob(release_dir, '*.spec')
+        self.build_stub(release_dir, 'spec')
+        self.commit_package(release_dir)
+
+        if opts.only_release_packages:
+            return
 
         self.multibuild_from_glob(product_dir, '*.kiwi')
         self.build_stub(product_dir, 'kiwi')
         self.commit_package(product_dir)
 
-        if not skip_release:
-            self.multibuild_from_glob(release_dir, '*.spec')
-            self.build_stub(release_dir, 'spec')
-            self.commit_package(release_dir)
-
         if api.item_exists(opts.project, '000product-summary'):
             summary_str = "# Summary of packages in groups"
             for group in sorted(summary.keys()):
@@ -1432,6 +1424,8 @@
             project_config = conf.config[project]
 
             baseurl = project_config.get('download-baseurl')
+            if not baseurl:
+                baseurl = project_config.get('download-baseurl-' + 
project.replace(':', '-'))
             baseurl_update = project_config.get('download-baseurl-update')
             if not baseurl:
                 logger.warning('no baseurl configured for {}'.format(project))
@@ -1530,14 +1524,15 @@
         f.close()
 
     def commit_package(self, path):
-        package = Package(path)
         if self.options.dry:
+            package = Package(path)
             for i in package.get_diff():
                 print(''.join(i))
         else:
             # No proper API function to perform the same operation.
             print(subprocess.check_output(
                 ' '.join(['cd', path, '&&', 'osc', 'addremove']), shell=True))
+            package = Package(path)
             package.commit(msg='Automatic update', skip_local_service_run=True)
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20181127.ad48ebf/requirements.txt 
new/openSUSE-release-tools-20181204.aa1c004/requirements.txt
--- old/openSUSE-release-tools-20181127.ad48ebf/requirements.txt        
2018-11-27 06:34:31.000000000 +0100
+++ new/openSUSE-release-tools-20181204.aa1c004/requirements.txt        
2018-12-04 14:28:52.000000000 +0100
@@ -7,6 +7,7 @@
 pyxdg
 cmdln
 git+https://github.com/openSUSE/osc
+influxdb
 
 # Dependencies for testing
 httpretty<0.9.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20181127.ad48ebf/tests/metrics_tests.py 
new/openSUSE-release-tools-20181204.aa1c004/tests/metrics_tests.py
--- old/openSUSE-release-tools-20181127.ad48ebf/tests/metrics_tests.py  
1970-01-01 01:00:00.000000000 +0100
+++ new/openSUSE-release-tools-20181204.aa1c004/tests/metrics_tests.py  
2018-12-04 14:28:52.000000000 +0100
@@ -0,0 +1,12 @@
+from OBSLocal import OBSLocalTestCase
+import unittest
+
+
+class TestMetrics(OBSLocalTestCase):
+    script = './metrics.py'
+    script_debug_osc = False
+
+    def test_all(self):
+        self.osc_user('staging-bot')
+        self.execute_script(['--help']) # Avoids the need to influxdb instance.
+        self.assertOutput('metrics.py')

++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.qtlxiM/_old  2018-12-04 20:58:36.840568105 +0100
+++ /var/tmp/diff_new_pack.qtlxiM/_new  2018-12-04 20:58:36.844568101 +0100
@@ -1,5 +1,5 @@
 name: openSUSE-release-tools
-version: 20181127.ad48ebf
-mtime: 1543296871
-commit: ad48ebfe20c1bf4a9f3d81438a99c52779306af4
+version: 20181204.aa1c004
+mtime: 1543930132
+commit: aa1c004dda2bcf88d30f055c35657a5d2a63e1a2
 


Reply via email to