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       --git path
216              The git program to be used to fetch git repositories.
217
218       --git-option opt
219              Additional common option to be passed to the git program.
220
221       --sha256 path
222              The sha256 program to be used to calculate SHA256 sums.
223
224       --sha256-option opt
225              Additional option to be passed to the sha256 program.
226
227       --tar path
228              The tar program to be used to extract package archives.
229
230       --tar-option opt
231              Additional option to be passed to the tar program.
232
233       --openssl path
234              The openssl program to be used for crypto operations.
235
236       --openssl-option opt
237              Additional option to be passed to the openssl program.
238
239       --auth type
240              Types of repositories to authenticate.
241
242       --trust fingerprint
243              Trust repository certificate with a SHA256 fingerprint.
244
245       --trust-yes
246              Assume the answer to all authentication prompts is yes.
247
248       --trust-no
249              Assume the answer to all authentication prompts is no.
250
251       --pager path
252              The pager program to be used to show long text.
253
254       --pager-option opt
255              Additional option to be passed to the pager program.
256
257       --options-file file
258              Read additional options from file.
259
260       --default-options dir
261              The directory to load additional default options files from.
262
263       --no-default-options
264              Don't load default options files.
265

ENVIRONMENT

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

EXIT STATUS

273       Non-zero exit status is returned in case of an error.
274

BUGS

276       Send bug reports to the users@build2.org mailing list.
277
279       Copyright (c) 2014-2019 Code Synthesis Ltd
280
281       Permission is granted to copy, distribute and/or modify  this  document
282       under the terms of the MIT License.
283
284
285
286bpkg 0.12.0                      November 2019                         bpkg(1)
Impressum