Provided by: germinate_2.28_all bug


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


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


     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”).


           Don't modify debian/changelog.

           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.

           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

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


     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

     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.


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

           dist: bionic

           seeds: desktop full active
           architectures: i386 amd64 powerpc armhf arm64 ppc64el
           seed_dist: kubuntu.%(dist)s
           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

           seed_base: bzr+ssh:// bzr+ssh://
           seed_dist: kubuntu.%(dist)s


     Gustavo Franco <>
     Colin Watson <>

     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