NAME
bpkg-pkg-bindist
– generate binary distribution package
SYNOPSIS
bpkg pkg-bindist|bindist
[--output-root|-o dir] [options] [vars]
pkg...
DESCRIPTION
The pkg-bindist
command generates a binary
distribution package for the specified package. If additional packages are
specified, then they are bundled in the same distribution package. All the
specified packages must have been previously configured with bpkg-pkg-build(1)
or bpkg-pkg-configure(1)
.
For some system package managers a directory for intermediate files and
subdirectories as well as the resulting binary package may have to be
specified explicitly with the --output-root|-o
option.
Underneath, this command roughly performs the following steps: First it
installs the specified packages similar to the bpkg-pkg-install(1)
command except that it may override the installation locations (via the
config.install.*
variables) to match the distribution's
layout. Then it generates any necessary distribution package metadata files
based on the information from the package manifest
files. Finally, it invokes the distribution-specific command to produce the
binary package. Unless overridden with the
--architecture
and --distribution
options, the binary package is generated for the host architecture using the
host's standard system package manager. Additional command line variables
(vars
, normally config.*
) can be
passed to the build system during the installation step. See the following
distribution-specific description sections below for details and invocation
examples:
DEBIAN DESCRIPTION
FEDORA DESCRIPTION
ARCHIVE DESCRIPTION
The specified packages may have dependencies and the default behavior is
to not bundle them but rather to specify them as dependencies in the
corresponding distribution package metadata, if applicable. This default
behavior can be overridden with the --recursive
option
(see the option description for the available modes). Note, however, that
dependencies that are satisfied by system packages are always specified as
dependencies in the distribution package metadata (if applicable).
PKG-BINDIST OPTIONS
See the following sections below for distribution-specific options:
PKG-BINDIST DEBIAN OPTIONS
PKG-BINDIST FEDORA OPTIONS
PKG-BINDIST ARCHIVE OPTIONS
--distribution
name
- Alternative system/distribution package manager to generate the binary
package for. The valid
name
values are
debian
(Debian and alike, such as Ubuntu, etc),
fedora
(Fedora and alike, such as RHEL, CentOS, etc),
and archive
(installation archive on any operating
system). Note that some package managers may only be supported when
running on certain host operating systems.
--architecture
name
- Alternative architecture to generate the binary package for. The valid
name
values are system/distribution package
manager-specific. If unspecified, the host architecture is used.
--recursive
mode
- Bundle or generate dependencies of the specified packages. The
mode
value can be either auto
, in
which case only the required files from each dependency package are
bundled, full
, in which case all the files are
bundled, or separate
, in which case a separate binary
package is generated for each non-system dependency. It can also be
none
which is equivalent to not specifying this option
(primarily useful for overriding a previously-specified value).
Specifically, in the auto
mode any required files,
such as shared libraries, are pulled implicitly by the
install
build system operation, for example, as part
of installing an executable from one of the specified packages. In
contrast, in the full
mode, each dependency package is
installed explicitly and completely, as if they were specified as
additional package on the command line. The separate
mode is equivalent to invoking the pkg-bindist
command
on each dependency package. See also the --private
option.
--private
- Enable the private installation subdirectory functionality using the
package name as the private subdirectory. This is primarily useful when
bundling dependencies, such as shared libraries, of an executable that is
being installed into a shared location, such as
/usr/
.
See the config.install.private
configuration variable
documentation in the build system manual for details. This option only
makes sense together with the --recursive
option
auto
and full
modes.
--output-root
|-o
dir
- Directory for intermediate files and subdirectories as well as the
resulting binary package. Note that this option may be required for some
system package managers and may not be specified for others.
--wipe-output
- Wipe the output root directory (either specified with
--output-root
or system package manager-specific)
clean before using it to generate the binary package.
--keep-output
- Keep intermediate files in the output root directory (either specified
with
--output-root
or system package manager-specific)
that were used to generate the binary package. This is primarily useful
for troubleshooting.
--allow-dependent-config
- Allow configuration that is imposed by dependent packages. Normally
this is undesirable because the resulting binary packages become
configured specificaly for particular dependent packages.
--os-release-id
v
- Override the
ID
component in
os-release(5)
or equivalent. Note that unlike the rest
of the --os-release-*
options, this option suppresses
automatic detection of the host operating system information.
--os-release-version-id
v
- Override the
VERSION_ID
component in
os-release(5)
or equivalent.
--os-release-name
v
- Override the
NAME
component in
os-release(5)
or equivalent.
--directory
|-d
dir
- Assume configuration is in
dir
rather than in the
current working directory.
COMMON OPTIONS
The common options are summarized below with a more detailed description
available in bpkg-common-options(1)
.
-v
- Print essential underlying commands being executed.
-V
- Print all underlying commands being executed.
--quiet
|-q
- Run quietly, only printing error messages.
--verbose
level
- Set the diagnostics verbosity to
level
between 0
and 6.
--stdout-format
format
- Representation format to use for printing to
stdout
.
--jobs
|-j
num
- Number of jobs to perform in parallel.
--no-result
- Don't print informational messages about the outcome of performing a
command or some of its parts.
--structured-result
fmt
- Write the result of performing a command in a structured form.
--progress
- Display progress indicators for long-lasting operations, such as
network transfers, building, etc.
--no-progress
- Suppress progress indicators for long-lasting operations, such as
network transfers, building, etc.
--diag-color
- Use color in diagnostics.
--no-diag-color
- Don't use color in diagnostics.
--build
path
- The build program to be used to build packages.
--build-option
opt
- Additional option to be passed to the build program.
--fetch
path
- The fetch program to be used to download resources.
--fetch-option
opt
- Additional option to be passed to the fetch program.
--fetch-timeout
sec
- The fetch and fetch-like (for example,
git
)
program timeout.
--pkg-proxy
url
- HTTP proxy server to use when fetching package manifests and archives
from remote
pkg
repositories.
--git
path
- The git program to be used to fetch git repositories.
--git-option
opt
- Additional common option to be passed to the git program.
--sha256
path
- The sha256 program to be used to calculate SHA256 sums.
--sha256-option
opt
- Additional option to be passed to the sha256 program.
--tar
path
- The tar program to be used to extract package archives.
--tar-option
opt
- Additional option to be passed to the tar program.
--openssl
path
- The openssl program to be used for crypto operations.
--openssl-option
opt
- Additional option to be passed to the openssl program.
--auth
type
- Types of repositories to authenticate.
--trust
fingerprint
- Trust repository certificate with a SHA256
fingerprint
.
--trust-yes
- Assume the answer to all authentication prompts is
yes
.
--trust-no
- Assume the answer to all authentication prompts is
no
.
--git-capabilities
up
=pc
- Protocol capabilities (
pc
) for a
git
repository URL prefix
(up
).
--pager
path
- The pager program to be used to show long text.
--pager-option
opt
- Additional option to be passed to the pager program.
--options-file
file
- Read additional options from
file
.
--default-options
dir
- The directory to load additional default options files from.
--no-default-options
- Don't load default options files.
--keep-tmp
- Don't remove the
bpkg
's temporary directory at the
end of the command execution and print its path at the verbosity level 2
or higher.
DEBIAN DESCRIPTION
The Debian binary packages are generated by producing the standard
debian/control
, debian/rules
, and
other package metadata files and then invoking
dpkg-buildpackage(1)
to build the binary package from
that. In particular, the debian/rules
implemenation is
based on the dh(1)
command sequencer. While this
approach is normally used to build packages from source, this implementation
"pretends" that this is what's happening by overriding a number of
dh
targets to invoke the build2
build system on the required packages directly in their
bpkg
configuration locations.
The dpkg-dev
(or build-essential
)
and debhelper
Debian packages must be installed before
invocation. Typical invocation:
bpkg build libhello
bpkg test libhello
bpkg bindist -o /tmp/output/ libhello
Unless the --recursive
option
auto
or full
modes are 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 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 bpkg-pkg-build(1)
for
details). For example, if our libhello
has a dependency
on libsqlite3
and we would like the binary package for
libhello
to refer to libsqlite3
from
Debian (or alike), then the pkg-build
command would need
to be (--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 apt
or
apt-get
install
command. Note that
the specified .deb
file must include a directory
separator (/
) in order to be recognized as a file rather than a
package name. For example:
sudo apt-get install ./libhello_1.2.3-0~debian11_amd64.deb \
./libhello-dev_1.2.3-0~debian11_amd64.deb
See Debian
Package Mapping for Production for details on bpkg
to Debian package name and version mapping.
PKG-BINDIST DEBIAN OPTIONS
--debian-prepare-only
- Prepare all the package metadata files (
control
,
rules
, etc) but do not invoke
dpkg-buildpackage
to generate the binary package,
printing its command line instead unless requested to be quiet. Implies
--keep-output
.
--debian-buildflags
mode
- Package build flags (
dpkg-buildflags
) usage mode.
Valid mode
values are assign
(use
the build flags instead of configured), append
(use
the build flags in addition to configured, putting them last),
prepend
(use the build flags in addition to
configured, putting them first), and ignore
(ignore
build flags). The default mode is assign
. Note that
compiler mode options, if any, are used as configured.
--debian-maint-option
o
- Alternative options to specify in the
DEB_BUILD_MAINT_OPTIONS
variable of the
rules
file. To specify multiple maintainer options
repeat this option and/or specify them as a single value separated with
spaces.
--debian-build-option
o
- Additional option to pass to the
dpkg-buildpackage
program. Repeat this option to specify multiple build options.
--debian-build-meta
data
- Alternative or additional build metadata to include in the binary
package version. If the specified value starts/ends with
+
then the value (with +
removed)
is added after/before the default metadata. Otherwise it is used as is
instead of the default metadata. If empty value is specified, then no
build metadata is included. By default, the build metadata is the
ID
and VERSION_ID
components from
os-release(5)
, for example,
debian10
in version
1.2.3-0~debian10
. See also
--os-release-*
.
--debian-section
v
- Alternative
Section
control
file field value for the main binary package. The default is either
libs
or devel
, depending on the
package type.
--debian-priority
v
- Alternative
Priority
control
file field value. The default is optional
.
--debian-maintainer
v
- Alternative
Maintainer
control
file field value. The default is the package-email
value from package manifest
.
--debian-architecture
v
- Alternative
Architecture
control
file field value for the main binary package,
normally all
(architecture-independent). The default
is any
(architecture-dependent).
--debian-main-langdep
v
- Override the language runtime dependencies (such as
libc6
, libstdc++6
, etc) in the
Depends
control
file field value
of the main binary package.
--debian-dev-langdep
v
- Override the language runtime dependencies (such as
libc-dev
, libstdc++-dev
, etc) in
the Depends
control
file field
value of the development (-dev
) binary package.
--debian-main-extradep
v
- Extra dependencies to add to the
Depends
control
file field value of the main binary
package.
--debian-dev-extradep
v
- Extra dependencies to add to the
Depends
control
file field value of the development
(-dev
) binary package.
FEDORA DESCRIPTION
The Fedora binary packages are generated by producing the standard RPM
spec file and then invoking rpmbuild(8)
to build the
binary package from that. While this approach is normally used to build
packages from source, this implementation "pretends" that this is what's
happening by overriding a number of RPM spec file sections to invoke the
build2
build system on the required packages directly in
their bpkg
configuration locations.
The rpmdevtools
Fedora package must be installed
before invocation. Typical invocation:
bpkg build libhello
bpkg test libhello
bpkg bindist libhello
The resulting binary packages are placed into the standard
rpmbuild
output directory (normally
~/rpmbuild/RPMS/arch/
).
Unless the --recursive
option
auto
or full
modes are 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 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 bpkg-pkg-build(1)
for
details). For example, if our libhello
has a dependency
on libsqlite3
and we would like the binary package for
libhello
to refer to sqlite-libs
from Fedora (or alike), then the pkg-build
command would
need to be (--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 dnf install
command. For example:
sudo dnf install libhello-1.2.3-1.fc35.x86_64.rpm \
libhello-devel-1.2.3-1.fc35.x86_64.rpm
See Fedora
Package Mapping for Production for details on bpkg
to Fedora package name and version mapping.
PKG-BINDIST FEDORA OPTIONS
--fedora-prepare-only
- Prepare the RPM spec file but do not invoke
rpmbuild
to generate the binary package, printing its
command line instead unless requested to be quiet.
--fedora-buildflags
mode
- Package build flags (
%{build_*flags}
macros) usage
mode. Valid mode
values are assign
(use the build flags instead of configured), append
(use the build flags in addition to configured, putting them last),
prepend
(use the build flags in addition to
configured, putting them first), and ignore
(ignore
build flags). The default mode is assign
. Note that
compiler mode options, if any, are used as configured.
--fedora-build-option
o
- Additional option to pass to the
rpmbuild
program.
If specified, these options must be consistent with the query options
(--fedora-query-option
) to result in identical macro
expansions. Repeat this option to specify multiple build options.
--fedora-query-option
o
- Additional option to pass to the
rpm
program. This
program is used to query RPM macro values which affect the binary package.
If specified, these options must be consistent with the build options
(--fedora-build-option
) to result in identical macro
expansions. Repeat this option to specify multiple query options.
--fedora-dist-tag
tag
- Alternative or additional distribution tag to use in the binary
package release. If the specified value starts/ends with
+
then the value (with +
removed)
is added after/before the default distribution tag. Otherwise it is used
as is instead of the default tag. If empty value is specified, then no
distribution tag is included. The default is a value that identifies the
distribution being used to build the package, for example,
fc35
for Fedora 35 or el8
for RHEL
8.
--fedora-packager
v
- Alternative
Packager
RPM spec file directive
value. The default is the package-email
value from
package manifest
. If empty value is specified, then
the Packager
directive is omitted from the spec
file.
--fedora-build-arch
v
BuildArch
RPM spec file directive value for the
main binary package, normally noarch
(architecture-independent). By default the directive is omitted, assuming
that the package is architecture-dependent.
--fedora-main-langreq
v
- Override the language runtime dependencies (such as
glibc
, libstdc++
, etc) of the main
binary package by replacing the corresponding Requires
RPM spec file directives. If empty value is specified then no language
runtime dependencies are specified. Repeat this option to specify multiple
language runtime dependencies.
--fedora-devel-langreq
v
- Override the language runtime dependencies (such as
glibc-devel
, libstdc++-devel
, etc)
of the development (-devel
) binary package by
replacing the corresponding Requires
RPM spec file
directives. If empty value is specified then no language runtime
dependencies are specified. Repeat this option to specify multiple
language runtime dependencies.
--fedora-stat-langreq
v
- Override the language runtime dependencies (such as
glibc-static
, libstdc++-static
,
etc) of the static libraries (-static
) binary package
by replacing the corresponding Requires
RPM spec file
directives. If empty value is specified then no language runtime
dependencies are specified. Repeat this option to specify multiple
language runtime dependencies.
--fedora-main-extrareq
v
- Extra dependency to add to the main binary package as an additional
Requires
RPM spec file directive. Repeat this option
to specify multiple extra dependencies.
--fedora-devel-extrareq
v
- Extra dependency to add to the development
(
-devel
) binary package as an additional
Requires
RPM spec file directive. Repeat this option
to specify multiple extra dependencies.
--fedora-stat-extrareq
v
- Extra dependency to add to the static libraries
(
-static
) binary package as an additional
Requires
RPM spec file directive. Repeat this option
to specify multiple extra dependencies.
ARCHIVE DESCRIPTION
The installation archive binary packages are generated by invoking the
build2
build system on the required packages directly in
their bpkg
configuration locations and installing them
into the binary package directory using the
config.install.chroot
mechanism. Then this directory is
packaged with tar
or zip
to produce
one or more binary package archives.
The generation of installation archive packages is never the default and
should be requested explicitly with the
--distribution=archive
option. The installation
directory layout and the package archives to generate can be specified with
the --archive-install-*
and
--archive-type
options (refer to their documentation for
defaults).
The binary package directory (the top-level directory inside the archive)
as well as the archive file base (the file name without the extension) are
the same and have the following form:
package-version-build_metadata
Where package
is the package name and
version
is the bpkg
package version.
Unless overridden with the --archive-build-meta
option,
build_metadata
has the following form:
cpu-os[-langrt...]
Where cpu
is the target CPU (for example,
x86_64
or aarch64
; omitted if
--archive-no-cpu
is specified), os
is the ID
and VERSION_ID
components
from os-release(5)
(or equivalent, for example,
debian11
or windows10
; omitted if
--archive-no-os
is specified), and
langrt
are the language runtimes as mapped by the
--archive-lang*
options (for example,
gcc12
or msvc17.4
).
For example, given the following invocation on Debian 11 running on
x86_64
:
bpkg build libhello
bpkg test libhello
bpkg bindist \
-o /tmp/output/ \
--distribution=archive \
--archive-lang cc=gcc12 \
libhello
We will end up with the package archive in the following form:
libhello-1.2.3-x86_64-debian11-gcc12.tar.xz
The recommended language runtime id format is the runtime name followed
by the version, for example, gcc12
or
msvc17.4
. Note that its purpose is not to provide a
precise specification of requirements but rather to help the user of a
binary package to pick the appropriate variant. Refer to the
--archive-lang*
options documentation for details on the
mapping semantics.
Instead of mapping languages individually you can specify entire build
metadata as a single value with the --archive-build-meta
(it is also possible to add additional metadata; see the option
documentation for details). For example:
bpkg bindist \
-o /tmp/output/ \
--distribution=archive \
--archive-build-meta=x86_64-linux-glibc
libhello
This will produce the package archive in the following form:
libhello-1.2.3-x86_64-linux-glibc.tar.xz
To install the binary package from archive simply unpack it using
tar
or zip
. You can use the
--strip-components
tar
option to
remove the top-level package directory (the same can be achieved for
zip
archives by using bsdtar
on
Windows). For example, to unpack the package contents so that they end up in
/usr/local/
:
sudo tar -xf libhello-1.2.3-x86_64-debian11-gcc12.tar.xz \
-C / --strip-components=1
If you expect the binary package to be unpacked into a directory other
than its original installation directory
(--archive-install-root
), then it's recommended to make
it relocatable by specifying the
config.install.relocatable=true
configuration variable.
For example:
bpkg bindist \
... \
config.install.relocatable=true \
libhello
Note that not all source packages support relocatable installation (see
Rolocatable
Installation for details).
Another mechanism that can useful when generating archive packages is the
ability to filter the files being installed. This, for example, can be used
to create binary packages that don't contain any development-related files.
See Installation
Filtering for details. See also the --archive-split
option.
The installation archive package can be generated for a target other than
the host by specifying the target triplet with the
--architecture
option. In this case the
bpkg
configuration is assumed to be appropriately
configured for cross-compiling to the specified target. You will also need
to explicitly specify the --archive-install-root
option
(or --archive-install-config
) as well as the
--os-release-id
option (and likely want to specify other
--os-release-*
options). For example, for
cross-compiling from Linux to Windows using the MinGW GCC toolchain:
bpkg bindist \
--distribution=archive \
--architecture=x86_64-w64-mingw32 \
--os-release-id=windows \
--os-release-name=Windows \
--os-release-version-id=10 \
--archive-install-root / \
--archive-lang cc=mingw_w64_gcc12 \
...
PKG-BINDIST ARCHIVE OPTIONS
--archive-prepare-only
- Prepare all the package contents but do not create the binary package
archive, printing its directory instead unless requested to be quiet.
Implies
--keep-output
.
--archive-type
ext
- Archive type to create specified as a file extension, for example,
tar.xz
, tar.gz
,
tar
, zip
. Repeat this option to
generate multiple archive types. If unspecified, then a default type
appropriate for the target operating system is used, currently
zip
for Windows and tar.xz
for
POSIX. Note, however, that these defaults may change in the future.
--archive-lang
ln
=rt
- Map interface language name
ln
to runtime id
rt
. If no mapping is found for an interface language
in this map, then fallback to the --archive-lang-impl
map. If still no mapping is found, then fail. If the information about an
interface language is unimportant and should be ignored, then empty
runtime id can be specified. Note that the mapping specified with this
option is only considered if the package type is a library (for other
package types all languages used are implementation). Note also that
multiple runtime ids specified for the same language are combined except
for an empty id, which is treated as a request to clear previous
entries.
--archive-lang-impl
ln
=rt
- Map implementation language name
ln
to runtime id
rt
. If no mapping is found for an implementation
language in this map, then assume the information about this
implementation language is unimportant and ignore it (examples of such
cases include static linking as well as a language runtime that is always
present). See --archive-lang
for background.
--archive-no-cpu
- Assume the package is CPU architecture-independent and omit it from
the binary package directory name and archive file base.
--archive-no-os
- Assume the package is operating system-independent and omit it from
the binary package directory name and archive file base.
--archive-build-meta
data
- Alternative or additional build metadata to include after the version
in the binary package directory and file names. If the specified value
starts/ends with
+
then the value (with
+
removed) is added after/before the default metadata.
Otherwise it is used as is instead of the default metadata. If empty value
is specified, then no build metadata is included.
--archive-install-root
d
- Alternative installation root directory. The default is
/usr/local/
on POSIX and
C:\project\
on Windows, where
project
is the project
package manifest value.
--archive-install-config
- Use the installation directory layout
(
config.install.*
variables) as configured instead of
overriding them with defaults appropriate for the target operating system.
Note that this includes config.install.private
and
config.bin.rpath
if needed for a private installation.
Note also that the config.install.root
value is still
overridden with the --archive-install-root
option
value if specified.
--archive-split
key
=filt
- Split the installation into multiple binary packages. Specifically,
for each
key
=filt
pair, perform
the install
operation with
config.install.filter=filt
and package the
resulting files as package-key-version-build_metadata
omitting the -key
part if key
is
empty. Note that wildcard patterns in filt
must be
quoted. See Installation
Filtering for background.
STRUCTURED RESULT
Instead of printing to stderr
the list of generated
binary packages in a format more suitable for human consumption, the
pkg-bindist
command can be instructed to write it to
stdout
in a machine-readable form by specifying the
--structured-result
option. Currently, the only
recognized format value for this option is json
with the
output being a JSON object that is a serialized representation of the
following C++ struct bindist_result
:
struct os_release
{
string name_id; // ID
vector<string> like_ids; // ID_LIKE
optional<string> version_id; // VERSION_ID
optional<string> variant_id; // VARIANT_ID
optional<string> name; // NAME
optional<string> version_codename; // VERSION_CODENAME
optional<string> variant; // VARIANT
};
struct file
{
string type;
string path;
optional<string> system_name;
};
struct package
{
string name;
string version;
optional<string> system_version;
vector<file> files;
};
struct bindist_result
{
string distribution; // --distribution or auto-detected
string architecture; // --architecture or auto-detected
os_release os_release; // --os-release-* or auto-detected
optional<string> recursive; // --recursive
bool private; // --private
bool dependent_config; // See --allow-dependent-config
package package;
vector<package> dependencies; // Only in --recursive=separate
};
For example:
{
"distribution": "debian",
"architecture": "amd64",
"os_release": {
"name_id": "debian",
"version_id": "11",
"name": "Debian GNU/Linux"
},
"package": {
"name": "libfoo",
"version": "2.5.0-b.23",
"system_version": "2.5.0~b.23-0~debian11",
"files": [
{
"type": "main.deb",
"path": "/tmp/libfoo_2.5.0~b.23-0~debian11_amd64.deb",
"system_name": "libfoo"
},
{
"type": "dev.deb",
"path": "/tmp/libfoo-dev_2.5.0~b.23-0~debian11_amd64.deb",
"system_name": "libfoo-dev"
},
...
]
}
}
See the JSON OUTPUT section in bpkg-common-options(1)
for details on the overall properties of this format and the semantics of
the struct
serialization.
The file::type
member is a distribution-specific
value that classifies the file. For the debian
distribution the possible values are main.deb
,
dev.deb
, doc.deb
,
common.deb
, dbgsym.deb
,
changes
(.changes
file), and
buildid
(.buildid
file); see Debian
Package Mapping for Production for background. For the
fedora
distribution the possible values are
main.rpm
, devel.rpm
,
static.rpm
, doc.rpm
,
common.rpm
, and debuginfo.rpm
; see
Fedora
Package Mapping for Production for background. For the
archive
distribution this is the archive type
(--archive-type
), for example,
tar.xz
or zip
, potentially prefixed
with key
if the --archive-split
functionality is used, for example, dev.tar.xz
.
The package::system_version
and/or
file::system_name
members are absent if not applicable
to the distribution. The file::system_name
member is
also absent if the file is not a binary package (for example,
.changes
and .buildid
files in the
debian
distribution).
DEFAULT OPTIONS FILES
See bpkg-default-options-files(1)
for an overview of the default options files. For the
pkg-bindist
command the search start directory is the
configuration directory. The following options files are searched for in
each directory and, if found, loaded in the order listed:
bpkg.options
bpkg-pkg-bindist.options
The following pkg-bindist
command options cannot be
specified in the default options files:
--directory|-d
BUGS
Send bug reports to the
users@build2.org mailing list.