# 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.
`--jobs`|`-j` `num`
  Number of jobs to perform in parallel.
`--no-result`
  Don't print informational messages about the outcome of performing a command.
`--no-progress`
  Suppress progress indicators for long-lasting operations, such as network transfers, building, etc.
`--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.
`--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`.
`--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`.

# BUGS

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