Code

Sending of PGP-Encrypted mail to all users or selected users (via roles)
[roundup.git] / BUILD.txt
index 67e0c5b6173dc0d43f9e8cd981f7bc1ad480f722..91e240e463f296c60b723dbe4f8f56498e175ab0 100644 (file)
--- a/BUILD.txt
+++ b/BUILD.txt
@@ -1,38 +1,59 @@
-                                    Roundup
-                                    =======
-
-  This software is released under the GNU GPL. The copyright is held by Bizar
-            Software Pty Ltd (http://www.bizarsoftware.com.au).
-
-   The stylesheet included with this package has been copied from the Zope
-      management interface and presumably belongs to Digital Creations.
-
-
-1. Building Releases
-====================
+Building Releases
+=================
 
 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:
-
-  1. Edit setup.py to ensure that all information therein (version, contact
-     information etc) is correct.
-  2. python setup.py sdist -o
-  3. 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.
-  4. python setup.py sdist
-     (if you find sdist a little verbose, add "-q" to the end of the command)
-  5. FTP the tar.gz from the dist directory to to the "incoming" directory on
-     "upload.sourceforge.net".
-  6. Make a quick release at:
-      http://sourceforge.net/project/admin/qrs.php?package_id=&group_id=31577
-
-
-
-2. Author
-=========
-richard@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 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.
+10. python setup.py sdist
+    (if you find sdist a little verbose, add "--quiet" to the end of the
+     command)
+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
+ 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)