Code

Sending of PGP-Encrypted mail to all users or selected users (via roles)
[roundup.git] / BUILD.txt
index 427d9c83004377b4e7981e3a2c0ed359da056032..91e240e463f296c60b723dbe4f8f56498e175ab0 100644 (file)
--- a/BUILD.txt
+++ b/BUILD.txt
@@ -2,57 +2,58 @@ Building Releases
 =================
 
 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)