Code

Sending of PGP-Encrypted mail to all users or selected users (via roles)
[roundup.git] / BUILD.txt
1 Building Releases
2 =================
4 Roundup is currently a source-only release - it has no binary components. I
5 want it to stay that way, too. This document describes how to build a
6 source release. Users of Roundup should read the doc/installation.txt file
7 to find out how to install this software.
9 Building and distributing a release of Roundup is done by running:
11 1.  Make sure the unit tests run! "./run_tests.py"
12 2.  Edit roundup/__init__.py and doc/announcement.txt to reflect the new
13     version and appropriate announcements.
14 3.  Note the SVN revision in the CHANGES.txt file.
15 4.  Clean out all *.orig, *.rej, .#* files from the source.
16 5.  python setup.py clean --all
17 6.  Edit setup.py to ensure that all information therein (version, contact
18     information etc) is correct.
19 7.  python setup.py build_doc
20 8.  python setup.py sdist --manifest-only
21 9.  Check the MANIFEST to make sure that any new files are included. If
22     they are not, edit MANIFEST.in to include them. "Documentation" for
23     MANIFEST.in may be found in disutils.filelist._parse_template_line.
24 10. python setup.py sdist
25     (if you find sdist a little verbose, add "--quiet" to the end of the
26      command)
27 11. Unpack the new dist file in /tmp then a) run_test.py and b) demo.py
28     with all available Python versions.
29 12. Assuming all is well tag the release in SVN::
31       svn cp https://svn.roundup-tracker.org/svnroot/roundup/roundup/trunk \
32       https://svn.roundup-tracker.org/svnroot/roundup/roundup/tags/release-1-4-19
34 13. python setup.py bdist_rpm
35 14. python setup.py bdist_wininst
36 15. Send doc/announcement.txt to python-announce@python.org and
37     roundup-users@lists.sourceforge.net and
38     roundup-devel@lists.sourceforge.net
40 So, those commands in a nice, cut'n'pasteable form::
42  find . -name '*.orig' -exec rm {} \;
43  find . -name '*.rej' -exec rm {} \;
44  find . -name '.#*' -exec rm {} \;
45  python setup.py clean --all
46  python setup.py build_doc
47  python setup.py sdist --manifest-only
48  python setup.py sdist --quiet
49  python setup.py bdist_rpm
50  python setup.py bdist_wininst
51  python setup.py register
52  python setup.py sdist upload --sign
53  python2.5 setup.py bdist_wininst upload --sign
55 (if the last two fail make sure you're using python2.5+)
56 Note that python2.6 won't correctly create a bdist_wininst install on
57 Linux (it will produce a .exe with "linux" in the name). 2.7 still has
58 this bug (Ralf)