home | help
bpkg-pkg-unpack(1)	     General Commands Manual	      bpkg-pkg-unpack(1)

NAME
     bpkg-pkg-unpack - unpack package archive

SYNOPSIS
     bpkg pkg-unpack [options] (pkg[/ver] | --existing|-e dir)

DESCRIPTION
     If  only the package name is specified, then the pkg-unpack command unpacks
     the archive for the previously fetched (bpkg-pkg-fetch(1)) package. The re-
     sulting package state is unpacked (bpkg-pkg-status(1)).

     If the package version is also specified, then the (source) directory  from
     one of the directory-based repositories (bpkg-rep-add(1)) is used in place,
     without  copying  it  into  the  configuration directory. Such a package is
     called external.

     If the --existing|-e option is used, then instead of the package name, pkg-
     unpack expects a local path to an existing package directory. In this case,
     bpkg will use the (source) directory in place, the  same  as  for	packages
     from  directory-based  repositories.  Also, unless the --purge|-p option is
     specified, bpkg will not attempt to remove this directory when the  package
     is  later purged with the bpkg-pkg-purge(1) command. Such a package is also
     external.

     If --existing|-e is specified together with the --replace|-r  option,  then
     pkg-unpack  will  replace	the archive and/or source directory of a package
     that is already in the unpacked or fetched state.

     An external package triggers several changes in  semantics  compared  to  a
     normal  package: The package (output) directory inside the configuration is
     called just pkg rather than pkg-ver. It is also assumed that the  packaging
     information  (package  manifest  and lockfile) for such packages may change
     without incrementing the package version (for example, during development).
     To support this, bpkg implements the package iteration mechanism which  may
     result in iteration numbers to be shown as part of the package version, for
     example, 1.2.3#1 (see Package Version (#package-version)).

PKG-UNPACK OPTIONS
     --existing|-e
	    Treat the argument as an existing package directory path rather than
	    the package name to unpack.

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

     --replace|-r
	    Replace  the  source directory if the package is already unpacked or
	    fetched.  Can only be specified with an external package.

     --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, repos-
	    itory 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  configura-
	    tion 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  com-
	    mand  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-unpack command the search start directory is the config-
     uration directory. The following options files are searched for in each di-
     rectory and, if found, loaded in the order listed:

     bpkg.options
     bpkg-pkg-unpack.options

     The following pkg-unpack 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.

bpkg 0.18.0			   April 2026		      bpkg-pkg-unpack(1)

home | help