diff options
author | Olli Hauer <ohauer@FreeBSD.org> | 2014-04-15 18:54:37 +0000 |
---|---|---|
committer | Olli Hauer <ohauer@FreeBSD.org> | 2014-04-15 18:54:37 +0000 |
commit | df9b0f35a4db4b7f577171dbf9b80020785d68d0 (patch) | |
tree | 0a20c175f775ce94237f3fbd788ba4231962e3a8 /www/mod_python35 | |
parent | 487fa667db7a9dfca26b6a1997451763f5e6f66c (diff) | |
download | ports-df9b0f35a4db4b7f577171dbf9b80020785d68d0.tar.gz ports-df9b0f35a4db4b7f577171dbf9b80020785d68d0.zip |
Notes
Diffstat (limited to 'www/mod_python35')
-rw-r--r-- | www/mod_python35/Makefile | 37 | ||||
-rw-r--r-- | www/mod_python35/distinfo | 2 | ||||
-rw-r--r-- | www/mod_python35/files/patch-mod_python35 | 341 | ||||
-rw-r--r-- | www/mod_python35/pkg-descr | 5 | ||||
-rw-r--r-- | www/mod_python35/pkg-message | 12 | ||||
-rw-r--r-- | www/mod_python35/pkg-plist | 48 |
6 files changed, 445 insertions, 0 deletions
diff --git a/www/mod_python35/Makefile b/www/mod_python35/Makefile new file mode 100644 index 000000000000..123a854d87af --- /dev/null +++ b/www/mod_python35/Makefile @@ -0,0 +1,37 @@ +# Created by: Hye-Shik Chang +# $FreeBSD$ + +PORTNAME= mod_python +PORTVERSION= 3.5.0 +CATEGORIES= www python +MASTER_SITES= http://dist.modpython.org/dist/ \ + LOCAL/ohauer +MASTER_SITE_SUBDIR= modpython +PKGNAMEPREFIX= ${APACHE_PKGNAMEPREFIX} +PKGNAMESUFFIX= 35 +DIST_SUBDIR= apache2 + +MAINTAINER= apache@FreeBSD.org +COMMENT= Apache module that embeds the Python interpreter within the server + +LICENSE= APACHE20 + +USE_APACHE= 22+ +USE_PYTHON= yes +USES= tar:tgz + +INSTALLS_EGGINFO= yes +GNU_CONFIGURE= yes +CONFIGURE_ARGS+= --with-apxs="${APXS}" \ + --with-python="${PYTHON_CMD}" \ + --without-flex + +LDFLAGS+= -L${LOCALBASE}/lib +MAKE_ARGS+= APXS=${APXS} +MAKE_ENV= EXPR_COMPAT=yes + +# You need to install apache & mod_python before you run this +regression-test: build + -@${MAKE} test -C ${WRKSRC} + +.include <bsd.port.mk> diff --git a/www/mod_python35/distinfo b/www/mod_python35/distinfo new file mode 100644 index 000000000000..ce3f20f1c93b --- /dev/null +++ b/www/mod_python35/distinfo @@ -0,0 +1,2 @@ +SHA256 (apache2/mod_python-3.5.0.tgz) = 0ef09058ed98b41c18d899d8b710a0cce2df2b53c44d877401133b3f28bdca90 +SIZE (apache2/mod_python-3.5.0.tgz) = 571403 diff --git a/www/mod_python35/files/patch-mod_python35 b/www/mod_python35/files/patch-mod_python35 new file mode 100644 index 000000000000..2abf9723a34d --- /dev/null +++ b/www/mod_python35/files/patch-mod_python35 @@ -0,0 +1,341 @@ +diff -nru ./Doc/Makefile.in ./Doc/Makefile.in +--- ./Doc/Makefile.in 2013-11-12 04:21:34.000000000 +0100 ++++ ./Doc/Makefile.in 2014-04-15 17:27:39.000000000 +0200 +@@ -16,7 +16,7 @@ + $(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 @@ + htmlview: html + $(PYTHON) -c "import webbrowser; webbrowser.open('build/html/index.html')" + +-distclean: clean +- + clean: + -rm -rf build/* + -rm -rf tools/sphinx +diff -nru ./Doc/changes.rst ./Doc/changes.rst +--- ./Doc/changes.rst 2013-11-12 04:21:34.000000000 +0100 ++++ ./Doc/changes.rst 2014-04-15 17:27:39.000000000 +0200 +@@ -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 +diff -nru ./NEWS ./NEWS +--- ./NEWS 2013-11-12 04:21:34.000000000 +0100 ++++ ./NEWS 2014-04-15 17:27:39.000000000 +0200 +@@ -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 +diff -nru ./configure ./configure +--- ./configure 2013-11-12 04:21:34.000000000 +0100 ++++ ./configure 2014-04-15 17:27:39.000000000 +0200 +@@ -3340,11 +3340,7 @@ + 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 @@ + 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 +diff -nru ./configure.in ./configure.in +--- ./configure.in 2013-11-12 04:21:34.000000000 +0100 ++++ ./configure.in 2014-04-15 17:27:39.000000000 +0200 +@@ -171,9 +171,7 @@ + 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 @@ + 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 @@ + + 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]) +diff -nru ./dist/version.sh ./dist/version.sh +--- ./dist/version.sh 2013-11-12 04:21:34.000000000 +0100 ++++ ./dist/version.sh 2014-04-15 17:27:39.000000000 +0200 +@@ -5,6 +5,17 @@ + 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 +Only in ./: doc-html +diff -nru ./lib/python/mod_python/Cookie.py ./lib/python/mod_python/Cookie.py +--- ./lib/python/mod_python/Cookie.py 2013-11-12 04:21:34.000000000 +0100 ++++ ./lib/python/mod_python/Cookie.py 2014-04-15 17:27:39.000000000 +0200 +@@ -59,7 +59,7 @@ + + _valid_attr = ( + "version", "path", "domain", "secure", +- "comment", "max_age", ++ "comment", "expires", "max_age", + # RFC 2965 + "commentURL", "discard", "port", + # Microsoft Extension +diff -nru ./scripts/mod_python.in ./scripts/mod_python.in +--- ./scripts/mod_python.in 2013-11-12 04:21:34.000000000 +0100 ++++ ./scripts/mod_python.in 2014-04-15 17:27:39.000000000 +0200 +@@ -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 @@ + if len(args) != 1: + parser.error("Must specify <src>") + +- exec(compile(open(args[0]).read(), args[0], 'exec')) ++ execfile(args[0]) + + def cmd_create(): + +@@ -105,7 +105,7 @@ + + version = "\n" + version += "mod_python: %s\n" % mod_python.mp_version +- version += " %s\n\n" % repr(os.path.join(mod_python.version.LIBEXECDIR, "mod_python.so")) ++ version += " %s\n\n" % repr(s.path.join(mod_python.version.LIBEXECDIR, "mod_python.so")) + version += "python: %s\n" % ''.join(sys.version.splitlines()) + version += " %s\n\n" % repr(mod_python.version.PYTHON_BIN) + version += "httpd: %s\n" % mod_python.version.HTTPD_VERSION +diff -nru ./src/Makefile.in ./src/Makefile.in +--- ./src/Makefile.in 2013-11-12 04:21:34.000000000 +0100 ++++ ./src/Makefile.in 2014-04-15 17:27:39.000000000 +0200 +@@ -50,7 +50,7 @@ + + dso: mod_python.so + +-mod_python.so: $(SRCS) @SOLARIS_HACKS@ ++mod_python.so: $(SRCS) @SOLARIS_HACKS@ + @echo + @echo 'Building mod_python.so.' + @echo +@@ -64,21 +64,17 @@ + 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 +diff -nru ./src/include/mod_python.h ./src/include/mod_python.h +--- ./src/include/mod_python.h 2013-11-12 04:21:34.000000000 +0100 ++++ ./src/include/mod_python.h 2014-04-15 17:27:39.000000000 +0200 +@@ -156,7 +156,6 @@ + #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 @@ + 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 @@ + 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; + } +diff -nru ./src/include/mod_python.h.in ./src/include/mod_python.h.in +--- ./src/include/mod_python.h.in 2013-11-12 04:21:34.000000000 +0100 ++++ ./src/include/mod_python.h.in 2014-04-15 17:27:39.000000000 +0200 +@@ -156,7 +156,6 @@ + #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 @@ + 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 @@ + 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; + } +diff -nru ./src/include/mp_version.h ./src/include/mp_version.h +--- ./src/include/mp_version.h 2013-11-12 04:21:34.000000000 +0100 ++++ ./src/include/mp_version.h 2014-04-15 17:27:39.000000000 +0200 +@@ -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) +diff -nru ./src/mod_python.c ./src/mod_python.c +--- ./src/mod_python.c 2013-11-12 04:21:34.000000000 +0100 ++++ ./src/mod_python.c 2014-04-15 17:27:39.000000000 +0200 +@@ -748,10 +748,10 @@ + 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 */ +@@ -1795,7 +1795,7 @@ + } + + /* 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); +diff -nru ./src/requestobject.c ./src/requestobject.c +--- ./src/requestobject.c 2013-11-12 04:21:34.000000000 +0100 ++++ ./src/requestobject.c 2014-04-15 17:27:39.000000000 +0200 +@@ -1967,6 +1967,10 @@ + 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 */ diff --git a/www/mod_python35/pkg-descr b/www/mod_python35/pkg-descr new file mode 100644 index 000000000000..6e3e10329de3 --- /dev/null +++ b/www/mod_python35/pkg-descr @@ -0,0 +1,5 @@ +Mod_python allows embedding Python within the Apache http server +for a considerable boost in performance and added flexibility +in designing web based applications. + +WWW: http://www.modpython.org/ diff --git a/www/mod_python35/pkg-message b/www/mod_python35/pkg-message new file mode 100644 index 000000000000..612fd5e7f501 --- /dev/null +++ b/www/mod_python35/pkg-message @@ -0,0 +1,12 @@ +================================================================================ + +Also remember to add to your Apache configuration in the appropriate context: + +PythonPath "['/path/to/foo', '/path/to/bar']" +AddHandler python-program .py +PythonHandler foobar +PythonDebug On + +For more information, see http://www.modpython.org/. + +================================================================================ diff --git a/www/mod_python35/pkg-plist b/www/mod_python35/pkg-plist new file mode 100644 index 000000000000..faf780c862fb --- /dev/null +++ b/www/mod_python35/pkg-plist @@ -0,0 +1,48 @@ +bin/mod_python +%%PYTHON_SITELIBDIR%%/mod_python/Cookie.py +%%PYTHON_SITELIBDIR%%/mod_python/Cookie.pyc +%%PYTHON_SITELIBDIR%%/mod_python/Cookie.pyo +%%PYTHON_SITELIBDIR%%/mod_python/Session.py +%%PYTHON_SITELIBDIR%%/mod_python/Session.pyc +%%PYTHON_SITELIBDIR%%/mod_python/Session.pyo +%%PYTHON_SITELIBDIR%%/mod_python/__init__.py +%%PYTHON_SITELIBDIR%%/mod_python/__init__.pyc +%%PYTHON_SITELIBDIR%%/mod_python/__init__.pyo +%%PYTHON_SITELIBDIR%%/mod_python/_psp.so +%%PYTHON_SITELIBDIR%%/mod_python/apache.py +%%PYTHON_SITELIBDIR%%/mod_python/apache.pyc +%%PYTHON_SITELIBDIR%%/mod_python/apache.pyo +%%PYTHON_SITELIBDIR%%/mod_python/cache.py +%%PYTHON_SITELIBDIR%%/mod_python/cache.pyc +%%PYTHON_SITELIBDIR%%/mod_python/cache.pyo +%%PYTHON_SITELIBDIR%%/mod_python/cgihandler.py +%%PYTHON_SITELIBDIR%%/mod_python/cgihandler.pyc +%%PYTHON_SITELIBDIR%%/mod_python/cgihandler.pyo +%%PYTHON_SITELIBDIR%%/mod_python/httpdconf.py +%%PYTHON_SITELIBDIR%%/mod_python/httpdconf.pyc +%%PYTHON_SITELIBDIR%%/mod_python/httpdconf.pyo +%%PYTHON_SITELIBDIR%%/mod_python/psp.py +%%PYTHON_SITELIBDIR%%/mod_python/psp.pyc +%%PYTHON_SITELIBDIR%%/mod_python/psp.pyo +%%PYTHON_SITELIBDIR%%/mod_python/publisher.py +%%PYTHON_SITELIBDIR%%/mod_python/publisher.pyc +%%PYTHON_SITELIBDIR%%/mod_python/publisher.pyo +%%PYTHON_SITELIBDIR%%/mod_python/python22.py +%%PYTHON_SITELIBDIR%%/mod_python/python22.pyc +%%PYTHON_SITELIBDIR%%/mod_python/python22.pyo +%%PYTHON_SITELIBDIR%%/mod_python/testhandler.py +%%PYTHON_SITELIBDIR%%/mod_python/testhandler.pyc +%%PYTHON_SITELIBDIR%%/mod_python/testhandler.pyo +%%PYTHON_SITELIBDIR%%/mod_python/util.py +%%PYTHON_SITELIBDIR%%/mod_python/util.pyc +%%PYTHON_SITELIBDIR%%/mod_python/util.pyo +%%PYTHON_SITELIBDIR%%/mod_python/version.py +%%PYTHON_SITELIBDIR%%/mod_python/version.pyc +%%PYTHON_SITELIBDIR%%/mod_python/version.pyo +%%PYTHON_SITELIBDIR%%/mod_python/wsgi.py +%%PYTHON_SITELIBDIR%%/mod_python/wsgi.pyc +%%PYTHON_SITELIBDIR%%/mod_python/wsgi.pyo +%%APACHEMODDIR%%/%%AP_MODULE%% +@exec %D/sbin/apxs -e -a -n %%AP_NAME%% %D/%F +@unexec %D/sbin/apxs -e -A -n %%AP_NAME%% %D/%F +@dirrm %%PYTHON_SITELIBDIR%%/mod_python |