Skip to content

Commit 276140d

Browse files
committed
doc: document bundle
1 parent 162e585 commit 276140d

File tree

4 files changed

+48
-0
lines changed

4 files changed

+48
-0
lines changed

doc/manpages/bob-build-dev.rst

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,20 @@ 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+
zip-file containing all sources needed to build the package. This also enables
102+
`--always-checkout`.
103+
104+
``--bundle-exclude BUNDLE_EXCLUDE``
105+
Do not add packages matching (fnmatch) RE to the bundle.
106+
107+
``--bundle-indeterministic {yes,no,fail}``
108+
Control how indeterministic sources are added to bundles.
109+
110+
``--bundle-vcs``
111+
Add files used by version control systems to the bundle.
112+
99113
``--clean``
100114
Do clean builds by clearing the build directory before executing the build
101115
commands. It will *not* clean all build results (e.g. like ``make clean``)
@@ -360,6 +374,9 @@ Options
360374
``-q, --quiet``
361375
Decrease verbosity (may be specified multiple times)
362376

377+
``--unbundle``
378+
Use bundle specified by ``--bundle`` as source input.
379+
363380
``-v, --verbose``
364381
Increase verbosity (may be specified multiple times)
365382

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: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ 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]
29+
[--bundle-indeterministic {yes,no,fail}] [--bundle-vcs] [--unbundle]
2830
PACKAGE [PACKAGE ...]
2931

3032
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)