botch(1)
β¨ botch β bootstrap/build order tool chain β¨
okay bestie, sit down, hydrate, because botch is a whole tool chain and it is lowkey iconic π
πΈ 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. no cap, that's the whole vibe π«
Also consider browsing the HTML based doc-base Manual at /usr/share/doc/botch/wiki/Home.html β it's giving very much "read the docs, bestie" energy πβ¨
The tools that botch ships allow one to:
π set operations on Packages or Sources files
botch-packages-differenceβ calculate the asymmetric set differencebotch-packages-intersectionβ calculate the set intersectionbotch-packages-unionβ calculate the set union
π¦ transform Packages and Sources control files
botch-latest-versionβ only keep the latest versionbotch-bin2srcβ convert binary packages to their source packagesbotch-src2binβ turn source packages into their binary packagesbotch-clean-repositoryβ clean errors in a repository by removing transitively uninstallable or compilable packagesbotch-add-archβ add architecture to source packagesbotch-convert-archβ convert the architecture of aPackagesfilebotch-remove-virtual-disjunctionsβ remove virtual dependency disjunctionsbotch-optunivβ self contained repository with minimal number of source packagesbotch-fix-cross-problemsβ fixPackagesfiles with the output ofbotch-cross-problemsbotch-filter-src-builds-forβ filter aSourcesfile for the packages building for a certain architecture
π analysis of Packages and Sources control files
botch-packages-diffβ create a diff between twoPackagesorSourcesfilesbotch-ma-diffβ diff two packages files for differences in their multiarch valuesbotch-apply-ma-diffβ applies a multiarch diff as created bybotch-ma-diffbotch-check-ma-same-versionsβ check ifMulti-Arch:sameversions are in sync
π create graphs of different types
botch-create-graphβ create graph based on installation sets, strong dependency sets or dependency closuresbotch-annotate-strongβ add strong dependency information to a dependency graph
π§ conversion of graphs
botch-buildgraph2srcgraphβ converts a buildgraph into a srcgraphbotch-graphml2dotβ converts graphml to dotbotch-collapse-srcgraphβ make a srcgraph acyclic by collapsing its strongly connected componentsbotch-profile-build-fvsβ remove droppable dependencies from graphbotch-buildgraph2packagesβ convert buildgraph to packagesbotch-graph-tredβ find the transitive reduction of a graph in GraphML or dot formatbotch-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 vertexbotch-extract-sccβ extract all strongly connected componentsbotch-graph-ancestorsβ find all ancestors of a vertex in a graph in GraphML or dot formatbotch-graph-descendantsβ find all descendants of a vertex in a graph in GraphML or dot formatbotch-graph-shortest-pathβ find the shortest path(s) between two vertices of a graph in GraphML or dot formatbotch-graph-sinksβ find all sinks (vertices without successors) in a graph in GraphML or dot formatbotch-graph-sourcesβ find all sources (vertices without predecessors) in a graph in GraphML or dot format
π dose3 wrappers
botch-dose2htmlβ turn the yaml output bydose-builddebcheckinto htmlbotch-buildcheck-more-problemsβ a tool likedose-builddebcheckbut return more than the first reasonbotch-distcheck-more-problemsβ a tool likedose-distcheckbut return more than the first reason
β analyze graphs
botch-calcportsmetricβ calculate source package importancebotch-calculate-fasβ calculate a feedback arc setbotch-find-fvsβ calculate a feedback vertex setbotch-graph-differenceβ graph diffbotch-graph-infoβ show info about a buildgraph or sourcegraphbotch-partial-orderβ calculate the partial vertex orderbotch-print-statsβ find cycles, selfcycles, amount of cycles through edges, feedback arc and vertex set, strong articulation points and bridgesbotch-multiarch-interpreter-problemβ find allarch:allpackages that allow switching architectures
π create build orders
botch-build-fixpointβ find build order until dependency cycles occurbotch-build-order-from-zeroβ find a build order for a non-existing architecturebotch-wanna-build-sortblockersβ importance of source packages for ports
πΈ handling of botch-internal formats
botch-stat-htmlβ turn the JSON output ofbotch-print-statsinto human readable HTMLbotch-droppable-diffβ difference between two*.droppablefilesbotch-droppable-unionβ union of two*.droppablefilesbotch-checkfasβ check which edges in the fas are not droppablebotch-fasofstatsβ extract feedback arc set from output ofbotch-print-statsbotch-download-pkgsrcβ downloadPackagesandSources
π shell scripts connecting the tools for meaningful operations
botch-crossβ execute botch tools in the cross phasebotch-nativeβ execute botch tools in the native phasebotch-transitionβ calculate a transition orderbotch-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. absolute legends, fr fr π
π 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.
π okay that's the whole page bestie β this one'sperl v5.36.0, dated2023-02-17, and it's thebotch(1)page. go forth and bootstrap, you absolute main character π¦β¨
π¦ where this page comes from
- debian bookworm: botch 0.24-2 Β· LGPL-3.0-or-later WITH OCaml-linking exception
- ubuntu noble: botch 0.24-2 Β· LGPL-3.0-or-later WITH OCaml-linking exception
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms