~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-09 03:29:23 UTC
  • mto: (3360.2.3 prepare-1.4)
  • mto: This revision was merged to the branch mainline in revision 3385.
  • Revision ID: mbp@sourcefrog.net-20080409032923-uh6hxeubehsb9zm0
Update developer documentation for new makefile dist targets

Show diffs side-by-side

added added

removed removed

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