Hello community,

here is the log from the commit of package buildstream for openSUSE:Factory 
checked in at 2019-07-21 11:33:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/buildstream (Old)
 and      /work/SRC/openSUSE:Factory/.buildstream.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "buildstream"

Sun Jul 21 11:33:29 2019 rev:12 rq:716271 version:1.2.8

Changes:
--------
--- /work/SRC/openSUSE:Factory/buildstream/buildstream.changes  2019-05-28 
09:42:30.145860126 +0200
+++ /work/SRC/openSUSE:Factory/.buildstream.new.4126/buildstream.changes        
2019-07-21 11:33:33.912785196 +0200
@@ -1,0 +2,8 @@
+Tue Jul 16 17:36:25 UTC 2019 - Bjørn Lie <[email protected]>
+
+- Update to version 1.2.8:
+  + Fixed issues with workspaced junctions which need fetches.
+  + Bail out with informative error if stdout/stderr are
+    O_NONBLOCK.
+
+-------------------------------------------------------------------

Old:
----
  BuildStream-1.2.7.tar.xz

New:
----
  BuildStream-1.2.8.tar.xz

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

Other differences:
------------------
++++++ buildstream.spec ++++++
--- /var/tmp/diff_new_pack.mvMUZ7/_old  2019-07-21 11:33:34.812785044 +0200
+++ /var/tmp/diff_new_pack.mvMUZ7/_new  2019-07-21 11:33:34.812785044 +0200
@@ -18,7 +18,7 @@
 
 %define real_name BuildStream
 Name:           buildstream
-Version:        1.2.7
+Version:        1.2.8
 Release:        0
 Summary:        A framework for modelling build pipelines in YAML
 License:        LGPL-2.1-or-later

++++++ BuildStream-1.2.7.tar.xz -> BuildStream-1.2.8.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/BuildStream-1.2.7/BuildStream.egg-info/PKG-INFO 
new/BuildStream-1.2.8/BuildStream.egg-info/PKG-INFO
--- old/BuildStream-1.2.7/BuildStream.egg-info/PKG-INFO 2019-05-20 
09:29:45.000000000 +0200
+++ new/BuildStream-1.2.8/BuildStream.egg-info/PKG-INFO 2019-07-16 
09:27:00.000000000 +0200
@@ -1,11 +1,14 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
 Name: BuildStream
-Version: 1.2.7
+Version: 1.2.8
 Summary: A framework for modelling build pipelines in YAML
 Home-page: https://gitlab.com/BuildStream/buildstream
 Author: BuildStream Developers
 Author-email: [email protected]
 License: LGPL
+Project-URL: Documentation, https://buildstream.gitlab.io/buildstream/
+Project-URL: Tracker, https://gitlab.com/BuildStream/buildstream/issues
+Project-URL: Mailing List, 
https://mail.gnome.org/mailman/listinfo/buildstream-list
 Description: About
         -----
         .. image:: 
https://gitlab.com/BuildStream/buildstream/badges/master/pipeline.svg
@@ -103,3 +106,4 @@
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Topic :: Software Development :: Build Tools
 Requires-Python: ~=3.5
+Description-Content-Type: text/x-rst; charset=UTF-8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/BuildStream-1.2.7/BuildStream.egg-info/requires.txt 
new/BuildStream-1.2.8/BuildStream.egg-info/requires.txt
--- old/BuildStream-1.2.7/BuildStream.egg-info/requires.txt     2019-05-20 
09:29:45.000000000 +0200
+++ new/BuildStream-1.2.8/BuildStream.egg-info/requires.txt     2019-07-16 
09:27:00.000000000 +0200
@@ -1,8 +1,8 @@
 Click
-grpcio >= 1.10
-jinja2 >= 2.10
+grpcio>=1.10
+jinja2>=2.10
 pluginbase
-protobuf >= 3.5
+protobuf>=3.5
 psutil
