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