Differences between revisions 7 and 8
Revision 7 as of 2011-09-02 16:13:46
Size: 2231
Editor: LeeCantey
Comment: Add url for OS X package latest.dat
Revision 8 as of 2012-10-25 21:53:33
Size: 21
Editor: mpm
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma section-numbers 2
= Binary Release Plan =

How to maintain a binary release of Mercurial

/!\ This page is intended for packagers.

<<TableOfContents>>

== 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 [[mpm|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 [[MailingLists|mercurial-packaging]] list for release announcements and other packaging notes.

== Priorities ==

Every package should aim to:

 * make timely major and minor releases
 * post automated nightly builds
 * publish automated version information

== 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|| http://mercurial.selenic.com/release/mercurial-1.7.1.tar.gz ||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 [[http://mercurial.selenic.com/sources.js|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]].

== Known .dat file URLs ==
 * http://mercurial.selenic.com/latest.dat
 * http://tortoisehg.bitbucket.org/latest.dat
 * http://mercurial.berkwood.com/latest.dat

----
CategoryProject
#redirect Packaging

BinaryReleasePlan (last edited 2012-10-25 21:53:33 by mpm)