1bpkg-pkg-status(1)          General Commands Manual         bpkg-pkg-status(1)
2
3
4

NAME

6       bpkg-pkg-status - print package status
7

SYNOPSIS

9       bpkg pkg-status|status [options] [pkg[/ver]...]
10

DESCRIPTION

12       The  pkg-status command prints the status of the specified packages or,
13       if ver is specified, package versions. If no packages  were  specified,
14       then  pkg-status  prints the status of all the held packages (which are
15       the packages that were explicitly built;  see  bpkg-pkg-build(1)).  The
16       latter  mode can be modified to print the status of all the packages by
17       specifying the --all|-a option. Additionally, the status  of  immediate
18       or  all dependencies of the above packages can be printed by specifying
19       the --immediate|-i or --recursive|-r options, respectively.  Note  that
20       the status is written to stdout, not stderr.
21
22       The  default  output  format (see the --stdout-format common option) is
23       regular with components separated with spaces. Each  line  starts  with
24       the package name followed by one of the status words listed below. Some
25       of them can be optionally followed by ',' (no spaces) and a  sub-status
26       word.   Lines  corresponding to dependencies from linked configurations
27       will additionally mention the configuration directory in square  brack‐
28       ets after the package name.
29
30       unknown
31              Package  is not part of the configuration nor available from any
32              of the repositories.
33
34       available
35              Package is not part of the configuration but is  available  from
36              one of the repositories.
37
38       fetched
39              Package is part of the configuration and is fetched.
40
41       unpacked
42              Package is part of the configuration and is unpacked.
43
44       configured
45              Package  is  part of the configuration and is configured. May be
46              followed by the system sub-status indicating  a  package  coming
47              from the system. The version of such a system package (described
48              below) may be the special '*' value indicating a  wildcard  ver‐
49              sion.
50
51       broken
52              Package is part of the configuration and is broken (broken pack‐
53              ages can only be purged; see bpkg-pkg-purge(1)).
54
55       If only the package name was specified  without  the  package  version,
56       then  the  available  status  word is followed by the list of available
57       versions.  Versions that are only  available  for  up/down-grading  are
58       printed  in  '[]' (such version are only available as dependencies from
59       prerequisite repositories of other repositories). If the  --system  op‐
60       tion is specified, then the last version in this list may have the sys:
61       prefix indicating an available system version. Such  a  system  version
62       may  be  the special '?' value indicating that a package may or may not
63       be available from the system and that its version is unknown.
64
65       The fetched, unpacked, configured, and broken status words are followed
66       by  the  version  of the package. If the package version was specified,
67       then the unknown status word is also followed by the version.
68
69       If the status is fetched, unpacked, configured,  or  broken  and  newer
70       versions  are  available,  then  the package version is followed by the
71       available status word and the list of newer versions.  To instead see a
72       list  of  all  versions,  including  the older ones, specify the --old-
73       available|-o option. In this case the  currently  selected  version  is
74       printed in '()'.
75
76       If  the package name was specified with the version, then only the sta‐
77       tus (such as, configured, available, etc.) of this version  is  consid‐
78       ered.
79
80       If a package is being held, then its name is printed prefixed with '!'.
81       Similarly, if a package version is being  held,  then  the  version  is
82       printed  prefixed  with  '!'.  Held packages and held versions were se‐
83       lected by the user and are not automatically dropped and upgraded,  re‐
84       spectively.
85
86       Below  are  some  examples, assuming the configuration has libfoo 1.0.0
87       configured and held (both package and version) as well as libfoo  1.1.0
88       and 1.1.1 available from source and 1.1.0 from the system.
89
90       bpkg status libbar
91       libbar unknown
92
93       bpkg status libbar/1.0.0
94       libbar unknown 1.0.0
95
96       bpkg status libfoo/1.0.0
97       !libfoo configured !1.0.0
98
99       bpkg status libfoo/1.1.0
100       libfoo available 1.1.0
101
102       bpkg status --system libfoo/1.1.0
103       libfoo available 1.1.0 sys:1.1.0
104
105       bpkg status libfoo
106       !libfoo configured !1.0.0 available 1.1.0 1.1.1
107
108       bpkg status libfoo/1.1.1 libbar
109       libfoo available 1.1.1
110       libbar unknown
111
112       Assuming now that we dropped libfoo from the configuration:
113
114       bpkg status libfoo/1.0.0
115       libfoo unknown 1.0.0
116
117       bpkg status libfoo
118       libfoo available 1.1.0 1.1.1
119
120       And  assuming  now  that  we  built libfoo as a system package with the
121       wildcard version:
122
123       bpkg status libfoo
124       !libfoo configured,system !* available 1.1.0 1.1.1
125
126       Another example of the status output this time including dependencies:
127
128       bpkg status -r libbaz
129       !libbaz configured 1.0.0
130         libfoo configured 1.0.0
131           bison [.bpkg/host/] configured 1.0.0
132         libbar configured 2.0.0
133
134       If the output format is json, then the output is a JSON  array  of  ob‐
135       jects  which  are  the  serialized  representation of the following C++
136       struct package_status:
137
138       struct available_version
139       {
140         string version;
141         bool   system;
142         bool   dependency;
143       };
144
145       struct package_status
146       {
147         string                    name;
148         optional<string>          configuration;
149         optional<string>          constraint;
150         string                    status;
151         optional<string>          sub_status;
152         optional<string>          version;
153         bool                      hold_package;
154         bool                      hold_version;
155         vector<available_version> available_versions;
156         vector<package_status>    dependencies;
157       };
158
159       For example:
160
161       [
162         {
163           "name": "hello",
164           "status": "configured",
165           "version": "1.0.0",
166           "hold_package": true,
167           "available_versions": [
168             {
169               "version": "1.0.1"
170             },
171             {
172               "version": "2.0.0"
173             }
174           ],
175           "dependencies": [
176             {
177               "name": "libhello",
178               "status": "configured",
179               "version": "1.0.2",
180             }
181           ]
182         }
183       ]
184
185       See the JSON OUTPUT section in bpkg-common-options(1)  for  details  on
186       the  overall  properties of this format and the semantics of the struct
187       serialization.
188
189       In package_status, the configuration member contains the  absolute  di‐
190       rectory  of  a linked configuration if this package resides in a linked
191       configuration. The constraint member is  present  only  if  the  --con‐
192       straint option is specified. The version member is absent if the status
193       member is unknown or available and no package version is  specified  on
194       the  command line. If the sub_status member is system, then the version
195       member can be special *. The dependencies member is present only if the
196       --immediate|-i or --recursive|-r options are specified.
197
198       In  available_version,  if the system member is true, then this version
199       is available from the system, in which case the version member  can  be
200       special  ? or *. If the dependency member is true, then this version is
201       only available as a dependency from prerequisite repositories of  other
202       repositories.
203