-ruamel.yaml < 0.15.52
+ruamel.yaml<0.15.52
 setuptools
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/BuildStream-1.2.7/NEWS new/BuildStream-1.2.8/NEWS
--- old/BuildStream-1.2.7/NEWS  2019-05-20 09:22:02.000000000 +0200
+++ new/BuildStream-1.2.8/NEWS  2019-07-16 09:21:23.000000000 +0200
@@ -1,4 +1,12 @@
 =================
+buildstream 1.2.8
+=================
+
+  o Fixed issues with workspaced junctions which need fetches (#1030)
+
+  o Bail out with informative error if stdout/stderr are O_NONBLOCK (#929)
+
+=================
 buildstream 1.2.7
 =================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/BuildStream-1.2.7/PKG-INFO 
new/BuildStream-1.2.8/PKG-INFO
--- old/BuildStream-1.2.7/PKG-INFO      2019-05-20 09:29:46.000000000 +0200
+++ new/BuildStream-1.2.8/PKG-INFO      2019-07-16 09:27:00.000000000 +0200
@@ -1,11 +1,14 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
 Name: BuildStream
-Version: 1.2.7
+Version: 1.2.8
 Summary: A framework for modelling build pipelines in YAML
 Home-page: https://gitlab.com/BuildStream/buildstream
 Author: BuildStream Developers
 Author-email: [email protected]
 License: LGPL
+Project-URL: Documentation, https://buildstream.gitlab.io/buildstream/
+Project-URL: Tracker, https://gitlab.com/BuildStream/buildstream/issues
+Project-URL: Mailing List, 
https://mail.gnome.org/mailman/listinfo/buildstream-list
 Description: About
         -----
         .. image:: 
https://gitlab.com/BuildStream/buildstream/badges/master/pipeline.svg
@@ -103,3 +106,4 @@
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Topic :: Software Development :: Build Tools
 Requires-Python: ~=3.5
+Description-Content-Type: text/x-rst; charset=UTF-8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/BuildStream-1.2.7/buildstream/_frontend/cli.py 
new/BuildStream-1.2.8/buildstream/_frontend/cli.py
--- old/BuildStream-1.2.7/buildstream/_frontend/cli.py  2019-05-09 
10:28:44.000000000 +0200
+++ new/BuildStream-1.2.8/buildstream/_frontend/cli.py  2019-07-16 
09:17:47.000000000 +0200
@@ -1,5 +1,6 @@
 import os
 import sys
+import fcntl
 
 import click
 from .. import _yaml
@@ -158,6 +159,17 @@
         # Regular client return for test cases
         return
 
+    # Check output file descriptor at earliest opportunity, to
+    # provide a reasonable error message instead of a stack trace
+    # in the case that it is blocking
+    for stream in (sys.stdout, sys.stderr):
+        fileno = stream.fileno()
+        flags = fcntl.fcntl(fileno, fcntl.F_GETFL)
+        if flags & os.O_NONBLOCK:
+            click.echo("{} is currently set to O_NONBLOCK, try opening a new 
shell"
+                       .format(stream.name), err=True)
+            sys.exit(-1)
+
     original_main(self, args=args, prog_name=prog_name, complete_var=None,
                   standalone_mode=standalone_mode, **extra)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/BuildStream-1.2.7/buildstream/_loader/loader.py 
new/BuildStream-1.2.8/buildstream/_loader/loader.py
--- old/BuildStream-1.2.7/buildstream/_loader/loader.py 2019-05-09 
10:28:44.000000000 +0200
+++ new/BuildStream-1.2.8/buildstream/_loader/loader.py 2019-07-16 
09:17:47.000000000 +0200
@@ -534,29 +534,31 @@
 
         element = Element._new_from_meta(meta_element, 
self._context.artifactcache)
         element._preflight()
+        element._update_state()
 
-        for source in element.sources():
-            # Handle the case where a subproject needs to be fetched
-            #
-            if source.get_consistency() == Consistency.RESOLVED:
-                if fetch_subprojects:
+        # Handle the case where a subproject needs to be fetched
+        #
+        if element._get_consistency() == Consistency.RESOLVED:
+            if fetch_subprojects:
+                for source in element.sources():
                     if ticker:
                         ticker(filename, 'Fetching subproject from {} 
source'.format(source.get_kind()))
-                    source._fetch()
-                else:
-                    detail = "Try fetching the project with `bst fetch 
{}`".format(filename)
-                    raise LoadError(LoadErrorReason.SUBPROJECT_FETCH_NEEDED,
-                                    "Subproject fetch needed for junction: 
{}".format(filename),
-                                    detail=detail)
-
-            # Handle the case where a subproject has no ref
-            #
-            elif source.get_consistency() == Consistency.INCONSISTENT:
-                detail = "Try tracking the junction element with `bst track 
{}`".format(filename)
-                raise LoadError(LoadErrorReason.SUBPROJECT_INCONSISTENT,
-                                "Subproject has no ref for junction: 
{}".format(filename),
+                    if source._get_consistency() != Consistency.CACHED:
+                        source._fetch()
+            else:
+                detail = "Try fetching the project with `bst fetch 
{}`".format(filename)
+                raise LoadError(LoadErrorReason.SUBPROJECT_FETCH_NEEDED,
+                                "Subproject fetch needed for junction: 
{}".format(filename),
                                 detail=detail)
 
+        # Handle the case where a subproject has no ref
+        #
+        elif element._get_consistency() == Consistency.INCONSISTENT:
+            detail = "Try tracking the junction element with `bst track 
{}`".format(filename)
+            raise LoadError(LoadErrorReason.SUBPROJECT_INCONSISTENT,
+                            "Subproject has no ref for junction: 
{}".format(filename),
+                            detail=detail)
+
         # Stage sources
         os.makedirs(self._context.builddir, exist_ok=True)
         basedir = tempfile.mkdtemp(prefix="{}-".format(element.normal_name), 
dir=self._context.builddir)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/BuildStream-1.2.7/buildstream/_version.py 
new/BuildStream-1.2.8/buildstream/_version.py
--- old/BuildStream-1.2.7/buildstream/_version.py       2019-05-20 
09:29:46.000000000 +0200
+++ new/BuildStream-1.2.8/buildstream/_version.py       2019-07-16 
09:27:00.000000000 +0200
@@ -8,11 +8,11 @@
 
 version_json = '''
 {
- "date": "2019-05-20T16:22:54+0900",
+ "date": "2019-07-16T16:21:36+0900",
  "dirty": false,
  "error": null,
- "full-revisionid": "08d1694545d1d62295c7beba1fea65a21b93a723",
- "version": "1.2.7"
+ "full-revisionid": "aa45741d4f2f5b0c47684ba25518f9749c78b53e",
+ "version": "1.2.8"
 }
 '''  # END VERSION_JSON
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/BuildStream-1.2.7/tests/artifactcache/expiry.py 
new/BuildStream-1.2.8/tests/artifactcache/expiry.py
--- old/BuildStream-1.2.7/tests/artifactcache/expiry.py 2019-05-09 
10:28:44.000000000 +0200
+++ new/BuildStream-1.2.8/tests/artifactcache/expiry.py 2019-07-16 
07:20:48.000000000 +0200
@@ -78,6 +78,7 @@
     res.assert_task_error(ErrorDomain.ARTIFACT, 'cache-too-full')
 
 
[email protected]
 @pytest.mark.datafiles(DATA_DIR)
 def test_expiry_order(cli, datafiles, tmpdir):
     project = os.path.join(datafiles.dirname, datafiles.basename)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/BuildStream-1.2.7/tests/frontend/show.py 
new/BuildStream-1.2.8/tests/frontend/show.py
--- old/BuildStream-1.2.7/tests/frontend/show.py        2019-05-09 
10:28:44.000000000 +0200
+++ new/BuildStream-1.2.8/tests/frontend/show.py        2019-07-16 
09:17:47.000000000 +0200
@@ -114,7 +114,8 @@
 @pytest.mark.datafiles(DATA_DIR)
 @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
 @pytest.mark.parametrize("element_name", ['junction-dep.bst', 
'junction.bst:import-etc.bst'])
-def test_unfetched_junction(cli, tmpdir, datafiles, ref_storage, element_name):
[email protected]("workspaced", [True, False], ids=["workspace", 
"no-workspace"])
+def test_unfetched_junction(cli, tmpdir, datafiles, ref_storage, element_name, 
workspaced):
     project = os.path.join(datafiles.dirname, datafiles.basename)
     subproject_path = os.path.join(project, 'files', 'sub-project')
     junction_path = os.path.join(project, 'elements', 'junction.bst')
@@ -156,17 +157,29 @@
         }
         _yaml.dump(project_refs, os.path.join(project, 'junction.refs'))
 
+    # Open a workspace if we're testing workspaced behavior
+    if workspaced:
+        result = cli.run(project=project, silent=True, args=[
+            'workspace', 'open', '--no-checkout', 'junction.bst', 
subproject_path
+        ])
+        result.assert_success()
+
     # Assert the correct error when trying to show the pipeline
     result = cli.run(project=project, silent=True, args=[
         'show', element_name])
 
-    result.assert_main_error(ErrorDomain.LOAD, 
LoadErrorReason.SUBPROJECT_FETCH_NEEDED)
+    # If a workspace is open, no fetch is needed
+    if workspaced:
+        result.assert_success()
+    else:
+        result.assert_main_error(ErrorDomain.LOAD, 
LoadErrorReason.SUBPROJECT_FETCH_NEEDED)
 
 
 @pytest.mark.datafiles(DATA_DIR)
 @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
 @pytest.mark.parametrize("element_name", ['junction-dep.bst', 
'junction.bst:import-etc.bst'])
-def test_inconsistent_junction(cli, tmpdir, datafiles, ref_storage, 
element_name):
[email protected]("workspaced", [True, False], ids=["workspace", 
"no-workspace"])
+def test_inconsistent_junction(cli, tmpdir, datafiles, ref_storage, 
element_name, workspaced):
     project = os.path.join(datafiles.dirname, datafiles.basename)
     subproject_path = os.path.join(project, 'files', 'sub-project')
     junction_path = os.path.join(project, 'elements', 'junction.bst')
@@ -192,16 +205,28 @@
     }
     _yaml.dump(element, element_path)
 
+    # Open a workspace if we're testing workspaced behavior
+    if workspaced:
+        result = cli.run(project=project, silent=True, args=[
+            'workspace', 'open', '--no-checkout', 'junction.bst', 
subproject_path
+        ])
+        result.assert_success()
+
     # Assert the correct error when trying to show the pipeline
     result = cli.run(project=project, silent=True, args=[
         'show', element_name])
 
-    result.assert_main_error(ErrorDomain.LOAD, 
LoadErrorReason.SUBPROJECT_INCONSISTENT)
+    # If a workspace is open, no ref is needed
+    if workspaced:
+        result.assert_success()
+    else:
+        result.assert_main_error(ErrorDomain.LOAD, 
LoadErrorReason.SUBPROJECT_INCONSISTENT)
 
 
 @pytest.mark.datafiles(DATA_DIR)
 @pytest.mark.parametrize("element_name", ['junction-dep.bst', 
'junction.bst:import-etc.bst'])
-def test_fetched_junction(cli, tmpdir, datafiles, element_name):
[email protected]("workspaced", [True, False], ids=["workspace", 
"no-workspace"])
+def test_fetched_junction(cli, tmpdir, datafiles, element_name, workspaced):
     project = os.path.join(datafiles.dirname, datafiles.basename)
     subproject_path = os.path.join(project, 'files', 'sub-project')
     junction_path = os.path.join(project, 'elements', 'junction.bst')
@@ -225,9 +250,15 @@
 
     result = cli.run(project=project, silent=True, args=[
         'fetch', 'junction.bst'])
-
     result.assert_success()
 
+    # Open a workspace if we're testing workspaced behavior
+    if workspaced:
+        result = cli.run(project=project, silent=True, args=[
+            'workspace', 'open', '--no-checkout', 'junction.bst', 
subproject_path
+        ])
+        result.assert_success()
+
     # Assert the correct error when trying to show the pipeline
     result = cli.run(project=project, silent=True, args=[
         'show', '--format', '%{name}-%{state}', element_name])


Reply via email to