1837
1837
if version_info[3] == 'final':
1838
1838
version_string = '%d.%d.%d' % version_info[:3]
1840
#. Send the changes to PQM, to update the official master branch.
1840
#. Submit those changes to PQM for merge into the appropriate release
1842
1843
#. When PQM succeeds, pull down the master release branch.
1844
#. 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.
1846
#. Make a distribution directory by running e.g. ``bzr export /tmp/bzr-<version>/`` in the working directory.
1848
#. Run make in /tmp/bzr-<version>. This creates the extensions from the pyrex source.
1850
#. Run the test suite in the distribution directory
1845
#. Run ``make dist`` from a clean copy of the release branch; this will
1846
produce a tarball and prompt you to sign it.
1848
#. Unpack the tarball into a temporary directory and run ``make check`` in
1852
1851
#. 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. ::
1854
1853
python setup.py install --root=installed
1855
1854
PYTHONPATH=installed/usr/lib/python2.4/site-packages installed/usr/bin/bzr
1857
#. Clean the tree to get rid of .pyc files etc: make clean && rm -rf build && rm bzrlib/_*.c bzrlib/_*.so
1859
#. Generate the reference documentation in text format: make doc/en/user-reference/bzr_man.txt.
1861
#. Change back to your original branch and then run: make clean && make to create the compiled pyrex extensions. You then need to copy the .c files over to the exported directory.
1863
``find . -name "*.c"`` will tell you which files you need.
1865
#. Create the release tarball::
1867
cd /tmp && tar czf bzr-<version>.tar.gz bzr-<version>
1869
#. Sign the tarball with e.g. ``gpg --detach-sign -a bzr-0.10rc1.tar.gz``
1872
1857
Publishing the release
1873
1858
----------------------
1884
1869
(These used to also be uploaded to
1885
1870
<sftp://escudero.ubuntu.com/srv/bazaar.canonical.com/www/releases/src>
1886
1871
but that's not accessible to all developers, and gets some mime types
1872
wrong... This upload can still be done with ``make
1873
dist-upload-escudero``.)
1889
1875
#. Link from http://bazaar-vcs.org/Download to the tarball and signature.
1957
1943
Remember to check the results afterwards.
1946
Merging the released code back to trunk
1947
---------------------------------------
1949
Merge the release branch back into the trunk. Check that changes in NEWS
1950
were merged into the right sections. If it's not already done, advance
1951
the version number in ``bzr`` and ``bzrlib/__init__.py``. Submit this
1952
back into pqm for bzr.dev.
1960
1956
Making Win32 installers
1961
1957
-----------------------