diff --git a/.cvsignore b/.cvsignore index eddbb3c..5c3a7d2 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -CherryPy-2.2.1.tar.gz +CherryPy-2.3.0.tar.gz diff --git a/cherrypy-2.2.1-security-sessionfilter.patch b/cherrypy-2.2.1-security-sessionfilter.patch deleted file mode 100644 index f523501..0000000 --- a/cherrypy-2.2.1-security-sessionfilter.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up CherryPy-2.2.1/cherrypy/filters/sessionfilter.py.sessionfix CherryPy-2.2.1/cherrypy/filters/sessionfilter.py ---- CherryPy-2.2.1/cherrypy/filters/sessionfilter.py.sessionfix 2008-01-06 08:54:39.000000000 -0800 -+++ CherryPy-2.2.1/cherrypy/filters/sessionfilter.py 2008-01-06 08:55:31.000000000 -0800 -@@ -326,6 +326,8 @@ class FileStorage: - raise SessionStoragePathNotConfiguredError() - fileName = self.SESSION_PREFIX + id - file_path = os.path.join(storage_path, fileName) -+ if not os.path.normpath(filePath).startswith(storagePath): -+ raise cherrypy.HTTPError(400, "Invalid session id in cookie.") - return file_path - - def _lock_file(self, path): diff --git a/python-cherrypy-2.2.1-EINTR.patch b/python-cherrypy-2.2.1-EINTR.patch deleted file mode 100644 index 4f5b017..0000000 --- a/python-cherrypy-2.2.1-EINTR.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -up cherrypy/_cpwsgiserver.py.EINTR cherrypy/_cpwsgiserver.py ---- cherrypy/_cpwsgiserver.py.EINTR 2006-04-25 03:37:45.000000000 +0200 -+++ cherrypy/_cpwsgiserver.py 2007-11-03 01:14:20.000000000 +0100 -@@ -332,6 +332,22 @@ class CherryPyWSGIServer(object): - # notice keyboard interrupts on Win32, which don't interrupt - # accept() by default - return -+ except socket.error, x: -+ if hasattr(errno, "EINTR") and x.args[0] == errno.EINTR: -+ # I *think* this is right. EINTR should occur when a signal -+ # is received during the accept() call; all docs say retry -+ # the call, and I *think* I'm reading it right that Python -+ # will then go ahead and poll for and handle the signal -+ # elsewhere. See http://www.cherrypy.org/ticket/707. -+ return -+ msg = x.args[1] -+ if msg in ("Bad file descriptor", "Socket operation on non-socket"): -+ # Our socket was closed. -+ return -+ if msg == "Resource temporarily unavailable": -+ # Just try again. See http://www.cherrypy.org/ticket/479. -+ return -+ raise - - def stop(self): - """Gracefully shutdown a server that is serving forever.""" diff --git a/python-cherrypy-regression-test.patch b/python-cherrypy-regression-test.patch index 0821b0d..781e28b 100644 --- a/python-cherrypy-regression-test.patch +++ b/python-cherrypy-regression-test.patch @@ -1,10 +1,12 @@ ---- cherrypy/test/test.py.orig 2006-07-13 14:12:11.000000000 -0400 -+++ cherrypy/test/test.py 2006-07-13 14:12:19.000000000 -0400 -@@ -311,7 +311,6 @@ - CommandLineParser(testList).run() - - print -- raw_input('hit enter') +Index: CherryPy-2.3.0/cherrypy/test/test.py +=================================================================== +--- CherryPy-2.3.0.orig/cherrypy/test/test.py ++++ CherryPy-2.3.0/cherrypy/test/test.py +@@ -328,7 +328,6 @@ def run(): + success = clp.run() + if clp.interactive: + print +- raw_input('hit enter') + sys.exit(success) - if __name__ == '__main__': diff --git a/python-cherrypy-tutorial-doc.patch b/python-cherrypy-tutorial-doc.patch index 6f4579f..3f0b1c4 100644 --- a/python-cherrypy-tutorial-doc.patch +++ b/python-cherrypy-tutorial-doc.patch @@ -1,13 +1,14 @@ ---- setup.py.orig 2006-07-13 14:15:25.000000000 -0400 -+++ setup.py 2006-07-13 14:16:00.000000000 -0400 -@@ -36,23 +36,11 @@ +diff -up CherryPy-2.3.0/setup.py.bak CherryPy-2.3.0/setup.py +--- CherryPy-2.3.0/setup.py.bak 2008-01-17 14:37:31.000000000 -0800 ++++ CherryPy-2.3.0/setup.py 2008-01-17 14:38:06.000000000 -0800 +@@ -36,23 +36,11 @@ url="http://www.cherrypy.org" cp_license="BSD" packages=[ "cherrypy", "cherrypy.lib", "cherrypy.lib.filter", - "cherrypy.tutorial", "cherrypy.test", "cherrypy.filters", + "cherrypy.filters", ] - download_url="http://sourceforge.net/project/showfiles.php?group_id=56099" + download_url="http://download.cherrypy.org/cherrypy/2.3.0/" data_files=[ - ('cherrypy/tutorial', - [ diff --git a/python-cherrypy.spec b/python-cherrypy.spec index 942a6c8..f7fba2b 100644 --- a/python-cherrypy.spec +++ b/python-cherrypy.spec @@ -1,18 +1,16 @@ %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} Name: python-cherrypy -Version: 2.2.1 -Release: 8%{?dist} +Version: 2.3.0 +Release: 1%{?dist} Summary: A pythonic, object-oriented web development framework Group: Development/Libraries License: BSD URL: http://www.cherrypy.org/ -Source0: http://dl.sf.net/cherrypy/CherryPy-%{version}.tar.gz +Source0: http://download.cherrypy.org/cherrypy/%{version}/CherryPy-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Patch0: %{name}-tutorial-doc.patch Patch1: %{name}-regression-test.patch -Patch2: %{name}-%{version}-EINTR.patch -Patch3: cherrypy-2.2.1-security-sessionfilter.patch BuildArch: noarch @@ -25,10 +23,8 @@ results in smaller source code developed in less time. %prep %setup -q -n CherryPy-%{version} -%patch0 -%patch1 -%patch2 -%patch3 -p1 +%patch0 -p1 +%patch1 -p1 %{__sed} -i 's/\r//' CHANGELOG.txt README.txt CHERRYPYTEAM.txt cherrypy/tutorial/README.txt @@ -39,9 +35,9 @@ results in smaller source code developed in less time. rm -rf $RPM_BUILD_ROOT %{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT --prefix=%{_prefix} -#%check -#cd cherrypy/test -#%{__python} test.py +%check +cd cherrypy/test +%{__python} test.py %clean rm -rf $RPM_BUILD_ROOT @@ -53,6 +49,12 @@ rm -rf $RPM_BUILD_ROOT %{python_sitelib}/* %changelog +* Thu Jan 17 2008 Toshio Kuratomi 2.3.0-1 +- Update to new upstream which rolls in the backported fixes. +- Refresh other patches to apply against new version. +- Change to new canonical source URL. +- Reenable tests. + * Sun Jan 6 2008 Toshio Kuratomi 2.2.1-8 - Fix a security bug with a backport of http://www.cherrypy.org/changeset/1775 - Include the egginfo files as well as the python files. diff --git a/sources b/sources index eb82315..bfca383 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -14bf17b0706bc480342cb8fcfaed74cd CherryPy-2.2.1.tar.gz +80ce0f666f2899d4e681432e4061db16 CherryPy-2.3.0.tar.gz