aboutsummaryrefslogtreecommitdiff
path: root/bpkg/pkg-build.cli
blob: 9de38f22e6a85eb6244a466127e96c52749c6764 (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
69
70
71
72
// file      : bpkg/pkg-build.cli
// copyright : Copyright (c) 2014-2016 Code Synthesis Ltd
// license   : MIT; see accompanying LICENSE file

include <bpkg/configuration.cli>;

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

namespace bpkg
{
  {
    "<options> <pkg> <ver> <file> <dir>",

    "\h|SYNOPSIS|

     \c{\b{bpkg pkg-build}|\b{build} [<options>] (<pkg>[/<ver>] | <file> | <dir>/)...}

     \h|DESCRIPTION|

     The \cb{pkg-build} command builds one or more packages including all their
     prerequisites. Each package can be specified as just the name (<pkg>) with
     optional package version (<ver>) in which case the package will be
     automatically fetched from one of the repositories. See the
     \l{bpkg-cfg-add(1)} and \l{bpkg-cfg-fetch(1)} commands for more
     information on package repositories.

     Alternatively, the package can be specified as either the path to the
     package archive (<file>) or to the package directory (<dir>/; note that
     it must end with a directory separator). See the \l{bpkg-pkg-fetch(1)}
     and \l{bpkg-pkg-unpack(1)} commands for more information on the semantics
     of specifying the package as an archive or a directory.

     Packages that are specified explicitly on the command line will be
     \i{held}, that is, they will not be considered for automatic removal if
     they no longer have any dependents. Packages that are specified with the
     explicit package version (<ver>) or as an archive or directory, will, in
     addition, have their versions held, that is, they will not be
     automatically upgraded.

     The \cb{pkg-build} command also supports several \cb{--*-only} options
     that allow you to limit the amount of work that will be done."
  }

  class pkg_build_options: configuration_options
  {
    "\h|PKG-BUILD OPTIONS|"

    bool --yes|-y
    {
      "Assume the answer to all prompts is \cb{yes}."
    }

    bool --keep-prerequisite
    {
      "Don't offer to drop prerequsite packages that were automatically built
       and will no longer be necessary."
    }

    bool --print-only|-p
    {
      "Print to \cb{STDOUT} what would be done without actually doing
       anything."
    }

    bool --configure-only|-c
    {
      "Configure all the packages but don't update."
    }
  };
}