Hello community,

here is the log from the commit of package openSUSE-release-tools for 
openSUSE:Factory checked in at 2018-02-22 15:02:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 Feb 22 15:02:46 2018 rev:60 rq:578905 version:20180222.009712a

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
    2018-02-21 14:13:23.310047263 +0100
+++ 
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes
       2018-02-22 15:02:50.377154370 +0100
@@ -1,0 +2,22 @@
+Thu Feb 22 08:31:28 UTC 2018 - opensuse-releaset...@opensuse.org
+
+- Update to version 20180222.009712a:
+  * ttm: Follow package name changes of Tumbleweed live media
+
+-------------------------------------------------------------------
+Wed Feb 21 09:46:51 UTC 2018 - opensuse-releaset...@opensuse.org
+
+- Update to version 20180221.355c0b4:
+  * Revert "staging: add exceptions for new 000* product files"
+
+-------------------------------------------------------------------
+Wed Feb 21 02:54:26 UTC 2018 - opensuse-releaset...@opensuse.org
+
+- Update to version 20180220.f56ccb8:
+  * pkglistgen: solv_cache_update(): support update repo and 4 way merge.
+  * pkglistgen: do_dump_solv(): support update repos.
+  * pkglistgen: solv_merge(): allow array of solv files to merge.
+  * pkglistgen: solv_merge(): skip when inputs are older than merged.
+  * osclib/conf: leap: set download-baseurl-update.
+
+-------------------------------------------------------------------

Old:
----
  openSUSE-release-tools-20180220.945bf4f.obscpio

New:
----
  openSUSE-release-tools-20180222.009712a.obscpio

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

Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.4QvFFb/_old  2018-02-22 15:02:52.321084441 +0100
+++ /var/tmp/diff_new_pack.4QvFFb/_new  2018-02-22 15:02:52.325084297 +0100
@@ -20,7 +20,7 @@
 %define source_dir osc-plugin-factory
 %define announcer_filename factory-package-news
 Name:           openSUSE-release-tools
-Version:        20180220.945bf4f
+Version:        20180222.009712a
 Release:        0
 Summary:        Tools to aid in staging and release work for openSUSE/SUSE
 License:        GPL-2.0+ AND MIT

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.4QvFFb/_old  2018-02-22 15:02:52.361083002 +0100
+++ /var/tmp/diff_new_pack.4QvFFb/_new  2018-02-22 15:02:52.365082858 +0100
@@ -1,6 +1,6 @@
 <servicedata>
   <service name="tar_scm">
     <param 
name="url">https://github.com/openSUSE/osc-plugin-factory.git</param>
-    <param 
name="changesrevision">945bf4f58ff7c66e006cb5d756e252a59bc2ede8</param>
+    <param 
name="changesrevision">009712aa8ac50cefc009fe2ead726dd87d8292f4</param>
   </service>
 </servicedata>

++++++ openSUSE-release-tools-20180220.945bf4f.obscpio -> 
openSUSE-release-tools-20180222.009712a.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20180220.945bf4f/osclib/conf.py 
new/openSUSE-release-tools-20180222.009712a/osclib/conf.py
--- old/openSUSE-release-tools-20180220.945bf4f/osclib/conf.py  2018-02-20 
21:54:36.000000000 +0100
+++ new/openSUSE-release-tools-20180222.009712a/osclib/conf.py  2018-02-22 
09:24:37.000000000 +0100
@@ -70,6 +70,7 @@
         'delreq-review': None,
         'main-repo': 'standard',
         'download-baseurl': 
'http://download.opensuse.org/distribution/leap/%(version)s/',
+        'download-baseurl-update': 
'http://download.opensuse.org/update/leap/%(version)s/',
         # check_source.py
         # review-team optionally added by leaper.py.
         'repo-checker': 'repo-checker',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20180220.945bf4f/osclib/freeze_command.py 
