[Pkg-php-commits] r1043 - php5/trunk/debian

Sean Finney seanius at alioth.debian.org
Sun May 4 12:02:07 UTC 2008


tags 438120 pending
thanks

Author: seanius
Date: 2008-05-04 12:02:06 +0000 (Sun, 04 May 2008)
New Revision: 1043

Added:
   php5/trunk/debian/libapache2-mod-php5filter.conf
   php5/trunk/debian/libapache2-mod-php5filter.dirs
   php5/trunk/debian/libapache2-mod-php5filter.load
   php5/trunk/debian/libapache2-mod-php5filter.postinst
   php5/trunk/debian/libapache2-mod-php5filter.prerm
Modified:
   php5/trunk/debian/NEWS
   php5/trunk/debian/changelog
   php5/trunk/debian/control
   php5/trunk/debian/rules
Log:
new filter module

Modified: php5/trunk/debian/NEWS
===================================================================
--- php5/trunk/debian/NEWS	2008-05-04 02:10:11 UTC (rev 1042)
+++ php5/trunk/debian/NEWS	2008-05-04 12:02:06 UTC (rev 1043)
@@ -1,3 +1,19 @@
+php5 (5.2.6-1) unstable; urgency=low
+
+  New php5-dbg package.
+
+  We are now shipping a php5-dgb package which will greatly aid in finding
+  the cause of many crashes that you may experience.  So if you are going to
+  report a bug for a reproducible crash, please install this package before
+  sending a backtrace.
+
+  New libapache2-mod-php5filter package.
+
+  We are now also shipping a new libapache2-mod-php5filter package which
+  uses the "Apache 2.0 filter-module support via DSO through APXS".
+
+ -- Sean Finney <seanius at debian.org>  Sun, 04 May 2008 13:58:20 +0200
+
 php5 (5.2.3-2) unstable; urgency=low
 
   The Suhosin patch is now enabled by default!

Modified: php5/trunk/debian/changelog
===================================================================
--- php5/trunk/debian/changelog	2008-05-04 02:10:11 UTC (rev 1042)
+++ php5/trunk/debian/changelog	2008-05-04 12:02:06 UTC (rev 1043)
@@ -20,6 +20,8 @@
     current debian maintainers.
   * Add some useful quilt settings in debian/rules to lower the amount of 
     noise in future quilt updates.
+  * Now building a php5 apache2 module with filter-module support in a new
+    libapache2-mod-php5filter package (closes: #438120).
 
   [ Thijs Kinkhorst ]
   * Checked for policy 3.7.3, no changes.

Modified: php5/trunk/debian/control
===================================================================
--- php5/trunk/debian/control	2008-05-04 02:10:11 UTC (rev 1042)
+++ php5/trunk/debian/control	2008-05-04 12:02:06 UTC (rev 1043)
@@ -12,7 +12,7 @@
 
 Package: php5
 Architecture: all
-Depends: libapache2-mod-php5 (>= ${source:Version}) | php5-cgi (>= ${source:Version}), php5-common (>= ${source:Version})
+Depends: libapache2-mod-php5 (>= ${source:Version}) | libapache2-mod-php5filter (>= ${source:Version}) | php5-cgi (>= ${source:Version}), php5-common (>= ${source:Version})
 Description: server-side, HTML-embedded scripting language (meta-package)
  This package is a meta-package that, when installed, guarantees that you
  have at least one of the two server-side versions of the PHP5 interpreter
@@ -41,7 +41,7 @@
 Package: libapache2-mod-php5
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}, mime-support (>= 2.03-1), ${apache2:Depends}, php5-common (= ${binary:Version}), libmagic1, ucf
-Conflicts: libapache2-mod-php4
+Conflicts: libapache2-mod-php4, libapache2-mod-php5filter
 Provides: ${php:Provides}
 Suggests: php-pear, php5-timezonedb
 Description: server-side, HTML-embedded scripting language (Apache 2 module)
@@ -56,6 +56,27 @@
  in. The goal of the language is to allow web developers to write dynamically
  generated pages quickly. This version of PHP5 was built with the Suhosin patch.
 
+Package: libapache2-mod-php5filter
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, mime-support (>= 2.03-1), ${apache2:Depends}, php5-common (= ${binary:Version}), libmagic1, ucf
+Conflicts: libapache2-mod-php4, libapache2-mod-php5
+Provides: ${php:Provides}
+Suggests: php-pear
+Description: server-side, HTML-embedded scripting language (apache 2 filter module)
+ This package provides the PHP5 Filter module for the Apache 2 webserver (as 
+ found in the apache2-mpm-prefork package).  Please note that this package
+ ONLY works with Apache's prefork MPM, as it is not compiled thread-safe.
+ .
+ Unless you specifically need filter-module support, you most likely
+ should instead install libapache2-mod-php5.
+ .
+ ${php:Extensions}
+ .
+ PHP5 is an HTML-embedded scripting language. Much of its syntax is borrowed
+ from C, Java and Perl with a couple of unique PHP-specific features thrown
+ in. The goal of the language is to allow web developers to write dynamically
+ generated pages quickly. This version of PHP5 was built with the Suhosin patch.
+
 Package: php5-cgi
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}, mime-support (>= 2.03-1), php5-common (= ${binary:Version}), libmagic1, ucf

