.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" 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 .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" .\" 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 "DEB-BUILDCHECK 1" .TH DEB-BUILDCHECK 1 "2017-08-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\-builddebcheck \- Check if a package can be built on a Debian system .SH "SYNOPSIS" .IX Header "SYNOPSIS" .IP "\fBdose-builddebcheck\fR \fB\-\-deb\-native\-arch=\fR\fIname\fR [options] \fIbinary-repositories\fR \fIsource-repository\fR" 4 .IX Item "dose-builddebcheck --deb-native-arch=name [options] binary-repositories source-repository" .SH "DESCRIPTION" .IX Header "DESCRIPTION" dose-builddebcheck determines, for a set of debian source package control stanzas, called the source repository, whether a build environment for the packages of the source repository can be installed on the specified native architecture by using packages from the binary repository. For this, only package meta-information is taken into account: build-dependencies and build-conflicts in the source package, and inter-package relationsships expressed in the binary repository. The constraint solving algorithm is complete, that is it finds a solution whenever there exists one, even for multiple disjunctive dependencies and deep package conflicts. This problem is computationally infeasible in theory (that is, NP-complete), but can be solved very efficiently for package repositories that actually occur in practice. Installability of binary packages is analyzed according to their \fBDepends\fR, \fBConflicts\fR, and \fBProvides\fR fields with their meaning as of Debian policy version 3.9.0. \fBPre-depends\fR are treated like \fBDepends\fR, and \fBBreaks\fR are treated like \&\fBConflicts\fR. .SH "INPUT FORMAT" .IX Header "INPUT FORMAT" The \fBbinary-repositories\fR argument is a list of filenames containing stanzas in the format of \fIdeb\-control\fR\|(5), separated by one blank line. For instance, the Packages files as found on a Debian mirror server, or in the directory \&\fI/var/lib/apt/lists/\fR of a Debian system, are suitable. The \&\fBsource-repository\fR argument is the name of a file containing debian source control stanzas, separated by one blank line. For instance, the Sources files as found on a Debian mirror server, or in the directory \fI/var/lib/apt/lists/\fR of a Debian system, are suitable. \fBbinary-repositories\fR and \&\fBsource-repository\fR can be passed in compresssed format (.gz , .bz2). .PP Multi-arch annotations are correctly considered by dose-builddebcheck. Packages whose's architecture is neither the native architecture nor in the list of foreign architectures (see below) are ignored. Here, native and foreign refers at the same time to the architecture on which the compilation will be run, and to the host architecture of the compilation. Cross-compilation is supported by specifying the \fIhost\fR architecture. .SH "OPTIONS" .IX Header "OPTIONS" .SS "\s-1MISC OPTIONS\s0" .IX Subsection "MISC OPTIONS" .IP "\fB\-\-version\fR" 8 .IX Item "--version" Show program's version and exit. .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" Enable info / warnings / debug messages. This option may be repeated up to three times in order to increase verbosity. .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-1DISTCHECK OPTIONS\s0" .IX Subsection "DISTCHECK OPTIONS" .IP "\fB\-e, \-\-explain\fR" 8 .IX Item "-e, --explain" Give explanations. If used together with \-\-failures then the explanation consists of dependency chains leading to a conflict or a dependency on a missing package. If used together with \-\-successes then the explanation consists of an installation set. .IP "\fB\-m\fR, \fB\-\-explain\-minimal\fR" 8 .IX Item "-m, --explain-minimal" For all packages \fBP\fR that are found installable, and when used in conjunction with \fB\-\-successes\fR, prints a reduced installation set containing only those packages in the dependency cone of \fBP\fR. When used with Debian repositories, all essential packages and their dependencies that are not in the cone of \fBP\fR are omitted. When used in conjunction with \fB\-\-failures\fR, and \fB\-\-explain\fR, all dependencies chains are not printed. .IP "\fB\-c\fR, \fB\-\-explain\-condense\fR" 8 .IX Item "-c, --explain-condense" Compress explanation graph .IP "\fB\-f \-\-failures\fR" 8 .IX Item "-f --failures" Only show broken packages that fail the installability check. .IP "\fB\-s \-\-successes\fR" 8 .IX Item "-s --successes" Only show packages that do not fail the installability check. .IP "\fB\-\-summary\fR" 8 .IX Item "--summary" Gives a more detailed summary of the findings. .SS "\s-1INPUT OPTIONS\s0" .IX Subsection "INPUT OPTIONS" .IP "\fB\-\-checkonly\fR \fIpackage\fR [,\fIpackage\fR] ..." 8 .IX Item "--checkonly package [,package] ..." Takes a comma-separated list of package names, each of them possibly with a version constraint, as argument. The foreground is constituted of all packages that match any of the expressions, all other packages are pushed into the background. The initial distinction between foreground and background is ignored. This option must not be combined with \fB\-\-coinst\fR. .Sp Example: \-\-checkonly \*(L"libc6 , 2ping (= 1.2.3\-1)\*(R" .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. .SS "\s-1OUTPUT OPTIONS\s0" .IX Subsection "OUTPUT OPTIONS" .IP "\fB\-o, \-\-outfile=\fR \fIfile\fR" 8 .IX Item "-o, --outfile= file" Send output to \fIfile\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\-\-dump=\fR\fIfile\fR" 8 .IX Item "--dump=file" Dump the cudf file. .SS "\s-1DEBIAN OPTIONS\s0" .IX Subsection "DEBIAN OPTIONS" .IP "\fB\-\-deb\-native\-arch=\fR\fIname\fR" 8 .IX Item "--deb-native-arch=name" Specify the native architecture. This argument is mandatory. .IP "\fB\-\-deb\-host\-arch=\fR\fIname\fR..." 8 .IX Item "--deb-host-arch=name..." Specify the host architecture. .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. If \fB\-\-deb\-host\-arch\fR is set, it is used as an implicit foreign architecture. .IP "\fB\-\-deb\-ignore\-essential\fR" 8 .IX Item "--deb-ignore-essential" Do not consider essential packages as part of the installation problem. By default all essential package are considered as part of the installation problem for all packages, that is a package is installable if and only if it is co-installable with all essential packages. This option allows the user to test the installability with no essential packages installed. .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\-\-deb\-tupletable=\fR\fIfile\fR" 8 .IX Item "--deb-tupletable=file" Path to an architecture tuple table like /usr/share/dpkg/tupletable .IP "\fB\-\-deb\-cputable=\fR\fIfile\fR" 8 .IX Item "--deb-cputable=file" Path to a cpu table like /usr/share/dpkg/cputable .IP "\fB\-\-deb\-defaulted\-m\-a\-foreign\fR" 8 .IX Item "--deb-defaulted-m-a-foreign" Convert Arch:all packages to Multi-Arch: foreign .IP "\fB\-\-deb\-drop\-b\-d\-indep\fR" 8 .IX Item "--deb-drop-b-d-indep" Drop Build-Indep dependencies .IP "\fB\-\-deb\-drop\-b\-d\-arch\fR" 8 .IX Item "--deb-drop-b-d-arch" Drop Build-Arch dependencies .IP "\fB\-\-deb\-include\-extra\-source\fR" 8 .IX Item "--deb-include-extra-source" Include packages with Extra\-Source\-Only:yes (dropped by default) .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\-emulate\-sbuild\fR" 8 .IX Item "--deb-emulate-sbuild" Replicate sbuild behaviour to only keep the first alternative of build dependencies. .SH "EXIT CODES" .IX Header "EXIT CODES" Exit codes 0\-63 indicate a normal termination of the program, codes 64\-127 indicate abnormal termination of the program (such as parse errors, I/O errors). .PP In case of normal program termination: .PP \&\- exit code 0 indicates that all foreground packages are found installable; .PP \&\- exit code 1 indicates that at least one foreground package is found uninstallable. .SH "EXAMPLE" .IX Header "EXAMPLE" Compute the list of source packages in Sources for which it is not possible to install a build environment on i386, assuming that the binary packages described in file Packages are available: .PP .Vb 3 \& dose\-builddebcheck \-v \-f \-e \-\-deb\-native\-arch=amd64 \e \& /var/lib/apt/lists/ftp.fr.debian.org_debian_dists_sid_main_binary\-amd64_Packages\e \& /var/lib/apt/lists/ftp.fr.debian.org_debian_dists_sid_main_source_Sources .Ve .PP Compute the list of source packages for armel in Sources for which it is not possible to install a mix build environment on amd64 plus armel, assuming that the binary packages described in file Packages are available: .PP .Vb 4 \& dose\-builddebcheck \-\-failures \-\-successes \-\-deb\-native\-arch=amd64 \e \& \-\-deb\-foreign\-archs=armel,linux\-any \-\-deb\-host\-arch=armel \e \& DebianPackages/Sid\-amd64\-armel\-Packages\-050812.bz2 \& DebianPackages/Sid\-Sources\-single\-version\-050812.bz2 .Ve .SH "AUTHOR" .IX Header "AUTHOR" The current version has been rewritten on the basis of the dose3 library by Pietro Abate; it replaces an earlier version that was simply a wrapper for edos-distcheck. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBdeb-control\fR(5), \&\fBdose-distcheck\fR(1) .PP is the home page of the \s-1EDOS\s0 project. is the home page of the Mancoosi project.