1bpkg(1)                     General Commands Manual                    bpkg(1)
2
3
4

NAME

6       bpkg - package dependency manager
7

SYNOPSIS

9       bpkg --help
10       bpkg --version
11       bpkg help [command | topic]
12       bpkg [common-options] command [command-options] command-args
13

DESCRIPTION

15       The  build2 package dependency manager is used to manipulate build con‐
16       figurations, packages, and repositories using a set  of  commands  that
17       are summarized below.
18
19       For  a  detailed description of any command or help topic, use the help
20       command or see the corresponding man page (the man pages have the bpkg-
21       prefix,  for  example bpkg-help(1)). Note also that command-options and
22       command-args can be specified in any order and  common-options  can  be
23       specified as part of command-options.
24
25       A  bpkg build configuration is a directory that contains packages built
26       with similar settings. For example, a configuration can be for  a  spe‐
27       cific  target  (i686,  x86_64),  compiler  (clang, gcc) compile options
28       (-O3, -g), and so on. Configurations are relatively cheap  and  can  be
29       created  and  thrown  away  as  needed. Configurations can be moved and
30       copied by simply moving and copying  the  directories.  Note,  however,
31       that a move or copy may render some packages out-of-date. In the build2
32       build system terms a bpkg build configuration is an  amalgamation  that
33       contains packages as subprojects (see bpkg-cfg-create(1) for details).
34
35       A  bpkg  package  is  an archive or directory (potentially in a version
36       control system) that contains a build2 project plus the  package  mani‐
37       fest  file.  bpkg  can either use package archives/directories directly
38       from the filesystem or it can fetch them from repositories.
39
40       A bpkg repository is a collection of packages as  well  as  information
41       about  prerequisite and complement repositories. Archive, directory and
42       version control-based repositories are supported. A repository is iden‐
43       tified  by  its location which can be a local filesystem path or a URL.
44       See bpkg-repository-types(1) for details on the  repository  structures
45       and URL formats.
46
47       If  the  same version of a package is available from multiple reposito‐
48       ries, then they are assumed to contain identical  package  content.  In
49       such  cases bpkg prefers local repositories over remote and among local
50       repositories it prefers the ones with external packages (see  bpkg-pkg-
51       unpack(1) for details on external packages).
52
53       A typical bpkg workflow would consist of the following steps.
54
55       Create Configuration
56              bpkg create cc                   \
57                config.cxx=clang++             \
58                config.cc.coptions=-O3         \
59                config.install.root=/usr/local \
60                config.install.sudo=sudo
61
62       Add Source Repositories
63              bpkg add https://pkg.cppget.org/1/stable
64              bpkg add https://example.org/foo.git
65
66              Repeat this command to add more repositories.
67
68       Fetch Available Packages List
69              bpkg fetch
70
71       Fetch and Build Packages
72              bpkg build foo bar
73
74       Drop Package
75              If  some  packages are no longer needed, we can remove them from
76              the configuration.
77
78              bpkg drop foo
79
80       Refresh Available Packages List
81              bpkg fetch
82
83       Upgrade Packages
84              bpkg build bar
85
86       Install Packages
87              bpkg install bar
88

COMMANDS

90       help [topic]
91              bpkg-help(1) – show help for a command or help topic
92
93       cfg-create|create
94              bpkg-cfg-create(1) – create configuration
95
96       rep-info
97              bpkg-rep-info(1) – print repository information
98
99       rep-add|add
100              bpkg-rep-add(1) – add repository to configuration
101
102       rep-remove|remove
103              bpkg-rep-remove(1) – remove repository from configuration
104
105       rep-list|list
106              bpkg-rep-list(1) – list repositories in configuration
107
108       rep-fetch|fetch
109              bpkg-rep-fetch(1) – fetch list of available packages
110
111       rep-create
112              bpkg-rep-create(1) – create repository
113
114       pkg-status|status
115              bpkg-pkg-status(1) – print package status
116
117       pkg-build|build
118              bpkg-pkg-build(1) – build package
119
120       pkg-drop|drop
121              bpkg-pkg-drop(1) – drop package
122
123       pkg-install|install
124              bpkg-pkg-install(1) – install package
125
126       pkg-uninstall|uninstall
127              bpkg-pkg-uninstall(1) – uninstall package
128
129       pkg-update|update
130              bpkg-pkg-update(1) – update package
131
132       pkg-test|test
133              bpkg-pkg-test(1) – test package
134
135       pkg-clean|clean
136              bpkg-pkg-clean(1) – clean package
137
138       pkg-verify
139              bpkg-pkg-verify(1) – verify package archive
140
141       pkg-fetch
142              bpkg-pkg-fetch(1) – fetch package archive
143
144       pkg-unpack
145              bpkg-pkg-unpack(1) – unpack package archive
146
147       pkg-checkout
148              bpkg-pkg-checkout(1) – check out package version
149
150       pkg-configure
151              bpkg-pkg-configure(1) – configure package
152
153       pkg-disfigure
154              bpkg-pkg-disfigure(1) – disfigure package
155
156       pkg-purge
157              bpkg-pkg-purge(1) – purge package
158

