[merge] split out and update release process docs

Martin Pool mbp at canonical.com
Fri May 2 03:37:48 BST 2008


The developer guide is getting pretty big, and the release documentation
is largely separate from instructions for day to day development.  So I
split it out, and also updated some things.  A diff for just that
section is also attached for easier review.

I've put a note on <http://bazaar-vcs.org/releases/> that downloads are
now only available from the web site and Launchpad, because updating
this is not possible for non-Canonical developers, and I want to
streamline the process.

The wiki side menu now just points at the announcement feed from
Launchpad.

It would be good to add some documentation of how the windows installer
is actually built, but what was there was more about how it was
uploaded, which fortunately is now obsolete.

-- 
Martin
-------------- next part --------------
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: mbp at sourcefrog.net-20080502023218-d9n8p2mvrfqg6wyx
# target_branch: http://bazaar-vcs.org/bzr/bzr.dev
# testament_sha1: 9c6c26fcd6e844f167b4cc7777878acc8e83be2b
# timestamp: 2008-05-02 12:33:19 +1000
# source_branch: http://sourcefrog.net/bzr/doc
# base_revision_id: pqm at pqm.ubuntu.com-20080501153825-fbc1be2c4g22idz8
# 
# Begin patch
=== modified file 'doc/developers/HACKING.txt'
--- doc/developers/HACKING.txt	2008-04-28 03:52:09 +0000
+++ doc/developers/HACKING.txt	2008-05-02 02:32:18 +0000
@@ -1755,381 +1755,7 @@
 .. note::
   As well as prioritizing bugs and nominating them against a
   target milestone, Launchpad lets core developers offer to mentor others in