new/openSUSE-release-tools-20180222.009712a/osclib/freeze_command.py
--- old/openSUSE-release-tools-20180220.945bf4f/osclib/freeze_command.py        
2018-02-20 21:54:36.000000000 +0100
+++ new/openSUSE-release-tools-20180222.009712a/osclib/freeze_command.py        
2018-02-22 09:24:37.000000000 +0100
@@ -257,8 +257,6 @@
         # If the package is an internal one (e.g _product)
         if package.startswith('_'):
             return None
-        if package.startswith('000'):
-            return None
 
         # Ignore packages with an origing (i.e. with an origin
         # different from the current project)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20180220.945bf4f/osclib/stagingapi.py 
new/openSUSE-release-tools-20180222.009712a/osclib/stagingapi.py
--- old/openSUSE-release-tools-20180220.945bf4f/osclib/stagingapi.py    
2018-02-20 21:54:36.000000000 +0100
+++ new/openSUSE-release-tools-20180222.009712a/osclib/stagingapi.py    
2018-02-22 09:24:37.000000000 +0100
@@ -198,7 +198,7 @@
             for si in ET.parse(root).getroot().findall('sourceinfo'):
                 pkg = si.get('package')
                 # XXX TODO - Test-DVD-x86_64 is hardcoded here
-                if pkg in ret and not pkg.startswith('Test-DVD-') and not 
pkg.startswith('000'):
+                if pkg in ret and not pkg.startswith('Test-DVD-'):
                     msg = '{} is defined in two projects ({} and {})'
                     if checklinks and pkg in except_pkgs and prj == 
except_pkgs[pkg]:
                         msg = ''
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20180220.945bf4f/pkglistgen.py 
new/openSUSE-release-tools-20180222.009712a/pkglistgen.py
--- old/openSUSE-release-tools-20180220.945bf4f/pkglistgen.py   2018-02-20 
21:54:36.000000000 +0100
+++ new/openSUSE-release-tools-20180222.009712a/pkglistgen.py   2018-02-22 
09:24:37.000000000 +0100
@@ -31,6 +31,7 @@
 import cmdln
 import logging
 import urllib2
+import filecmp
 from osc.core import checkout_package
 from osc.core import http_GET
 from osc.core import makeurl
@@ -769,11 +770,20 @@
 
                 solv_file_nonfree = os.path.join(
                     CACHEDIR, 'repo-{}-{}-{}.solv'.format(nonfree, repo, arch))
-                self.solv_merge(solv_file, solv_file_nonfree, solv_file_merged)
+                self.solv_merge(solv_file_merged, solv_file, solv_file_nonfree)
+
+    def solv_merge(self, solv_merged, *solvs):
+        solvs = list(solvs) # From tuple.
+
+        if os.path.exists(solv_merged):
+            modified = map(os.path.getmtime, [solv_merged] + solvs)
+            if max(modified) <= modified[0]:
+                # The two inputs were modified before or at the same as merged.
+                logger.debug('merge skipped for {}'.format(solv_merged))
+                return
 
-    def solv_merge(self, solv1, solv2, solv_merged):
         with open(solv_merged, 'w') as handle:
-            p = subprocess.Popen(['mergesolv', solv1, solv2], stdout=handle)
+            p = subprocess.Popen(['mergesolv'] + solvs, stdout=handle)
             p.communicate()
 
         if p.returncode:
@@ -868,7 +878,8 @@
         if self.options.output_dir:
             build, repo_style = self.dump_solv_build(baseurl)
             name = '{}/{}.solv'.format(self.options.output_dir, build)
-            if not opts.overwrite and os.path.exists(name):
+            # For update repo name never changes so always update.
+            if not opts.overwrite and repo_style != 'update' and 
os.path.exists(name):
                 logger.info("%s exists", name)
                 return name
             ofh = open(name + '.new', 'w')
@@ -899,11 +910,21 @@
             repo.write(ofh)
 
         if name is not None:
