.\" 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 "botch 1" .TH botch 1 "2018-11-22" "perl v5.28.0" "botch 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" botch \- bootstrap/build order tool chain .SH "DESCRIPTION" .IX Header "DESCRIPTION" botch is a collection of tools to create and analyze dependency graphs. This task is facilitated by a range of individual tools which use the deb822 and graphml formats to exchange information with each other. .PP Also consider browsing the \s-1HTML\s0 based doc-base Manual at \fI/usr/share/doc/botch/wiki/Home.html\fR .PP The tools that botch ships allow one to: .IP "set operations on Packages or Sources files" 4 .IX Item "set operations on Packages or Sources files" .RS 4 .PD 0 .IP "\fBbotch-packages-difference\fR: calculate the asymmetric set difference" 4 .IX Item "botch-packages-difference: calculate the asymmetric set difference" .IP "\fBbotch-packages-intersection\fR: calculate the set intersection" 4 .IX Item "botch-packages-intersection: calculate the set intersection" .IP "\fBbotch-packages-union\fR: calculate the set union" 4 .IX Item "botch-packages-union: calculate the set union" .RE .RS 4 .RE .IP "transform Packages and Sources control files" 4 .IX Item "transform Packages and Sources control files" .RS 4 .IP "\fBbotch-latest-version\fR: only keep the latest version" 4 .IX Item "botch-latest-version: only keep the latest version" .IP "\fBbotch\-bin2src\fR: convert binary packages to their source packages" 4 .IX Item "botch-bin2src: convert binary packages to their source packages" .IP "\fBbotch\-src2bin\fR: turn source packages into their binary packages" 4 .IX Item "botch-src2bin: turn source packages into their binary packages" .IP "\fBbotch-clean-repository\fR: clean errors in a repository by removing transitively uninstallable or compilable packages" 4 .IX Item "botch-clean-repository: clean errors in a repository by removing transitively uninstallable or compilable packages" .IP "\fBbotch-add-arch\fR: add architecture to source packages" 4 .IX Item "botch-add-arch: add architecture to source packages" .IP "\fBbotch-convert-arch\fR: convert the architecture of a Packages file" 4 .IX Item "botch-convert-arch: convert the architecture of a Packages file" .IP "\fBbotch-remove-virtual-disjunctions\fR: remove virtual dependency disjunctions" 4 .IX Item "botch-remove-virtual-disjunctions: remove virtual dependency disjunctions" .IP "\fBbotch-optuniv\fR: self contained repository with minimal number of source packages" 4 .IX Item "botch-optuniv: self contained repository with minimal number of source packages" .IP "\fBbotch-fix-cross-problems\fR: fix Packages files with the output of \fBbotch-cross-problems\fR" 4 .IX Item "botch-fix-cross-problems: fix Packages files with the output of botch-cross-problems" .IP "\fBbotch-filter-src-builds-for\fR: filter a Sources file for the packages building for a certain architecture" 4 .IX Item "botch-filter-src-builds-for: filter a Sources file for the packages building for a certain architecture" .RE .RS 4 .RE .IP "analysis of Packages and Sources control files" 4 .IX Item "analysis of Packages and Sources control files" .RS 4 .IP "\fBbotch-packages-diff\fR: create a diff between two Packages or Sources files" 4 .IX Item "botch-packages-diff: create a diff between two Packages or Sources files" .IP "\fBbotch-ma-diff\fR: diff two packages files for differences in their multiarch values" 4 .IX Item "botch-ma-diff: diff two packages files for differences in their multiarch values" .IP "\fBbotch-apply-ma-diff\fR: applies a multiarch diff as created by \fBbotch-ma-diff\fR" 4 .IX Item "botch-apply-ma-diff: applies a multiarch diff as created by botch-ma-diff" .IP "\fBbotch-check-ma-same-versions\fR: check if Multi\-Arch:same versions are in sync" 4 .IX Item "botch-check-ma-same-versions: check if Multi-Arch:same versions are in sync" .RE .RS 4 .RE .IP "create graphs of different types" 4 .IX Item "create graphs of different types" .RS 4 .IP "\fBbotch-create-graph\fR: create graph based on installation sets, strong dependency sets or dependency closures" 4 .IX Item "botch-create-graph: create graph based on installation sets, strong dependency sets or dependency closures" .IP "\fBbotch-annotate-strong\fR: add strong dependency information to a dependency graph" 4 .IX Item "botch-annotate-strong: add strong dependency information to a dependency graph" .RE .RS 4 .RE .IP "conversion of graphs" 4 .IX Item "conversion of graphs" .RS 4 .IP "\fBbotch\-buildgraph2srcgraph\fR: converts a buildgraph into a srcgraph" 4 .IX Item "botch-buildgraph2srcgraph: converts a buildgraph into a srcgraph" .IP "\fBbotch\-graphml2dot\fR: converts graphml to dot" 4 .IX Item "botch-graphml2dot: converts graphml to dot" .IP "\fBbotch-collapse-srcgraph\fR: make a srcgraph acyclic by collapsing its strongly connected components" 4 .IX Item "botch-collapse-srcgraph: make a srcgraph acyclic by collapsing its strongly connected components" .IP "\fBbotch-profile-build-fvs\fR: remove droppable dependencies from graph" 4 .IX Item "botch-profile-build-fvs: remove droppable dependencies from graph" .IP "\fBbotch\-buildgraph2packages\fR: convert buildgraph to packages" 4 .IX Item "botch-buildgraph2packages: convert buildgraph to packages" .IP "\fBbotch-graph-tred\fR: find the transitive reduction of a graph in GraphML or dot format" 4 .IX Item "botch-graph-tred: find the transitive reduction of a graph in GraphML or dot format" .IP "\fBbotch\-graph2text\fR: for each vertex in a graph print a formatted line on standard output" 4 .IX Item "botch-graph2text: for each vertex in a graph print a formatted line on standard output" .RE .RS 4 .RE .IP "extract regions from graphs" 4 .IX Item "extract regions from graphs" .RS 4 .IP "\fBbotch-graph-neighborhood\fR: extract the neighborhood around a vertex" 4 .IX Item "botch-graph-neighborhood: extract the neighborhood around a vertex" .IP "\fBbotch-extract-scc\fR: extract all strongly connected components" 4 .IX Item "botch-extract-scc: extract all strongly connected components" .IP "\fBbotch-graph-ancestors\fR: find all ancestors of a vertex in a graph in GraphML or dot format" 4 .IX Item "botch-graph-ancestors: find all ancestors of a vertex in a graph in GraphML or dot format" .IP "\fBbotch-graph-descendants\fR: find all descendants of a vertex in a graph in GraphML or dot format" 4 .IX Item "botch-graph-descendants: find all descendants of a vertex in a graph in GraphML or dot format" .IP "\fBbotch-graph-shortest-path\fR: find the shortest path(s) between two vertices of a graph in GraphML or dot format" 4 .IX Item "botch-graph-shortest-path: find the shortest path(s) between two vertices of a graph in GraphML or dot format" .IP "\fBbotch-graph-sinks\fR: find all sinks (vertices without successors) in a graph in GraphML or dot format" 4 .IX Item "botch-graph-sinks: find all sinks (vertices without successors) in a graph in GraphML or dot format" .IP "\fBbotch-graph-sources\fR: find all sources (vertices without predecessors) in a graph in GraphML or dot format" 4 .IX Item "botch-graph-sources: find all sources (vertices without predecessors) in a graph in GraphML or dot format" .RE .RS 4 .RE .IP "dose3 wrappers" 4 .IX Item "dose3 wrappers" .RS 4 .IP "\fBbotch\-dose2html\fR: turn the yaml output by \fBdose-builddebcheck\fR into html" 4 .IX Item "botch-dose2html: turn the yaml output by dose-builddebcheck into html" .IP "\fBbotch-buildcheck-more-problems\fR: a tool like dose-builddebcheck but return more than the first reason" 4 .IX Item "botch-buildcheck-more-problems: a tool like dose-builddebcheck but return more than the first reason" .IP "\fBbotch-distcheck-more-problems\fR: a tool like dose-distcheck but return more than the first reason" 4 .IX Item "botch-distcheck-more-problems: a tool like dose-distcheck but return more than the first reason" .RE .RS 4 .RE .IP "analyze graphs" 4 .IX Item "analyze graphs" .RS 4 .IP "\fBbotch-calcportsmetric\fR: calculate source package importance" 4 .IX Item "botch-calcportsmetric: calculate source package importance" .IP "\fBbotch-calculate-fas\fR: calculate a feedback arc set" 4 .IX Item "botch-calculate-fas: calculate a feedback arc set" .IP "\fBbotch-find-fvs\fR: calculate a feedback vertex set" 4 .IX Item "botch-find-fvs: calculate a feedback vertex set" .IP "\fBbotch-graph-difference\fR: graph diff" 4 .IX Item "botch-graph-difference: graph diff" .IP "\fBbotch-graph-info\fR: show info about a buildgraph or sourcegraph" 4 .IX Item "botch-graph-info: show info about a buildgraph or sourcegraph" .IP "\fBbotch-partial-order\fR: calculate the partial vertex order" 4 .IX Item "botch-partial-order: calculate the partial vertex order" .IP "\fBbotch-print-stats\fR: find cycles, selfcycles, amount of cycles through edges, feedback arc and vertex set, strong articulation points and bridges" 4 .IX Item "botch-print-stats: find cycles, selfcycles, amount of cycles through edges, feedback arc and vertex set, strong articulation points and bridges" .IP "\fBbotch-multiarch-interpreter-problem\fR: find all arch:all packages that allow switching architectures" 4 .IX Item "botch-multiarch-interpreter-problem: find all arch:all packages that allow switching architectures" .RE .RS 4 .RE .IP "create build orders" 4 .IX Item "create build orders" .RS 4 .IP "\fBbotch-build-fixpoint\fR: find build order until dependency cycles occur" 4 .IX Item "botch-build-fixpoint: find build order until dependency cycles occur" .IP "\fBbotch-build-order-from-zero\fR: find a build order for a non-existing architecture" 4 .IX Item "botch-build-order-from-zero: find a build order for a non-existing architecture" .IP "\fBbotch-wanna-build-sortblockers\fR: importance of source packages for ports" 4 .IX Item "botch-wanna-build-sortblockers: importance of source packages for ports" .RE .RS 4 .RE .IP "handling of botch-internal formats" 4 .IX Item "handling of botch-internal formats" .RS 4 .IP "\fBbotch-stat-html\fR: turn the \s-1JSON\s0 output of \fBbotch-print-stats\fR into human readable \s-1HTML\s0" 4 .IX Item "botch-stat-html: turn the JSON output of botch-print-stats into human readable HTML" .IP "\fBbotch-droppable-diff\fR: difference between two *.droppable files" 4 .IX Item "botch-droppable-diff: difference between two *.droppable files" .IP "\fBbotch-droppable-union\fR: union of two *.droppable files" 4 .IX Item "botch-droppable-union: union of two *.droppable files" .IP "\fBbotch-checkfas\fR: check which edges in the fas are not droppable" 4 .IX Item "botch-checkfas: check which edges in the fas are not droppable" .IP "\fBbotch-fasofstats\fR: extract feedback arc set from output of \fBbotch-print-stats\fR" 4 .IX Item "botch-fasofstats: extract feedback arc set from output of botch-print-stats" .IP "\fBbotch-download-pkgsrc\fR: download Packages and Sources" 4 .IX Item "botch-download-pkgsrc: download Packages and Sources" .RE .RS 4 .RE .IP "shell scripts connecting the tools for meaningful operations" 4 .IX Item "shell scripts connecting the tools for meaningful operations" .RS 4 .IP "\fBbotch-cross\fR: execute botch tools in the cross phase" 4 .IX Item "botch-cross: execute botch tools in the cross phase" .IP "\fBbotch-native\fR: execute botch tools in the native phase" 4 .IX Item "botch-native: execute botch tools in the native phase" .IP "\fBbotch-transition\fR: calculate a transition order" 4 .IX Item "botch-transition: calculate a transition order" .IP "\fBbotch-y-u-no-bootstrap\fR: Find out why Debian cannot be bootstrapped." 4 .IX Item "botch-y-u-no-bootstrap: Find out why Debian cannot be bootstrapped." .IP "\fBbotch-y-u-b-d-transitive-essential\fR: Find out why source packages are B\-D transitive essential." 4 .IX Item "botch-y-u-b-d-transitive-essential: Find out why source packages are B-D transitive essential." .RE .RS 4 .RE .PD .SH "SEE ALSO" .IX Header "SEE ALSO" Debian doc-base Manual \fI/usr/share/doc/botch/wiki/Home.html\fR .SH "AUTHOR" .IX Header "AUTHOR" This man page was written by Johannes Schauer. Botch is written by Johannes Schauer and Pietro Abate. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2012\-2014 Johannes Schauer, Pietro Abate .PP This program is free software: you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. A special linking exception to the \s-1GNU\s0 Lesser General Public License applies to this library, see the \s-1COPYING\s0 file for more information.