1846
1846
if version_info[3] == 'final':
1847
1847
version_string = '%d.%d.%d' % version_info[:3]
1849
#. Send the changes to PQM, to update the official master branch.
1849
#. Submit those changes to PQM for merge into the appropriate release
1851
1852
#. When PQM succeeds, pull down the master release branch.
1853
#. 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.
1855
#. Make a distribution directory by running e.g. ``bzr export /tmp/bzr-<version>/`` in the working directory.
1857
#. Run make in /tmp/bzr-<version>. This creates the extensions from the pyrex source.
1859
#. Run the test suite in the distribution directory
1854
#. Run ``make dist`` from a clean copy of the release branch; this will
1855
produce a tarball and prompt you to sign it.
1857
#. Unpack the tarball into a temporary directory and run ``make check`` in
1861
1860
#. 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. ::
1863
1862
python setup.py install --root=installed
1864
1863
PYTHONPATH=installed/usr/lib/python2.4/site-packages installed/usr/bin/bzr
1866
#. Clean the tree to get rid of .pyc files etc: make clean && rm -rf build && rm bzrlib/_*.c bzrlib/_*.so
1868
#. Generate the reference documentation in text format: make doc/en/user-reference/bzr_man.txt.
1870
#. 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.
1872
``find . -name "*.c"`` will tell you which files you need.
1874
#. Create the release tarball::
1876
cd /tmp && tar czf bzr-<version>.tar.gz bzr-<version>
1878
#. Sign the tarball with e.g. ``gpg --detach-sign -a bzr-0.10rc1.tar.gz``
1881
1866
Publishing the release
1882
1867
----------------------
1893
1878
(These used to also be uploaded to
1894
1879
<sftp://escudero.ubuntu.com/srv/bazaar.canonical.com/www/releases/src>
1895
1880
but that's not accessible to all developers, and gets some mime types
1881
wrong... This upload can still be done with ``make
1882
dist-upload-escudero``.)
1898
1884
#. Link from http://bazaar-vcs.org/Download to the tarball and signature.
1966
1952
Remember to check the results afterwards.
1955
Merging the released code back to trunk
1956
---------------------------------------
1958
Merge the release branch back into the trunk. Check that changes in NEWS
1959
were merged into the right sections. If it's not already done, advance
1960
the version number in ``bzr`` and ``bzrlib/__init__.py``. Submit this
1961
back into pqm for bzr.dev.
1969
1965
Making Win32 installers
1970
1966
-----------------------