Added: php5/trunk/debian/libapache2-mod-php5filter.conf
===================================================================
--- php5/trunk/debian/libapache2-mod-php5filter.conf	                        (rev 0)
+++ php5/trunk/debian/libapache2-mod-php5filter.conf	2008-05-04 12:02:06 UTC (rev 1043)
@@ -0,0 +1,4 @@
+<IfModule mod_php5.c>
+  AddInputFilter PHP php phtml php3
+  AddOutputFilter PHP php phtml php3
+</IfModule>

Added: php5/trunk/debian/libapache2-mod-php5filter.dirs
===================================================================
--- php5/trunk/debian/libapache2-mod-php5filter.dirs	                        (rev 0)
+++ php5/trunk/debian/libapache2-mod-php5filter.dirs	2008-05-04 12:02:06 UTC (rev 1043)
@@ -0,0 +1,3 @@
+/etc/apache2/mods-available
+/etc/php5/apache2filter
+/usr/lib/apache2/modules

Added: php5/trunk/debian/libapache2-mod-php5filter.load
===================================================================
--- php5/trunk/debian/libapache2-mod-php5filter.load	                        (rev 0)
+++ php5/trunk/debian/libapache2-mod-php5filter.load	2008-05-04 12:02:06 UTC (rev 1043)
@@ -0,0 +1 @@
+LoadModule php5_module /usr/lib/apache2/modules/libphp5.so

Added: php5/trunk/debian/libapache2-mod-php5filter.postinst
===================================================================
--- php5/trunk/debian/libapache2-mod-php5filter.postinst	                        (rev 0)
+++ php5/trunk/debian/libapache2-mod-php5filter.postinst	2008-05-04 12:02:06 UTC (rev 1043)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+set -e
+
+#DEBHELPER#
+
+if [ "$1" != "configure" ]; then
+    exit 0
+fi
+
+phpini="/etc/php5/apache2filter/php.ini"
+
+ucf /usr/share/php5/php.ini-dist $phpini
+
+reload_apache()
+{
+	if apache2ctl configtest 2>/dev/null; then
+		invoke-rc.d apache2 force-reload || true
+	else
+		echo "Your apache2 configuration is broken, so we're not restarting it for you."
+	fi
+}
+
+if [ -n "$2" ]; then
+# we're upgrading. test if we're enabled, and if so, restart to reload the module.
+	if [ -e /etc/apache2/mods-enabled/php5.load ]; then
+		reload_apache
+	fi
+        exit 0
+fi
+
+if [ -e /etc/apache2/apache2.conf ]; then
+# Enable the module, but hide a2enmod's misleading message about apachectl
+# and force-reload the thing ourselves.
+        a2enmod php5 >/dev/null || true
+	reload_apache
+fi
+
+exit 0

Added: php5/trunk/debian/libapache2-mod-php5filter.prerm
===================================================================
--- php5/trunk/debian/libapache2-mod-php5filter.prerm	                        (rev 0)
+++ php5/trunk/debian/libapache2-mod-php5filter.prerm	2008-05-04 12:02:06 UTC (rev 1043)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+#DEBHELPER#
+
+if [ "$1" != "remove" -a "$1" != "purge" ]; then
+        exit 0
+fi
+
+if [ -e /etc/apache2/apache2.conf ]; then
+	a2dismod php5 || true
+fi
+
+exit 0

Modified: php5/trunk/debian/rules
===================================================================
--- php5/trunk/debian/rules	2008-05-04 02:10:11 UTC (rev 1042)
+++ php5/trunk/debian/rules	2008-05-04 12:02:06 UTC (rev 1043)
@@ -138,7 +138,7 @@
 endif
 	cat test-results.txt
 
-build: build-apache2-stamp build-cgi-stamp build-cli-stamp build-pear-stamp test-results.txt
+build: build-apache2-stamp build-apache2filter-stamp build-cgi-stamp build-cli-stamp build-pear-stamp test-results.txt
 
 build-apache2-stamp: configure-apache2-stamp
 	dh_testdir
@@ -146,6 +146,12 @@
 
 	touch build-apache2-stamp
 
