aboutsummaryrefslogtreecommitdiff
path: root/bpkg/pkg-uninstall.cli
blob: 6c1786654b5a758ae888b89c3b69315ce58fe97f (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
// file      : bpkg/pkg-uninstall.cli
// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
// license   : MIT; see accompanying LICENSE file

include <bpkg/configuration.cli>;

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

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

    "\h|SYNOPSIS|

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

     \h|DESCRIPTION|

     The \cb{pkg-uninstall} command uninstalls 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 specified packages can be also uninstalled 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 uninstall}. 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). See \l{bpkg-pkg-install(1)} for some examples."
  }

  class pkg_uninstall_options: configuration_options
  {
    "\h|PKG-UNINSTALL OPTIONS|"

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

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

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