1bpkg(1) General Commands Manual bpkg(1)
2
3
4
6 bpkg - package dependency manager
7
9 bpkg --help
10 bpkg --version
11 bpkg help [command | topic]
12 bpkg [common-options] command [command-options] command-args
13
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
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
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
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
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
277 Non-zero exit status is returned in case of an error.
278
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)