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. Add truncated announcement to
14 setup.py description field.
15 3. Note the SVN revision in the CHANGES.txt file.
16 4. Clean out all *.orig, *.rej, .#* files from the source.
17 5. python setup.py clean --all
18 6. Edit setup.py to ensure that all information therein (version, contact
19 information etc) is correct.
20 7. python setup.py sdist --manifest-only
21 8. 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 9. python setup.py sdist
25 (if you find sdist a little verbose, add "--quiet" to the end of the
26 command)
27 10. Unpack the new dist file in /tmp then a) run_test.py and b) demo.py
28 with all available Python versions.
29 11. python setup.py bdist_rpm
30 12. python setup.py bdist_wininst
31 13. Send doc/announcement.txt to python-announce@python.org and
32 roundup-users@lists.sourceforge.net and
33 roundup-devel@lists.sourceforge.net
35 So, those commands in a nice, cut'n'pasteable form::
37 find . -name '*.orig' -exec rm {} \;
38 find . -name '*.rej' -exec rm {} \;
39 find . -name '.#*' -exec rm {} \;
40 python setup.py clean --all
41 python setup.py sdist --manifest-only
42 python setup.py sdist --quiet
43 python setup.py bdist_rpm
44 python setup.py bdist_wininst
45 python setup.py register
46 python setup.py sdist upload --sign
47 python setup.py bdist_wininst upload --sign
49 (if the last two fail make sure you're using python2.5+)