---
name: "germinate-update-metapackage"
section: "1"
platform: "linux"
package: "germinate"
version: "2.46"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/germinate-update-metapackage"
---

# germinate-update-metapackage(1)

update a set of metapackages generated from seeds

## 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)](/debootstrap/8.md).

- 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)](/debootstrap/8.md) 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: mantic
[mantic]
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
[mantic/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⟩

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