-            os.rename(name + '.new', name)
+            # Only update file if overwrite or different.
+            ofh.flush() # Ensure entirely written before comparing.
+            if not opts.overwrite and os.path.exists(name) and 
filecmp.cmp(name + '.new', name, shallow=False):
+                logger.debug('file identical, skip dumping')
+                os.remove(name + '.new')
+            else:
+                os.rename(name + '.new', name)
             return name
 
     def dump_solv_build(self, baseurl):
         """Determine repo format and build string from remote repository."""
+        if 'update' in baseurl:
+            # Could look at .repo file or repomd.xml, but larger change.
+            return 'update-' + os.path.basename(os.path.normpath(baseurl)), 
'update'
+
         url = urlparse.urljoin(baseurl, 'media.1/media')
         with requests.get(url) as media:
             for i, line in enumerate(media.iter_lines()):
@@ -1225,18 +1246,26 @@
             project_config = conf.config[project]
 
             baseurl = project_config.get('download-baseurl')
+            baseurl_update = project_config.get('download-baseurl-update')
             if not baseurl:
                 logger.warning('no baseurl configured for {}'.format(project))
                 continue
 
             urls = [urlparse.urljoin(baseurl, 'repo/oss/')]
+            if baseurl_update:
+                urls.append(urlparse.urljoin(baseurl_update, 'oss/'))
             if project_config.get('nonfree'):
                 urls.append(urlparse.urljoin(baseurl, 'repo/non-oss/'))
+                if baseurl_update:
+                    urls.append(urlparse.urljoin(baseurl_update, 'non-oss/'))
 
             names = []
             for url in urls:
+                project_display = project
+                if 'update' in url:
+                    project_display += ':Update'
                 print('-> do_dump_solv for {}/{}'.format(
-                    project, os.path.basename(os.path.normpath(url))))
+                    project_display, os.path.basename(os.path.normpath(url))))
                 logger.debug(url)
 
                 self.options.output_dir = os.path.join(cache_dir_solv, project)
@@ -1252,8 +1281,8 @@
 
             # Merge nonfree solv with free solv or copy free solv as merged.
             merged = names[0].replace('.solv', '.merged.solv')
-            if len(names) == 2:
-                self.solv_merge(names[0], names[1], merged)
+            if len(names) >= 2:
+                self.solv_merge(merged, *names)
             else:
                 shutil.copyfile(names[0], merged)
             prior.add(merged)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20180220.945bf4f/totest-manager.py 
new/openSUSE-release-tools-20180222.009712a/totest-manager.py
--- old/openSUSE-release-tools-20180220.945bf4f/totest-manager.py       
2018-02-20 21:54:36.000000000 +0100
+++ new/openSUSE-release-tools-20180222.009712a/totest-manager.py       
2018-02-22 09:24:37.000000000 +0100
@@ -618,9 +618,9 @@
     ftp_products = ['_product:openSUSE-ftp-ftp-i586_x86_64',
                     '_product:openSUSE-Addon-NonOss-ftp-ftp-i586_x86_64']
 
-    livecd_products = ['livecd-kde',
-                       'livecd-gnome',
-                       'livecd-x11']
+    livecd_products = ['livecd-tumbleweed-kde',
+                       'livecd-tumbleweed-gnome',
+                       'livecd-tumbleweed-x11']
 
     def __init__(self, *args, **kwargs):
         ToTestBase.__init__(self, *args, **kwargs)

++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.4QvFFb/_old  2018-02-22 15:02:53.021059261 +0100
+++ /var/tmp/diff_new_pack.4QvFFb/_new  2018-02-22 15:02:53.021059261 +0100
@@ -1,5 +1,5 @@
 name: openSUSE-release-tools
-version: 20180220.945bf4f
-mtime: 1519160076
-commit: 945bf4f58ff7c66e006cb5d756e252a59bc2ede8
+version: 20180222.009712a
+mtime: 1519287877
+commit: 009712aa8ac50cefc009fe2ead726dd87d8292f4
 


Reply via email to