botch - bootstrap/build order tool chain
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.
Debian doc-base Manual
/usr/share/doc/botch/wiki/Home.html
This man page was written by Johannes Schauer. Botch is written by Johannes
Schauer and Pietro Abate.
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.