man germinate (Commandes) - germinate

NAME

germinate - expand dependencies in a list of seed packages

SYNOPSIS

[-S source] [-s dist] [-m mirror] [-d dist Ns ,...] [-a arch] [-c component Ns ,...] [-i] [--bzr] [--no-rdepends]

DESCRIPTION

is a program to help with the maintenance of large software distributions. It takes a list of seed packages and a mirror of the distribution, and produces outputs with the seed packages and their dependencies and build-dependencies expanded out in full.

Seeds

The contents of the Ubuntu distribution, and others, are managed by means of At their simplest, these are lists of packages which are considered important to have in the main component of the distribution, without explicitly listing all their dependencies and build-dependencies.

Seed lists are typically divided up by category: a base or minimal seed might list the core set of packages required to make the system run at all, while a desktop seed might list the set of packages installed as part of a default desktop installation. takes these seeds, adds their dependency trees, and produces an for each seed which contains a dependency-expanded list of package names. These outputs may be handed on to archive maintenance or CD-building tools.

Some seeds may from other seeds: they rely on those seeds to be installed. For example, a desktop seed will typically inherit from a minimal seed. understands these inheritance relationships. If a package in the desktop seed depends on but is already part of the minimal seed or dependency list, then will not be added to the desktop output.

Seeds are stored in text files downloaded from a given URL. Lines not beginning with (wiki-style list markup) are ignored. A STRUCTURE file alongside the seeds lists their inheritance relationships.

Build-dependencies and Sq supported

There is typically no need for a default desktop installation to contain all the compilers and development libraries needed to build itself from source; if nothing else, it would consume much more space. Nevertheless, it is normally a requirement for the maintainers of a distribution to support all the packages necessary to build that distribution.

therefore does not add all the packages that result from following build-dependencies of seed packages and of their dependencies (the to every output, unless they are also in the seed or in the dependency list. Instead, it adds them to the special supported seed.

Like any other seed, the supported seed may contain its own list of packages. It is common to provide support for many software packages which are not in the default installation, such as debugging libraries, optimised kernels, alternative language support, and the like.

Outputs

The output files are named after the seed to which they correspond. An additional output file is needed for supported, namely which contains the supported list and the build-depends lists of the other seeds all joined together. An output is produced to represent the entire archive.

Some other files are produced for occasional use by experts. See the README file for full details on these.

OPTIONS

Xo -S ,
--seed-source source Fetch seeds from source . The default is http://people.ubuntu.com/~cjwatson/seeds/ .
Xo -s ,
--seed-dist dist Fetch seeds for distribution dist . The default is dapper .
Xo -m ,
--mirror mirror Get package lists from mirror . The default is http://archive.ubuntu.com/ubuntu/ .
Xo -d ,
--dist dist Ns ,... Operate on the specified distributions. The default is dapper . Listing multiple distributions may be useful, for example, when examining both a released distribution and its security updates.
Xo -a ,
--arch arch Operate on architecture arch . The default is i386 .
Xo -c ,
--components component Ns ,... Operate on the specified components. The default is main .
Xo -i ,
--ipv6 Check IPv6 status of source packages, using the statistics available at http://debdev.fabbione.net/stat/ .
--bzr
Check out seeds from the bzr branch found at seed-source Ns / Ns seed-dist rather than fetching them directly from a URL. Requires bzr to be installed.
--no-rdepends
Disable reverse-dependency calculations. These calculations cause a large number of small files to be written out in the rdepends/ directory, and may take some time.
--seed-packages parent Ns / Ns pkg Ns ,...
Treat each pkg as a seed by itself, inheriting from parent (i.e. assuming that all packages in the parent seed are already installed while calculating the additional dependencies of pkg ) . This allows the use of to calculate the dependencies of individual extra packages.

BUGS

The wiki-style markup in seeds was inherited from an early implementation, and is a wart.

can sometimes be confused by complicated situations involving the order in which it encounters dependencies on virtual packages. Explicit entries in seeds may be required to work around this.

Handling of installer packages (udebs) is complicated, poorly documented, and doesn't always work quite right: in particular, packages aren't demoted to the supported seed when they should be.

The supported seed is more hard-coded than it should be.

AUTHORS

Scott James Remnant Aq scott@canonical.com Colin Watson Aq cjwatson@canonical.com

-nosplit is copyright © 2004, 2005 Canonical Ltd . See the GNU General Public License version 2 or later for copying conditions. A copy of the GNU General Public License is available in /usr/share/common-licenses/GPL .