DOSE-CEVE(1)
π DOSE-CEVE(1) β the ceve girlies' manual π
okay bestie, welcome to DOSE Tools, this is ceve, and she is literally the moment.
β¨ NAME β¨
ceve β parse package metadata π
πΈ SYNOPSIS πΈ
ceve [-h] [-v] [-c pkgspec] [-r pkgspec] [--depth=n] [-T format] [-G
graph type] [-o filename] input-spec [input-spec...]
π¦ DESCRIPTION π¦
okay so. ceve is a generalized metadata parser. She reads package specifications, extracts package metadata from them, does some little manipulations (slay), and then outputs that metadata in one of several formats. iconic behavior honestly.
input-spec is a url that says what the input format is and which file to grab the input from. for the possible list of schemes, go look at the -t parameter, she's got the receipts π
some examples of URLs:
deb://Packages.gzβ (the Debian filepackages.gzin the current directory)cudf:///home/examples/cudf/test.cudfβ (the CUDF file/home/examples/cudf/test.cudf)
π OPTIONS π
π MISC OPTIONS
-h,--helpβ displays the help message. the classic.-v,--verboseβ be verbose. and like, you can repeat this option for more verbosity. go off.--versionβ show the program's version and exit.--progressβ print progress bars. π«Ά--timersβ print timing information.--quietβ do no print any messages. (that's what the original says and I'm not fixing it, it's giving sleepy energy π)
π₯ INPUT OPTIONS
Dose3 accepts files compressed with gzip(1) or bzip2(1), depending on compile-time options. no cap.
-t input-specβ select the input type. possible values are:cudfβ Cudf file formatpefβ PEF file format. the PEF format (Package Exchange Format) is a generic 822 file format used to encode package dependencies.deb,opam,debsrcandedspare all based on the pef format.cswβ OpenCSW Solaris packages binary formatopamβ Opam Package universe in Opam/PEF format. this format is a 822 textual format encoding the opam universe.debβ for Debian binary package files, also known as Packages files.debsrcβ for Debian source package files, also knows as Sources files. (yes, "knows". I'm keeping it, it's cute.)edspβ apt-get External Dependency Solver Protocolhdlistβ RPM hdlists. Binary file format.synthesisβ urpmi synthesis hdlists. XML Based format
--trimβ consider only installable packages. bye to the rest βοΈ--latest nβ consider only the latest-nmost recent versions of each package, older versions of packages are ignored.-c,--cone=vpkglistβ okay so listen. the match of an atomic dependency (a package nameppossibly together with a version constraintc) is the set of all packages in the repository with namep, and a version that satisfies the constraintc. the dependency cone of a packagepis the set of all matches of all atomic dependencies ofp, together with their respective dependency cones. the package specificationpkgspecis a list of packages (separated by a semicolon), where each package is specified as follows:(name,version).
this option extracts the union of the dependency cones of all packages selected by vpkglist.
Example: =over 12
-c 'golang-golang-x-tools (= 1:0.0~git20150716.0.87156cb+dfsg1-4),golang-golang-x-tools-dev'
-r,--rcone=vpkglistβ using the same syntax as in-c, this option use the reverse dependency relation to make the transitive closure. π--depth nβ in combination with the-cor-roptions, this specifies the maximum depth for the transitive closure.--request installation-requestβ specifies an installation request of the form"install: vpkglist"or"remove: vpkglist"or"upgrade: vpkglist"wherevpkglistis a list of (real) packages possibly associated with a constraint. Ex.:bash (< 2.0),exim (= 3.1-debian1). this option can be repeated to specify install, remove and upgrade actions. π
Examples:
--request "install: bash (< 2.0), exim (= 3.1-debian1)"
--request "upgrade: apt-cudf"
π§ OUTPUT OPTIONS
-o,--outfile=filenameβ instead of stdout, send output to the filefilename.-d,--outdir=directoryβ set the output directory (default current directory)--dotβ save the explanation graph (one for each package) in dot format.-G graph typeβ specifies the graph type format to compute. this option must be used together with the option-T dot|gml|grml. default issyn. possible values are:synβ for the syntactic graph where disjunctions nodes and conflicts are explicitly added to the graph.pkgβ for the package graph where all dependencies are threated uniformly and conflicts are not added to the graph. (yes, "threated". we keep her exactly as she is.)strdepsβ the strong dependency graph. a packagepstrong depends onqiffpcannot be installed ifqis not installed.strcnfconjβ the conjunctive graph where only conjunctive dependencies are considered.dom
-T formatβ specifies the output format to use. default iscnf. possible values are:cnfβ output in CNF format.dimacsβ output in DIMACS format for CNF formulae.cudfβ pretty-printed output in an RFC 822-like formatdebβ binary packages in deb822 format.debsrcβ source packages in deb822 format.dotβ a graph in Dot/GraphViz format.gmlβ a graph in GML format.grmlβ a graph in GraphML format.tableβ plain text output of three integer values: the universe size, the number of edges in the dependency graph, the number of conflicts in the universe.
π DEBIAN SPECIFIC OPTIONS
Multi-arch annotations are handled by ceve. packages whose's architecture is neither the native architecture nor in the list of foreign architectures (see below) are ignored. π (again: "whose's". she said what she said, I'm not touching it.)
--deb-native-arch=nameβ specify the native architecture. the default behavior is to deduce the native architecture from the first package stanza in the input that has an architecture different from all.--deb-foreign-archs=name [,name] ...β specify a comma-separated list of foreign architectures. the default is an empty list of foreign architectures.--deb-ignore-essentialβ by default all essential package are considered as a dependency of all packages in the universe. this option allows the user to ignore essential packages.--deb-host-arch=nameβ native/cross compile host architecture, defaults to native architecture.--deb-builds-fromβ add builds-from relationship of binary packages on source packages as dependency. this allows one to create graphs for bootstrapping purposes. π-P,--deb-profiles=name[,name...]β comma separated list of activated build profiles.--deb-drop-b-d-indepβ drop Build-Depends-Indep dependencies from Debian source packages.--deb-drop-b-d-archβ drop Build-Depends-Arch dependencies from Debian source packages.
β EXAMPLES β
find all the reverse binary dependencies of the package patchutils:
dose-ceve --deb-native-arch amd64 -r patchutils -T deb \
deb:///var/lib/apt/lists/*_dists_sid_main_binary-amd64_Packages \
| grep-dctrl -n -s Package '' | sort -u
find all the source packages that (directly or indirectly) build depend on patchutils:
dose-ceve -T debsrc --deb-native-arch=amd64 -r patchutils \
debsrc:///var/lib/apt/lists/*_dists_sid_main_source_Sources \
deb:///var/lib/apt/lists/*_dists_sid_main_binary-amd64_Packages \
| grep-dctrl -n -s Package '' | sort -u
find the source packages (-T debsrc) that have in a relation builds-from with all the binary package in the reverse dependency cone of libssl-dev (a specific version constraint).
dose-ceve --deb-builds-from --deb-native-arch=amd64 -T debsrc \
-r 'libssl-dev (>= 0.9.8)' deb://Sid-amd64-Packages-050812.bz2 \
debsrc://Sid-Sources-050812.bz2
π that's the whole page bestie. every flag, every default, every weird little typo β all preserved, no cap. go build some dependency cones, you ate. π«Ά
okay mwah, that's a wrap β this is DOSE Tools, dated 2026-07-06, and you're officially a ceve girlie now. periodt. π
β¨
π¦ where this page comes from
- ubuntu stonking: dose-extra 7.0.0-8build2 Β· LGPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms