Skip to content

Commit 7b3101c

Browse files
committed
doc: document bundle
1 parent 7503a8c commit 7b3101c

4 files changed

Lines changed: 51 additions & 0 deletions

File tree

doc/manpages/bob-build-dev.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,23 @@ 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
101+
a zip-file containing all sources required to build the package. This also
102+
enables `--always-checkout` and `--clean-checkout` and can not be used
103+
along with `--build-only`.
104+
105+
``--bundle-exclude BUNDLE_EXCLUDE``
106+
Do not add packages matching a given regular expression (regex) to the
107+
bundle. Can be specified multiple times.
108+
109+
``--bundle-vcs``
110+
Add files used by version control systems to the bundle.
111+
112+
``--unbundle BUNDLE``
113+
Try to download sources from BUNDLE first. The BUNDLE should be the zip
114+
file created with the ``--bundle`` option.
115+
99116
``--clean``
100117
Do clean builds by clearing the build directory before executing the build
101118
commands. It will *not* clean all build results (e.g. like ``make clean``)
@@ -363,6 +380,9 @@ Options
363380
``-q, --quiet``
364381
Decrease verbosity (may be specified multiple times)
365382

383+
``--unbundle``
384+
Use bundle specified by ``--bundle`` as source input.
385+
366386
``-v, --verbose``
367387
Increase verbosity (may be specified multiple times)
368388

doc/manpages/bob-build.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ Synopsis
2626
[--install | --no-install]
2727
[--sandbox | --slim-sandbox | --dev-sandbox | --strict-sandbox | --no-sandbox]
2828
[--clean-checkout] [--attic | --no-attic]
29+
[--bundle BUNDLE | --unbundle BUNDLE]
30+
[--bundle-exclude BUNDLE_EXCLUDE] [--bundle-vcs]
2931
PACKAGE [PACKAGE ...]
3032

3133
Description

doc/manpages/bob-dev.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ Synopsis
2626
[--install | --no-install]
2727
[--sandbox | --slim-sandbox | --dev-sandbox | --strict-sandbox | --no-sandbox]
2828
[--clean-checkout] [--attic | --no-attic]
29+
[--bundle BUNDLE | --unbundle BUNDLE]
30+
[--bundle-exclude BUNDLE_EXCLUDE] [--bundle-vcs]
2931
PACKAGE [PACKAGE ...]
3032

3133
Description

doc/tutorial/compile.rst

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,3 +350,30 @@ 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 zip file containing all the sources required to build a
358+
package. Such a 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 create a bundle for a given package you need to build this package 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. Several other
364+
`bundle` arguments are available to control what goes into the bundle. Refer to
365+
the manpages for a detailed description of those.
366+
367+
For example to bundle the sources needed to build `my_package` use: ::
368+
369+
$ bob build my_package --bundle my_package_bundle.zip
370+
371+
After that you can take the my_package_bundle.tar to another system and use: ::
372+
373+
$ bob build my_package --unbundle my_package_bundle.zip
374+
375+
to build `my_package` from the bundled-sources.
376+
377+
.. note::
378+
The recipes and `bob` are not part of the bundle and need to be handled
379+
separately. It's strongly recommended to use matching recipes.

0 commit comments

Comments
 (0)