GERMINATE-UPDATE-METAPACKAGE(1)

NAME
germinate-update-metapackage - update a set of metapackages generated from seeds

SYNOPSIS
germinate-update-metapackage [- -vcs] [- -output-directory dir] [dist]

DESCRIPTION
germinate-update-metapackage assists with the construction and update of “metapackages” (packages consisting solely of a list of dependencies) from a list of seed packages. It updates binary package stanzas in debian/control to reflect the current contents of the seeds, and updates debian/changelog with a description of the changes it made.

germinate-update-metapackage requires a configuration file, called update.cfg, in the current directory. The format is described below.

If a non-option argument is given, it specifies the distribution for which metapackages should be generated (e.g. “unstable”).

OPTIONS

- -nodch
    Don't modify debian/changelog.

- -vcs
    Check out seeds from a version control system rather than fetching them directly from a URL. Requires bzr or git, as appropriate, to be installed. The version control system to use is guessed from the seed_base URL defined in the configuration file, trying git then bzr if the URL is ambiguous. For git, the part after the rightmost ‘’. character of seed_dist, if any, is treated as the branch name to check out; this rather strange style is for backward compatibility.

- -bzr
    Check out seeds from the bzr branch defined in the configuration file rather than fetching them directly from the URL defined there. Requires bzr to be installed. This option is deprecated and is retained for backward compatibility; use - -vcs instead.

-o, - -output-directory dir Output the package lists in the specified directory.

CONFIGURATION FILE
update.cfg uses Python's ConfigParser configuration file syntax, supporting interpolation as defined by SafeConfigParser. It should have a DEFAULT section with a dist key indicating the default distribution, and a dist section (corresponding to that distribution). It may also have a dist/vcs or dist/bzr section which can override the seed_base and seed_dist values from the dist section if the - -vcs or - -bzr option respectively is given. For backward compatibility, if - -vcs is given, then dist/bzr will also be consulted.

The following keys are recognised in distribution sections:

seeds (mandatory)
    Pass these seeds to the germinator for processing.

output_seeds (optional, deprecated)
    Generate metapackages for these seeds. If not specified, the value of seeds is used. This option is usually no longer necessary now that the value of seeds is automatically expanded for seed inheritance.

architectures (mandatory)
    Generate metapackages for these architectures.

archive_base/default (optional)
    Use this URL as the default base for fetching package indices from the archive; for examples of valid URLs, see deb lines in /etc/apt/sources.list, or the MIRROR argument to debootstrap(8).

archive_base/arch (optional)
    Use this URL as the base for fetching package indices from the archive for the specified architecture. For each architecture being processed, at least one of archive_base/default and archive_base/arch must be present. To try multiple URLs, separate them with commas or spaces; the newest version of each package across all archives will win. Note that debootstrap(8) will only use the first archive.

seed_base (mandatory)
    The base URL for fetching seeds. To try multiple URLs (for example if a seed branch includes another branch stored at a different location), separate them with commas or spaces.

seed_dist (optional)
    The tail of the URL for fetching seeds. This will be appended to seed_base. You will often want to interpolate the value of dist into this value using ConfigParser's %(dist)s syntax. If not specified, the value of dist is used.

dists (optional)
    The distributions from which to fetch package indices. Listing multiple distributions may be useful, for example, when examining both a released distribution and its security updates. If not specified, the value of dist is used.

components (mandatory)
    The archive components from which to fetch package indices.

seed_map/seed (optional, deprecated)
    The seeds to be used as input for the metapackage corresponding to seed. If specified, this will typically be the list of seeds from which seed inherits, plus seed itself. This option is usually no longer necessary; use a Task-Seeds header in the seed file instead.

metapackage_map/seed (optional, deprecated)
    The metapackage name to output for seed. If not specified, germinate-update-metapackage will look for the name of the source package in which it is being run, remove "meta" from the end, and append the seed name. This option is usually no longer necessary; use a Task-Metapackage header in the seed file instead.

EXAMPLE
At the time of writing, the following configuration file is used to generate the kubuntu-meta source package in the Ubuntu archive:

    [DEFAULT]
    dist: questing

    [questing]
    seeds: desktop full active
    architectures: i386 amd64 powerpc armhf arm64 ppc64el
    seed_base: https://ubuntu-archive-team.ubuntu.com/seeds/
    seed_dist: kubuntu.%(dist)s
    archive_base/default: http://archive.ubuntu.com/ubuntu/
    archive_base/ports: http://ports.ubuntu.com/ubuntu-ports/
    archive_base/powerpc: %(archive_base/ports)s
    archive_base/armhf: %(archive_base/ports)s
    archive_base/arm64: %(archive_base/ports)s
    archive_base/ppc64el: %(archive_base/ports)s
    components: main restricted universe

    [questing/bzr]
    seed_base: bzr+ssh://bazaar.launchpad.net/~kubuntu-dev/ubuntu-seeds/ bzr+ssh://bazaar.launchpad.net/~ubuntu-core-dev/ubuntu-seeds/
    seed_dist: kubuntu.%(dist)s

AUTHORS
Gustavo Franco <stratus@debian.org> Colin Watson <cjwatson@canonical.com>

-nosplit germinate-update-metapackage is copyright © 2004, 2005, 2006, 2007, 2008 Canonical Ltd. and copyright © 2006 Gustavo Franco. 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.