=head1 NAME

botch-build-closure - calculate a self-contained repository of close to minimal size

=head1 SYNOPSIS

=over

=item B<botch-build-closure> [options] B<--minimal=>I<minimal> B<--bg=>I<Sources> I<Packages...> I<InitSources>

=back

=head1 DESCRIPTION

Given a source packages control file I<InitSources> in deb822 format, print the list of
binary packages of a self-contained repository which is created starting
from the source packages in I<Sources> on standard output.

=head1 OPTIONS

=over 4

=item B<--version>

show program's version and exit

=item B<-h, --help>

show this help message and exit

=item B<-v, --verbose>

print additional information

=item B<--quiet>

do no print any messages

=item B<-m, --minimal=>I<MINIMAL>

A deb822 file containing the binary packages of a minimal build system. Must be
a coinstallation set as calculated by dose-deb-coinstall.

=item B<--keep-indep>

Do not drop Build-Depends-Indep dependencies

=item B<--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.

=item B<--fg=>I<PKGS>

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

=item B<--bg=>I<PKGS>

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

=item B<-o, --outfile=>I<FILE>

Set the output file I<FILE>

=item B<--deb-native-arch=>I<ARCH>

Native architecture I<ARCH>

=item B<--deb-host-arch=>I<arch>

Host architecture I<arch>. Defaults to native architecture.

=item B<--deb-foreign-archs=>I<archs>

Comma-separated foreign architectures in addition to native and host
architectures.

=back

=head1 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
 botch-build-closure --deb-native-arch=amd64 --minimal=minimal-amd64 --bg sources packages minimal-src > 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 I<min-closure> and
I<min-closure-src>.

=head1 BUGS

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

=head1 SEE ALSO

Debian doc-base Manual F</usr/share/doc/botch/wiki/Home.html>

=head1 AUTHOR

This man page was written by Johannes Schauer. Botch is written by Johannes
Schauer and Pietro Abate.

=head1 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.

