Size: 2186
Comment:
|
Size: 2231
Comment: Add url for OS X package latest.dat
|
Deletions are marked like this. | Additions are marked like this. |
Line 48: | Line 48: |
* http://mercurial.berkwood.com/latest.dat |
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 |
The cron job will poll all known sources and build a javascript include that can be used to find the best package for a given user. Typically, this would mean listing the first entry with a matching regex (and possibly any others that matched the same expression).
To add a .dat file to the poll list, mail a URL to mpm.