aboutsummaryrefslogtreecommitdiff
path: root/bpkg/pkg-install.cli
blob: 9caf48bc7998dcc174374e7df423f69279ddad88 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// file      : bpkg/pkg-install.cli
// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
// license   : MIT; see accompanying LICENSE file

include <bpkg/configuration.cli>;

"\section=1"
"\name=bpkg-pkg-install"
"\summary=install package"

namespace bpkg
{
  {
    "<options> <vars> <pkg>",

    "\h|SYNOPSIS|

     \c{\b{bpkg pkg-install}|\b{install} [<options>] [<vars>] <pkg>...\n
        \b{bpkg pkg-install}|\b{install} [<options>] [<vars>] \b{--all}|\b{-a}}

     \h|DESCRIPTION|

     The \cb{pkg-install} command installs the specified packages (the first
     form) or all held packages (the second form, see \l{bpkg-pkg-status(1)}).
     Additionally, immediate or all dependencies of these packages can be also
     installed by specifying the \c{\b{--immediate}|\b{-i}} or
     \c{\b{--recursive}|\b{-r}} options, respectively. Underneath, this
     command doesn't do much more than run \cb{b install}. In the first form
     the specified packages must have been previously configured with
     \l{bpkg-pkg-build(1)} or \l{bpkg-pkg-configure(1)}.

     Additional command line variables (<vars>, normally \cb{config.*}) can be
     passed to the build system. Such variables apply to all the specified
     packages but can also be specified to only apply to specific packages
     using the argument grouping mechanism (see \l{bpkg-argument-grouping(1)}
     for details). In particular, this mechanism can be used to specify the
     installation directory, for example:

     \
     bpkg install config.install.root=/usr/local \
                  config.install.sudo=sudo       \
                  libfoo libbar
     \

     Alternatively, the installation directory can be specified once when
     creating the configuration (\l{bpkg-cfg-create(1)})."
  }

  class pkg_install_options: configuration_options
  {
    "\h|PKG-INSTALL OPTIONS|"

    bool --all|-a
    {
      "Install all held packages."
    }

    bool --immediate|-i
    {
      "Also install immediate dependencies."
    }

    bool --recursive|-r
    {
      "Also install all dependencies, recursively."
    }
  };
}