SyncSilos

CI Train sync silo functionality

This page serves as documentation of the current sync silo functionality. A sync silo is a silo that fetches packages from another archive and rebuilds them with the right, non-conflicting versioning. It can be used to keep two distributions in sync with changes.

WARNING

Please note that sync silos should be generally only used for packages released through the CI Train, i.e. packages that follow the train-generated version numbers. For all non-train-versioned packages, the sync functionality will currently not rewrite the version number which can result of releasing the same package with the same package version to two archives but with different binary contents! Make sure to use the sync: features only if the package's version number follows the <upstream_version>+<series_version>.<date>-<ubuntu_version> scheme, e.g. 0.3.0+15.04.20150121-0ubuntu4.

Rationale

Every source copy requires the version number to be modified. One of the requirements of syncing is that if a package gets copied from place a to place b, then after syncing it again from b to a the version number will be the same as before. With train packages it's easy to do as the versioning scheme is standardized, but all other packages can follow any versioning schemes they want. This turns into a guessing game which can result in errors and cause more trouble than good.

Sync silo syntax

To request a sync silo, the Sync Source and Manual Source Packages need to be filled in with specific details. The most important is the Sync Source field - then the Manual Source Packages lists which packages should be considered in the sync. Please note that not all packages that you list there have to be pulled in by the CI Train sync - some can be manually uploaded by trainguards. Currently a sync silo can only pull in from one source archive.

Sync from distribution

distribution,series

Examples:

  • ubuntu,wily
  • ubuntu-rtm,14.09

Sync from a PPA

ppa:team/distro/name,series

Examples:

  • ppa:sil2100/ubuntu/test

Sync from the stable-overlay PPA

stable-overlay,series

Examples:

  • stable-overlay,vivid

Sync from another silo

number,series

A sync from another silo has this advantage over using a PPA sync is that once the train notices that the source silo is landed and free, the sync silo will automatically switch to targeting the silo series archive instead.

Examples:

  • 1,vivid
  • 14,wily

citrain/SyncSilos (last edited 2015-08-13 14:40:55 by sil2100)