BOTCH-CLEAN-REPOSITORY(1)

✨ BOTCH-CLEAN-REPOSITORY πŸ’–

okay bestie, welcome to the botch-clean-repository manual page β€” it lives in the botch tools section of the manual, and it's genuinely one of the most satisfying little utilities out there. it's giving spring cleaning but for Debian repos. 🧹✨


🌸 NAME 🌸

botch-clean-repository β€” clean errors in a repository by removing transitively uninstallable or compilable packages


πŸ¦‹ SYNOPSIS πŸ¦‹

botch-clean-repository [options] Packages Sources

πŸ’… DESCRIPTION πŸ’…

so here's the vibe: you hand it a repository of binary packages and source packages, and it cleans up that repository by yeeting the stuff that just doesn't work. specifically it removes:

  • packages that can't be compiled or installed
  • packages that don't have an associated binary or source package
  • packages that don't match the specified architecture

and the result? it effectively creates a self contained repository of maximal size. like, the biggest possible repo that still actually works. no cap. πŸ‘‘


✨ OPTIONS ✨

  • --version β€” show the program's version and then dip. bye! πŸ‘‹
  • -h, --help β€” show this help message and exit. classic.
  • -v, --verbose β€” print additional information. spill the tea, we want details πŸ’¬
  • --quiet β€” do no print any messages. (yes, the original says "do no print" and honestly? iconic. keeping it exactly as-is.) 🀫
  • --reqsrcarchall β€” require source packages for arch:all binary packages
  • --addsrcarchall β€” add source packages which only build arch:all binary packages
  • --deb-drop-b-d-indep β€” Drop Build-Depends-Indep dependencies
  • --deb-drop-b-d-arch β€” Drop Build-Depends-Arch dependencies
  • --allowsrcmismatch β€” If a binary package is without a source package but there is a source package of same name but different version, match this binary package to that source package. (a little matchmaking, we love to see it πŸ’˜)
  • --progress β€” print progress bars. loading bar ASMR 🫢
  • -o, --outfile=FILE β€” Set the output file FILE
  • --deb-native-arch=ARCH β€” Native architecture ARCH
  • --deb-host-arch=arch β€” Host architecture arch. Defaults to native architecture.
  • --deb-foreign-archs=archs β€” Comma-separated foreign architectures in addition to native and host architectures.
  • --deb-ignore-essential β€” By default, installing any binary package requires the coinstallation set of all binary packages marked as Essential:yes to be installed as well. This option drops this requirement.

πŸŽ€ EXAMPLE πŸŽ€

Clean up a repository:

botch-clean-repository --deb-native-arch=amd64 packages sources > packages-clean
botch-bin2src --deb-native-arch=amd64 packages-clean sources > sources-clean

see how botch-clean-repository feeds straight into botch-bin2src? pipeline slay. πŸ”₯


πŸ’€ BUGS πŸ’€

See <http://bugs.debian.org/botch>.


🌈 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. (shoutout to the devs fr fr πŸ™Œ)


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.


ok that's the whole page bestie, go forth and clean some repositories πŸ’–

perl v5.36.0 Β· 2023-02-17 β€” mwah, that's a wrap, BOTCH-CLEAN-REPOSITORY(1) out πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from