diff --git a/BUILD.txt b/BUILD.txt
index 427d9c83004377b4e7981e3a2c0ed359da056032..91e240e463f296c60b723dbe4f8f56498e175ab0 100644 (file)
--- a/BUILD.txt
+++ b/BUILD.txt
=================
Roundup is currently a source-only release - it has no binary components. I
-want it to stay that way, too.
+want it to stay that way, too. This document describes how to build a
+source release. Users of Roundup should read the doc/installation.txt file
+to find out how to install this software.
-This means that we only need to ever build source releases. This is done by
-running:
+Building and distributing a release of Roundup is done by running:
-1. Make sure the unit tests run! "./run_tests"
+1. Make sure the unit tests run! "./run_tests.py"
2. Edit roundup/__init__.py and doc/announcement.txt to reflect the new
- version and appropriate announcements. Add truncated announcement to
- setup.py description field.
-3. python setup.py clean --all
-4. Edit setup.py to ensure that all information therein (version, contact
+ version and appropriate announcements.
+3. Note the SVN revision in the CHANGES.txt file.
+4. Clean out all *.orig, *.rej, .#* files from the source.
+5. python setup.py clean --all
+6. Edit setup.py to ensure that all information therein (version, contact
information etc) is correct.
-5. python setup.py sdist --manifest-only
-6. Check the MANIFEST to make sure that any new files are included. If
+7. python setup.py build_doc
+8. python setup.py sdist --manifest-only
+9. Check the MANIFEST to make sure that any new files are included. If
they are not, edit MANIFEST.in to include them. "Documentation" for
MANIFEST.in may be found in disutils.filelist._parse_template_line.
-7. python setup.py sdist
+10. python setup.py sdist
(if you find sdist a little verbose, add "--quiet" to the end of the
command)
-8. unpack the new dist file in /tmp and a) run_test, and b) demo.py
-9. Generate gpg signature with "gpg -a --detach-sign" and upload to
- mechanicalcat.net
-10. PyPI registration
-11. tag the CVS for the release, eg. "cvs tag -R release-0-6-3"
+11. Unpack the new dist file in /tmp then a) run_test.py and b) demo.py
+ with all available Python versions.
+12. Assuming all is well tag the release in SVN::
+
+ svn cp https://svn.roundup-tracker.org/svnroot/roundup/roundup/trunk \
+ https://svn.roundup-tracker.org/svnroot/roundup/roundup/tags/release-1-4-19
+
+13. python setup.py bdist_rpm
+14. python setup.py bdist_wininst
+15. Send doc/announcement.txt to python-announce@python.org and
+ roundup-users@lists.sourceforge.net and
+ roundup-devel@lists.sourceforge.net
So, those commands in a nice, cut'n'pasteable form::
+ find . -name '*.orig' -exec rm {} \;
+ find . -name '*.rej' -exec rm {} \;
+ find . -name '.#*' -exec rm {} \;
python setup.py clean --all
+ python setup.py build_doc
python setup.py sdist --manifest-only
python setup.py sdist --quiet
- python2.3 setup.py register
-
-
-Distributing Releases
-=====================
-
-Once a release is built, follow these steps:
-
-1. FTP the tar.gz from the dist directory to to the "incoming" directory on
- "upload.sourceforge.net".
-2. Make a quick release at:
- http://sourceforge.net/project/admin/qrs.php?package_id=&group_id=31577
-3. Add a news item at:
- https://sourceforge.net/news/submit.php?group_id=31577
- using the top of doc/announcement.txt
-4. Send doc/announcement.txt to python-announce@python.org
-5. Notify any other news services as appropriate...
-
-
-Author
-======
-
-richard@users.sourceforge.net
+ python setup.py bdist_rpm
+ python setup.py bdist_wininst
+ python setup.py register
+ python setup.py sdist upload --sign
+ python2.5 setup.py bdist_wininst upload --sign
+
+(if the last two fail make sure you're using python2.5+)
+Note that python2.6 won't correctly create a bdist_wininst install on
+Linux (it will produce a .exe with "linux" in the name). 2.7 still has
+this bug (Ralf)