aboutsummaryrefslogtreecommitdiff
path: root/bpkg/pkg-install.cli
blob: 75d13a0afcdaa5f10acc069e8ab47913fc6de95c (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
// file      : bpkg/pkg-install.cli
// copyright : Copyright (c) 2014-2017 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> [<vars>])...\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 by either specifying them before the packages,
     in which case they apply to the whole configuration, or after a specific
     package, in which case they apply only to this package. 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."
    }
  };
}