---
name: "botch-create-graph"
section: "1"
platform: "linux"
package: "botch"
version: "0.24-6+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/botch-create-graph"
---

# botch-create-graph(1)

create graph based on installation sets, strong dependency sets or dependency closures

## NAME

botch-create-graph - create graph based on installation sets, strong dependency sets or dependency closures

## SYNOPSIS

- **botch-create-graph** \[options\] *Packages..* *Sources*

  ## DESCRIPTION

Given a repository of source packages and binary packages, create the build graph and source graph for it

## OPTIONS

- **--version**

  show program's version and exit

- **-h, --help**

  show this help message and exit

- **-v, --verbose**

  print additional information

- **--quiet**

  do no print any messages

- **-A, --available=***FILE*

  List of available packages (arch:all, crossed...) in control file format

- **--custom-is=***FILE*

  list of files with dependencies that should not be part of the IS

- **--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.

- **--progress**

  print progress bars

- **--timers**

  print timing information

- **--strongtype**

  generate a strong build graph (only strong dependencies)

- **--closuretype**

  generate a dependency closure build graph (all dependency relationships)

- **--fg=***PKGS*

  Additional Packages lists that are checked and used for resolving dependencies (can be repeated)

- **--bg=***PKGS*

  Additional Packages lists that are NOT checked but used for resolving dependencies (can be repeated)

- **--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.

- **--optgraph**

  Calculate a dependency graph where each installation set contains the minimal number of unavailable binary packages.

## EXAMPLE

Calculate a self-contained repository:

```
 zcat packages | grep-dctrl -X \( -FPackage build-essential --or -FEssential yes \) > minimal
 dose-deb-coinstall --deb-native-arch=amd64 --bg=packages --fg=minimal > minimal-amd64
 botch-bin2src --deb-native-arch=amd64 minimal-amd64 sources > minimal-src
 grep-dctrl -FArchitecture all packages > available
 botch-create-graph --deb-ignore-essential -A available --deb-native-arch=amd64 --bg sources packages minimal-src > graph.xml
 botch-buildgraph2packages graph.xml packages > min-closure
 botch-packages-union min-closure minimal-amd64 min-closure
 botch-bin2src --deb-native-arch=amd64 min-closure sources > min-closure-src
 dose-builddebcheck --deb-native-arch=amd64 min-closure min-closure-src
```

The self-contained repository will then be *min-closure* and *min-closure-src*.

## 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.

## 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.
