~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/HACKING.txt

  • Committer: Martin Pool
  • Date: 2008-04-28 03:52:09 UTC
  • mfrom: (3360.3.3 1.4)
  • mto: This revision was merged to the branch mainline in revision 3385.
  • Revision ID: mbp@sourcefrog.net-20080428035209-2sfjlaeijx20wt1z
Merge back 1.4 and start 1.5 (but not transaction cache reinstatement)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1846
1846
        if version_info[3] == 'final':
1847
1847
            version_string = '%d.%d.%d' % version_info[:3]
1848
1848
 
1849
 
#. Send the changes to PQM, to update the official master branch.
 
1849
#. Submit those changes to PQM for merge into the appropriate release
 
1850
   branch.
1850
1851
 
1851
1852
#. When PQM succeeds, pull down the master release branch.
1852
1853
 
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.
1854
 
 
1855
 
#. Make a distribution directory by running e.g. ``bzr export /tmp/bzr-<version>/`` in the working directory.
1856
 
 
1857
 
#. Run make in /tmp/bzr-<version>. This creates the extensions from the pyrex source.
1858
 
 
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.
 
1856
 
 
1857
#. Unpack the tarball into a temporary directory and run ``make check`` in
 
1858
   that directory.
1860
1859
 
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. ::
1862
1861
 
1863
1862
    python setup.py install --root=installed
1864
1863
    PYTHONPATH=installed/usr/lib/python2.4/site-packages installed/usr/bin/bzr
1865
1864
 
1866
 
#. Clean the tree to get rid of .pyc files etc: make clean && rm -rf build && rm bzrlib/_*.c bzrlib/_*.so
1867
 
 
1868
 
#. Generate the reference documentation in text format: make doc/en/user-reference/bzr_man.txt.
1869
 
 
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. 
1871
 
   
1872
 
   ``find . -name "*.c"`` will tell you which files you need.
1873
 
 
1874
 
#. Create the release tarball::
1875
 
   
1876
 
     cd /tmp && tar czf bzr-<version>.tar.gz bzr-<version>
1877
 
 
1878
 
#. Sign the tarball with e.g. ``gpg --detach-sign -a bzr-0.10rc1.tar.gz``
1879
 
 
1880
1865
 
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
1896
 
   wrong...)
 
1881
   wrong...  This upload can still be done with ``make
 
1882
   dist-upload-escudero``.)
1897
1883
 
1898
1884
#. Link from http://bazaar-vcs.org/Download to the tarball and signature.
1899
1885
 
1966
1952
   Remember to check the results afterwards.
1967
1953
 
1968
1954
 
 
1955
Merging the released code back to trunk
 
1956
---------------------------------------
 
1957
 
 
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.
 
1962
 
 
1963
 
 
1964
 
1969
1965
Making Win32 installers
1970
1966
-----------------------
1971
1967