diff options
Diffstat (limited to 'www/mod_python35/files/patch-mod_python35')
| -rw-r--r-- | www/mod_python35/files/patch-mod_python35 | 416 |
1 files changed, 0 insertions, 416 deletions
diff --git a/www/mod_python35/files/patch-mod_python35 b/www/mod_python35/files/patch-mod_python35 deleted file mode 100644 index afa3a6f61158..000000000000 --- a/www/mod_python35/files/patch-mod_python35 +++ /dev/null @@ -1,416 +0,0 @@ ---- Doc/Makefile.in.orig 2013-11-12 03:21:34 UTC -+++ Doc/Makefile.in -@@ -16,7 +16,7 @@ ALLSPHINXOPTS = -b $(BUILDER) -d build/d - $(SPHINXOPTS) . build/$(BUILDER) $(SOURCES) - - .PHONY: help checkout update build html htmlhelp latex text changes linkcheck \ -- suspicious coverage htmlview distclean clean dist check serve \ -+ suspicious coverage htmlview clean dist check serve \ - autobuild-dev autobuild-stable - - help: -@@ -102,8 +102,6 @@ coverage: build - htmlview: html - $(PYTHON) -c "import webbrowser; webbrowser.open('build/html/index.html')" - --distclean: clean -- - clean: - -rm -rf build/* - -rm -rf tools/sphinx -@@ -111,6 +109,9 @@ clean: - -rm -rf tools/jinja2 - -rm -rf tools/docutils - -+distclean: clean -+ rm -f Makefile -+ - dist: - rm -rf dist - mkdir -p dist ---- Doc/changes.rst.orig 2013-11-12 03:21:34 UTC -+++ Doc/changes.rst -@@ -5,22 +5,6 @@ - Changes - ******* - --.. _changes_from_3_4_1: -- --Changes from version 3.4.1 --========================== -- --New Features -------------- -- --* Support for Python 3.3 -- --Improvements -------------- -- --* Simpler, faster and up-to-date with latest Python code for creating/maintaining interpreter and thread state. --* A much faster WSGI implementation (start_response now implemented in C) -- - .. _changes_from_3_3_1: - - Changes from version 3.3.1 ---- NEWS.orig 2013-11-12 03:21:34 UTC -+++ NEWS -@@ -1,3 +1,5 @@ -+Nov 13 2013 - 3.5.0 released -+ - Oct 22 2013 - 3.4.1 released - - Jan 29 2007 - 3.3.1 is being tagged ---- configure.orig 2013-11-12 03:21:34 UTC -+++ configure -@@ -3340,11 +3340,7 @@ PyMAJVERSION=`$PYTHON_BIN -c 'import sys - PyMINVERSION=`$PYTHON_BIN -c 'import sys; print(sys.version.split(".")[1])'` - { $as_echo "$as_me:$LINENO: result: $PyVERSION" >&5 - $as_echo "$PyVERSION" >&6; } --if test -z "$PyMAJVERSION"; then -- { { $as_echo "$as_me:$LINENO: error: Unable to get Python version - is your Python working?" >&5 --$as_echo "$as_me: error: Unable to get Python version - is your Python working?" >&2;} -- { (exit 1); exit 1; }; } --fi -+ - # make sure Python version is >= 2.6 for 2 and >= 3.3 for 3 - if test "$PyMAJVERSION" -lt "2"; then - { { $as_echo "$as_me:$LINENO: error: This version of mod_python only works with Python major version 2 or higher. The one you have seems to be $PyVERSION." >&5 -@@ -3395,8 +3391,7 @@ if test "${PYTHONFRAMEWORKDIR}" = "no-fr - LDFLAGS="${LDFLAGS1} ${LDFLAGS2}" - - if test "$PyMAJVERSION" -eq "3"; then -- PyLDVERSION=`$PYTHON_BIN -c 'from distutils import sysconfig; print(sysconfig.get_config_var("LDVERSION"))'` -- LDLIBS1="-lpython${PyLDVERSION}" -+ LDLIBS1="-lpython${PyMAJVERSION}" - else - LDLIBS1="-lpython${PyVERSION}" - fi ---- configure.in.orig 2013-11-12 03:21:34 UTC -+++ configure.in -@@ -171,9 +171,7 @@ PyVERSION=`$PYTHON_BIN -c ['import sys; - PyMAJVERSION=`$PYTHON_BIN -c ['import sys; print(sys.version[:1])'`] - PyMINVERSION=`$PYTHON_BIN -c ['import sys; print(sys.version.split(".")[1])'`] - AC_MSG_RESULT($PyVERSION) --if test -z "$PyMAJVERSION"; then -- AC_MSG_ERROR([Unable to get Python version - is your Python working?]) --fi -+ - # make sure Python version is >= 2.6 for 2 and >= 3.3 for 3 - if test "$PyMAJVERSION" -lt "2"; then - AC_MSG_ERROR([This version of mod_python only works with Python major version 2 or higher. The one you have seems to be $PyVERSION.]) -@@ -218,8 +216,7 @@ if test "${PYTHONFRAMEWORKDIR}" = "no-fr - LDFLAGS="${LDFLAGS1} ${LDFLAGS2}" - - if test "$PyMAJVERSION" -eq "3"; then -- PyLDVERSION=`$PYTHON_BIN -c ['from distutils import sysconfig; print(sysconfig.get_config_var("LDVERSION"))'`] -- LDLIBS1="-lpython${PyLDVERSION}" -+ LDLIBS1="-lpython${PyMAJVERSION}" - else - LDLIBS1="-lpython${PyVERSION}" - fi -@@ -326,9 +323,9 @@ if test "$LEX" && test -x "$LEX"; then - - AC_MSG_CHECKING(flex version) - FlexVERSION=`$LEX --version | sed 's/version//g' | awk '/flex/ {print $2}'` -- Flex_MAJOR=`echo $FlexVERSION| awk -F . '{print $1}'` -- Flex_MINOR=`echo $FlexVERSION| awk -F . '{print $2}'` -- Flex_PATCH=`echo $FlexVERSION| awk -F . '{print $3}'` -+ Flex_MAJOR=`echo $FlexVERSION| awk -F. '{print $1}'` -+ Flex_MINOR=`echo $FlexVERSION| awk -F. '{print $2}'` -+ Flex_PATCH=`echo $FlexVERSION| awk -F. '{print $3}'` - - if test "$Flex_MAJOR" -eq "2" && test "$Flex_MINOR" -eq "5" && test "$Flex_PATCH" -ge "31"; then - AC_MSG_RESULT([$FlexVERSION. Good]) ---- dist/version.sh.orig 2013-11-12 03:21:34 UTC -+++ dist/version.sh -@@ -5,6 +5,17 @@ MPV_PATH="`dirname $0`/../src/include/mp - MAJ=`awk '/MP_VERSION_MAJOR/ {print $3}' $MPV_PATH` - MIN=`awk '/MP_VERSION_MINOR/ {print $3}' $MPV_PATH` - PCH=`awk '/MP_VERSION_PATCH/ {print $3}' $MPV_PATH` --GIT=`git describe --always` - --echo $MAJ.$MIN.$PCH-$GIT -+# if git exists in path -+if type git >/dev/null 2>&1; then -+ # and we are in a checkout -+ if git rev-parse 2>/dev/null; then -+ # but not on a tag (which means this is a release) -+ if test -z "`git log 'HEAD^!' --format=%d 2>/dev/null | grep 'tag: '`"; then -+ # append git revision hash to version -+ GIT="-`git describe --always`" -+ fi -+ fi -+fi -+ -+echo $MAJ.$MIN.$PCH$GIT ---- lib/python/mod_python/Cookie.py.orig 2013-11-12 03:21:34 UTC -+++ lib/python/mod_python/Cookie.py -@@ -59,7 +59,7 @@ class metaCookie(type): - - _valid_attr = ( - "version", "path", "domain", "secure", -- "comment", "max_age", -+ "comment", "expires", "max_age", - # RFC 2965 - "commentURL", "discard", "port", - # Microsoft Extension ---- lib/python/mod_python/util.py.orig 2013-11-12 03:21:34 UTC -+++ lib/python/mod_python/util.py -@@ -156,7 +156,7 @@ else: - disp_options = None - - def __new__(self, value): -- return bytes.__new__(self, value) -+ return bytes.__new__(self, value, "utf8") - - def __init__(self, value): - self.value = value ---- scripts/Makefile.in.orig 2013-11-12 03:21:34 UTC -+++ scripts/Makefile.in -@@ -17,7 +17,7 @@ - # - - INSTALL=@INSTALL@ --BINDIR=@prefix@/bin -+BINDIR=`dirname @PYTHON_BIN@` - - clean: - rm -rf *~ -@@ -26,4 +26,5 @@ distclean: clean - rm -f Makefile - - install: -+ $(INSTALL) -m 0755 -d $(DESTDIR)$(BINDIR) - $(INSTALL) -m 0755 mod_python $(DESTDIR)$(BINDIR)/mod_python ---- scripts/mod_python.in.orig 2013-11-12 03:21:34 UTC -+++ scripts/mod_python.in -@@ -26,7 +26,7 @@ - import sys - import os - import platform --import io -+import StringIO - import mod_python - from mod_python import httpdconf - -@@ -64,7 +64,7 @@ def cmd_genconfig(): - if len(args) != 1: - parser.error("Must specify <src>") - -- exec(compile(open(args[0]).read(), args[0], 'exec')) -+ execfile(args[0]) - - def cmd_create(): - ---- src/Makefile.in.orig 2013-11-12 03:21:34 UTC -+++ src/Makefile.in -@@ -50,11 +50,11 @@ psp_parser.c: psp_parser.l - - dso: mod_python.so - --mod_python.so: $(SRCS) @SOLARIS_HACKS@ -+mod_python.so: $(SRCS) @SOLARIS_HACKS@ - @echo - @echo 'Building mod_python.so.' - @echo -- $(APXS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -c $(SRCS) $(LDFLAGS) $(LDLIBS) @SOLARIS_HACKS@ -+ $(APXS) $(INCLUDES) $(CPPFLAGS) $(APXSFLAGS) $(CFLAGS) -c $(SRCS) $(LDFLAGS) $(LDLIBS) @SOLARIS_HACKS@ - @rm -f mod_python.so - @ln -s .libs/mod_python.so mod_python.so - clean: -@@ -64,21 +64,17 @@ distclean: clean - rm -f Makefile .depend - - version.c: -- @MP_GIT_SHA=$$(git describe --always); \ -- echo > version.c ; \ -+ @echo > version.c ; \ - echo "/* THIS FILE IS AUTO-GENERATED BY Makefile */" >> version.c ; \ - echo "#include \"mp_version.h\"" >> version.c ; \ -- echo "const char * const mp_git_sha = \"$${MP_GIT_SHA}\";" >> version.c ; \ - echo "const int mp_version_major = MP_VERSION_MAJOR;" >> version.c ; \ - echo "const int mp_version_minor = MP_VERSION_MINOR;" >> version.c ; \ - echo "const int mp_version_patch = MP_VERSION_PATCH;" >> version.c ; \ -- echo "const char * const mp_version_string = MP_VERSION_STRING(MP_VERSION_MAJOR,MP_VERSION_MINOR,MP_VERSION_PATCH) \"-$${MP_GIT_SHA}\";" >> version.c ; \ -- echo "const char * const mp_version_component = \"mod_python/\" MP_VERSION_STRING(MP_VERSION_MAJOR,MP_VERSION_MINOR,MP_VERSION_PATCH) \"-$${MP_GIT_SHA}\";" >> version.c -- --# echo "const char * const mp_version_component = \"mod_python/\" #MP_VERSION_MAJOR \".\" #MP_VERSION_MINOR \".\" #MP_VERSION_PATCH \"-$${MP_GIT_SHA}\";" >> version.c -+ echo "const char * const mp_version_string = \"`../dist/version.sh`\";" >> version.c ; \ -+ echo "const char * const mp_version_component = \"mod_python/\" \"`../dist/version.sh`\";" >> version.c - - # this is a hack to help avoid a gcc/solaris problem --# python uses assert() which needs _eprintf(). See -+# python uses assert() which needs _eprintf(). See - # SOLARIS_HACKS above - _eprintf.o: - ar -x `gcc -print-libgcc-file-name` _eprintf.o ---- src/_apachemodule.c.orig 2013-11-12 03:21:34 UTC -+++ src/_apachemodule.c -@@ -213,9 +213,11 @@ static PyObject *parse_qs(PyObject *self - cval = PyBytes_AS_STRING(val); - - if (unicode) { -+ // The query string is supposed to be a valid UTF8 string -+ // https://url.spec.whatwg.org/#percent-encoded-bytes - PyObject *list, *ukey, *uval; -- ukey = PyUnicode_DecodeLatin1(ckey, strlen(ckey), NULL); -- uval = PyUnicode_DecodeLatin1(ckey, strlen(cval), NULL); -+ ukey = PyUnicode_DecodeUTF8(ckey, strlen(ckey), NULL); -+ uval = PyUnicode_DecodeUTF8(ckey, strlen(cval), NULL); - list = PyDict_GetItem(dict, ukey); - if (list) { - PyList_Append(list, uval); -@@ -371,8 +373,8 @@ static PyObject *parse_qsl(PyObject *sel - PyObject *listitem = NULL; - if (unicode) { - PyObject *ukey, *uval; -- ukey = PyUnicode_DecodeLatin1(ckey, strlen(ckey), NULL); -- uval = PyUnicode_DecodeLatin1(cval, strlen(cval), NULL); -+ ukey = PyUnicode_DecodeUTF8(ckey, strlen(ckey), NULL); -+ uval = PyUnicode_DecodeUTF8(cval, strlen(cval), NULL); - listitem = Py_BuildValue("(O,O)", ukey, uval); - Py_DECREF(ukey); - Py_DECREF(uval); ---- src/include/mod_python.h.orig 2013-11-12 03:21:34 UTC -+++ src/include/mod_python.h -@@ -156,7 +156,6 @@ extern module AP_MODULE_DECLARE_DATA pyt - #define MUTEX_DIR "/tmp" - - /* version stuff */ --extern const char * const mp_git_sha; - extern const int mp_version_major; - extern const int mp_version_minor; - extern const int mp_version_patch; -@@ -267,7 +266,7 @@ APR_DECLARE_OPTIONAL_FN(PyObject *, mp_g - if (PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 3 && \ - PyUnicode_KIND(obj) == PyUnicode_1BYTE_KIND) { \ - if (obj_is_borrowed) Py_INCREF(obj); /* so DECREF ok */ \ -- str = (char *)PyUnicode_1BYTE_DATA(obj); \ -+ str = PyUnicode_1BYTE_DATA(obj); \ - } else { \ - PyObject *latin = PyUnicode_AsLatin1String(obj); \ - if (latin) { \ -@@ -292,11 +291,11 @@ static inline PyObject *MpObject_ReprAsB - PyObject *result; - PyObject *ucode = PyObject_Repr(o); - /* we can do this because repr() should never have non-ascii characters XXX (really?) */ -- char *c = (char *)PyUnicode_1BYTE_DATA(ucode); -+ char *c = PyUnicode_1BYTE_DATA(ucode); - if (c[0] == 'b') -- result = PyBytes_FromStringAndSize((char *)PyUnicode_1BYTE_DATA(ucode)+1, PyUnicode_GET_LENGTH(ucode)-1); -+ result = PyBytes_FromStringAndSize(PyUnicode_1BYTE_DATA(ucode)+1, PyUnicode_GET_LENGTH(ucode)-1); - else -- result = PyBytes_FromStringAndSize((char *)PyUnicode_1BYTE_DATA(ucode), PyUnicode_GET_LENGTH(ucode)); -+ result = PyBytes_FromStringAndSize(PyUnicode_1BYTE_DATA(ucode), PyUnicode_GET_LENGTH(ucode)); - Py_DECREF(ucode); - return result; - } ---- src/include/mod_python.h.in.orig 2013-11-12 03:21:34 UTC -+++ src/include/mod_python.h.in -@@ -156,7 +156,6 @@ extern module AP_MODULE_DECLARE_DATA pyt - #define MUTEX_DIR "@MUTEX_DIR@" - - /* version stuff */ --extern const char * const mp_git_sha; - extern const int mp_version_major; - extern const int mp_version_minor; - extern const int mp_version_patch; -@@ -267,7 +266,7 @@ APR_DECLARE_OPTIONAL_FN(PyObject *, mp_g - if (PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 3 && \ - PyUnicode_KIND(obj) == PyUnicode_1BYTE_KIND) { \ - if (obj_is_borrowed) Py_INCREF(obj); /* so DECREF ok */ \ -- str = (char *)PyUnicode_1BYTE_DATA(obj); \ -+ str = PyUnicode_1BYTE_DATA(obj); \ - } else { \ - PyObject *latin = PyUnicode_AsLatin1String(obj); \ - if (latin) { \ -@@ -292,11 +291,11 @@ static inline PyObject *MpObject_ReprAsB - PyObject *result; - PyObject *ucode = PyObject_Repr(o); - /* we can do this because repr() should never have non-ascii characters XXX (really?) */ -- char *c = (char *)PyUnicode_1BYTE_DATA(ucode); -+ char *c = PyUnicode_1BYTE_DATA(ucode); - if (c[0] == 'b') -- result = PyBytes_FromStringAndSize((char *)PyUnicode_1BYTE_DATA(ucode)+1, PyUnicode_GET_LENGTH(ucode)-1); -+ result = PyBytes_FromStringAndSize(PyUnicode_1BYTE_DATA(ucode)+1, PyUnicode_GET_LENGTH(ucode)-1); - else -- result = PyBytes_FromStringAndSize((char *)PyUnicode_1BYTE_DATA(ucode), PyUnicode_GET_LENGTH(ucode)); -+ result = PyBytes_FromStringAndSize(PyUnicode_1BYTE_DATA(ucode), PyUnicode_GET_LENGTH(ucode)); - Py_DECREF(ucode); - return result; - } ---- src/include/mp_version.h.orig 2013-11-12 03:21:34 UTC -+++ src/include/mp_version.h -@@ -10,5 +10,3 @@ - #define MP_VERSION_MINOR 5 - #define MP_VERSION_PATCH 0 - --#define STR(x) #x --#define MP_VERSION_STRING(maj, min, p) STR(maj) "." STR(min) "." STR(p) ---- src/mod_python.c.orig 2013-11-12 03:21:34 UTC -+++ src/mod_python.c -@@ -748,10 +748,10 @@ static int python_init(apr_pool_t *p, ap - py_compile_version, py_dynamic_version); - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "python_init: Python executable found '%s'.", -- (char *)Py_GetProgramFullPath()); -+ Py_GetProgramFullPath()); - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "python_init: Python path being used '%s'.", -- (char *)Py_GetPath()); -+ Py_GetPath()); - } - - /* Python version */ -@@ -772,8 +772,18 @@ static int python_init(apr_pool_t *p, ap - { - initialized = 1; - -- /* initialze the interpreter */ -+ /* disable user site directories */ -+ Py_NoUserSiteDirectory = 1; -+ -+ /* Initialze the main interpreter. We do not want site.py to -+ * be imported because as of Python 2.7.9 it would cause a -+ * circular dependency related to _locale which breaks -+ * graceful restart so we set Py_NoSiteFlag to 1 just for this -+ * one time. (https://github.com/grisha/mod_python/issues/46) -+ */ -+ Py_NoSiteFlag = 1; - Py_Initialize(); -+ Py_NoSiteFlag = 0; - - #ifdef WITH_THREAD - /* create and acquire the interpreter lock */ -@@ -1795,7 +1805,7 @@ static apr_status_t python_filter(int is - } - - /* are we in transparent mode? transparent mode is on after an error, -- so a fitler can spit out an error without causing infinite loop */ -+ so a filter can spit out an error without causing infinite loop */ - if (ctx->transparent) { - if (is_input) - return ap_get_brigade(f->next, bb, mode, block, readbytes); -@@ -2646,7 +2656,7 @@ static void PythonChildInitHandler(apr_p - * problems as well. Thus disable cleanup of Python when - * child processes are being shutdown. (MODPYTHON-109) - * -- apr_pool_cleanup_register(p, NULL, python_finalize, apr_pool_cleanup_null); -+ * apr_pool_cleanup_register(p, NULL, python_finalize, apr_pool_cleanup_null); - */ - - /* ---- src/requestobject.c.orig 2013-11-12 03:21:34 UTC -+++ src/requestobject.c -@@ -1967,6 +1967,10 @@ static int setreq_recmbr(requestobject * - return 0; - } - else if (strcmp(name, "args") == 0) { -+ if (val == Py_None) { -+ self->request_rec->args = 0; -+ return 0; -+ } - MP_ANYSTR_AS_STR(v, val, 1); - if (!v) { - Py_DECREF(val); /* MP_ANYSTR_AS_STR */ |
