Binary Release Plan
How to maintain a binary release of Mercurial
This page is intended for packagers.
1. Keeping up with Mercurial
There are no official binary releases of Mercurial. All builds are made by volunteers. Source code release are made approximately once a month by Matt Mackall according to the TimeBasedReleasePlan. Packagers should be prepared to make a release on the first of every month. Packagers should be subscribed to the mercurial-packaging list for release announcements and other packaging notes.
2. Priorities
Every package should aim to:
- make timely major and minor releases
- post automated nightly builds
- publish automated version information
3. Version information protocol
This infrastructure is not yet complete.
Mercurial.selenic.com runs a cron job that polls a set of package publishers to build a set of available binary packages. For instance, it polls http://mercurial.selenic.com/latest.dat, which contains lines of the form:
100 1.7.1 .* http://mercurial.selenic.com/release/mercurial-1.7.1.tar.gz Mercurial source release
The fields are:
priority |
100 |
sort order, with 100 being lowest |
version number |
1.7.1 |
version of the advertised package |
user agent regex |
.* |
a regex to match against web browser User-Agent strings (the source packages matches all) |
url |
address of the binary to download |
|
name/description |
Mercurial source release |
description to display in link anchor |
To add a .dat file to the poll list, mail a URL to mpm.