bpkg-pkg-install(1)

πŸ“¦
version 0.17.0 Β· 2 versions
, in fedora 43, fedora 44, nixos 26.05

πŸ’– bpkg-pkg-install(1) πŸ’–

okay bestie, welcome to the bpkg-pkg-install manual page β€” yes it's a General Commands Manual situation, and yes it's about to be your new fave πŸ’…


✨ NAME ✨

bpkg-pkg-install β€” install package, that's it, that's the whole vibe πŸŽ€


🌸 SYNOPSIS 🌸

bpkg pkg-install|install [options] [vars] pkg...
bpkg pkg-install|install [options] [vars] --all|-a
bpkg pkg-install|install [options] [vars] (--all-pattern <pattern>)...

πŸ¦‹ DESCRIPTION πŸ¦‹

so the pkg-install command installs the packages you named (that's the first form up there), or all the held packages (second form β€” go peek at bpkg-pkg-status(1) for the tea on held packages πŸ‘€), or all the held packages that match any of the wildcard patterns you specified (third form). Pick your fighter.

and like, bonus round: you can also install immediate or all dependencies of those packages by throwing in the --immediate|-i or --recursive|-r options, respectively. iconic, honestly.

ngl, underneath it all this command doesn't do much more than run b install. that's it. that's the whole job. lowkey humble of it.

⚠️ heads up bestie: in the first form, the packages you specify must have been previously configured with bpkg-pkg-build(1) or bpkg-pkg-configure(1). no skipping steps, fr fr.

you can also pass additional command line variables (vars, normally config.*) through to the build system. those variables apply to all the specified packages β€” but plot twist, you can make them apply to only specific packages using the argument grouping mechanism (details in bpkg-argument-grouping(1) 🧚). and specifically, you can use that mechanism to set the installation directory, like:

bpkg install config.install.root=/usr/local \
             config.install.sudo=sudo       \
             libfoo libbar

alternatively, you can just set the installation directory once when you create the configuration (bpkg-cfg-create(1)). do it once, never think about it again. main character efficiency ✨


πŸ”₯ PKG-INSTALL OPTIONS πŸ”₯

  • --all, -a β€” install all held packages. all of them. every single one πŸ’–
  • --all-pattern pattern β€” install held packages that match the specified wildcard pattern. repeat this option to match multiple patterns, because why stop at one. and psst β€” you may need to quote the pattern so your shell doesn't expand it before bpkg even sees it πŸ™ˆ
  • --immediate, -i β€” also install immediate dependencies.
  • --recursive, -r β€” also install all dependencies, recursively. go all the way down, no cap.
  • --directory, -d dir β€” assume the configuration is in dir rather than in the current working directory.

🌈 COMMON OPTIONS 🌈

here's the common options rundown, but if you want the full essay version it's 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. silent but deadly πŸ’€
  • --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.

πŸŽ€ DEFAULT OPTIONS FILES πŸŽ€

for the whole overview of default options files, go read bpkg-default-options-files(1). but for the pkg-install command specifically: the search start directory is the configuration directory.

in each directory, these options files are searched for and, if found, loaded in the order listed:

bpkg.options
bpkg-pkg-install.options

and now the moment of truth β€” the following pkg-install command options cannot be specified in the default options files:

  • --directory, -d
🚫 yeah bestie, that one's off limits in options files. rules are rules.

πŸ› BUGS πŸ›

send bug reports to the users@build2.org mailing list. we're listening, we promise 🫢


Copyright (c) 2014-2024 the build2 authors.

Permission is granted to copy, distribute and/or modify this document under the terms of the MIT License.


okay that's the whole page, you ate that πŸ’… and for the credits roll: this was bpkg 0.17.0, dated June 2024, and the page itself is bpkg-pkg-install(1). mwah, go install something πŸ¦‹βœ¨

πŸ“¦ where this page comes from