Note:

This page is primarily intended for developers of Mercurial.

Official Packaging Plan

A plan to move to "official" packaging.

1. Motivation

We've got a few long-standing problems with our current packaging:

2. Plan

The plan is to move each package build towards "official" status by moving through the following steps:

2.1. Use latest.dat

See Packaging for details.

2.2. Centrally hosted

Talk to mpm for ssh access or give him a URL to mirror.

2.3. Automatically built

Get your build automated to the point where the package is created and uploaded with a single command.

2.4. Build rules in repository

Once you're confident your build is properly automated, integrate it into our makefile, for instance "make win32-msi" or "make deb". At this point, consider having us host the building on our servers where possible (we currently have Linux/Mac/Windows).

2.5. Nightly or continuous builds

Automate builds to upload nightly packages for both continuously testing the build process and allowing users to test changes.

2.6. Sign your builds

To be decided. This will probably involve generating a SHA1 fingerprint and signing it with a single-purpose key.

3. What about existing distros?

We expect most users of Linux distributions like Debian to continue to install through the existing channels, but we still consider it valuable to have:

4. Progress matrix

Is the 'versioned' column intended to mean 'in any version control system' or 'in an official Mercurial repository' ? --MaxBowsher

Target

Maintainer

hosted

automated

versioned

nightly

signed

tarball

mpm

(./)

(./)

{X}

{X}

Win32 Hackable

mpm

(./)

(./)

{X}

{X}

{X}

Win32 MSI

Steve Borho

(./)

?

?

{X}

{X}

Win64 MSI

Steve Borho

(./)

?

?

{X}

{X}

Win32 EXE

Pascal Quantin

(./)

{X}

{X}

{X}

{X}

Win64 EXE

Pascal Quantin

(./)

{X}

{X}

{X}

{X}

OS X 10.8

Lee Cantey

(./)

?

{X}

{X}

{X}

OS X 10.7

Lee Cantey

(./)

?

{X}

{X}

{X}

OS X 10.6

Lee Cantey

(./)

?

{X}

{X}

{X}

OS X Fink

Brendan Cully

?

{X}

{X}

{X}

OS X MacPorts

Sean Farley

{X}

{X}

(./)

(./)

{X}

Debian unstable

Javi Merino?

{X}

(./)

{X}

{X}

{X}

Debian stable

?

{X}

(./)

{X}

{X}

{X}

Debian oldstable

?

{X}

(./)

{X}

{X}

{X}

Ubuntu

Max Bowsher

{X}

(./)

(./)

(./)

(./)

Fedora

?

{X}

(./)

(./)

{X}

{X}

Centos 5

Pierre-YvesDavid

(./)

(./)

(./)

(./)

{X}

Centos 6

Pierre-YvesDavid

(./)

(./)

(./)

(./)

{X}

Centos 7

Pierre-YvesDavid

(./)

(./)

(./)

(./)

{X}

Solaris

?

{X}

?

?

{X}

{X}

AIX

Jim Hague

{X}

?

?

{X}

{X}

5. To do list


OfficialPackagingPlan (last edited 2015-05-11 22:41:11 by Pierre-YvesDavid)