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:
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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.
-
- 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
-
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 AbateThis 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.