comigrate - managing package migrations from Debian unstable
] [--heidi file
] --migrate package
] --excuses file
] --explain dir
is a tool designed to manage the migration of packages from
. It can be used in different ways.
First, it can compute which packages can migrate into testing; it can output
either an HeidiResult
file listing the updated contents of testing, or
a set of hints that can be fed to Britney
to help it perform the
migration. Second, it can output detailed reports of what prevents packages
from migrating. Last, it can be used to interactively troubleshoot the
migration of a given package.
Unless an alternative command is given, comigrate
will perform package
migration and output the corresponding HeidiResult
file at the location
indicated in the configuration file.
The default behavior of comigrate
is to compute which packages can
migrate from unstable
. This behavior can be overriden
by the options below.
- Output the set of packages that can migrate without making
any package non-installable but that will make it impossible to install
some set of packages together (package co-installability would no be
preserved). This makes it possible to find the packages that would be
allowed to migrate when using the --inst option (preserving only
package installability), but that could nonetheless be problematic.
- --excuses file
- Write to this HTML file a detailed explanation of why some
packages cannot migrate. With the --svg option, an SVG graph is
also included for each installability or co-installability issue (set of
packages that one would not be able to install together anymore) that
prevents the migration. The dot tool is required to produce these
- --explain dir
- This command is designed to produce a report that can be
published over HTTP. An HTML file is created for each package that cannot
migrate, providing a detailed explanation of why this package cannot
migrate. A file listing co-installability issues (that is, set of packages
that can no longer be installed together) that would result from
forthcoming migrations is also created. The --popcon option can be
used to specify popcon data to use for the report. The dot tool is
required for this command.
- --migrate package
- Compute whether it is possible to migrate this source
package. If this is indeed possible, a corresponding Britney hint
is outputted, by default on the standard output (this can be overridden
with the --hints option).
- Initialize or update the data directory.
- --arches lst
- Comma-separated list of architectures to consider (default
- -c file, --config file
- Use this Britney configuration file.
- Show all hints. By default, hints consisting of a single
package are omitted when outputting hints.
- --break sets
- Override the default migration constraint that set of
packages that could be install together can still be installed together
after migration (package co-installability). This option allows to specify
that some precise set of packages can become non co-installable (or, in
the case of a single package, that this package can become non
installable). This is crucial to allow the migration of packages that are
no longer compatible. The argument sets is a comma-separated list
of sets of packages. Each set is either a list of binary package names
separated by a vertical bar symbol |, or a wildcard _ standing for
any package. We explain this option through examples. You can write
--break libjpeg62-dev to state that package
libjpeg62-dev does not have to remain installable. But it is
usually better to indicate that the package should remain installable but
that it is fine if it is no longer installable with some other packages:
--break libjpeg62-dev,_. You can be even more precise and
specify that two given packages can become incompatible, but no other
incompatibility should be introduced: --break
parallel,moreutils. Finally, you can use the vertical bar symbol to
factorize several sets of packages: --break
'unoconv,python-uno|docvert-libreoffice' means that package
unoconv does not have to remain installable together with
python-uno nor docvert-libreoffice.
- --heidi HeidiResult
- Write the result of package migration to file
HeidiResult. When HeidiResult is -, write to standard
output. The option only make sense when no specific command is given.
- --hints file
- Output hints to this file. When file is -,
write to standard output. This disable the ouput of the HeidiResult
file, unless an explicit --heidi option is provided as well.
- When computing possible migration, only preserves single
package installability. This is similar to what Britney does. The
default is to ensure the stronger requirement that set of packages that
could be install together can still be installed together after migration
(that is, package co-installability).
- --offset n
- Move n days into the future. This is convenient to
see what packages will be able to migrate in a few days.
- --remove pkg
- Compute package migration as if the source package
pkg and its associated binary packages had been removed from
unstable. This is a convenient way to migrate an important package
when its migration is prevented by packages of low importance. Together
with the --migrate command, this option can help finding out all
issues preventing the migration of a given package.
- Include conflict graphs (in SVG format) in excuse output.
This option only makes sense together with the --excuses option.
- --popcon file
- Use popcon data from this file. This option only makes
sense together with the --explain option.
- --source url
- Download package information from the given url. This
option only makes sense together with the --update option.
- --debug name
- Activate debug option name. Use --debug help
to list available debug options.
- -help, --help
- Print a usage message briefly summarizing the command-line
- --input dir
- Select the directory containing Britney data.
- Disable on-disk caching.
- --proc n
- Provide number of processors. Use 1 to disable concurrency.
Defaults to use all processors.
These two Britney
options are currently ignored and are present only for
- Currently ignored.
- Currently ignored.
To get started, you need to use a Britney
. The files specifies in particular the location of
migration data (control files, hint files, ...). These data can then be
downloaded (or updated) with the command below.
comigrate -c britney.conf --update
without option will make it behave like Britney
it will compute the set of packages that can migrate and write a corresponding
file at the location indicated in the configuration file.
comigrate -c britney.conf
By default, comigrate
is more picky than Britney
: it will not
allow packages to migrate if any set of packages that could be installed
together can no longer be installed together. With the --inst
will only check that packages remain installable, just like
comigrate -c britney.conf --inst
Alternatively, you can get the set of Britney
easy hints corresponding to
comigrate -c britney.conf --hints - --all-hints
option will give you an explanation of why a package cannot
migrate. (If the package can in fact migrate, the corresponding easy hint will
comigrate -c britney.conf --migrate ghc
options can be used together with this
option to get a clear understand of what needs to be done to migrate the
Comigrate has been written by Jérôme Vouillon.
The tool Web page: <http://coinst.irill.org/comigrate