.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "CEVE 1" .TH CEVE 1 "2019-01-29" " " "DOSE Tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" dose\-ceve \- parse package metadata .SH "SYNOPSIS" .IX Header "SYNOPSIS" .IP "\fBdose-ceve\fR [\-h] [\-v] [\-c \fIpkgspec\fR] [\-r \fIpkgspec\fR] [\-\-depth=\fIn\fR]\fI\fR [\-T \fIformat\fR] [\-G \fIgraph type\fR] [\-o \fIfilename\fR] \fIinput-spec\fR [\fIinput-spec\fR...]" 4 .IX Item "dose-ceve [-h] [-v] [-c pkgspec] [-r pkgspec] [--depth=n] [-T format] [-G graph type] [-o filename] input-spec [input-spec...]" .SH "DESCRIPTION" .IX Header "DESCRIPTION" Dose-ceve is a generalized metadata parser. It reads package specifications, extracts package metadata from them, performs some manipulations, and outputs the package metadata in one of several formats. .PP \&\fIinput-spec\fR is a url specifying the input format and the file to get the input from. For a possible list of schemes, see the \fB\-t\fR parameter. .PP Some examples of URLs: .IP "." 4 deb://Packages.gz (the Debian file packages.gz in the current directory) .IP "." 4 cudf:///home/examples/cudf/test.cudf (the \s-1CUDF\s0 file /home/examples/cudf/test.cudf) .SH "OPTIONS" .IX Header "OPTIONS" .SS "\s-1MISC OPTIONS\s0" .IX Subsection "MISC OPTIONS" .IP "\fB\-h, \-\-help\fR" 8 .IX Item "-h, --help" This option displays the help message. .IP "\fB\-v, \-\-verbose\fR" 8 .IX Item "-v, --verbose" Be verbose. This option can be repeated for more verbosity. .IP "\fB\-\-version\fR" 8 .IX Item "--version" Show program's version and exit. .IP "\fB\-\-progress\fR" 8 .IX Item "--progress" Print progress bars. .IP "\fB\-\-timers\fR" 8 .IX Item "--timers" Print timing information. .IP "\fB\-\-quiet\fR" 8 .IX Item "--quiet" Do no print any messages. .SS "\s-1INPUT OPTIONS\s0" .IX Subsection "INPUT OPTIONS" Dose3 accepts files compressed with \fBgzip\fR\|(1) or \fBbzip2\fR\|(1), depending on compile-time options. .IP "\fB\-t \fR\fIinput-spec\fR" 8 .IX Item "-t input-spec" Select the input type. Possible values are: .IP "." 8 \&\fBcudf\fR Cudf file format .IP "." 8 \&\fBpef\fR \s-1PEF\s0 file format. The \s-1PEF\s0 format (Package Exchange Format) is a generic 822 file format used to encode package dependencies. \fBdeb\fR, \fBopam\fR, \fBdebsrc\fR and \&\fBedsp\fR are all based on the pef format .IP "." 8 \&\fBcsw\fR OpenCSW Solaris packages binary format .IP "." 8 \&\fBopam\fR Opam Package universe in Opam/PEF format. This format is a 822 textual format encoding the opam universe. .IP "." 8 \&\fBdeb\fR for Debian binary package files, also known as Packages files. .IP "." 8 \&\fBdebsrc\fR for Debian source package files, also knows as Sources files. .IP "." 8 \&\fBedsp\fR apt-get External Dependency Solver Protocol .IP "." 8 \&\fBhdlist\fR \s-1RPM\s0 hdlists. Binary file format. .IP "." 8 \&\fBsynthesis\fR urpmi synthesis hdlists. \s-1XML\s0 Based format .IP "\fB\-\-trim\fR" 8 .IX Item "--trim" Consider only installable packages. .IP "\fB\-\-latest\fR \fIn\fR" 8 .IX Item "--latest n" Consider only the latest \-\fIn\fR most recent versions of each package, older versions of packages are ignored. .IP "\fB\-c, \-\-cone=\fR\fIvpkglist\fR" 8 .IX Item "-c, --cone=vpkglist" The \fBmatch\fR of an atomic dependency (a package name p possibly together with a version constraint c) is the set of all packages in the repository with name p, and a version that satisfies the constraint c. The dependency cone of a package p is the set of all matches of all atomic dependencies of p, together with their respective dependency cones. The package specification \fIpkgspec\fR is a list of packages (separated by a semicolon), where each package is specified as follows: (\fIname\fR,\fIversion\fR). .Sp This option extracts the union of the dependency cones of all packages selected by \fIvpkglist\fR. .Sp Example: =over 12 .IP "\-c 'golang\-golang\-x\-tools (= 1:0.0~git20150716.0.87156cb+dfsg1\-4),golang\-golang\-x\-tools\-dev'" 8 .IX Item "-c 'golang-golang-x-tools (= 1:0.0~git20150716.0.87156cb+dfsg1-4),golang-golang-x-tools-dev'" .PD 0 .IP "\fB\-r, \-\-rcone=\fR\fIvpkglist\fR" 8 .IX Item "-r, --rcone=vpkglist" .PD Using the same syntax as in \fB\-c\fR, this option use the reverse dependency relation to make the transitive closure. .IP "\fB\-\-depth \fR\fIn\fR" 8 .IX Item "--depth n" In combination with the \fB\-c\fR or \fB\-r\fR options, this specifies the maximum depth for the transitive closure. .IP "\fB\-\-request \fR\fIinstallation-request\fR" 8 .IX Item "--request installation-request" Specifies an installation request of the form "\fBinstall:\fR \fIvpkglist\fR\*(L" or \&\*(R"\fBremove:\fR \fIvpkglist\fR\*(L" or \*(R"\fBupgrade:\fR \fIvpkglist\fR" where \fIvpkglist\fR is 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. .Sp Examples: .RS 8 .ie n .IP "\-\-request ""install: bash (< 2.0), exim (= 3.1\-debian1)"" \-\-request ""upgrade: apt-cudf""" 12 .el .IP "\-\-request ``install: bash (< 2.0), exim (= 3.1\-debian1)'' \-\-request ``upgrade: apt-cudf''" 12 .IX Item "--request install: bash (< 2.0), exim (= 3.1-debian1) --request upgrade: apt-cudf" .RE .RS 8 .RE .SS "\s-1OUTPUT OPTIONS\s0" .IX Subsection "OUTPUT OPTIONS" .PD 0 .IP "\fB\-o, \-\-outfile=\fR\fIfilename\fR" 8 .IX Item "-o, --outfile=filename" .PD Instead of stdout, send output to the file \fIfilename\fR. .IP "\fB\-d, \-\-outdir=\fR\fIdirectory\fR" 8 .IX Item "-d, --outdir=directory" Set the output directory (default current directory) .IP "\fB\-\-dot\fR" 8 .IX Item "--dot" Save the explanation graph (one for each package) in dot format. .IP "\fB\-G \fR\fIgraph type\fR" 8 .IX Item "-G graph type" Specifies the graph type format to compute. This option must be used together with the option \fB\-T \fR\fIdot|gml|grml\fR. Default is \fBsyn\fR. Possible values are: .IP "." 8 \&\fBsyn\fR for the syntactic graph where disjunctions nodes and conflicts are explicitly added to the graph. .IP "." 8 \&\fBpkg\fR for the package graph where all dependencies are threated uniformely and conflicts are not added to the graph. .IP "." 8 \&\fBstrdeps\fR the strong dependency graph. A package p strong depends on q iff p cannot be installed if q is not installed. .IP "." 8 \&\fBstrcnf\fR .IP "." 8 \&\fBconj\fR the conjunctive graph where only conjunctive dependencies are considered. .IP "." 8 \&\fBdom\fR .IP "\fB\-T \fR\fIformat\fR" 8 .IX Item "-T format" Specifies the output format to use. Default is \fBcnf\fR. Possible values are: .IP "." 8 \&\fBcnf\fR output in \s-1CNF\s0 format. .IP "." 8 \&\fBdimacs\fR output in \s-1DIMACS\s0 format for \s-1CNF\s0 formulae. .IP "." 8 \&\fBcudf\fR pretty-printed output in an \s-1RFC\s0 822\-like format .IP "." 8 \&\fBdeb\fR binary packages in deb822 format. .IP "." 8 \&\fBdebsrc\fR source packages in deb822 format. .IP "." 8 \&\fBdot\fR a graph in Dot/GraphViz format. .IP "." 8 \&\fBgml\fR a graph in \s-1GML\s0 format. .IP "." 8 \&\fBgrml\fR a graph in GraphML format. .IP "." 8 \&\fBtable\fR 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. .SS "\s-1DEBIAN SPECIFIC OPTIONS\s0" .IX Subsection "DEBIAN SPECIFIC OPTIONS" Multi-arch annotations are handled by dose-ceve. Packages whose's architecture is neither the native architecture nor in the list of foreign architectures (see below) are ignored. .IP "\fB\-\-deb\-native\-arch=\fR\fIname\fR" 8 .IX Item "--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. .IP "\fB\-\-deb\-foreign\-archs=\fR\fIname\fR [,\fIname\fR] ..." 8 .IX Item "--deb-foreign-archs=name [,name] ..." Specify a comma-separated list of foreign architectures. The default is an empty list of foreign architectures. .IP "\fB\-\-deb\-ignore\-essential\fR" 8 .IX Item "--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. .IP "\fB\-\-deb\-host\-arch=\fR\fIname\fR" 8 .IX Item "--deb-host-arch=name" Native/cross compile host architecture, defaults to native architecture. .IP "\fB\-\-deb\-builds\-from\fR" 8 .IX Item "--deb-builds-from" Add builds-from relationship of binary packages on source packages as dependency. This allows one to create graphs for bootstrapping purposes. .IP "\fB\-P, \-\-deb\-profiles=\fR\fIname\fR[,\fIname\fR...]" 8 .IX Item "-P, --deb-profiles=name[,name...]" Comma separated list of activated build profiles. .IP "\fB\-\-deb\-drop\-b\-d\-indep\fR" 8 .IX Item "--deb-drop-b-d-indep" Drop Build-Depends-Indep dependencies from Debian source packages. .IP "\fB\-\-deb\-drop\-b\-d\-arch\fR" 8 .IX Item "--deb-drop-b-d-arch" Drop Build-Depends-Arch dependencies from Debian source packages. .SH "EXAMPLES" .IX Header "EXAMPLES" Find all the reverse binary dependencies of the package \fBpatchutils\fR: .PP .Vb 3 \& dose\-ceve \-\-deb\-native\-arch amd64 \-r patchutils \-T deb \e \& deb:///var/lib/apt/lists/*_dists_sid_main_binary\-amd64_Packages \e \& | grep\-dctrl \-n \-s Package \*(Aq\*(Aq | sort \-u .Ve .PP Find all the source packages that (directly or indirectly) build depend on \&\fBpatchutils\fR: .PP .Vb 4 \& dose\-ceve \-T debsrc \-\-deb\-native\-arch=amd64 \-r patchutils \e \& debsrc:///var/lib/apt/lists/*_dists_sid_main_source_Sources \e \& deb:///var/lib/apt/lists/*_dists_sid_main_binary\-amd64_Packages \e \& | grep\-dctrl \-n \-s Package \*(Aq\*(Aq | sort \-u .Ve .PP Find the source packages (\-T debsrc) that have in a relation builds-from with all the binary package in the reverse dependency cone of \fBlibssl-dev\fR (a specific version constraint). .PP .Vb 3 \& dose\-ceve \-\-deb\-builds\-from \-\-deb\-native\-arch=amd64 \-T debsrc \e \& \-r \*(Aqlibssl\-dev (>= 0.9.8)\*(Aq deb://Sid\-amd64\-Packages\-050812.bz2 \e \& debsrc://Sid\-Sources\-050812.bz2 .Ve