HELP TOPICS

160       common-options
161              bpkg-common-options(1) – details on common options
162
163       default-options-files
164              bpkg-default-options-files(1) – specifying default options
165
166       repository-types
167              bpkg-repository-types(1) – repository types, structure, and URLs
168
169       repository-signing
170              bpkg-repository-signing(1) – how to sign repository
171
172       argument-grouping
173              bpkg-argument-grouping(1) – argument grouping facility
174

COMMON OPTIONS

176       The common options are summarized below with a more  detailed  descrip‐
177       tion available in bpkg-common-options(1).
178
179       -v     Print essential underlying commands being executed.
180
181       -V     Print all underlying commands being executed.
182
183       --quiet|-q
184              Run quietly, only printing error messages.
185
186       --verbose level
187              Set the diagnostics verbosity to level between 0 and 6.
188
189       --jobs|-j num
190              Number of jobs to perform in parallel.
191
192       --no-result
193              Don't print informational messages about the outcome of perform‐
194              ing a command.
195
196       --no-progress
197              Suppress progress indicators for long-lasting  operations,  such
198              as network transfers, building, etc.
199
200       --build path
201              The build program to be used to build packages.
202
203       --build-option opt
204              Additional option to be passed to the build program.
205
206       --fetch path
207              The fetch program to be used to download resources.
208
209       --fetch-option opt
210              Additional option to be passed to the fetch program.
211
212       --fetch-timeout sec
213              The fetch and fetch-like (for example, git) program timeout.
214
215       --pkg-proxy url
216              HTTP proxy server to use when fetching package manifests and ar‐
217              chives from remote pkg repositories.
218
219       --git path
220              The git program to be used to fetch git repositories.
221
222       --git-option opt
223              Additional common option to be passed to the git program.
224
225       --sha256 path
226              The sha256 program to be used to calculate SHA256 sums.
227
228       --sha256-option opt
229              Additional option to be passed to the sha256 program.
230
231       --tar path
232              The tar program to be used to extract package archives.
233
234       --tar-option opt
235              Additional option to be passed to the tar program.
236
237       --openssl path
238              The openssl program to be used for crypto operations.
239
240       --openssl-option opt
241              Additional option to be passed to the openssl program.
242
243       --auth type
244              Types of repositories to authenticate.
245
246       --trust fingerprint
247              Trust repository certificate with a SHA256 fingerprint.
248
249       --trust-yes
250              Assume the answer to all authentication prompts is yes.
251
252       --trust-no
253              Assume the answer to all authentication prompts is no.
254
255       --pager path
256              The pager program to be used to show long text.
257
258       --pager-option opt
259              Additional option to be passed to the pager program.
260
261       --options-file file
262              Read additional options from file.
263
264       --default-options dir
265              The directory to load additional default options files from.
266
267       --no-default-options
268              Don't load default options files.
269

ENVIRONMENT

271       Commands executed by bpkg while the  build  configuration  database  is
272       open  will  have  the  BPKG_OPEN_CONFIG environment variable set to the
273       absolute and normalized configuration directory path. This can be  used
274       by build system hooks and/or programs that they execute.
275

EXIT STATUS

277       Non-zero exit status is returned in case of an error.
278

BUGS

280       Send bug reports to the users@build2.org mailing list.
281
283       Copyright (c) 2014-2020 the build2 authors.
284
285       Permission  is  granted to copy, distribute and/or modify this document
286       under the terms of the MIT License.
287
288
289
290bpkg 0.13.0                        July 2020                           bpkg(1)
Impressum