Javier Jardón pushed to branch phil/436-add-ubuntu-install-intructions at BuildStream / buildstream
Commits:
-
00ddcbd7
by Martin Blanchard at 2018-08-01T15:16:33Z
-
4c739e2a
by Martin Blanchard at 2018-08-01T15:16:33Z
-
4a4fed7a
by Qinusty at 2018-08-01T16:14:50Z
-
547d20b2
by Phil Dawson at 2018-08-01T16:31:08Z
4 changed files:
- buildstream/_stream.py
- buildstream/element.py
- doc/source/install_linux_distro.rst
- tests/frontend/buildcheckout.py
Changes:
... | ... | @@ -434,7 +434,7 @@ class Stream(): |
434 | 434 |
|
435 | 435 |
except BstError as e:
|
436 | 436 |
raise StreamError("Error while staging dependencies into a sandbox"
|
437 |
- ": '{}'".format(e), reason=e.reason) from e
|
|
437 |
+ ": '{}'".format(e), detail=e.detail, reason=e.reason) from e
|
|
438 | 438 |
|
439 | 439 |
# workspace_open
|
440 | 440 |
#
|
... | ... | @@ -623,6 +623,12 @@ class Element(Plugin): |
623 | 623 |
dep.stage_artifact(sandbox)
|
624 | 624 |
"""
|
625 | 625 |
|
626 |
+ if not self._cached():
|
|
627 |
+ detail = "No artifacts have been cached yet for that element\n" + \
|
|
628 |
+ "Try building the element first with `bst build`\n"
|
|
629 |
+ raise ElementError("No artifacts to stage",
|
|
630 |
+ detail=detail, reason="uncached-checkout-attempt")
|
|
631 |
+ |
|
626 | 632 |
if update_mtimes is None:
|
627 | 633 |
update_mtimes = []
|
628 | 634 |
|
... | ... | @@ -114,6 +114,30 @@ For the default plugins:: |
114 | 114 |
bzr git lzip patch ostree python3-arpy python3-gobject
|
115 | 115 |
|
116 | 116 |
|
117 |
+Ubuntu
|
|
118 |
+++++++
|
|
119 |
+ |
|
120 |
+Ubuntu 18.04 LTS or later
|
|
121 |
+^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
122 |
+Install the dependencies with::
|
|
123 |
+ |
|
124 |
+ sudo apt install \
|
|
125 |
+ python3 fuse bubblewrap \
|
|
126 |
+ python3-pip python3-dev git
|
|
127 |
+ |
|
128 |
+For the default plugins::
|
|
129 |
+ |
|
130 |
+ sudo apt install \
|
|
131 |
+ bzr gir1.2-ostree-1.0 git lzip ostree patch python3-arpy python3-gi
|
|
132 |
+ |
|
133 |
+Ubuntu 16.04 LTS
|
|
134 |
+^^^^^^^^^^^^^^^^
|
|
135 |
+On Ubuntu 16.04, neither `bubblewrap<https://github.com/projectatomic/bubblewrap/>`
|
|
136 |
+or `ostree<https://github.com/ostreedev/ostree>` are available in the official repositories.
|
|
137 |
+You will need to install them in whichever way you see fit. Refer the the upstream documentation
|
|
138 |
+for advice on this.
|
|
139 |
+ |
|
140 |
+ |
|
117 | 141 |
Installing
|
118 | 142 |
~~~~~~~~~~
|
119 | 143 |
Once you have the base system dependencies, you can clone the BuildStream
|
... | ... | @@ -96,6 +96,16 @@ def test_build_checkout_deps(datafiles, cli, deps): |
96 | 96 |
assert not os.path.exists(filename)
|
97 | 97 |
|
98 | 98 |
|
99 |
+@pytest.mark.datafiles(DATA_DIR)
|
|
100 |
+def test_build_checkout_unbuilt(datafiles, cli):
|
|
101 |
+ project = os.path.join(datafiles.dirname, datafiles.basename)
|
|
102 |
+ checkout = os.path.join(cli.directory, 'checkout')
|
|
103 |
+ |
|
104 |
+ # Check that checking out an unbuilt element fails nicely
|
|
105 |
+ result = cli.run(project=project, args=['checkout', 'target.bst', checkout])
|
|
106 |
+ result.assert_main_error(ErrorDomain.STREAM, "uncached-checkout-attempt")
|
|
107 |
+ |
|
108 |
+ |
|
99 | 109 |
@pytest.mark.datafiles(DATA_DIR)
|
100 | 110 |
def test_build_checkout_tarball(datafiles, cli):
|
101 | 111 |
project = os.path.join(datafiles.dirname, datafiles.basename)
|