Thu Jul 16 11:36:21 2015 UTC ()
Update to 2.0.2:

2.0.2
-----

* #22: Fix improper commas in request headers in wsgi_environ (https://bitbucket.org/ianb/paste/pull-request/22/fix-improper-commas-in-request-headers-in)
  Fixes issue #4 ("WSGI environ totally borked") (https://bitbucket.org/ianb/paste/issue/4/wsgi-environ-totally-borked)

* #24: test_wsgirequest_charset: Use UTF-8 instead of iso-8859-1 (https://bitbucket.org/ianb/paste/pull-request/24/test_wsgirequest_charset-use-utf-8-instead)
  Fixes issue #7 ("Python 3 test failure") (https://bitbucket.org/ianb/paste/issue/7/python-3-test-failure)

* #23: Replace cgi.parse_qsl w/ six.moves.urllib.parse.parse_qsl (https://bitbucket.org/ianb/paste/pull-request/23/replace-cgiparse_qsl-w)
  Fixes issue #8 ("cgi.parse_qsl is pending deprecation") (https://bitbucket.org/ianb/paste/issue/8/cgiparse_qsl-is-pending-deprecation)

* #20: Escape CGI environment variables in HTTP 404 responses (https://bitbucket.org/ianb/paste/pull-request/20/escape-cgi-environment-variables-in-http)

* #6: Add HTTP exception for new code 429 "Too Many Requests" (https://bitbucket.org/ianb/paste/pull-request/6/add-http-exception-for-new-code-429-too)

* #25: replace ``has_key`` method to ``in`` operator #9 (https://bitbucket.org/ianb/paste/pull-request/25/replace-has_key-method-to-in-operator-9)
  Fixes #9 ("used methods removed from py3") (https://bitbucket.org/ianb/paste/issue/9/used-methods-removed-from-py3)

* #5: Invalid error message when the socket is already in use (https://bitbucket.org/ianb/paste/issue/5/invalid-error-message-when-the-socket-is)

2.0.1
-----

* Fix setup.py for six dependency: move the six dependency from extras_require
  to install_requires.

* Port paste.proxy to Python 3.

* Fix paste.exceptions.serial_number_generator.hash_identifier() on Python 3.

* Fix paste.util.threadedprint.uninstall(). Rename duplicated uninstall()
  function to uninstall_stdin() and fix typo in variable name (_oldstin =>
  _oldstdin).

* Add README.rst file.

2.0
---

* Experimental Python 3 support.

* paste now requires the six module.

* Drop support of Python 2.5 and older.

* Fixed ``egg:Paste#cgi``

* In ``paste.httpserver``: give a 100 Continue response even when the
  server has been configured as an HTTP/1.0 server (clients may send
  ``Expect: 100-Continue`` before they know the version), and wrap
  100 Continue ``environ['wsgi.input']`` files with LimitedLengthFile
  just like normal request bodies are wrapped, keeping WSGI
  applications from over-reading from the socket.

* Fixed parsing of paths beginning with multiple forward slashes.

* Add tox.ini to run tests with tox on Python 2.6, 2.7 and 3.4.


(wiz)
diff -r1.12 -r1.13 pkgsrc/www/py-paste/Makefile
diff -r1.5 -r1.6 pkgsrc/www/py-paste/PLIST
diff -r1.4 -r1.5 pkgsrc/www/py-paste/distinfo

cvs diff -r1.12 -r1.13 pkgsrc/www/py-paste/Makefile (expand / switch to unified diff)

--- pkgsrc/www/py-paste/Makefile 2014/05/09 07:37:25 1.12
+++ pkgsrc/www/py-paste/Makefile 2015/07/16 11:36:20 1.13
@@ -1,18 +1,18 @@ @@ -1,18 +1,18 @@
1# $NetBSD: Makefile,v 1.12 2014/05/09 07:37:25 wiz Exp $ 1# $NetBSD: Makefile,v 1.13 2015/07/16 11:36:20 wiz Exp $
2 2
3DISTNAME= Paste-1.7.5.1 3DISTNAME= Paste-2.0.2
4PKGNAME= ${PYPKGPREFIX}-${DISTNAME} 4PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
5CATEGORIES= www 5CATEGORIES= www
6MASTER_SITES= http://pypi.python.org/packages/source/P/Paste/ 6MASTER_SITES= http://pypi.python.org/packages/source/P/Paste/
7 7
8MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= http://pythonpaste.org/ 9HOMEPAGE= http://pythonpaste.org/
10COMMENT= Middleware for Python WSGI applications 10COMMENT= Middleware for Python WSGI applications
11LICENSE= mit 11LICENSE= mit
12 12
13USE_LANGUAGES= # none 13DEPENDS+= ${PYPKGPREFIX}-six-[0-9]*:../../lang/py-six
14 14
15PYTHON_VERSIONS_INCOMPATIBLE= 33 34 15USE_LANGUAGES= # none
16 16
17.include "../../lang/python/egg.mk" 17.include "../../lang/python/egg.mk"
18.include "../../mk/bsd.pkg.mk" 18.include "../../mk/bsd.pkg.mk"

cvs diff -r1.5 -r1.6 pkgsrc/www/py-paste/PLIST (expand / switch to unified diff)

