aboutsummaryrefslogtreecommitdiff
path: root/bpkg/rep-info.cli
blob: 60854ce913b50c594cbb135180b0818eca32438e (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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
// file      : bpkg/rep-info.cli
// license   : MIT; see accompanying LICENSE file

include <libbpkg/manifest.hxx>;

include <bpkg/common.cli>;

"\section=1"
"\name=bpkg-rep-info"
"\summary=print repository information"

namespace bpkg
{
  {
    "<options> <rep-loc>",

    "\h|SYNOPSIS|

     \c{\b{bpkg rep-info} [<options>] <rep-loc>}

     \h|DESCRIPTION|

     The \cb{rep-info} command prints various information about the specified
     repository. By default it print the repository's name and location as the
     first line. If the repository is signed, the certificate information
     (name/organization/email) is printed as the next line followed by the
     certificate fingerprint. Then comes the list of complement and
     prerequisite repositories followed by the list of available packages.

     This default format can be altered in various ways using options listed
     below. Note also that the information is written to \cb{stdout}, not
     \cb{stderr}.

     If the current working directory contains a \cb{bpkg} configuration, then
     \cb{rep-info} will use its certificate database for the repository
     authentication. That is, it will trust the repository's certificate if it
     is already trusted by the configuration. Otherwise it will add the
     certificate to the configuration if you confirm it is trusted. You can
     specify an alternative configuration directory with the
     \cb{--directory|-d} option. To disable using the configuration in the
     current working directory pass this option with an empty path."
  }

  class rep_info_options: common_options
  {
    "\h|REP-INFO OPTIONS|"

    bool --name|-n
    {
      "Print the repository's name and location."
    }

    bool --cert-fingerprint
    {
      "Print the repository's certificate fingerprint or empty line if the
       repository is unsigned."
    }

    bool --cert-name
    {
      "Print the repository's certificate common name (CN) or empty line if
       the repository is unsigned."
    }

    bool --cert-organization
    {
      "Print the repository's certificate organization name (O) or empty line
       if the repository is unsigned."
    }

    bool --cert-email
    {
      "Print the repository's certificate email or empty line if the
       repository is unsigned."
    }

    bool --repositories|-r
    {
      "Print the list of complement and prerequisite repositories."
    }

    bool --packages|-p
    {
      "Print the list of available packages."
    }

    bool --manifest
    {
      "Instead of printing the information in the human-readable form, dump it
       (to \cb{stdout}) as manifest(s). Normally you would use this option in
       combination with \cb{--packages|-p} or \cb{--repositories|-r} to only
       dump one of the manifests. If the \cb{--deep} option is specified,
       then in the resulting packages manifest the \cb{*-file} values are
       replaced with the contents of the referenced files. See also
       \cb{--repositories-file} and \cb{--packages-file}."
    }

    bool --deep
    {
      "Verify files referenced by the \cb{*-file} manifest values."
    }

    path --repositories-file
    {
      "<path>",
      "If \cb{--manifest} is specified, then save the repositories manifest
       to the specified file instead of dumping it to \cb{stdout}."
    }

    path --packages-file
    {
      "<path>",
      "If \cb{--manifest} is specified, then save the packages manifest to the
       specified file instead of dumping it to \cb{stdout}."
    }

    repository_type --type
    {
      "<type>",
      "Specify the repository type with valid values being \cb{pkg},
       \cb{dir}, and \cb{git}. Refer to \l{bpkg-rep-add(1)} for details."
    }

    string --directory|-d // String to allow empty value.
    {
      "<dir>",
      "Use configuration in <dir> for the trusted certificate database."
    }
  };

  "
   \h|DEFAULT OPTIONS FILES|

   See \l{bpkg-default-options-files(1)} for an overview of the default
   options files. If the \cb{rep-info} command uses an existing \c{bpkg}
   configuration, then the start directory is the configuration directory.
   Otherwise, only the predefined directories (home, system, etc) are
   searched. The following options files are searched for in each directory
   and, if found, loaded in the order listed:

   \
   bpkg.options
   bpkg-rep-info.options
   \

   The following \cb{rep-info} command options cannot be specified in the
   default options files:

   \
   --directory|-d
   \
  "
}