Skip to content

Commit cc2227e

Browse files
committed
doc: document bundle
1 parent f320e22 commit cc2227e

4 files changed

Lines changed: 42 additions & 0 deletions

File tree

doc/manpages/bob-build-dev.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,14 @@ Options
9696

9797
This is the default unless the user changed it in ``default.yaml``.
9898

99+
``--bundle BUNDLE``
100+
Bundle all the sources needed to build the package. The output of this is a
101+
tar-file containing one tar-file for each source workspace needed to build
102+
the package. This also enables `--always-checkout`.
103+
104+
``--bundle-exclude RE``
105+
Do not add packages matching (fnmatch) RE to the bundle.
106+
99107
``--clean``
100108
Do clean builds by clearing the build directory before executing the build
101109
commands. It will *not* clean all build results (e.g. like ``make clean``)
@@ -360,6 +368,10 @@ Options
360368
``-q, --quiet``
361369
Decrease verbosity (may be specified multiple times)
362370

371+
``--unbundle``
372+
Use bundle specified by ``--bundle`` but unbundle the sources from the
373+
bundle.
374+
363375
``-v, --verbose``
364376
Increase verbosity (may be specified multiple times)
365377

doc/manpages/bob-build.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Synopsis
2525
[--install | --no-install]
2626
[--sandbox | --slim-sandbox | --dev-sandbox | --strict-sandbox | --no-sandbox]
2727
[--clean-checkout] [--attic | --no-attic]
28+
[--bundle BUNDLE] [--bundle-exclude BUNDLE_EXCLUDE] [--unbundle]
2829
PACKAGE [PACKAGE ...]
2930

3031
Description

doc/manpages/bob-dev.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Synopsis
2525
[--install | --no-install]
2626
[--sandbox | --slim-sandbox | --dev-sandbox | --strict-sandbox | --no-sandbox]
2727
[--clean-checkout] [--attic | --no-attic]
28+
[--bundle BUNDLE] [--bundle-exclude BUNDLE_EXCLUDE] [--unbundle]
2829
PACKAGE [PACKAGE ...]
2930

3031
Description

doc/tutorial/compile.rst

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,3 +350,31 @@ the zlib packages: ::
350350
.. raw:: html
351351

352352
<iframe src="../_static/sandbox.html" height="500px" width="100%"></iframe>
353+
354+
Using source bundles
355+
====================
356+
357+
A source code bundle is a tar file with all the sources needed to build a
358+
package included. This bundle can be used to compile on a air gapped system, to
359+
archive the build input, to transfer the sources to a reviewer, ...
360+
361+
To bundle a all the input for a given package you need to build it using
362+
:ref:`manpage-dev` or :ref:`manpage-build` with the ``--bundle`` option. This
363+
option takes one argument specifying the name of the bundle file.
364+
There is also a ``--bundle-exclude`` option which allows it to exclude the
365+
sources of packages to be excluded from the bundle.
366+
367+
For example to bundle the sources needed to build my_package without the packges
368+
matching `foo**` use: ::
369+
370+
$ bob build my_package --bundle my_package_bundle.tar --bundle-exclude foo*
371+
372+
After that you can take the my_package_bundle.tar to another system and use: ::
373+
374+
$ bob build my_package --bundle my_package_bundle.tar --unbundle
375+
376+
to build `my_package` without having access to the sources in the recipes.
377+
378+
.. note::
379+
The recipes and `bob` are not part of the bundle and need to be handled
380+
seperately.

0 commit comments

Comments
 (0)