--- pkgsrc/www/py-paste/PLIST 2010/07/26 12:38:42 1.5
+++ pkgsrc/www/py-paste/PLIST 2015/07/16 11:36:20 1.6
@@ -1,23 +1,23 @@ @@ -1,23 +1,23 @@
1@comment $NetBSD: PLIST,v 1.5 2010/07/26 12:38:42 obache Exp $ 1@comment $NetBSD: PLIST,v 1.6 2015/07/16 11:36:20 wiz Exp $
2${PYSITELIB}/${EGG_NAME}-nspkg.pth 
3${PYSITELIB}/${EGG_INFODIR}/PKG-INFO 2${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
4${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt 3${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
5${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt 4${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
6${PYSITELIB}/${EGG_INFODIR}/entry_points.txt 5${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
7${PYSITELIB}/${EGG_INFODIR}/namespace_packages.txt 6${PYSITELIB}/${EGG_INFODIR}/namespace_packages.txt
8${PYSITELIB}/${EGG_INFODIR}/not-zip-safe 7${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
9${PYSITELIB}/${EGG_INFODIR}/requires.txt 8${PYSITELIB}/${EGG_INFODIR}/requires.txt
10${PYSITELIB}/${EGG_INFODIR}/top_level.txt 9${PYSITELIB}/${EGG_INFODIR}/top_level.txt
 10${PYSITELIB}/${EGG_NAME}-nspkg.pth
11${PYSITELIB}/paste/auth/__init__.py 11${PYSITELIB}/paste/auth/__init__.py
12${PYSITELIB}/paste/auth/__init__.pyc 12${PYSITELIB}/paste/auth/__init__.pyc
13${PYSITELIB}/paste/auth/__init__.pyo 13${PYSITELIB}/paste/auth/__init__.pyo
14${PYSITELIB}/paste/auth/auth_tkt.py 14${PYSITELIB}/paste/auth/auth_tkt.py
15${PYSITELIB}/paste/auth/auth_tkt.pyc 15${PYSITELIB}/paste/auth/auth_tkt.pyc
16${PYSITELIB}/paste/auth/auth_tkt.pyo 16${PYSITELIB}/paste/auth/auth_tkt.pyo
17${PYSITELIB}/paste/auth/basic.py 17${PYSITELIB}/paste/auth/basic.py
18${PYSITELIB}/paste/auth/basic.pyc 18${PYSITELIB}/paste/auth/basic.pyc
19${PYSITELIB}/paste/auth/basic.pyo 19${PYSITELIB}/paste/auth/basic.pyo
20${PYSITELIB}/paste/auth/cas.py 20${PYSITELIB}/paste/auth/cas.py
21${PYSITELIB}/paste/auth/cas.pyc 21${PYSITELIB}/paste/auth/cas.pyc
22${PYSITELIB}/paste/auth/cas.pyo 22${PYSITELIB}/paste/auth/cas.pyo
23${PYSITELIB}/paste/auth/cookie.py 23${PYSITELIB}/paste/auth/cookie.py
@@ -43,26 +43,28 @@ ${PYSITELIB}/paste/cascade.pyc @@ -43,26 +43,28 @@ ${PYSITELIB}/paste/cascade.pyc
43${PYSITELIB}/paste/cascade.pyo 43${PYSITELIB}/paste/cascade.pyo
44${PYSITELIB}/paste/cgiapp.py 44${PYSITELIB}/paste/cgiapp.py
45${PYSITELIB}/paste/cgiapp.pyc 45${PYSITELIB}/paste/cgiapp.pyc
46${PYSITELIB}/paste/cgiapp.pyo 46${PYSITELIB}/paste/cgiapp.pyo
47${PYSITELIB}/paste/cgitb_catcher.py 47${PYSITELIB}/paste/cgitb_catcher.py
48${PYSITELIB}/paste/cgitb_catcher.pyc 48${PYSITELIB}/paste/cgitb_catcher.pyc
49${PYSITELIB}/paste/cgitb_catcher.pyo 49${PYSITELIB}/paste/cgitb_catcher.pyo
50${PYSITELIB}/paste/config.py 50${PYSITELIB}/paste/config.py
51${PYSITELIB}/paste/config.pyc 51${PYSITELIB}/paste/config.pyc
52${PYSITELIB}/paste/config.pyo 52${PYSITELIB}/paste/config.pyo
53${PYSITELIB}/paste/cowbell/__init__.py 53${PYSITELIB}/paste/cowbell/__init__.py
54${PYSITELIB}/paste/cowbell/__init__.pyc 54${PYSITELIB}/paste/cowbell/__init__.pyc
55${PYSITELIB}/paste/cowbell/__init__.pyo 55${PYSITELIB}/paste/cowbell/__init__.pyo
 56${PYSITELIB}/paste/cowbell/bell-ascending.png
 57${PYSITELIB}/paste/cowbell/bell-descending.png
56${PYSITELIB}/paste/debug/__init__.py 58${PYSITELIB}/paste/debug/__init__.py
57${PYSITELIB}/paste/debug/__init__.pyc 59${PYSITELIB}/paste/debug/__init__.pyc
58${PYSITELIB}/paste/debug/__init__.pyo 60${PYSITELIB}/paste/debug/__init__.pyo
59${PYSITELIB}/paste/debug/debugapp.py 61${PYSITELIB}/paste/debug/debugapp.py
60${PYSITELIB}/paste/debug/debugapp.pyc 62${PYSITELIB}/paste/debug/debugapp.pyc
61${PYSITELIB}/paste/debug/debugapp.pyo 63${PYSITELIB}/paste/debug/debugapp.pyo
62${PYSITELIB}/paste/debug/doctest_webapp.py 64${PYSITELIB}/paste/debug/doctest_webapp.py
63${PYSITELIB}/paste/debug/doctest_webapp.pyc 65${PYSITELIB}/paste/debug/doctest_webapp.pyc
64${PYSITELIB}/paste/debug/doctest_webapp.pyo 66${PYSITELIB}/paste/debug/doctest_webapp.pyo
65${PYSITELIB}/paste/debug/fsdiff.py 67${PYSITELIB}/paste/debug/fsdiff.py
66${PYSITELIB}/paste/debug/fsdiff.pyc 68${PYSITELIB}/paste/debug/fsdiff.pyc
67${PYSITELIB}/paste/debug/fsdiff.pyo 69${PYSITELIB}/paste/debug/fsdiff.pyo
68${PYSITELIB}/paste/debug/prints.py 70${PYSITELIB}/paste/debug/prints.py
@@ -168,58 +170,53 @@ ${PYSITELIB}/paste/response.pyo @@ -168,58 +170,53 @@ ${PYSITELIB}/paste/response.pyo
168${PYSITELIB}/paste/session.py 170${PYSITELIB}/paste/session.py
169${PYSITELIB}/paste/session.pyc 171${PYSITELIB}/paste/session.pyc
170${PYSITELIB}/paste/session.pyo 172${PYSITELIB}/paste/session.pyo
171${PYSITELIB}/paste/transaction.py 173${PYSITELIB}/paste/transaction.py
172${PYSITELIB}/paste/transaction.pyc 174${PYSITELIB}/paste/transaction.pyc
173${PYSITELIB}/paste/transaction.pyo 175${PYSITELIB}/paste/transaction.pyo
174${PYSITELIB}/paste/translogger.py 176${PYSITELIB}/paste/translogger.py
175${PYSITELIB}/paste/translogger.pyc 177${PYSITELIB}/paste/translogger.pyc
176${PYSITELIB}/paste/translogger.pyo 178${PYSITELIB}/paste/translogger.pyo
177${PYSITELIB}/paste/url.py 179${PYSITELIB}/paste/url.py
178${PYSITELIB}/paste/url.pyc 180${PYSITELIB}/paste/url.pyc
179${PYSITELIB}/paste/url.pyo 181${PYSITELIB}/paste/url.pyo
180${PYSITELIB}/paste/urlmap.py 182${PYSITELIB}/paste/urlmap.py
 183${PYSITELIB}/paste/urlmap.py.orig
181${PYSITELIB}/paste/urlmap.pyc 184${PYSITELIB}/paste/urlmap.pyc
182${PYSITELIB}/paste/urlmap.pyo 185${PYSITELIB}/paste/urlmap.pyo
183${PYSITELIB}/paste/urlparser.py 186${PYSITELIB}/paste/urlparser.py
184${PYSITELIB}/paste/urlparser.pyc 187${PYSITELIB}/paste/urlparser.pyc
185${PYSITELIB}/paste/urlparser.pyo 188${PYSITELIB}/paste/urlparser.pyo
186${PYSITELIB}/paste/util/PySourceColor.py 189${PYSITELIB}/paste/util/PySourceColor.py
187${PYSITELIB}/paste/util/PySourceColor.pyc 190${PYSITELIB}/paste/util/PySourceColor.pyc
188${PYSITELIB}/paste/util/PySourceColor.pyo 191${PYSITELIB}/paste/util/PySourceColor.pyo
189${PYSITELIB}/paste/util/UserDict24.py 
190${PYSITELIB}/paste/util/UserDict24.pyc 
191${PYSITELIB}/paste/util/UserDict24.pyo 
192${PYSITELIB}/paste/util/__init__.py 192${PYSITELIB}/paste/util/__init__.py
193${PYSITELIB}/paste/util/__init__.pyc 193${PYSITELIB}/paste/util/__init__.pyc
194${PYSITELIB}/paste/util/__init__.pyo 194${PYSITELIB}/paste/util/__init__.pyo
195${PYSITELIB}/paste/util/classinit.py 195${PYSITELIB}/paste/util/classinit.py
196${PYSITELIB}/paste/util/classinit.pyc 196${PYSITELIB}/paste/util/classinit.pyc
197${PYSITELIB}/paste/util/classinit.pyo 197${PYSITELIB}/paste/util/classinit.pyo
198${PYSITELIB}/paste/util/classinstance.py 198${PYSITELIB}/paste/util/classinstance.py
199${PYSITELIB}/paste/util/classinstance.pyc 199${PYSITELIB}/paste/util/classinstance.pyc
200${PYSITELIB}/paste/util/classinstance.pyo 200${PYSITELIB}/paste/util/classinstance.pyo
201${PYSITELIB}/paste/util/converters.py 201${PYSITELIB}/paste/util/converters.py
202${PYSITELIB}/paste/util/converters.pyc 202${PYSITELIB}/paste/util/converters.pyc
203${PYSITELIB}/paste/util/converters.pyo 203${PYSITELIB}/paste/util/converters.pyo
204${PYSITELIB}/paste/util/dateinterval.py 204${PYSITELIB}/paste/util/dateinterval.py
205${PYSITELIB}/paste/util/dateinterval.pyc 205${PYSITELIB}/paste/util/dateinterval.pyc
206${PYSITELIB}/paste/util/dateinterval.pyo 206${PYSITELIB}/paste/util/dateinterval.pyo
207${PYSITELIB}/paste/util/datetimeutil.py 207${PYSITELIB}/paste/util/datetimeutil.py
208${PYSITELIB}/paste/util/datetimeutil.pyc 208${PYSITELIB}/paste/util/datetimeutil.pyc
209${PYSITELIB}/paste/util/datetimeutil.pyo 209${PYSITELIB}/paste/util/datetimeutil.pyo
210${PYSITELIB}/paste/util/doctest24.py 
211${PYSITELIB}/paste/util/doctest24.pyc 
212${PYSITELIB}/paste/util/doctest24.pyo 
213${PYSITELIB}/paste/util/filemixin.py 210${PYSITELIB}/paste/util/filemixin.py
214${PYSITELIB}/paste/util/filemixin.pyc 211${PYSITELIB}/paste/util/filemixin.pyc
215${PYSITELIB}/paste/util/filemixin.pyo 212${PYSITELIB}/paste/util/filemixin.pyo
216${PYSITELIB}/paste/util/finddata.py 213${PYSITELIB}/paste/util/finddata.py
217${PYSITELIB}/paste/util/finddata.pyc 214${PYSITELIB}/paste/util/finddata.pyc
218${PYSITELIB}/paste/util/finddata.pyo 215${PYSITELIB}/paste/util/finddata.pyo
219${PYSITELIB}/paste/util/findpackage.py 216${PYSITELIB}/paste/util/findpackage.py
220${PYSITELIB}/paste/util/findpackage.pyc 217${PYSITELIB}/paste/util/findpackage.pyc
221${PYSITELIB}/paste/util/findpackage.pyo 218${PYSITELIB}/paste/util/findpackage.pyo
222${PYSITELIB}/paste/util/import_string.py 219${PYSITELIB}/paste/util/import_string.py
223${PYSITELIB}/paste/util/import_string.pyc 220${PYSITELIB}/paste/util/import_string.pyc
224${PYSITELIB}/paste/util/import_string.pyo 221${PYSITELIB}/paste/util/import_string.pyo
225${PYSITELIB}/paste/util/intset.py 222${PYSITELIB}/paste/util/intset.py
@@ -236,33 +233,29 @@ ${PYSITELIB}/paste/util/looper.pyc @@ -236,33 +233,29 @@ ${PYSITELIB}/paste/util/looper.pyc
236${PYSITELIB}/paste/util/looper.pyo 233${PYSITELIB}/paste/util/looper.pyo
237${PYSITELIB}/paste/util/mimeparse.py 234${PYSITELIB}/paste/util/mimeparse.py
238${PYSITELIB}/paste/util/mimeparse.pyc 235${PYSITELIB}/paste/util/mimeparse.pyc
239${PYSITELIB}/paste/util/mimeparse.pyo 236${PYSITELIB}/paste/util/mimeparse.pyo
240${PYSITELIB}/paste/util/multidict.py 237${PYSITELIB}/paste/util/multidict.py
241${PYSITELIB}/paste/util/multidict.pyc 238${PYSITELIB}/paste/util/multidict.pyc
242${PYSITELIB}/paste/util/multidict.pyo 239${PYSITELIB}/paste/util/multidict.pyo
243${PYSITELIB}/paste/util/quoting.py 240${PYSITELIB}/paste/util/quoting.py
244${PYSITELIB}/paste/util/quoting.pyc 241${PYSITELIB}/paste/util/quoting.pyc
245${PYSITELIB}/paste/util/quoting.pyo 242${PYSITELIB}/paste/util/quoting.pyo
246${PYSITELIB}/paste/util/scgiserver.py 243${PYSITELIB}/paste/util/scgiserver.py
247${PYSITELIB}/paste/util/scgiserver.pyc 244${PYSITELIB}/paste/util/scgiserver.pyc
248${PYSITELIB}/paste/util/scgiserver.pyo 245${PYSITELIB}/paste/util/scgiserver.pyo
249${PYSITELIB}/paste/util/string24.py 
250${PYSITELIB}/paste/util/string24.pyc 
251${PYSITELIB}/paste/util/string24.pyo 
252${PYSITELIB}/paste/util/subprocess24.py 
253${PYSITELIB}/paste/util/subprocess24.pyc 
254${PYSITELIB}/paste/util/subprocess24.pyo 
255${PYSITELIB}/paste/util/template.py 246${PYSITELIB}/paste/util/template.py
 247${PYSITELIB}/paste/util/template.py.2015-04-30-123224
 248${PYSITELIB}/paste/util/template.py.orig
256${PYSITELIB}/paste/util/template.pyc 249${PYSITELIB}/paste/util/template.pyc
257${PYSITELIB}/paste/util/template.pyo 250${PYSITELIB}/paste/util/template.pyo
258${PYSITELIB}/paste/util/threadedprint.py 251${PYSITELIB}/paste/util/threadedprint.py
259${PYSITELIB}/paste/util/threadedprint.pyc 252${PYSITELIB}/paste/util/threadedprint.pyc
260${PYSITELIB}/paste/util/threadedprint.pyo 253${PYSITELIB}/paste/util/threadedprint.pyo
261${PYSITELIB}/paste/util/threadinglocal.py 254${PYSITELIB}/paste/util/threadinglocal.py
262${PYSITELIB}/paste/util/threadinglocal.pyc 255${PYSITELIB}/paste/util/threadinglocal.pyc
263${PYSITELIB}/paste/util/threadinglocal.pyo 256${PYSITELIB}/paste/util/threadinglocal.pyo
264${PYSITELIB}/paste/wsgilib.py 257${PYSITELIB}/paste/wsgilib.py
265${PYSITELIB}/paste/wsgilib.pyc 258${PYSITELIB}/paste/wsgilib.pyc
266${PYSITELIB}/paste/wsgilib.pyo 259${PYSITELIB}/paste/wsgilib.pyo
267${PYSITELIB}/paste/wsgiwrappers.py 260${PYSITELIB}/paste/wsgiwrappers.py
268${PYSITELIB}/paste/wsgiwrappers.pyc 261${PYSITELIB}/paste/wsgiwrappers.pyc

cvs diff -r1.4 -r1.5 pkgsrc/www/py-paste/distinfo (expand / switch to unified diff)

--- pkgsrc/www/py-paste/distinfo 2013/01/28 20:17:43 1.4
+++ pkgsrc/www/py-paste/distinfo 2015/07/16 11:36:20 1.5
@@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
1$NetBSD: distinfo,v 1.4 2013/01/28 20:17:43 adam Exp $ 1$NetBSD: distinfo,v 1.5 2015/07/16 11:36:20 wiz Exp $
2 2
3SHA1 (Paste-1.7.5.1.tar.gz) = 11d3c5a2dc52c5e725139a9334574291a0f9d04f 3SHA1 (Paste-2.0.2.tar.gz) = 7fe739fbe391bb09afe1bd3327f320e29f27e2cc
4RMD160 (Paste-1.7.5.1.tar.gz) = 554304c4a45b208a77281dff3705cee5f9d6b2be 4RMD160 (Paste-2.0.2.tar.gz) = 94d13e6db579a24ffde59c667ff0a1bb680316fa
5Size (Paste-1.7.5.1.tar.gz) = 523304 bytes 5Size (Paste-2.0.2.tar.gz) = 627842 bytes