+build-apache2filter-stamp: configure-apache2filter-stamp
+	dh_testdir
+	cd apache2filter-build && $(MAKE)
+
+	touch build-apache2filter-stamp
+
 build-cli-stamp: configure-cli-stamp
 	dh_testdir
 	cd cli-build && $(MAKE)
@@ -183,7 +189,7 @@
 	       $(CURDIR)/pear-build/usr/bin/peardev
 	touch build-pear-stamp
 
-configure: configure-apache2-stamp configure-cli-stamp configure-cgi-stamp
+configure: configure-apache2-stamp configure-apache2filter-stamp configure-cli-stamp configure-cgi-stamp
 
 configure-apache2-stamp: prepared-stamp
 	dh_testdir
@@ -239,6 +245,27 @@
 	   Zend/
 	touch configure-apache2-stamp
 
+configure-apache2filter-stamp: prepared-stamp
+	dh_testdir
+	if [ -d apache2filter-build ]; then rm -rf apache2filter-build; fi
+	-mkdir apache2filter-build
+	cd apache2filter-build && \
+        CFLAGS="$(CFLAGS)" PROG_SENDMAIL="$(PROG_SENDMAIL)" ../configure \
+		--prefix=/usr --with-apxs2filter=/usr/bin/apxs2 \
+		--with-config-file-path=/etc/php5/apache2filter \
+		--with-config-file-scan-dir=/etc/php5/apache2filter/conf.d \
+		$(COMMON_CONFIG) \
+		--without-mm \
+		--disable-pdo \
+		--without-mysql --without-sybase-ct --without-mssql \
+		--without-sqlite
+	cd apache2filter-build && \
+	cp ../Zend/zend_ini_scanner.c ../Zend/zend_language_scanner.c \
+	   ../Zend/zend_ini_parser.h ../Zend/zend_language_parser.h \
+	   ../Zend/zend_ini_parser.c ../Zend/zend_language_parser.c \
+	   Zend/
+	touch configure-apache2filter-stamp
+
 configure-cgi-stamp: prepared-stamp
 	dh_testdir
 	if [ -d cgi-build ]; then rm -rf cgi-build; fi
@@ -288,11 +315,13 @@
 
 
 	rm -f configure-apache2-stamp build-apache2-stamp
+	rm -f configure-apache2filter-stamp build-apache2filter-stamp
 	rm -f configure-cgi-stamp build-cgi-stamp
 	rm -f configure-cli-stamp build-cli-stamp
 	rm -f build-pear-stamp
 	rm -f install-stamp
 	rm -rf apache2-build
+	rm -rf apache2filter-build
 	rm -rf cgi-build
 	rm -rf cli-build
 	rm -rf pear-build pear-build-download
@@ -303,7 +332,7 @@
 	cat debian/modulelist | while read package extname dsoname; do \
 		rm -f debian/php5-$$package.postinst; \
 	done
-	for sapi in libapache2-mod-php5 php5-cgi php5-cli; do \
+	for sapi in libapache2-mod-php5 libapache2-mod-php5filter php5-cgi php5-cli; do \
 		for cruft in postrm links; do \
 			rm -f debian/$${sapi}.$${cruft}; \
 		done; \
@@ -327,6 +356,15 @@
 	cp debian/libapache2-mod-php5.conf \
 		debian/libapache2-mod-php5/etc/apache2/mods-available/php5.conf
 
+	# Add here commands to install the package into debian/php5.
+	# install apache2 DSO filter module
+	cp apache2filter-build/.libs/libphp5.so \
+		debian/libapache2-mod-php5filter/`apxs2 -q LIBEXECDIR`/
+	cp debian/libapache2-mod-php5filter.load \
+		debian/libapache2-mod-php5filter/etc/apache2/mods-available/php5.load
+	cp debian/libapache2-mod-php5filter.conf \
+		debian/libapache2-mod-php5filter/etc/apache2/mods-available/php5.conf
+
 	# sanitize php.ini file
 	cat php.ini-dist | tr "\t" " " > debian/php5-common/usr/share/php5/php.ini-dist
 	cat php.ini-dist | tr "\t" " " | sed -e'/memory_limit =/ s/128M/32M/g' > debian/php5-common/usr/share/php5/php.ini-dist.cli
@@ -346,6 +384,17 @@
 			main/config.nw.h main/config.w32.h\
 			main/win95nt.h
 