-  fixing them. Nice.
-
-
-Managing a Release
-==================
-
-Starting a Release
-------------------
-
-To start a new release cycle:
-
-#. Send mail to the list with the key dates, who will be the release
-   manager, and the main themes or targetted bugs.  Ask people to nominate
-   objectives, or point out an high-risk things that are best done early,
-   or that interact with other changes.
-
-#. Add a new "series" in Launchpad at <https://launchpad.net/bzr/+addseries>.  There is one 
-   series for every *x.y* release.
-
-Weekly Status Updates
----------------------
-
-TODO: Things to cover:
-
-* Early communication to downstream teams (e.g. Launchpad) about changes in dependencies.
-* Reminder re lifecycle and where we're up to right now
-* Summary of recent successes and pending work
-* Reminder re release objectives
-* Reminder re things needing attention, e.g. bug triage, reviews, testing of certain things, etc.
-
-
-Feature Freeze
---------------
-
-TODO: Get material from http://bazaar-vcs.org/FeatureFreeze.
-
-
-
-Making a Release or Release Candidate
--------------------------------------
-
-.. Was previously at http://bazaar-vcs.org/ReleaseChecklist
-
-.. TODO: Still needs more clarity on what's in a RC versus a final
-.. release?
-
-.. TODO: Too much of this is manual but could be automated...
-
-This is the procedure for making a new bzr release:
-
-#. If the release is the first candidate, make a new branch in PQM. (Contact RobertCollins for this step).
-
-   Register the branch at https://launchpad.net/products/bzr/+addbranch
-
-#. Run the automatic test suite and any non-automated tests.  (For example, try a download over http; these should eventually be scripted though not automatically run.). Try to have all optional dependencies installed so that there are no tests skipped. Also make sure that you have the c extensions compiled (``make`` or ``python setup.py build_ext -i``).
-
-#. In the release branch, update  ``version_info`` in ``./bzrlib/__init__.py``
-
-#. Add the date and release number to ``./NEWS``.
-
-#. Update the release number in the README. (It's not there as of 0.15, but please check).
-
-#. Commit these changes to the release branch, using a command like::
-    
-     bzr commit -m "(jam) Release 0.12rc1." 
-   
-   The diff before you commit will be something like::
-
-       === modified file 'NEWS'
-       --- NEWS        2006-10-23 13:11:17 +0000
-       +++ NEWS        2006-10-23 22:50:50 +0000
-       @@ -1,4 +1,4 @@
-       -IN DEVELOPMENT
-       +bzr 0.12rc1  2006-10-23
-
-          IMPROVEMENTS:
-
-
-       === modified file 'bzrlib/__init__.py'
-       --- bzrlib/__init__.py  2006-10-16 01:47:43 +0000
-       +++ bzrlib/__init__.py  2006-10-23 22:49:46 +0000
-       @@ -35,7 +35,7 @@
-        # Python version 2.0 is (2, 0, 0, 'final', 0)."  Additionally we use a
-        # releaselevel of 'dev' for unreleased under-development code.
-
-       -version_info = (0, 12, 0, 'dev', 0)
-       +version_info = (0, 12, 0, 'candidate', 1)
-
-        if version_info[3] == 'final':
-            version_string = '%d.%d.%d' % version_info[:3]
-
-#. Submit those changes to PQM for merge into the appropriate release
-   branch.
-
-#. When PQM succeeds, pull down the master release branch.
-
-#. Run ``make dist`` from a clean copy of the release branch; this will
-   produce a tarball and prompt you to sign it.
-
-#. Unpack the tarball into a temporary directory and run ``make check`` in
-   that directory.
-
-#. Run ``setup.py install`` --root=prefix to do a test install into your system directory, home directory, or some other prefix.  Check the install worked and that the installed version is usable. (run the bzr script from the installed path with PYTHONPATH set to the site-packages directory it created). i.e. ::
-
-    python setup.py install --root=installed
-    PYTHONPATH=installed/usr/lib/python2.4/site-packages installed/usr/bin/bzr
-
-
-Publishing the release
-----------------------
-
-Now you have the releasable product.  The next step is making it
-available to the world.
-
-#. In <https://launchpad.net/bzr/> click the "Release series" for this
-   series, to take you to e.g. <https://launchpad.net/bzr/1.1>.  Then
-   click "Register a release", and add information about this release.
-
-#. Within that release, upload the source tarball and the GPG signature.
-
-   (These used to also be uploaded to 
-   <sftp://escudero.ubuntu.com/srv/bazaar.canonical.com/www/releases/src>
-   but that's not accessible to all developers, and gets some mime types
-   wrong...  This upload can still be done with ``make
-   dist-upload-escudero``.)
-
-#. Link from http://bazaar-vcs.org/Download to the tarball and signature.
-
-#. Update http://doc.bazaar-vcs.org/ to have a directory of documentation
-   for this release.  (Controlled by the ``update-bzr-docs`` script on
-   escudero, and also update the ``latest`` symlink in
-   ``/srv/bazaar.canonical.com/doc/``.)
-
-#. Announce on the `Bazaar home page`__
-   
- __ http://bazaar-vcs.org/
-
-
-Announcing the release
-----------------------
-
-Now that the release is publicly available, tell people about it.
-
-#. Announce to ``bazaar-announce`` and ``bazaar`` mailing lists. 
-   The announce mail will look something like this:
-   
-    | Subject: bzr 0.11 release candidate 1
-    | 
-    | INTRO HERE. Mention the release number and date, and why the release. (i.e. release candidate for testing, final release of a version, backport/bugfix etc).
-    | 
-    | Tarballs:
-    | http://bazaar-vcs.org/releases/src/bzr-VERSION.tar.gz
-    | and GPG signature:
-    | http://bazaar-vcs.org/releases/src/bzr-VERSION.tar.gz.sig
-    | 
-    | DESCRIBE-CHANGES-IN-OVERVIEW-HERE
-    | 
-    | DESCRIBE-when the next release will be (if there is another - i.e. this is a release candidate)
-    | 
-    | Many thanks to all the contributors to this release! I've included the
-    | contents of NEWS for VERSION below:
-
-   To generate the data from NEWS, just copy and paste the relevant news section and clean it up as appropriate. The main clean-up task is to confirm that all major changes are indeed covered. This can be done by running ``bzr log`` back to the point when the branch was opened and cross checking the changes against the NEWS entries.
-
-   (RC announcements should remind plugin maintainers to update their plugins.)
-
-     * For point releases (i.e. a release candidate, or an incremental fix to a released version) take everything in the relevant NEWS secion : for 0.11rc2 take everything in NEWS from the bzr 0.11rc2 line to the bzr 0.11rc1 line further down.
-
-     * For major releases (i.e. 0.11, 0.12 etc), take all the combined NEWS sections from within that version: for 0.11 take all of the 0.11 specific section, plus 0.11rc2, plus 0.11rc1 etc.
-
-#. Update the `news side menu`__ -- this currently requires downloading the file, editing it, deleting it, and uploading a replacement.
-
-   __ http://bazaar-vcs.org/site/menu?action=AttachFile&do=view&target=news.html
-
-#. Update the IRC channel topic. Use the ``/topic`` command to do this, ensuring the new topic text keeps the project name, web site link, etc.
-
-#. Announce on http://freshmeat.net/projects/bzr/
-   
-   This should be done for both release candidates and final releases. If you do not have a Freshmeat account yet, ask one of the existing admins.
-
-#. Update http://en.wikipedia.org/wiki/Bzr -- this should be done for final releases but not Release Candidates.
-
-#. Package maintainers should update packages when they see the
-   announcement.
-
-#. Blog about it.
-
-#. Post to http://mail.python.org/mailman/listinfo/python-announce-list for major releases
-
-#. Update the python package index: <http://pypi.python.org/pypi/bzr> - best
-   done by running ::
-
-       python setup.py register
-
-   Remember to check the results afterwards.
-
-
-Merging the released code back to trunk
----------------------------------------
-
-Merge the release branch back into the trunk.  Check that changes in NEWS
-were merged into the right sections.  If it's not already done, advance
-the version number in ``bzr`` and ``bzrlib/__init__.py``.  Submit this
-back into pqm for bzr.dev.
-
-
-
-Making Win32 installers
------------------------
-
-**XXX:** This information is now probably obsolete, as Alexander uploads
-direct to Launchpad.  --mbp 20080116
-
-Alexander Belchenko has been very good about getting packaged installers compiled (see Win32ReleaseChecklist for details). He generally e-mails John Arbash Meinel when they are ready. This is just a brief checklist of what needs to be done.
-
-#. Download and verify the sha1 sums and gpg signatures. Frequently the sha1 files are in dos mode, and need to be converted to unix mode (strip off the trailing ``\r``) before they veryify correctly.
-
-#. Upload to the Launchpad page for this release.
-
-#. Upload to escudero (to the b.c.c/www/releases/win32 directory) using sftp, lftp or rsync
-
-#. Cat the contents of the .sha1 files into the SHA1SUM.
-
-#. Update the SHA1SUM and MD5SUM files using something like ``md5sum bzr-0.14.0.win32.exe >> MD5SUM``. Make sure you use append (>>) rather than overwrite (>).
-
-#. Verify once again that everything is correct with ``sha1sum -c SHA1SUM`` and ``md5sum -c MD5SUM``.
-
-#. Update ``.htaccess`` so that the 'bzr-latest.win32.exe' links point to the latest release. This is not done for candidate releases, only for final releases. (example: bzr-0.14.0, but not bzr-0.14.0rc1).
-
-#. Make sure these urls work as expected:
-
-   http://bazaar-vcs.org/releases/win32/bzr-latest.win32-py2.5.exe
-
-   http://bazaar-vcs.org/releases/win32/bzr-latest.win32-py2.5.exe.asc
-
-   http://bazaar-vcs.org/releases/win32/bzr-latest.win32-py2.4.exe
-
-   http://bazaar-vcs.org/releases/win32/bzr-latest.win32-py2.4.exe.asc
-
-   http://bazaar-vcs.org/releases/win32/bzr-setup-latest.exe
-
-   http://bazaar-vcs.org/releases/win32/bzr-setup-latest.exe.asc
-   
-They should all try to download a file with the correct version number.
-
-#. Update http://bazaar-vcs.org/Download to indicate the newly available versions.
-
-#. Update http://bazaar-vcs.org/WindowsDownloads to have the correct version number as well as the correct sha1sum displayed.
-
-
-The Bazaar PPA archive
-----------------------
-
-We build Ubuntu ``.deb`` packages for Bazaar as an important part of the release
-process.  These packages are hosted in a `Personal Package Archive (PPA)`__ on
-Launchpad, at <https://launchpad.net/~bzr/+archive>.
-
-  __ https://help.launchpad.net/PPAQuickStart
-
-We build packages for every supported Ubuntu release
-<https://wiki.ubuntu.com/Releases>.  Packages need no longer be updated
-when the release passes end-of-life because all users should have then
-update.
-
-The ``debian/`` directory containing the packaging information is kept in
-branches on Launchpad, named like 
-<https://code.launchpad.net/~bzr/bzrtools/packaging-dapper>
-
-Updating the PPA for a new release
-----------------------------------
-
-Preconditions for building these packages:
-  
- * You must have a Launchpad account and be a member of the `~bzr`__ team
-   
- __ https://edge.launchpad.net/~bzr/+members>
-
- * You must have a GPG key registered to your Launchpad account.
-
- * Configure ``dput`` to upload to our PPA with this section in your
-   ``~/.dput.cf``::
-
-        [bzr-ppa]
-        fqdn = ppa.launchpad.net
-        method = ftp
-        incoming = ~bzr/ubuntu
-        login = anonymous
-        allow_unsigned_uploads = 0
-
- * You need a Ubuntu (or probably Debian) machine, and ::
-
-     sudo apt-get install build-essential devscripts dput
-
-Here is the process; there are some steps which should be automated in
-future:
-
-#. You will need a working directory for each supported release, such as
-   ``~/bzr/Packaging/dapper``
-
-#. Download the official tarball of the release to e.g. ``~/bzr/Releases``
-
-#. Copy the original tarball into your per-disto directory, then untar it 
-   and if necessary rename it::
-
-     cp -l ~/bzr/Releases/bzrtools-1.3.0.tar.gz bzrtools_1.3.0.orig.tar.gz
-     tar xfvz bzrtools_1.3.0.orig.tar.gz
-     mv bzrtools bzrtools-1.3.0
-
-#. Change into that directory and check out the packaging branch::
-
-     cd bzrtools
-     bzr checkout \
-       bzr+ssh://bazaar.launchpad.net/~bzr/bzrtools/packaging-dapper \
-       debian
-
-#. For Bazaar plugins, change the ``debian/control`` file to express a
-   dependency on the correct version of ``bzr``.
-
-   For bzrtools this is typically::
-
-      Build-Depends-Indep: bzr (>= 1.3~), rsync
-      Depends: ${python:Depends}, bzr (>= 1.3~), bzr (<< 1.4~), patch
-
-#. Make a new ``debian/changelog`` entry for the new release,
-   either by using ``dch`` or just editing the file::
-
-     dch -v '1.3.0-1~bazaar1~dapper1' -D dapper
-
-   dch will default to the distro you're working in and this isn't checked
-   against the version number (which is just our conversion).  So make
-   sure to specify it.
-
-   Make sure you have the correct email address for yourself, version
-   number, and distribution.  It should look something like this::
-
-     >  bzrtools (1.3.0-1~bazaar1~dapper1) dapper; urgency=low
-     >
-     >   * New upstream release.
-     >
-     >  -- John Sample <sample at example.com>  Mon, 31 Mar 2008 12:36:27 +1100
-
-   If you need to upload the package again to fix a problem, normally you
-   should increment the last number in the version number, following the
-   distro name.  Make sure not to omit the initial ``-1``, and make sure
-   that the distro name in the version is consistent with the target name
-   outside the parenthesis.
-
-#. Commit these changes into the packaging branch::
-
-     bzr ci -m '1.3.0-1~bazaar1~dapper1: New upstream release.' debian
-
-#. Build a source package::
-
-     debuild -S -sa -i
-
-   This will create a ``.changes`` file in the per-distro directory,
-   and should invoke gpg to sign it with your key.
-   Check that file is reasonable: it should be uploading to the intended
-   distribution, have a .orig file included, and the right version number.
-
-#. Upload into the PPA::
-
-     dput bzr-ppa ../bzrtools__1.3.0-1\~bazaar1\~dapper1_source.changes
-
-   Don't forget the ``bzr-ppa`` component or dput will try to upload into
-   the main archive by default.  You can disable this by adding this
-   section to your ``.dput.cf``::
-
-     [ubuntu]
-     fqdn = SPECIFY.A.PPA.NAME
-
-#. You should soon get an "upload accepted" mail from Launchpad, which
-   means that your package is waiting to be built.  You can then track its
-   progress in <https://launchpad.net/~bzr/+archive> and
-   <https://launchpad.net/~bzr/+archive/+builds>.
+  fixing them. 
 
 
 ..

