1DOSE-CEVE(1) DOSE Tools DOSE-CEVE(1)
2
3
4
6 ceve - parse package metadata
7
9 ceve [-h] [-v] [-c pkgspec] [-r pkgspec] [--depth=n] [-T format] [-G
10 graph type] [-o filename] input-spec [input-spec...]
11
13 Ceve is a generalized metadata parser. It reads package specifications,
14 extracts package metadata from them, performs some manipulations, and
15 outputs the package metadata in one of several formats.
16
17 input-spec is a url specifying the input format and the file to get the
18 input from. For a possible list of schemes, see the -t parameter.
19
20 Some examples of URLs:
21
22 . deb://Packages.gz (the Debian file packages.gz in the current
23 directory)
24
25 . cudf:///home/examples/cudf/test.cudf (the CUDF file
26 /home/examples/cudf/test.cudf)
27
29 MISC OPTIONS
30 -h, --help
31 This option displays the help message.
32
33 -v, --verbose
34 Be verbose. This option can be repeated for more verbosity.
35
36 --version
37 Show program's version and exit.
38
39 --progress
40 Print progress bars.
41
42 --timers
43 Print timing information.
44
45 --quiet Do no print any messages.
46
47 INPUT OPTIONS
48 Dose3 accepts files compressed with gzip(1) or bzip2(1), depending on
49 compile-time options.
50
51 -t input-spec
52 Select the input type. Possible values are:
53
54 . cudf Cudf file format
55
56 . pef PEF file format. The PEF format (Package Exchange Format)
57 is a generic 822 file format used to encode package
58 dependencies. deb, opam, debsrc and edsp are all based on the
59 pef format
60
61 . csw OpenCSW Solaris packages binary format
62
63 . opam Opam Package universe in Opam/PEF format. This format is a
64 822 textual format encoding the opam universe.
65
66 . deb for Debian binary package files, also known as Packages
67 files.
68
69 . debsrc for Debian source package files, also knows as Sources
70 files.
71
72 . edsp apt-get External Dependency Solver Protocol
73
74 . hdlist RPM hdlists. Binary file format.
75
76 . synthesis urpmi synthesis hdlists. XML Based format
77
78 --trim Consider only installable packages.
79
80 --latest n
81 Consider only the latest -n most recent versions of each
82 package, older versions of packages are ignored.
83
84 -c, --cone=vpkglist
85 The match of an atomic dependency (a package name p possibly
86 together with a version constraint c) is the set of all
87 packages in the repository with name p, and a version that
88 satisfies the constraint c. The dependency cone of a package p
89 is the set of all matches of all atomic dependencies of p,
90 together with their respective dependency cones. The package
91 specification pkgspec is a list of packages (separated by a
92 semicolon), where each package is specified as follows:
93 (name,version).
94
95 This option extracts the union of the dependency cones of all
96 packages selected by vpkglist.
97
98 Example: =over 12
99
100 -c 'golang-golang-x-tools (=
101 1:0.0~git20150716.0.87156cb+dfsg1-4),golang-golang-x-tools-dev'
102 -r, --rcone=vpkglist
103 Using the same syntax as in -c, this option use the reverse
104 dependency relation to make the transitive closure.
105
106 --depth n
107 In combination with the -c or -r options, this specifies the
108 maximum depth for the transitive closure.
109
110 --request installation-request
111 Specifies an installation request of the form "install:
112 vpkglist" or "remove: vpkglist" or "upgrade: vpkglist" where
113 vpkglist is a list of (real) packages possibly associated with
114 a constraint. Ex.: bash (< 2.0), exim (= 3.1-debian1). This
115 option can be repeated to specify install, remove and upgrade
116 actions.
117
118 Examples:
119
120 --request "install: bash (< 2.0), exim (= 3.1-debian1)"
121 --request "upgrade: apt-cudf"
122
123 OUTPUT OPTIONS
124 -o, --outfile=filename
125 Instead of stdout, send output to the file filename.
126
127 -d, --outdir=directory
128 Set the output directory (default current directory)
129
130 --dot Save the explanation graph (one for each package) in dot
131 format.
132
133 -G graph type
134 Specifies the graph type format to compute. This option must be
135 used together with the option -T dot|gml|grml. Default is syn.
136 Possible values are:
137
138 . syn for the syntactic graph where disjunctions nodes and
139 conflicts are explicitly added to the graph.
140
141 . pkg for the package graph where all dependencies are threated
142 uniformly and conflicts are not added to the graph.
143
144 . strdeps the strong dependency graph. A package p strong depends
145 on q iff p cannot be installed if q is not installed.
146
147 . strcnf
148
149 . conj the conjunctive graph where only conjunctive dependencies
150 are considered.
151
152 . dom
153
154 -T format
155 Specifies the output format to use. Default is cnf. Possible
156 values are:
157
158 . cnf output in CNF format.
159
160 . dimacs output in DIMACS format for CNF formulae.
161
162 . cudf pretty-printed output in an RFC 822-like format
163
164 . deb binary packages in deb822 format.
165
166 . debsrc source packages in deb822 format.
167
168 . dot a graph in Dot/GraphViz format.
169
170 . gml a graph in GML format.
171
172 . grml a graph in GraphML format.
173
174 . table plain text output of three integer values: the universe
175 size, the number of edges in the dependency graph, the number
176 of conflicts in the universe.
177
178 DEBIAN SPECIFIC OPTIONS
179 Multi-arch annotations are handled by ceve. Packages whose's
180 architecture is neither the native architecture nor in the list of
181 foreign architectures (see below) are ignored.
182
183 --deb-native-arch=name
184 Specify the native architecture. The default behavior is to
185 deduce the native architecture from the first package stanza in
186 the input that has an architecture different from all.
187
188 --deb-foreign-archs=name [,name] ...
189 Specify a comma-separated list of foreign architectures. The
190 default is an empty list of foreign architectures.
191
192 --deb-ignore-essential
193 By default all essential package are considered as a dependency
194 of all packages in the universe. This option allows the user to
195 ignore essential packages.
196
197 --deb-host-arch=name
198 Native/cross compile host architecture, defaults to native
199 architecture.
200
201 --deb-builds-from
202 Add builds-from relationship of binary packages on source
203 packages as dependency. This allows one to create graphs for
204 bootstrapping purposes.
205
206 -P, --deb-profiles=name[,name...]
207 Comma separated list of activated build profiles.
208
209 --deb-drop-b-d-indep
210 Drop Build-Depends-Indep dependencies from Debian source
211 packages.
212
213 --deb-drop-b-d-arch
214 Drop Build-Depends-Arch dependencies from Debian source
215 packages.
216
218 Find all the reverse binary dependencies of the package patchutils:
219
220 dose-ceve --deb-native-arch amd64 -r patchutils -T deb \
221 deb:///var/lib/apt/lists/*_dists_sid_main_binary-amd64_Packages \
222 | grep-dctrl -n -s Package '' | sort -u
223
224 Find all the source packages that (directly or indirectly) build depend
225 on patchutils:
226
227 dose-ceve -T debsrc --deb-native-arch=amd64 -r patchutils \
228 debsrc:///var/lib/apt/lists/*_dists_sid_main_source_Sources \
229 deb:///var/lib/apt/lists/*_dists_sid_main_binary-amd64_Packages \
230 | grep-dctrl -n -s Package '' | sort -u
231
232 Find the source packages (-T debsrc) that have in a relation builds-
233 from with all the binary package in the reverse dependency cone of
234 libssl-dev (a specific version constraint).
235
236 dose-ceve --deb-builds-from --deb-native-arch=amd64 -T debsrc \
237 -r 'libssl-dev (>= 0.9.8)' deb://Sid-amd64-Packages-050812.bz2 \
238 debsrc://Sid-Sources-050812.bz2
239
240
241
242 2023-09-10 DOSE-CEVE(1)