PKG-STATUS OPTIONS

205       --all|-a
206              Print the status of all the packages, not just held.
207
208       --link Also  print the status of held/all packages from linked configu‐
209              rations.
210
211       --immediate|-i
212              Also print the status of immediate dependencies.
213
214       --recursive|-r
215              Also print the status of all dependencies, recursively.
216
217       --old-available|-o
218              Print old available versions.
219
220       --constraint
221              Print version constraints for dependencies.
222
223       --system
224              Check the availability of packages from the system.
225
226       --no-hold
227              Don't print the package or version hold status.
228
229       --no-hold-package
230              Don't print the package hold status.
231
232       --no-hold-version
233              Don't print the version hold status.
234
235       --directory|-d dir
236              Assume configuration is in dir rather than in the current  work‐
237              ing directory.
238

COMMON OPTIONS

240       The  common  options are summarized below with a more detailed descrip‐
241       tion available in bpkg-common-options(1).
242
243       -v     Print essential underlying commands being executed.
244
245       -V     Print all underlying commands being executed.
246
247       --quiet|-q
248              Run quietly, only printing error messages.
249
250       --verbose level
251              Set the diagnostics verbosity to level between 0 and 6.
252
253       --stdout-format format
254              Representation format to use for printing to stdout.
255
256       --jobs|-j num
257              Number of jobs to perform in parallel.
258
259       --no-result
260              Don't print informational messages about the outcome of perform‐
261              ing a command or some of its parts.
262
263       --structured-result fmt
264              Write the result of performing a command in a structured form.
265
266       --progress
267              Display progress indicators for long-lasting operations, such as
268              network transfers, building, etc.
269
270       --no-progress
271              Suppress progress indicators for long-lasting  operations,  such
272              as network transfers, building, etc.
273
274       --diag-color
275              Use color in diagnostics.
276
277       --no-diag-color
278              Don't use color in diagnostics.
279
280       --build path
281              The build program to be used to build packages.
282
283       --build-option opt
284              Additional option to be passed to the build program.
285
286       --fetch path
287              The fetch program to be used to download resources.
288
289       --fetch-option opt
290              Additional option to be passed to the fetch program.
291
292       --fetch-timeout sec
293              The fetch and fetch-like (for example, git) program timeout.
294
295       --pkg-proxy url
296              HTTP proxy server to use when fetching package manifests and ar‐
297              chives from remote pkg repositories.
298
299       --git path
300              The git program to be used to fetch git repositories.
301
302       --git-option opt
303              Additional common option to be passed to the git program.
304
305       --sha256 path
306              The sha256 program to be used to calculate SHA256 sums.
307
308       --sha256-option opt
309              Additional option to be passed to the sha256 program.
310
311       --tar path
312              The tar program to be used to extract package archives.
313
314       --tar-option opt
315              Additional option to be passed to the tar program.
316
317       --openssl path
318              The openssl program to be used for crypto operations.
319
320       --openssl-option opt
321              Additional option to be passed to the openssl program.
322
323       --auth type
324              Types of repositories to authenticate.
325
326       --trust fingerprint
327              Trust repository certificate with a SHA256 fingerprint.
328
329       --trust-yes
330              Assume the answer to all authentication prompts is yes.
331
332       --trust-no
333              Assume the answer to all authentication prompts is no.
334
335       --git-capabilities up=pc
336              Protocol capabilities (pc) for a git repository URL prefix (up).
337
338       --pager path
339              The pager program to be used to show long text.
340
341       --pager-option opt
342              Additional option to be passed to the pager program.
343
344       --options-file file
345              Read additional options from file.
346
347       --default-options dir
348              The directory to load additional default options files from.
349
350       --no-default-options
351              Don't load default options files.
352
353       --keep-tmp
354              Don't remove the bpkg's temporary directory at the  end  of  the
355              command execution and print its path at the verbosity level 2 or
356              higher.
357

DEFAULT OPTIONS FILES

359       See bpkg-default-options-files(1) for an overview of  the  default  op‐
360       tions  files.  For the pkg-status command the search start directory is
361       the configuration directory. The following options files  are  searched
362       for in each directory and, if found, loaded in the order listed:
363
364       bpkg.options
365       bpkg-pkg-status.options
366
367       The following pkg-status command options cannot be specified in the de‐
368       fault options files:
369
370       --directory|-d
371

BUGS

373       Send bug reports to the users@build2.org mailing list.
374
376       Copyright (c) 2014-2023 the build2 authors.
377
378       Permission is granted to copy, distribute and/or modify  this  document
379       under the terms of the MIT License.
380
381
382
383bpkg 0.16.0                        June 2023                bpkg-pkg-status(1)
Impressum