Code

some updates that were sitting on disk
authorrichard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2>
Thu, 4 Dec 2003 02:43:07 +0000 (02:43 +0000)
committerrichard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2>
Thu, 4 Dec 2003 02:43:07 +0000 (02:43 +0000)
git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@2007 57a73879-2fb5-44c3-a270-3262357dd7e2

BUILD.txt
CHANGES.txt
MANIFEST.in
TODO.txt
doc/installation.txt
roundup/scripts/roundup_server.py

index 53f93faae4485db3bd61f4e494addd52e059aacb..427d9c83004377b4e7981e3a2c0ed359da056032 100644 (file)
--- a/BUILD.txt
+++ b/BUILD.txt
@@ -7,21 +7,25 @@ want it to stay that way, too.
 This means that we only need to ever build source releases. This is done by
 running:
 
-1. Make sure the unit tests run! "python 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. Tag the CVS with a release tag (ie. 'release-N-N-N')
-4. python setup.py clean --all
-5. Edit setup.py to ensure that all information therein (version, contact
-   information etc) is correct.
-6. python setup.py sdist --manifest-only
-7. 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.
-8. python setup.py sdist
-   (if you find sdist a little verbose, add "--quiet" to the end of the
-    command)
+1.  Make sure the unit tests run! "./run_tests"
+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
+    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
+    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
+    (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"
 
 So, those commands in a nice, cut'n'pasteable form::
 
index c43df08f9a96139493fa08472aa9047bbd8a712b..2b856ee41f6b41cc4b72751fcaaa4f9fb31837ab 100644 (file)
@@ -53,8 +53,9 @@ Cleanup:
 
 2003-??-?? 0.6.4
 Fixed:
+- Hard-coded python2.3-ism (socket.timeout) fixed
 - Fixed activity displaying as future because of Date arithmetic fix in 0.6.3
-(sf bug 842027).
+  (sf bug 842027).
 
 2003-11-14 0.6.3
 Fixed:
index 2f49cef50d44f105f3265817a13b3d72546b5b7c..fb9bba317959929cdafa77abfb54b53226d5b358 100644 (file)
@@ -7,9 +7,7 @@ recursive-include test *.py *.txt
 recursive-include doc *.html *.png *.txt *.css *.1
 recursive-include detectors *.py
 recursive-include templates *.* home* page*
-recursive-exclude roundup *.pyc *.pyo .*
-recursive-exclude frontends *.pyc *.pyo .*
-recursive-exclude templates *.pyc *.pyo .*
+global-exclude .cvsignore *.pyc *.pyo
 include run_tests *.txt demo.py
 exclude BUILD.txt I18N_PROGRESS.txt TODO.txt
 exclude doc/security.txt doc/templating.txt
index 9a277b7fced46b16e7208f26bce95d78735ce7bf..2da8880aa62317170ca43a2e38cd46c3823db3d9 100644 (file)
--- a/TODO.txt
+++ b/TODO.txt
@@ -1,7 +1,6 @@
 This file has been re-purposed to contain specifically the items that need
 doing before the next release:
 
-- postgresql backend
 - full coverage analysis for unit tests
 - migrate to numeric ID values (fixes bug 817217)
 
index c5fc0e5f70a572d1b6495956d28a846f282ada69..dd8a602e4b6e2bd47b0704153c412e5fab5b31e7 100644 (file)
@@ -2,7 +2,7 @@
 Installing Roundup
 ==================
 
-:Version: $Revision: 1.65 $
+:Version: $Revision: 1.66 $
 
 .. contents::
 
@@ -93,8 +93,9 @@ installation:
 2. `configuring your first tracker`_ that all installers must follow
 3. then optionally `configure a web interface`_
 4. and optionally `configure an email interface`_
-5. `shared environment steps`_ to take if you're installing on a shared
+5. `UNIX environment steps`_ to take if you're installing on a shared
    UNIX machine and want to restrict local access to roundup
+6. `additional language codecs`_
 
 
 Basic Installation Steps
@@ -272,7 +273,7 @@ There are three web interfaces to choose from:
 3. `Zope product - ZRoundup`_
 
 You may need to give the web server user permission to access the tracker home
-- see the `shared environment steps`_ for information. You may also need to
+- see the `UNIX environment steps`_ for information. You may also need to
 configure your system in some way - see `platform-specific notes`_.
 
 
@@ -394,8 +395,8 @@ submission user's POP account name, password and server.
 On windows, you would set up the command using the windows scheduler.
 
 
-Shared Environment Steps
-------------------------
+UNIX Environment Steps
+----------------------
 
 Each tracker ideally should have its own UNIX group, so create
 a UNIX group (edit ``/etc/group`` or your appropriate NIS map if
@@ -431,6 +432,14 @@ responsibility of running roundup. This user:
    may actually login and play with the roundup setup.
 
 
+Additional Language Codecs
+--------------------------
+
+If you intend to send messages to Roundup that use Chinese, Japanese or
+Korean encodings the you'll need to obtain CJKCodecs from
+http://cjkpython.berlios.de/
+
+
 Maintenance
 ===========
 
@@ -541,7 +550,7 @@ This is usually done via the following 2 steps:
 Linux
 -----
 
-Make sure you read the instructions under `shared environment steps`_.
+Make sure you read the instructions under `UNIX environment steps`_.
 
 Python 2.1.1 as shipped with SuSE7.3 might be missing module
 ``_weakref``.
@@ -552,7 +561,8 @@ Solaris
 
 You'll need to build Python.
 
-Make sure you read the instructions under `shared environment steps`_.
+Make sure you read the instructions under `UNIX environment steps`_.
+
 
 -------------------------------------------------------------------------------
 
index 7a640b01656c4ff6b1867d4fc4153bacf8e1db9d..0a2e5e6bfb2d8b0029a3f5715a39b2ea871cb078 100644 (file)
@@ -16,7 +16,7 @@
 # 
 """ HTTP Server that serves roundup.
 
-$Id: roundup_server.py,v 1.34 2003-11-12 23:29:17 richard Exp $
+$Id: roundup_server.py,v 1.35 2003-12-04 02:43:07 richard Exp $
 """
 
 # python version check
@@ -78,26 +78,28 @@ class RoundupRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
             self.send_error(404, self.path)
         except client.Unauthorised:
             self.send_error(403, self.path)
-        except socket.timeout:
-            s = StringIO.StringIO()
-            traceback.print_exc(None, s)
-            self.log_message('%s', s.getvalue())
         except:
-            # it'd be nice to be able to detect if these are going to have
-            # any effect...
-            self.send_response(400)
-            self.send_header('Content-Type', 'text/html')
-            self.end_headers()
-            try:
-                reload(cgitb)
-                self.wfile.write(cgitb.breaker())
-                self.wfile.write(cgitb.html())
-            except:
+            exc, val, tb = sys.exc_info()
+            if hasattr(socket, 'timeout') and exc == socket.timeout:
                 s = StringIO.StringIO()
                 traceback.print_exc(None, s)
-                self.wfile.write("<pre>")
-                self.wfile.write(cgi.escape(s.getvalue()))
-                self.wfile.write("</pre>\n")
+                self.log_message(str(s.getvalue()))
+            else:
+                # it'd be nice to be able to detect if these are going to have
+                # any effect...
+                self.send_response(400)
+                self.send_header('Content-Type', 'text/html')
+                self.end_headers()
+                try:
+                    reload(cgitb)
+                    self.wfile.write(cgitb.breaker())
+                    self.wfile.write(cgitb.html())
+                except:
+                    s = StringIO.StringIO()
+                    traceback.print_exc(None, s)
+                    self.wfile.write("<pre>")
+                    self.wfile.write(cgi.escape(s.getvalue()))
+                    self.wfile.write("</pre>\n")
         sys.stdin = save_stdin
 
     do_GET = do_POST = run_cgi