aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-03-10 07:48:11 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-03-10 07:48:11 +0200
commit6acb9d258a4299228a78db8f04ff6ad2fa79eeee (patch)
tree14cfe30c6acf5c712c61f6b4f5f2a43ea20cf226
parent65260526aa5cc7a08082cc887b75e6b8fc5e104a (diff)
Improve bpkg-pkg-bindist documentation, Debian description
-rw-r--r--bpkg/pkg-bindist.cli34
1 files changed, 31 insertions, 3 deletions
diff --git a/bpkg/pkg-bindist.cli b/bpkg/pkg-bindist.cli
index dbbf9c3..f3c3899 100644
--- a/bpkg/pkg-bindist.cli
+++ b/bpkg/pkg-bindist.cli
@@ -66,7 +66,10 @@ namespace bpkg
build packages from source, this implementation \"pretends\" that this is
what's happening by overriding a number of \cb{dh} targets to invoke the
\cb{build2} build system on the required packages directly in their
- \cb{bpkg} configuration locations. Typical invocation:
+ \cb{bpkg} configuration locations.
+
+ The \cb{dpkg-dev} (or \cb{build-essential}) and \cb{debhelper} Debian
+ packages must be installed before invocation. Typical invocation:
\
bpkg build libhello
@@ -74,8 +77,33 @@ namespace bpkg
bpkg bindist -o /tmp/output/ libhello
\
- Note that the \cb{dpkg-dev} (or \cb{build-essential}) and \cb{debhelper}
- Debian packages must be installed before invocation.
+ Unless the \cb{--recursive} option is specified, dependencies of the
+ specified package are translated to dependencies in the resulting binary
+ package using names and versions that refer to packages that would be
+ generated by the \cb{pkg-bindist} command (called \"non-native\"
+ packages). If instead you would like certain dependencies to refer to
+ binary packages provided by the distribution (called \"native\"
+ packages), then you need to arrange for them to be built as system (see
+ \l{bpkg-pkg-build(1)} for details). For example, if our \cb{libhello} has
+ a dependency on \cb{libsqlite3} and we would like the binary package for
+ \cb{libhello} to refer to \cb{libsqlite3} from Debian (or alike), then
+ the \cb{pkg-build} command would need to be (\cb{--sys-install} is
+ optional):
+
+ \
+ bpkg build --sys-install libhello ?sys:libsqlite3
+ \
+
+ Such a package with native dependencies can then be installed (including
+ any missing native dependencies) using the \cb{apt} or \cb{apt-get}
+ \cb{install} command. Note that the specified \cb{.deb} file must include
+ a directory separator (\c{/}) in order to be recognized as a file rather
+ than a package name. For example:
+
+ \
+ apt-get install ./libhello_1.2.3-0~debian11_amd64.deb \
+ ./libhello-dev_1.2.3-0~debian11_amd64.deb
+ \
See \l{bpkg#bindist-mapping-debian-produce Debian Package Mapping for
Production} for details on \cb{bpkg} to Debian package name and version