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.
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.
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
Sync from a PPA
Sync from the stable-overlay PPA
Sync from another silo
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.