diff --git a/BUILD.txt b/BUILD.txt
index 228e0ee045ae1c83b77b64cdceb671071023548e..27e3479735832cfe9110f1fb0be468e8d38179bb 100644 (file)
--- a/BUILD.txt
+++ b/BUILD.txt
- Roundup
- =======
-
-1. Building Releases
-====================
+Building Releases
+=================
Roundup is currently a source-only release - it has no binary components. I
Roundup is currently a source-only release - it has no binary components. I
-want it to stay that way, too.
-
-This means that we only need to ever build source releases. This is done by
-running:
-
- 0. Edit setup.py and doc/announcement.txt to reflect the new version and
- appropriate announcments.
- 1. python setup.py clean --all
- 2. Edit setup.py to ensure that all information therein (version, contact
- information etc) is correct.
- 3. python setup.py sdist --manifest-only
- 4. 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.
- 5. python setup.py sdist
- (if you find sdist a little verbose, add "--quiet" to the end of the
- command)
-
-So, those commands in a nice, cut'n'pasteable form :)
-python setup.py clean --all
-python setup.py sdist --manifest-only
-python setup.py sdist --quiet
-
-or, for the sad RedHat users:
-python2 setup.py clean --all
-python2 setup.py sdist --manifest-only
-python2 setup.py sdist --quiet
-
-
-2. 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...
-
-
-3. Author
-=========
-richard@users.sourceforge.net
-
+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.
+
+Building and distributing a release of Roundup is done by running:
+
+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.
+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.
+7. python setup.py sdist --manifest-only
+8. 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.
+9. python setup.py sdist
+ (if you find sdist a little verbose, add "--quiet" to the end of the
+ command)
+10. Unpack the new dist file in /tmp then a) run_test.py and b) demo.py
+ with all available Python versions.
+11. Assuming all is well tag the release in SVN::
+
+ svn cp https://roundup.svn.sourceforge.net/svnroot/roundup/roundup/trunk \
+ https://roundup.svn.sourceforge.net/svnroot/roundup/roundup/tags/release-1-4-16
+
+11. python setup.py bdist_rpm
+12. python setup.py bdist_wininst
+13. 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 sdist --manifest-only
+ python setup.py sdist --quiet
+ python setup.py bdist_rpm
+ python setup.py bdist_wininst
+ python setup.py register
+ python setup.py sdist upload --sign
+ python setup.py bdist_wininst upload --sign
+
+(if the last two fail make sure you're using python2.5+)