bpkg-pkg-fetch(1)

NAME
bpkg-pkg-fetch - fetch package archive

SYNOPSIS

bpkg pkg-fetch [options] (pkg/ver | --existing|-e file)

DESCRIPTION

The pkg-fetch command fetches the archive for the specified package name and version from one of the archive-based repositories (bpkg-rep-add(1)). The resulting package state is fetched (bpkg-pkg-status(1)).

If the --replace|-r option is specified, then pkg-fetch will replace the archive of a package that is already in the fetched or unpacked state. Otherwise, pkg-fetch expects the package to not exist in the configuration.

If the --existing|-e option is used, then instead of the name and version arguments, pkg-fetch expects a local path to an existing package archive. In this case, bpkg will use the archive in place, without copying it into the configuration directory. Also, unless the --purge|-p option is specified, bpkg will not attempt to remove this archive when the package is later purged with the bpkg-pkg-purge(1) command.

PKG-FETCH OPTIONS

--replace|-r
    Replace the archive if the package is already fetched or unpacked.

--existing|-e
    Treat the argument as an existing package archive path rather than the package name/version to fetch.

--purge|-p
    Remove the existing package archive when the package is purged.

--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 (packages, repository metadata, etc).

--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.

--offline
    Do not attempt to download resources (packages, repository metadata, etc), instead taking them from the local fetch cache if available and failing otherwise.

--no-fetch-cache
    Disable local caching of downloaded resources (packages, repository metadata, etc).

--fetch-cache mode
    Comma-separated list of local fetch cache modes.

--fetch-cache-path dir
    The directory of the local fetch cache.

--fetch-cache-session id
    The local fetch cache session.

--sqlite-synchronous mode
    Filesystem synchronization mode for the fetch cache and configuration SQLite databases.

--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.

DEFAULT OPTIONS FILES

See bpkg-default-options-files(1) for an overview of the default options files. For the pkg-fetch 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-fetch.options

The following pkg-fetch command options cannot be specified in the default options files:

--directory|-d
--purge|-p

BUGS
Send bug reports to the users@build2.org mailing list.

COPYRIGHT
Copyright (c) 2014-2026 the build2 authors. Permission is granted to copy, distribute and/or modify this document under the terms of the MIT License.