+	# install the apache filter modules' files
+	cd apache2filter-build && make install-headers install-build install-modules install-programs INSTALL_ROOT=$(CURDIR)/debian/libapache2-mod-php5filter
+	# remove netware and win32 headers that we don't want
+	cd debian/libapache2-mod-php5filter/usr/include/php5/ && \
+		  rm -f TSRM/readdir.h \
+			TSRM/tsrm_config.{nw,w32}.h \
+			TSRM/tsrm_{nw,win32}.h \
+			Zend/zend_config.{nw,w32}.h \
+			main/config.{nw,w32}.h \
+			main/win95nt.h
+
 	# install PEAR
 	cp -r pear-build/* debian/php-pear/
 
@@ -364,7 +413,7 @@
 
 	# install extensions
 	ext=`./debian/libapache2-mod-php5/usr/bin/php-config --extension-dir`;\
-	for i in libapache2-mod-php5 php5-cgi php5-cli; do \
+	for i in libapache2-mod-php5 libapache2-mod-php5filter php5-cgi php5-cli; do \
 		mkdir -p debian/$$i/$${ext}; \
 	done; \
 	cat debian/modulelist debian/extramodulelist | while read package extname dsoname; do \
@@ -376,6 +425,7 @@
 			debian/libapache2-mod-php5/$${ext}/$$dsoname.so \
 			debian/php5-$$package$${ext}/$$dsoname.so; \
 		rm debian/libapache2-mod-php5/$${ext}/$$dsoname.so; \
+		rm debian/libapache2-mod-php5filter/$${ext}/$$dsoname.so; \
 	done
 
 	# install CGI
@@ -392,6 +442,9 @@
 	rm -rf debian/libapache2-mod-php5/usr/lib/php5/build/ \
 	       debian/libapache2-mod-php5/usr/include/ \
 	       debian/libapache2-mod-php5/usr/bin/
+	rm -rf debian/libapache2-mod-php5filter/usr/lib/php5/build/ \
+	       debian/libapache2-mod-php5filter/usr/include/ \
+	       debian/libapache2-mod-php5filter/usr/bin/
 	for i in Makefile.global acinclude.m4 mkdep.awk phpize.m4 scan_makefile_in.awk; do \
 		chmod 644 debian/php5-dev/usr/lib/php5/build/$$i; \
 	done
@@ -482,12 +535,13 @@
 
 	# likewise, for the different sapi implementations
 	for tmpl in postrm links; do \
-		for sapi in apache2 cgi cli; do \
+		for sapi in apache2 apache2filter cgi cli; do \
 			sed -e "s/@sapi@/$$sapi/g" \
 		  	< debian/php5-sapi.$$tmpl \
 		  	> debian/php5-$${sapi}.$$tmpl; \
 		done; \
 		mv debian/php5-apache2.$$tmpl debian/libapache2-mod-php5.$$tmpl; \
+		mv debian/php5-apache2filter.$$tmpl debian/libapache2-mod-php5filter.$$tmpl; \
 	done
 
 	cat debian/copyright.header LICENSE Zend/LICENSE > debian/copyright
@@ -498,7 +552,7 @@
 		ln -s php5-common debian/php5-$$package/usr/share/doc/php5-$$package; \
 	done
 
-	for package in php5-dbg php5-dev php5-cgi php5-cli libapache2-mod-php5; do \
+	for package in php5-dbg php5-dev php5-cgi php5-cli libapache2-mod-php5 libapache2-mod-php5filter; do \
 		rm -rf debian/$$package/usr/share/doc/$$package; \
 		ln -s php5-common debian/$$package/usr/share/doc/$$package; \
 	done
@@ -515,7 +569,7 @@
 	dh_shlibdeps -s
 
 	phpapi=`./debian/php5-dev/usr/bin/php-config5 --phpapi`; \
-	for i in libapache2-mod-php5 php5-cgi php5-cli; do \
+	for i in libapache2-mod-php5 libapache2-mod-php5filter php5-cgi php5-cli; do \
 		echo "php:Provides=phpapi-$${phpapi}" >> debian/$$i.substvars; \
 	done; \
 	cat debian/modulelist | while read package extname dsoname; do \
@@ -529,9 +583,12 @@
 	for i in apache2; do \
 		"$$i"-build/sapi/cli/php -n -r '$(BUILTIN_EXTENSION_CHECK)' \
 			>> debian/lib"$$i"-mod-php5.substvars; \
+		"$$i"-build/sapi/cli/php -n -r '$(BUILTIN_EXTENSION_CHECK)' \
+			>> debian/lib"$$i"-mod-php5filter.substvars; \
 	done
 
 	echo "apache2:Depends=apache2-mpm-prefork (>> 2.0.52) | apache2-mpm-itk, apache2.2-common" >>debian/libapache2-mod-php5.substvars
+	echo "apache2:Depends=apache2-mpm-prefork (>> 2.0.52) | apache2-mpm-itk, apache2.2-common" >>debian/libapache2-mod-php5filter.substvars
 	dh_gencontrol -s
 	dh_md5sums -s
 	dh_builddeb -s




More information about the Pkg-php-commits mailing list