=== modified file 'doc/developers/index.txt'
--- doc/developers/index.txt	2008-04-08 07:46:55 +0000
+++ doc/developers/index.txt	2008-05-02 02:05:46 +0000
@@ -2,12 +2,21 @@
 Bazaar Developer Document Catalog
 =================================
 
-See the `Main Document Catalog <../index.html>`_ for additional documents
-including the Bazaar Developer Guide and bzrlib API reference.
+Bazaar user documentation is in the 
+`Main Document Catalog <../index.html>`_.
+
+Overall developer documentation
+===============================
+
+* `Developer Guide <en/developer-guide/HACKING.html>`_
+* `bzrlib API reference <http://bazaar-vcs.org/BzrLib>`_
 
 Process
 =======
 
+* `Releasing Bazaar <releasing.html>`_ -- How to make a release of Bazaar,
+  and how to coordinate the monthly development cycle.
+
 * `Profiling notes <profiling.html>`_ |--| Instructions on how to profile 
   bzr code and visualize the results.
 

=== added file 'doc/developers/releasing.txt'
--- doc/developers/releasing.txt	1970-01-01 00:00:00 +0000
+++ doc/developers/releasing.txt	2008-05-02 02:31:14 +0000
@@ -0,0 +1,325 @@
+Releasing Bazaar
+================
+
+This document describes the processes for making and announcing a Bazaar
+release, and managing the release process.
+
+See also: `Bazaar Developer Document Catalog <index.html>`_.
+
+
+.. contents::
+
+
+Starting a Release
+------------------
+
+To start a new release cycle:
+
+#. Send mail to the list with the key dates, who will be the release
+   manager, and the main themes or targetted bugs.  Ask people to nominate
+   objectives, or point out an high-risk things that are best done early,
+   or that interact with other changes.
+
+#. Add a new "series" in Launchpad at <https://launchpad.net/bzr/+addseries>.  There is one 
+   series for every *x.y* release.
+
+Weekly Status Updates
+---------------------
+
+TODO: Things to cover:
+
+* Early communication to downstream teams (e.g. Launchpad) about changes in dependencies.
+* Reminder re lifecycle and where we're up to right now
+* Summary of recent successes and pending work
+* Reminder re release objectives
+* Reminder re things needing attention, e.g. bug triage, reviews, testing of certain things, etc.
+
+
+Feature Freeze
+--------------
+
+TODO: Get material from http://bazaar-vcs.org/FeatureFreeze.
+
+
+
+Preparing the tree for release
+------------------------------
+
+.. Was previously at http://bazaar-vcs.org/ReleaseChecklist
+
+.. TODO: Still needs more clarity on what's in a RC versus a final
+.. release?
+
+This is the procedure for making a new bzr release:
+
+#. If the release is the first candidate, make a new branch in PQM. (Contact RobertCollins for this step).
+
+   Register the branch at https://launchpad.net/products/bzr/+addbranch
+
+#. Run the automatic test suite and any non-automated tests.  (For example, try a download over http; these should eventually be scripted though not automatically run.). Try to have all optional dependencies installed so that there are no tests skipped. Also make sure that you have the c extensions compiled (``make`` or ``python setup.py build_ext -i``).
+
+#. In the release branch, update  ``version_info`` in ``./bzrlib/__init__.py``
+
+#. Add the date and release number to ``./NEWS``.
+
+#. Update the release number in the README. (It's not there as of 0.15, but please check).
+
+#. Commit these changes to the release branch, using a command like::
+    
+     bzr commit -m "(jam) Release 0.12rc1." 
+   
+   The diff before you commit will be something like::
+
+       === modified file 'NEWS'
+       --- NEWS        2006-10-23 13:11:17 +0000
+       +++ NEWS        2006-10-23 22:50:50 +0000
+       @@ -1,4 +1,4 @@
+       -IN DEVELOPMENT
+       +bzr 0.12rc1  2006-10-23
+
+          IMPROVEMENTS:
+
+
+       === modified file 'bzrlib/__init__.py'
+       --- bzrlib/__init__.py  2006-10-16 01:47:43 +0000
+       +++ bzrlib/__init__.py  2006-10-23 22:49:46 +0000
+       @@ -35,7 +35,7 @@
+        # Python version 2.0 is (2, 0, 0, 'final', 0)."  Additionally we use a
+        # releaselevel of 'dev' for unreleased under-development code.
+
+       -version_info = (0, 12, 0, 'dev', 0)
+       +version_info = (0, 12, 0, 'candidate', 1)
+
+        if version_info[3] == 'final':
+            version_string = '%d.%d.%d' % version_info[:3]
+
+#. Submit those changes to PQM for merge into the appropriate release
+   branch.
+
+#. When PQM succeeds, pull down the master release branch.
+
+Making the source tarball
+-------------------------
+
+#. Change into the source directory and run
+  
+     make dist
+
+#. Unpack the tarball into a temporary directory and run ``make check`` in
+   that directory, to check for packaging problems.
+
+
+Publishing the release
+----------------------
+
+Now you have the releasable product.  The next step is making it
+available to the world.
+
+#. In <https://launchpad.net/bzr/> click the "Release series" for this
+   series, to take you to e.g. <https://launchpad.net/bzr/1.1>.  Then
+   click "Register a release", and add information about this release.
+
+#. Within that release, upload the source tarball and the GPG signature.
+
+#. Link from http://bazaar-vcs.org/Download to the tarball and signature.
+
+#. Update http://doc.bazaar-vcs.org/ to have a directory of documentation
+   for this release.  (Controlled by the ``update-bzr-docs`` script on
+   escudero, and also update the ``latest`` symlink in
+   ``/srv/bazaar.canonical.com/doc/``.)
+
+#. Announce on the `Bazaar home page`__
+   
+ __ http://bazaar-vcs.org/
+
+
+Announcing the release
+----------------------
+
+Now that the release is publicly available, tell people about it.
+
+#. Announce to ``bazaar-announce`` and ``bazaar`` mailing lists. 
+   The announce mail will look something like this:
+   
+    | Subject: bzr 0.11 release candidate 1
+    | 
+    | INTRO HERE. Mention the release number and date, and why the release. (i.e. release candidate for testing, final release of a version, backport/bugfix etc).
+    | 
+    | Tarballs:
+    | http://bazaar-vcs.org/releases/src/bzr-VERSION.tar.gz
+    | and GPG signature:
+    | http://bazaar-vcs.org/releases/src/bzr-VERSION.tar.gz.sig
+    | 
+    | DESCRIBE-CHANGES-IN-OVERVIEW-HERE
+    | 
+    | DESCRIBE-when the next release will be (if there is another - i.e. this is a release candidate)
+    | 
+    | Many thanks to all the contributors to this release! I've included the
+    | contents of NEWS for VERSION below:
+
+   To generate the data from NEWS, just copy and paste the relevant news section and clean it up as appropriate. The main clean-up task is to confirm that all major changes are indeed covered. This can be done by running ``bzr log`` back to the point when the branch was opened and cross checking the changes against the NEWS entries.
+
+   (RC announcements should remind plugin maintainers to update their plugins.)
+
+     * For point releases (i.e. a release candidate, or an incremental fix to a released version) take everything in the relevant NEWS secion : for 0.11rc2 take everything in NEWS from the bzr 0.11rc2 line to the bzr 0.11rc1 line further down.
+
+     * For major releases (i.e. 0.11, 0.12 etc), take all the combined NEWS sections from within that version: for 0.11 take all of the 0.11 specific section, plus 0.11rc2, plus 0.11rc1 etc.
+
+#. Update the IRC channel topic. Use the ``/topic`` command to do this, ensuring the new topic text keeps the project name, web site link, etc.
+
+#. Announce on http://freshmeat.net/projects/bzr/
+   
+   This should be done for both release candidates and final releases. If you do not have a Freshmeat account yet, ask one of the existing admins.
+
+#. Update http://en.wikipedia.org/wiki/Bzr -- this should be done for final releases but not Release Candidates.
+
+#. Package maintainers should update packages when they see the
+   announcement.
+
+#. Blog about it.
+
+#. Post to http://mail.python.org/mailman/listinfo/python-announce-list for major releases
+
+#. Update the python package index: <http://pypi.python.org/pypi/bzr> - best
+   done by running ::
+
+       python setup.py register
+
+   Remember to check the results afterwards.
+
+
+Merging the released code back to trunk
+---------------------------------------
+
+Merge the release branch back into the trunk.  Check that changes in NEWS
+were merged into the right sections.  If it's not already done, advance
+the version number in ``bzr`` and ``bzrlib/__init__.py``.  Submit this
+back into pqm for bzr.dev.
+
+
+Updating the PPA for a new release
+----------------------------------
+
+We build Ubuntu ``.deb`` packages for Bazaar as an important part of the release
+process.  These packages are hosted in a `Personal Package Archive (PPA)`__ on
+Launchpad, at <https://launchpad.net/~bzr/+archive>.
+
+  __ https://help.launchpad.net/PPAQuickStart
+
+We build packages for every supported Ubuntu release
+<https://wiki.ubuntu.com/Releases>.  Packages need no longer be updated
+when the release passes end-of-life because all users should have then
+update.
+
+The ``debian/`` directory containing the packaging information is kept in
+branches on Launchpad, named like 
+<https://code.launchpad.net/~bzr/bzrtools/packaging-dapper>
+Preconditions for building these packages:
+  
+* You must have a Launchpad account and be a member of the `~bzr`__ team
+  
+__ https://edge.launchpad.net/~bzr/+members>
+
+* You must have a GPG key registered to your Launchpad account.
+
+* Configure ``dput`` to upload to our PPA with this section in your
+  ``~/.dput.cf``::
+
+    [bzr-ppa]
+    fqdn = ppa.launchpad.net
+    method = ftp
+    incoming = ~bzr/ubuntu
+    login = anonymous
+    allow_unsigned_uploads = 0
+
+* You need a Ubuntu (or probably Debian) machine, and ::
+
+    sudo apt-get install build-essential devscripts dput
+
+Here is the process; there are some steps which should be automated in
+future:
+
+#. You will need a working directory for each supported release, such as
+   ``~/bzr/Packaging/dapper``
+
+#. Download the official tarball of the release to e.g. ``~/bzr/Releases``
+
+#. Copy the original tarball into your per-disto directory, then untar it 
+   and if necessary rename it::
+
+     cp -l ~/bzr/Releases/bzrtools-1.3.0.tar.gz bzrtools_1.3.0.orig.tar.gz
+     tar xfvz bzrtools_1.3.0.orig.tar.gz
+     mv bzrtools bzrtools-1.3.0
+
+#. Change into that directory and check out the packaging branch::
+
+     cd bzrtools
+     bzr checkout \
+       bzr+ssh://bazaar.launchpad.net/~bzr/bzrtools/packaging-dapper \
+       debian
+
+#. For Bazaar plugins, change the ``debian/control`` file to express a
+   dependency on the correct version of ``bzr``.
+
+   For bzrtools this is typically::
+
+      Build-Depends-Indep: bzr (>= 1.3~), rsync
+      Depends: ${python:Depends}, bzr (>= 1.3~), bzr (<< 1.4~), patch
+
+#. Make a new ``debian/changelog`` entry for the new release,
+   either by using ``dch`` or just editing the file::
+
+     dch -v '1.3.0-1~bazaar1~dapper1' -D dapper
+
+   dch will default to the distro you're working in and this isn't checked
+   against the version number (which is just our conversion), so make sure 
+   to specify it.
+
+   **Caution:** Release candidates must insert a tilde to make them sort before the
+   final release, like this: ``bzr-1.4~rc2-1~bazaar1~dapper1``.
+
+   Make sure you have the correct email address for yourself, version
+   number, and distribution.  It should look something like this::
+
+       bzrtools (1.3.0-1~bazaar1~dapper1) dapper; urgency=low
+     
+        * New upstream release.
+     
+       -- John Sample <sample at example.com>  Mon, 31 Mar 2008 12:36:27 +1100
+
+   If you need to upload the package again to fix a problem, normally you
+   should increment the last number in the version number, following the
+   distro name.  Make sure not to omit the initial ``-1``, and make sure
+   that the distro name in the version is consistent with the target name
+   outside the parenthesis.
+
+#. Commit these changes into the packaging branch::
+
+     bzr ci -m '1.3.0-1~bazaar1~dapper1: New upstream release.' debian
+
+#. Build a source package::
+
+     debuild -S -sa -i
+
+   This will create a ``.changes`` file in the per-distro directory,
+   and should invoke gpg to sign it with your key.
+   Check that file is reasonable: it should be uploading to the intended
+   distribution, have a .orig file included, and the right version number.
+
+#. Upload into the PPA::
+
+     dput bzr-ppa ../bzrtools__1.3.0-1\~bazaar1\~dapper1_source.changes
+
+   Don't forget the ``bzr-ppa`` component or dput will try to upload into
+   the main archive by default.  You can disable this by adding this
+   section to your ``.dput.cf``::
+
+     [ubuntu]
+     fqdn = SPECIFY.A.PPA.NAME
+
+#. You should soon get an "upload accepted" mail from Launchpad, which
+   means that your package is waiting to be built.  You can then track its
+   progress in <https://launchpad.net/~bzr/+archive> and
+   <https://launchpad.net/~bzr/+archive/+builds>.
+
+

# Begin bundle
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
5vXOc3T7M6coaITQRQ/8XckU4UJBZzD2vA==
-------------- next part --------------
A non-text attachment was scrubbed...
Name: releasing.diff
Type: text/x-diff
Size: 8405 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20080502/a4f6a42e/attachment-0001.bin 


More information about the bazaar mailing list