summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-08-14 16:27:48 +0000
committernico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-08-14 16:27:48 +0000
commitce351aa49b62d498403a55c90c38d6d24d900846 (patch)
treec74524546a450b64ffd88cc7313f48e9961afbb1
parent5c53387d3a5f0422ae2c93477dad755e1b83bb92 (diff)
add php5 package
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@1667 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--openwrt/package/Config.in1
-rw-r--r--openwrt/package/Makefile24
-rw-r--r--openwrt/package/php5/Config.in126
-rw-r--r--openwrt/package/php5/Makefile271
-rw-r--r--openwrt/package/php5/files/php.ini561
-rw-r--r--openwrt/package/php5/files/php.init19
-rw-r--r--openwrt/package/php5/ipkg/php5-cgi.conffiles1
-rw-r--r--openwrt/package/php5/ipkg/php5-cgi.control9
-rw-r--r--openwrt/package/php5/ipkg/php5-cli.conffiles1
-rw-r--r--openwrt/package/php5/ipkg/php5-cli.control9
-rw-r--r--openwrt/package/php5/ipkg/php5-fastcgi.conffiles2
-rw-r--r--openwrt/package/php5/ipkg/php5-fastcgi.control9
-rw-r--r--openwrt/package/php5/ipkg/php5-mod-ftp.control9
-rw-r--r--openwrt/package/php5/ipkg/php5-mod-gd.control9
-rw-r--r--openwrt/package/php5/ipkg/php5-mod-ldap.control9
-rw-r--r--openwrt/package/php5/ipkg/php5-mod-mysql.control9
-rw-r--r--openwrt/package/php5/ipkg/php5-mod-openssl.control9
-rw-r--r--openwrt/package/php5/ipkg/php5-mod-pcre.control9
-rw-r--r--openwrt/package/php5/ipkg/php5-mod-pgsql.control9
-rw-r--r--openwrt/package/php5/ipkg/php5-mod-session.control9
-rw-r--r--openwrt/package/php5/ipkg/php5-mod-sockets.control9
-rw-r--r--openwrt/package/php5/ipkg/php5-mod-sqlite.control9
-rw-r--r--openwrt/package/php5/ipkg/php5-mod-xml.control9
-rw-r--r--openwrt/package/php5/patches/php-5.0.4-configure-cross.patch83
-rw-r--r--openwrt/package/php5/patches/php-5.0.4-xml-expat-no-xml2.patch21
25 files changed, 1236 insertions, 0 deletions
diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in
index b9b5158837..823b052011 100644
--- a/openwrt/package/Config.in
+++ b/openwrt/package/Config.in
@@ -19,6 +19,7 @@ source "package/microperl/Config.in"
source "package/monit/Config.in"
source "package/osiris/Config.in"
source "package/php4/Config.in"
+source "package/php5/Config.in"
menu "sablevm - a Java Virtual Machine (JVM) implementation"
source "package/sablevm/Config.in"
source "package/sablevm-classpath/Config.in"
diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile
index 0344b79f44..63cd737a83 100644
--- a/openwrt/package/Makefile
+++ b/openwrt/package/Makefile
@@ -106,6 +106,7 @@ package-$(BR2_PACKAGE_OSIRIS) += osiris
package-$(BR2_PACKAGE_PARPROUTED) += parprouted
package-$(BR2_PACKAGE_PCRE) += pcre
package-$(BR2_COMPILE_PHP4) += php4
+package-$(BR2_COMPILE_PHP5) += php5
package-$(BR2_PACKAGE_PICOCOM) += picocom
package-$(BR2_PACKAGE_PMACCT) += pmacct
package-$(BR2_PACKAGE_POPT) += popt
@@ -273,6 +274,29 @@ ifneq ($(BR2_PACKAGE_PHP4_MOD_XML),)
php4-compile: expat-compile
endif
+php5-compile: openssl-compile zlib-compile
+ifneq ($(BR2_PACKAGE_PHP5_MOD_GD),)
+php5-compile: libgd-compile libpng-compile
+endif
+ifneq ($(BR2_PACKAGE_PHP5_MOD_LDAP),)
+php5-compile: openldap-compile
+endif
+ifneq ($(BR2_PACKAGE_PHP5_MOD_MYSQL),)
+php5-compile: mysql-compile
+endif
+ifneq ($(BR2_PACKAGE_PHP5_MOD_PCRE),)
+php5-compile: pcre-compile
+endif
+ifneq ($(BR2_PACKAGE_PHP5_MOD_PGSQL),)
+php5-compile: postgresql-compile
+endif
+ifneq ($(BR2_PACKAGE_PHP5_MOD_SQLITE),)
+php5-compile: sqlite2-compile
+endif
+ifneq ($(BR2_PACKAGE_PHP5_MOD_XML),)
+php5-compile: expat-compile
+endif
+
pmacct-compile: libpcap-compile
ifneq ($(BR2_PACKAGE_PMACCT_MYSQL),)
pmacct-compile: mysql-compile
diff --git a/openwrt/package/php5/Config.in b/openwrt/package/php5/Config.in
new file mode 100644
index 0000000000..5fc159b038
--- /dev/null
+++ b/openwrt/package/php5/Config.in
@@ -0,0 +1,126 @@
+menu "php5 - PHP5 Hypertext preprocessor"
+
+config BR2_COMPILE_PHP5
+ bool
+ default n
+ depends BR2_PACKAGE_PHP5_CLI || BR2_PACKAGE_PHP5_CGI || BR2_PACKAGE_PHP5_FASTCGI
+
+comment "Server API --"
+
+config BR2_PACKAGE_PHP5_CLI
+ prompt "...-cli - PHP5 CLI (Command Line Interface)"
+ tristate
+# default m if CONFIG_DEVEL
+ select BR2_COMPILE_PHP5
+ select BR2_PACKAGE_LIBOPENSSL
+ select BR2_PACKAGE_ZLIB
+ help
+ PHP is a widely-used general-purpose scripting language that is especially
+ suited for Web development and can be embedded into HTML.
+
+ http://www.php.net/
+
+config BR2_PACKAGE_PHP5_CGI
+ prompt "...-cgi - PHP5 built for CGI"
+ tristate
+# default m if CONFIG_DEVEL
+ select BR2_COMPILE_PHP5
+ select BR2_PACKAGE_LIBOPENSSL
+ select BR2_PACKAGE_ZLIB
+ help
+ PHP is a widely-used general-purpose scripting language that is especially
+ suited for Web development and can be embedded into HTML.
+
+ http://www.php.net/
+
+config BR2_PACKAGE_PHP5_FASTCGI
+ prompt "...-fastcgi - PHP5 built for FastCGI"
+ tristate
+# default m if CONFIG_DEVEL
+ select BR2_COMPILE_PHP5
+ select BR2_PACKAGE_LIBOPENSSL
+ select BR2_PACKAGE_ZLIB
+ help
+ PHP is a widely-used general-purpose scripting language that is especially
+ suited for Web development and can be embedded into HTML.
+
+ http://www.php.net/
+
+comment "Extensions --"
+
+config BR2_PACKAGE_PHP5_MOD_FTP
+ prompt "...-mod-ftp - FTP module"
+ tristate
+# default m if CONFIG_DEVEL
+ depends BR2_COMPILE_PHP5
+
+config BR2_PACKAGE_PHP5_MOD_GD
+ prompt "...-mod-gd - GD graphics library module"
+ tristate
+# default m if CONFIG_DEVEL
+ depends BR2_COMPILE_PHP5
+ select BR2_PACKAGE_LIBGD
+ select BR2_PACKAGE_LIBPNG
+
+config BR2_PACKAGE_PHP5_MOD_LDAP
+ prompt "...-mod-ldap - LDAP module"
+ tristate
+# default m if CONFIG_DEVEL
+ depends BR2_COMPILE_PHP5
+ select BR2_PACKAGE_LIBOPENLDAP
+
+config BR2_PACKAGE_PHP5_MOD_MYSQL
+ prompt "...-mod-mysql - MySQL module"
+ tristate
+# default m if CONFIG_DEVEL
+ depends BR2_COMPILE_PHP5
+ select BR2_PACKAGE_LIBMYSQLCLIENT
+
+config BR2_PACKAGE_PHP5_MOD_OPENSSL
+ prompt "...-mod-openssl - OpenSSL module"
+ tristate
+# default m if CONFIG_DEVEL
+ depends BR2_COMPILE_PHP5
+ select BR2_PACKAGE_LIBOPENSSL
+
+config BR2_PACKAGE_PHP5_MOD_PCRE
+ prompt "...-mod-pcre - PCRE module"
+ tristate
+# default m if CONFIG_DEVEL
+ depends BR2_COMPILE_PHP5
+ select BR2_PACKAGE_LIBPCRE
+
+config BR2_PACKAGE_PHP5_MOD_PGSQL
+ prompt "...-mod-pgsql - PostgreSQL module"
+ tristate
+# default m if CONFIG_DEVEL
+ depends BR2_COMPILE_PHP5
+ select BR2_PACKAGE_LIBPQ
+
+config BR2_PACKAGE_PHP5_MOD_SESSION
+ prompt "...-mod-session - Sessions module"
+ tristate
+# default m if CONFIG_DEVEL
+ depends BR2_COMPILE_PHP5
+
+config BR2_PACKAGE_PHP5_MOD_SQLITE
+ prompt "...-mod-sqlite - SQLite module"
+ tristate
+# default m if CONFIG_DEVEL
+ depends BR2_COMPILE_PHP5
+ select BR2_PACKAGE_LIBSQLITE2
+
+config BR2_PACKAGE_PHP5_MOD_SOCKETS
+ prompt "...-mod-sockets - Sockets module"
+ tristate
+# default m if CONFIG_DEVEL
+ depends BR2_COMPILE_PHP5
+
+config BR2_PACKAGE_PHP5_MOD_XML
+ prompt "...-mod-xml - XML module"
+ tristate
+# default m if CONFIG_DEVEL
+ depends BR2_COMPILE_PHP5
+ select BR2_PACKAGE_LIBEXPAT
+
+endmenu
diff --git a/openwrt/package/php5/Makefile b/openwrt/package/php5/Makefile
new file mode 100644
index 0000000000..8879a47201
--- /dev/null
+++ b/openwrt/package/php5/Makefile
@@ -0,0 +1,271 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=php
+PKG_VERSION:=5.0.4
+PKG_RELEASE:=1
+PKG_MD5SUM:=fb1aac107870f897d26563a9cc5053c0
+
+PKG_SOURCE_URL:=http://fr.php.net/distributions/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_CAT:=bzcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+
+include $(TOPDIR)/package/rules.mk
+
+define PKG_mod_template
+
+$$(IPKG_$(1)):
+ install -d -m0755 $$(IDIR_$(1))/usr/lib/php
+ install -m0755 $(PKG_BUILD_DIR)/modules/$(2).so $$(IDIR_$(1))/usr/lib/php
+ $(RSTRIP) $$(IDIR_$(1))
+ $(IPKG_BUILD) $$(IDIR_$(1)) $(PACKAGE_DIR)
+
+endef
+
+PKG_CONFIGURE_OPTS:= \
+ --enable-shared \
+ --disable-static \
+ --disable-rpath \
+ --disable-debug \
+ --without-pear \
+ --disable-spl \
+ \
+ --with-config-file-path=/etc \
+ --disable-ipv6 \
+ --enable-magic-quotes \
+ --enable-memory-limit \
+ --disable-short-tags \
+ \
+ --disable-ctype \
+ --disable-dom \
+ --enable-ftp=shared \
+ --without-gettext \
+ --without-iconv \
+ --disable-libxml \
+ --without-libxml-dir \
+ --disable-mbstring \
+ --disable-mbregex \
+ --with-openssl=shared,"$(STAGING_DIR)/usr" \
+ --with-kerberos=no \
+ --with-openssl-dir="$(STAGING_DIR)/usr" \
+ --enable-session=shared \
+ --disable-simplexml \
+ --disable-soap \
+ --enable-sockets=shared \
+ --disable-tokenizer \
+ --with-zlib="$(STAGING_DIR)/usr" \
+ --with-zlib-dir="$(STAGING_DIR)/usr" \
+
+ifneq ($(BR2_PACKAGE_PHP5_MOD_GD),)
+PKG_CONFIGURE_OPTS+= --with-gd=shared,"$(STAGING_DIR)/usr" \
+ --enable-gd-native-ttf \
+ --with-png-dir="$(STAGING_DIR)/usr"
+else
+PKG_CONFIGURE_OPTS+= --without-gd
+endif
+ifneq ($(BR2_PACKAGE_PHP5_MOD_LDAP),)
+PKG_CONFIGURE_OPTS+= --with-ldap=shared,"$(STAGING_DIR)/usr" \
+ --with-ldap-sasl="$(STAGING_DIR)/usr"
+else
+PKG_CONFIGURE_OPTS+= --without-ldap
+endif
+ifneq ($(BR2_PACKAGE_PHP5_MOD_MYSQL),)
+PKG_CONFIGURE_OPTS+= --with-mysql=shared,"$(STAGING_DIR)/usr"
+else
+PKG_CONFIGURE_OPTS+= --without-mysql
+endif
+ifneq ($(BR2_PACKAGE_PHP5_MOD_PCRE),)
+PKG_CONFIGURE_OPTS+= --with-pcre-regex=shared,"$(STAGING_DIR)/usr"
+else
+PKG_CONFIGURE_OPTS+= --without-pcre-regex
+endif
+ifneq ($(BR2_PACKAGE_PHP5_MOD_PGSQL),)
+PKG_CONFIGURE_OPTS+= --with-pgsql=shared,"$(STAGING_DIR)/usr"
+else
+PKG_CONFIGURE_OPTS+= --without-pgsql
+endif
+ifneq ($(BR2_PACKAGE_PHP5_MOD_SQLITE),)
+PKG_CONFIGURE_OPTS+= --with-sqlite=shared,"$(STAGING_DIR)/usr"
+else
+PKG_CONFIGURE_OPTS+= --without-sqlite
+endif
+ifneq ($(BR2_PACKAGE_PHP5_MOD_XML),)
+PKG_CONFIGURE_OPTS+= --enable-xml=shared,"$(STAGING_DIR)/usr" \
+ --with-libexpat-dir="$(STAGING_DIR)/usr"
+else
+PKG_CONFIGURE_OPTS+= --disable-xml
+endif
+
+$(eval $(call PKG_template,PHP5_CLI,php5-cli,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PHP5_CGI,php5-cgi,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PHP5_FASTCGI,php5-fastcgi,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(eval $(call PKG_template,PHP5_MOD_FTP,php5-mod-ftp,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PHP5_MOD_GD,php5-mod-gd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PHP5_MOD_LDAP,php5-mod-ldap,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PHP5_MOD_MYSQL,php5-mod-mysql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PHP5_MOD_OPENSSL,php5-mod-openssl,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PHP5_MOD_PCRE,php5-mod-pcre,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PHP5_MOD_PGSQL,php5-mod-pgsql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PHP5_MOD_SESSION,php5-mod-session,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PHP5_MOD_SOCKETS,php5-mod-sockets,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PHP5_MOD_SQLITE,php5-mod-sqlite,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PHP5_MOD_XML,php5-mod-xml,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(eval $(call PKG_mod_template,PHP5_MOD_FTP,ftp))
+$(eval $(call PKG_mod_template,PHP5_MOD_GD,gd))
+$(eval $(call PKG_mod_template,PHP5_MOD_LDAP,ldap))
+$(eval $(call PKG_mod_template,PHP5_MOD_MYSQL,mysql))
+$(eval $(call PKG_mod_template,PHP5_MOD_OPENSSL,openssl))
+$(eval $(call PKG_mod_template,PHP5_MOD_PCRE,pcre))
+$(eval $(call PKG_mod_template,PHP5_MOD_PGSQL,pgsql))
+$(eval $(call PKG_mod_template,PHP5_MOD_SESSION,session))
+$(eval $(call PKG_mod_template,PHP5_MOD_SOCKETS,sockets))
+$(eval $(call PKG_mod_template,PHP5_MOD_SQLITE,sqlite))
+$(eval $(call PKG_mod_template,PHP5_MOD_XML,xml))
+
+
+$(PKG_BUILD_DIR)/.configured:
+ touch $@
+
+$(PKG_BUILD_DIR)/.built:
+ (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+ LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
+ LIBS="-lcrypto -lssl" \
+ php_cv_cc_rpath="no" \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --program-prefix="" \
+ --program-suffix="" \
+ --prefix=/usr \
+ --exec-prefix=/usr \
+ --bindir=/usr/bin \
+ --datadir=/usr/share \
+ --includedir=/usr/include \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --mandir=/usr/share/man \
+ --sbindir=/usr/sbin \
+ --sysconfdir=/etc \
+ $(DISABLE_LARGEFILE) \
+ $(DISABLE_NLS) \
+ $(PKG_CONFIGURE_OPTS) \
+ --enable-cli \
+ --disable-cgi \
+ --disable-fastcgi \
+ --enable-force-cgi-redirect \
+ --enable-discard-path \
+ );
+ $(MAKE) -C $(PKG_BUILD_DIR)
+ mv $(PKG_BUILD_DIR)/sapi/cli/php $(PKG_BUILD_DIR)/php-cli
+ (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+ LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
+ LIBS="-lcrypto -lssl" \
+ php_cv_cc_rpath="no" \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --program-prefix="" \
+ --program-suffix="" \
+ --prefix=/usr \
+ --exec-prefix=/usr \
+ --bindir=/usr/bin \
+ --datadir=/usr/share \
+ --includedir=/usr/include \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --mandir=/usr/share/man \
+ --sbindir=/usr/sbin \
+ --sysconfdir=/etc \
+ $(DISABLE_LARGEFILE) \
+ $(DISABLE_NLS) \
+ $(PKG_CONFIGURE_OPTS) \
+ --disable-cli \
+ --enable-cgi \
+ --disable-fastcgi \
+ --enable-force-cgi-redirect \
+ --enable-discard-path \
+ );
+ $(MAKE) -C $(PKG_BUILD_DIR)
+ mv $(PKG_BUILD_DIR)/sapi/cgi/php $(PKG_BUILD_DIR)/php-cgi
+ $(MAKE) -C $(PKG_BUILD_DIR) clean
+ (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+ LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
+ LIBS="-lcrypto -lssl" \
+ php_cv_cc_rpath="no" \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --program-prefix="" \
+ --program-suffix="" \
+ --prefix=/usr \
+ --exec-prefix=/usr \
+ --bindir=/usr/sbin \
+ --datadir=/usr/share \
+ --includedir=/usr/include \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --mandir=/usr/share/man \
+ --sbindir=/usr/sbin \
+ --sysconfdir=/etc \
+ $(DISABLE_LARGEFILE) \
+ $(DISABLE_NLS) \
+ $(PKG_CONFIGURE_OPTS) \
+ --disable-cli \
+ --enable-cgi \
+ --enable-fastcgi \
+ --enable-force-cgi-redirect \
+ --enable-discard-path \
+ );
+ $(MAKE) -C $(PKG_BUILD_DIR)
+ mv $(PKG_BUILD_DIR)/sapi/cgi/php $(PKG_BUILD_DIR)/php-fastcgi
+ touch $@
+
+$(IPKG_PHP5_CLI):
+ install -m0755 -d $(IDIR_PHP5_CLI)/etc
+ install -m0644 ./files/php.ini $(IDIR_PHP5_CLI)/etc/
+ install -m0755 -d $(IDIR_PHP5_CLI)/usr/bin
+ cp -fpR $(PKG_BUILD_DIR)/php-cli $(IDIR_PHP5_CLI)/usr/bin/php
+ $(RSTRIP) $(IDIR_PHP5_CLI)
+ $(IPKG_BUILD) $(IDIR_PHP5_CLI) $(PACKAGE_DIR)
+
+$(IPKG_PHP5_CGI):
+ install -m0755 -d $(IDIR_PHP5_CGI)/etc
+ install -m0644 ./files/php.ini $(IDIR_PHP5_CGI)/etc/
+ install -m0755 -d $(IDIR_PHP5_CGI)/usr/bin
+ cp -fpR $(PKG_BUILD_DIR)/php-cgi $(IDIR_PHP5_CGI)/usr/bin/php
+ $(RSTRIP) $(IDIR_PHP5_CGI)
+ $(IPKG_BUILD) $(IDIR_PHP5_CGI) $(PACKAGE_DIR)
+
+$(IPKG_PHP5_FASTCGI):
+ install -m0755 -d $(IDIR_PHP5_FASTCGI)/etc
+ install -m0644 ./files/php.ini $(IDIR_PHP5_FASTCGI)/etc/
+ install -m0755 -d $(IDIR_PHP5_FASTCGI)/etc/init.d
+ install -m0755 ./files/php.init $(IDIR_PHP5_FASTCGI)/etc/init.d/php
+ install -m0755 -d $(IDIR_PHP5_FASTCGI)/usr/sbin
+ cp -fpR $(PKG_BUILD_DIR)/php-fastcgi $(IDIR_PHP5_FASTCGI)/usr/sbin/php
+ $(RSTRIP) $(IDIR_PHP5_FASTCGI)
+ $(IPKG_BUILD) $(IDIR_PHP5_FASTCGI) $(PACKAGE_DIR)
+
diff --git a/openwrt/package/php5/files/php.ini b/openwrt/package/php5/files/php.ini
new file mode 100644
index 0000000000..ae16d0b617
--- /dev/null
+++ b/openwrt/package/php5/files/php.ini
@@ -0,0 +1,561 @@
+[PHP]
+
+cgi.fix_pathinfo=1
+
+zend.ze1_compatibility_mode = Off
+
+;short_open_tag = Off
+asp_tags = Off
+precision = 12
+y2k_compliance = On
+output_buffering = Off
+
+zlib.output_compression = Off
+;zlib.output_handler =
+implicit_flush = Off
+
+unserialize_callback_func=
+serialize_precision = 100
+
+allow_call_time_pass_reference = On
+
+safe_mode = Off
+
+safe_mode_gid = Off
+
+safe_mode_include_dir =
+
+safe_mode_exec_dir =
+
+safe_mode_allowed_env_vars = PHP_
+
+safe_mode_protected_env_vars = LD_LIBRARY_PATH
+
+;open_basedir =
+
+disable_functions =
+
+disable_classes =
+
+; Colors for Syntax Highlighting mode. Anything that's acceptable in
+; <span style="color: ???????"> would work.
+;highlight.string = #DD0000
+;highlight.comment = #FF9900
+;highlight.keyword = #007700
+;highlight.bg = #FFFFFF
+;highlight.default = #0000BB
+;highlight.html = #000000
+
+expose_php = On
+
+
+;;;;;;;;;;;;;;;;;;;
+; Resource Limits ;
+;;;;;;;;;;;;;;;;;;;
+
+max_execution_time = 30 ; Maximum execution time of each script, in seconds
+max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
+memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Error handling and logging ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; error_reporting is a bit-field. Or each number up to get desired error
+; reporting level
+; E_ALL - All errors and warnings (doesn't include E_STRICT)
+; E_ERROR - fatal run-time errors
+; E_WARNING - run-time warnings (non-fatal errors)
+; E_PARSE - compile-time parse errors
+; E_NOTICE - run-time notices (these are warnings which often result
+; from a bug in your code, but it's possible that it was
+; intentional (e.g., using an uninitialized variable and
+; relying on the fact it's automatically initialized to an
+; empty string)
+; E_STRICT - run-time notices, enable to have PHP suggest changes
+; to your code which will ensure the best interoperability
+; and forward compatibility of your code
+; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
+; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
+; initial startup
+; E_COMPILE_ERROR - fatal compile-time errors
+; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
+; E_USER_ERROR - user-generated error message
+; E_USER_WARNING - user-generated warning message
+; E_USER_NOTICE - user-generated notice message
+;
+; Examples:
+;
+; - Show all errors, except for notices and coding standards warnings
+;
+;error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
+;
+; - Show all errors, except for notices
+;
+;error_reporting = E_ALL & ~E_NOTICE
+;
+; - Show only errors
+;
+;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
+;
+; - Show all errors except for notices and coding standards warnings
+;
+error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
+
+; Print out errors (as a part of the output). For production web sites,
+; you're strongly encouraged to turn this feature off, and use error logging
+; instead (see below). Keeping display_errors enabled on a production web site
+; may reveal security information to end users, such as file paths on your Web
+; server, your database schema or other information.
+display_errors = On
+
+; Even when display_errors is on, errors that occur during PHP's startup
+; sequence are not displayed. It's strongly recommended to keep
+; display_startup_errors off, except for when debugging.
+display_startup_errors = Off
+
+; Log errors into a log file (server-specific log, stderr, or error_log (below))
+; As stated above, you're strongly advised to use error logging in place of
+; error displaying on production web sites.
+log_errors = Off
+
+; Set maximum length of log_errors. In error_log information about the source is
+; added. The default is 1024 and 0 allows to not apply any maximum length at all.
+log_errors_max_len = 1024
+
+; Do not log repeated messages. Repeated errors must occur in same file on same
+; line until ignore_repeated_source is set true.
+ignore_repeated_errors = Off
+
+; Ignore source of message when ignoring repeated messages. When this setting
+; is On you will not log errors with repeated messages from different files or
+; sourcelines.
+ignore_repeated_source = Off
+
+; If this parameter is set to Off, then memory leaks will not be shown (on
+; stdout or in the log). This has only effect in a debug compile, and if
+; error reporting includes E_WARNING in the allowed list
+report_memleaks = On
+
+; Store the last error/warning message in $php_errormsg (boolean).
+track_errors = Off
+
+; Disable the inclusion of HTML tags in error messages.
+; Note: Never use this feature for production boxes.
+;html_errors = Off
+
+; If html_errors is set On PHP produces clickable error messages that direct
+; to a page describing the error or function causing the error in detail.
+; You can download a copy of the PHP manual from http://www.php.net/docs.php
+; and change docref_root to the base URL of your local copy including the
+; leading '/'. You must also specify the file extension being used including
+; the dot.
+; Note: Never use this feature for production boxes.
+;docref_root = "/phpmanual/"
+;docref_ext = .html
+
+; String to output before an error message.
+;error_prepend_string = "<font color=ff0000>"
+
+; String to output after an error message.
+;error_append_string = "</font>"
+
+; Log errors to specified file.
+;error_log = filename
+
+; Log errors to syslog (Event Log on NT, not valid in Windows 95).
+;error_log = syslog
+
+
+;;;;;;;;;;;;;;;;;
+; Data Handling ;
+;;;;;;;;;;;;;;;;;
+;
+; Note - track_vars is ALWAYS enabled as of PHP 4.0.3
+
+; The separator used in PHP generated URLs to separate arguments.
+; Default is "&".
+;arg_separator.output = "&amp;"
+
+; List of separator(s) used by PHP to parse input URLs into variables.
+; Default is "&".
+; NOTE: Every character in this directive is considered as separator!
+;arg_separator.input = ";&"
+
+; This directive describes the order in which PHP registers GET, POST, Cookie,
+; Environment and Built-in variables (G, P, C, E & S respectively, often
+; referred to as EGPCS or GPC). Registration is done from left to right, newer
+; values override older values.
+variables_order = "EGPCS"
+
+; Whether or not to register the EGPCS variables as global variables. You may
+; want to turn this off if you don't want to clutter your scripts' global scope
+; with user data. This makes most sense when coupled with track_vars - in which
+; case you can access all of the GPC variables through the $HTTP_*_VARS[],
+; variables.
+;
+; You should do your best to write your scripts so that they do not require
+; register_globals to be on; Using form variables as globals can easily lead
+; to possible security problems, if the code is not very well thought of.
+register_globals = Off
+
+; Whether or not to register the old-style input arrays, HTTP_GET_VARS
+; and friends. If you're not using them, it's recommended to turn them off,
+; for performance reasons.
+register_long_arrays = On
+
+; This directive tells PHP whether to declare the argv&argc variables (that
+; would contain the GET information). If you don't use these variables, you
+; should turn it off for increased performance.
+register_argc_argv = On
+
+; Maximum size of POST data that PHP will accept.
+post_max_size = 8M
+
+; Magic quotes
+;
+
+; Magic quotes for incoming GET/POST/Cookie data.
+magic_quotes_gpc = On
+
+; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
+magic_quotes_runtime = Off
+
+; Use Sybase-style magic quotes (escape ' with '' instead of \').
+magic_quotes_sybase = Off
+
+; Automatically add files before or after any PHP document.
+auto_prepend_file =
+auto_append_file =
+
+; As of 4.0b4, PHP always outputs a character encoding by default in
+; the Content-type: header. To disable sending of the charset, simply
+; set it to be empty.
+;
+; PHP's built-in default is text/html
+default_mimetype = "text/html"
+;default_charset = "iso-8859-1"
+
+; Always populate the $HTTP_RAW_POST_DATA variable.
+;always_populate_raw_post_data = On
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;
+; Paths and Directories ;
+;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; UNIX: "/path1:/path2"
+;include_path = ".:/php/includes"
+;
+; Windows: "\path1;\path2"
+;include_path = ".;c:\php\includes"
+
+; The root of the PHP pages, used only if nonempty.
+; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
+; if you are running php as a CGI under any web server (other than IIS)
+; see documentation for security issues. The alternate is to use the
+; cgi.force_redirect configuration below
+doc_root = /www
+
+; The directory under which PHP opens the script using /~username used only
+; if nonempty.
+user_dir =
+
+; Directory in which the loadable extensions (modules) reside.
+extension_dir = "/usr/lib/php"
+
+; Whether or not to enable the dl() function. The dl() function does NOT work
+; properly in multithreaded servers, such as IIS or Zeus, and is automatically
+; disabled on them.
+enable_dl = On
+
+; cgi.force_redirect is necessary to provide security running PHP as a CGI under
+; most web servers. Left undefined, PHP turns this on by default. You can
+; turn it off here AT YOUR OWN RISK
+; **You CAN safely turn this off for IIS, in fact, you MUST.**
+; cgi.force_redirect = 1
+
+; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
+; every request.
+; cgi.nph = 1
+
+; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
+; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
+; will look for to know it is OK to continue execution. Setting this variable MAY
+; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
+; cgi.redirect_status_env = ;
+
+; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
+; security tokens of the calling client. This allows IIS to define the
+; security context that the request runs under. mod_fastcgi under Apache
+; does not currently support this feature (03/17/2002)
+; Set to 1 if running under IIS. Default is zero.
+; fastcgi.impersonate = 1;
+
+; cgi.rfc2616_headers configuration option tells PHP what type of headers to
+; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
+; is supported by Apache. When this option is set to 1 PHP will send
+; RFC2616 compliant header.
+; Default is zero.
+;cgi.rfc2616_headers = 0
+
+
+;;;;;;;;;;;;;;;;
+; File Uploads ;
+;;;;;;;;;;;;;;;;
+
+; Whether to allow HTTP file uploads.
+file_uploads = On
+
+; Temporary directory for HTTP uploaded files (will use system default if not
+; specified).
+upload_tmp_dir = /tmp
+
+; Maximum allowed size for uploaded files.
+upload_max_filesize = 2M
+
+
+;;;;;;;;;;;;;;;;;;
+; Fopen wrappers ;
+;;;;;;;;;;;;;;;;;;
+
+; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
+allow_url_fopen = On
+
+; Define the anonymous ftp password (your email address)
+;from="john@doe.com"
+
+; Define the User-Agent string
+; user_agent="PHP"
+
+; Default timeout for socket based streams (seconds)
+default_socket_timeout = 60
+
+; If your scripts have to deal with files from Macintosh systems,
+; or you are running on a Mac and need to deal with files from
+; unix or win32 systems, setting this flag will cause PHP to
+; automatically detect the EOL character in those files so that
+; fgets() and file() will work regardless of the source of the file.
+; auto_detect_line_endings = Off
+
+
+;;;;;;;;;;;;;;;;;;;;;;
+; Dynamic Extensions ;
+;;;;;;;;;;;;;;;;;;;;;;
+;
+; If you wish to have an extension loaded automatically, use the following
+; syntax:
+;
+; extension=modulename.extension
+;
+; For example, on Windows:
+;
+; extension=msql.dll
+;
+; ... or under UNIX:
+;
+; extension=msql.so
+;
+; Note that it should be the name of the module only; no directory information
+; needs to go here. Specify the location of the extension with the
+; extension_dir directive above.
+
+
+;Windows Extensions
+;Note that ODBC support is built in, so no dll is needed for it.
+;
+
+;extension=ftp.so
+;extension=gd.so
+;extension=mysql.so
+;extension=pcre.so
+;extension=session.so
+;extension=sockets.so
+;extension=xml.so
+
+
+
+
+;;;;;;;;;;;;;;;;;;;
+; Module Settings ;
+;;;;;;;;;;;;;;;;;;;
+
+[SQL]
+sql.safe_mode = Off
+
+[Session]
+; Handler used to store/retrieve data.
+session.save_handler = files
+
+; Argument passed to save_handler. In the case of files, this is the path
+; where data files are stored. Note: Windows users have to change this
+; variable in order to use PHP's session functions.
+;
+; As of PHP 4.0.1, you can define the path as:
+;
+; session.save_path = "N;/path"
+;
+; where N is an integer. Instead of storing all the session files in
+; /path, what this will do is use subdirectories N-levels deep, and
+; store the session data in those directories. This is useful if you
+; or your OS have problems with lots of files in one directory, and is
+; a more efficient layout for servers that handle lots of sessions.
+;
+; NOTE 1: PHP will not create this directory structure automatically.
+; You can use the script in the ext/session dir for that purpose.
+; NOTE 2: See the section on garbage collection below if you choose to
+; use subdirectories for session storage
+;
+; The file storage module creates files using mode 600 by default.
+; You can change that by using
+;
+; session.save_path = "N;MODE;/path"
+;
+; where MODE is the octal representation of the mode. Note that this
+; does not overwrite the process's umask.
+session.save_path = "/tmp"
+
+; Whether to use cookies.
+session.use_cookies = 1
+
+; This option enables administrators to make their users invulnerable to
+; attacks which involve passing session ids in URLs; defaults to 0.
+; session.use_only_cookies = 1
+
+; Name of the session (used as cookie name).
+session.name = PHPSESSID
+
+; Initialize session on request startup.
+session.auto_start = 0
+
+; Lifetime in seconds of cookie or, if 0, until browser is restarted.
+session.cookie_lifetime = 0
+
+; The path for which the cookie is valid.
+session.cookie_path = /
+
+; The domain for which the cookie is valid.
+session.cookie_domain =
+
+; Handler used to serialize data. php is the standard serializer of PHP.
+session.serialize_handler = php
+
+; Define the probability that the 'garbage collection' process is started
+; on every session initialization.
+; The probability is calculated by using gc_probability/gc_divisor,
+; e.g. 1/100 means there is a 1% chance that the GC process starts
+; on each request.
+
+session.gc_probability = 1
+session.gc_divisor = 100
+
+; After this number of seconds, stored data will be seen as 'garbage' and
+; cleaned up by the garbage collection process.
+session.gc_maxlifetime = 1440
+
+; NOTE: If you are using the subdirectory option for storing session files
+; (see session.save_path above), then garbage collection does *not*
+; happen automatically. You will need to do your own garbage
+; collection through a shell script, cron entry, or some other method.
+; For example, the following script would is the equivalent of
+; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
+; cd /path/to/sessions; find -cmin +24 | xargs rm
+
+; PHP 4.2 and less have an undocumented feature/bug that allows you to
+; to initialize a session variable in the global scope, albeit register_globals
+; is disabled. PHP 4.3 and later will warn you, if this feature is used.
+; You can disable the feature and the warning separately. At this time,
+; the warning is only displayed, if bug_compat_42 is enabled.
+
+session.bug_compat_42 = 1
+session.bug_compat_warn = 1
+
+; Check HTTP Referer to invalidate externally stored URLs containing ids.
+; HTTP_REFERER has to contain this substring for the session to be
+; considered as valid.
+session.referer_check =
+
+; How many bytes to read from the file.
+session.entropy_length = 0
+
+; Specified here to create the session id.
+session.entropy_file =
+
+;session.entropy_length = 16
+
+;session.entropy_file = /dev/urandom
+
+; Set to {nocache,private,public,} to determine HTTP caching aspects
+; or leave this empty to avoid sending anti-caching headers.
+session.cache_limiter = nocache
+
+; Document expires after n minutes.
+session.cache_expire = 180
+
+; trans sid support is disabled by default.
+; Use of trans sid may risk your users security.
+; Use this option with caution.
+; - User may send URL contains active session ID
+; to other person via. email/irc/etc.
+; - URL that contains active session ID may be stored
+; in publically accessible computer.
+; - User may access your site with the same session ID
+; always using URL stored in browser's history or bookmarks.
+session.use_trans_sid = 0
+
+; Select a hash function
+; 0: MD5 (128 bits)
+; 1: SHA-1 (160 bits)
+session.hash_function = 0
+
+; Define how many bits are stored in each character when converting
+; the binary hash data to something readable.
+;
+; 4 bits: 0-9, a-f
+; 5 bits: 0-9, a-v
+; 6 bits: 0-9, a-z, A-Z, "-", ","
+session.hash_bits_per_character = 4
+
+; The URL rewriter will look for URLs in a defined set of HTML tags.
+; form/fieldset are special; if you include them here, the rewriter will
+; add a hidden <input> field with the info which is otherwise appended
+; to URLs. If you want XHTML conformity, remove the form entry.
+; Note that all valid entries require a "=", even if no value follows.
+url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
+
+
+[Assertion]
+; Assert(expr); active by default.
+;assert.active = On
+
+; Issue a PHP warning for each failed assertion.
+;assert.warning = On
+
+; Don't bail out by default.
+;assert.bail = Off
+
+; User-function to be called if an assertion fails.
+;assert.callback = 0
+
+; Eval the expression with current error_reporting(). Set to true if you want
+; error_reporting(0) around the eval().
+;assert.quiet_eval = 0
+
+
+
+
+
+[exif]
+; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
+; With mbstring support this will automatically be converted into the encoding
+; given by corresponding encode setting. When empty mbstring.internal_encoding
+; is used. For the decode settings you can distinguish between motorola and
+; intel byte order. A decode setting cannot be empty.
+;exif.encode_unicode = ISO-8859-15
+;exif.decode_unicode_motorola = UCS-2BE
+;exif.decode_unicode_intel = UCS-2LE
+;exif.encode_jis =
+;exif.decode_jis_motorola = JIS
+;exif.decode_jis_intel = JIS
+
diff --git a/openwrt/package/php5/files/php.init b/openwrt/package/php5/files/php.init
new file mode 100644
index 0000000000..b29387bd74
--- /dev/null
+++ b/openwrt/package/php5/files/php.init
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+export PHP_FCGI_CHILDREN=''
+PORT=1026
+BIN=/usr/sbin/php
+
+case $1 in
+ start)
+ $BIN -b $PORT &
+ ;;
+ stop)
+ kill `pidof php`
+ ;;
+ *)
+ echo "usage: $0 (start|stop)"
+ exit 1
+esac
+
+exit $?
diff --git a/openwrt/package/php5/ipkg/php5-cgi.conffiles b/openwrt/package/php5/ipkg/php5-cgi.conffiles
new file mode 100644
index 0000000000..f1b6b5fc94
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-cgi.conffiles
@@ -0,0 +1 @@
+/etc/php.ini
diff --git a/openwrt/package/php5/ipkg/php5-cgi.control b/openwrt/package/php5/ipkg/php5-cgi.control
new file mode 100644
index 0000000000..710f3ec632
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-cgi.control
@@ -0,0 +1,9 @@
+Package: php5-cgi
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
+Description: PHP5 compiled as for CGI
+Provides: php5
diff --git a/openwrt/package/php5/ipkg/php5-cli.conffiles b/openwrt/package/php5/ipkg/php5-cli.conffiles
new file mode 100644
index 0000000000..f1b6b5fc94
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-cli.conffiles
@@ -0,0 +1 @@
+/etc/php.ini
diff --git a/openwrt/package/php5/ipkg/php5-cli.control b/openwrt/package/php5/ipkg/php5-cli.control
new file mode 100644
index 0000000000..63385caa34
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-cli.control
@@ -0,0 +1,9 @@
+Package: php5-cli
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
+Description: PHP5 CLI (Command Line Interface)
+Provides: php5
diff --git a/openwrt/package/php5/ipkg/php5-fastcgi.conffiles b/openwrt/package/php5/ipkg/php5-fastcgi.conffiles
new file mode 100644
index 0000000000..6d0835326c
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-fastcgi.conffiles
@@ -0,0 +1,2 @@
+/etc/php.ini
+/etc/init.d/php
diff --git a/openwrt/package/php5/ipkg/php5-fastcgi.control b/openwrt/package/php5/ipkg/php5-fastcgi.control
new file mode 100644
index 0000000000..ab99ef958b
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-fastcgi.control
@@ -0,0 +1,9 @@
+Package: php5-fastcgi
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
+Description: PHP5 compiled for FastCGI (for use with libhttpd-fastcgi)
+Provides: php5
diff --git a/openwrt/package/php5/ipkg/php5-mod-ftp.control b/openwrt/package/php5/ipkg/php5-mod-ftp.control
new file mode 100644
index 0000000000..1173167bf1
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-mod-ftp.control
@@ -0,0 +1,9 @@
+Package: php5-mod-ftp
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
+Description: FTP module for PHP5
+Depends: php5
diff --git a/openwrt/package/php5/ipkg/php5-mod-gd.control b/openwrt/package/php5/ipkg/php5-mod-gd.control
new file mode 100644
index 0000000000..8ff80d5558
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-mod-gd.control
@@ -0,0 +1,9 @@
+Package: php5-mod-gd
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
+Description: GD module for PHP5
+Depends: php5, libgd, libpng
diff --git a/openwrt/package/php5/ipkg/php5-mod-ldap.control b/openwrt/package/php5/ipkg/php5-mod-ldap.control
new file mode 100644
index 0000000000..734d84540e
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-mod-ldap.control
@@ -0,0 +1,9 @@
+Package: php5-mod-ldap
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
+Description: LDAP module for PHP5
+Depends: php5, libopenldap
diff --git a/openwrt/package/php5/ipkg/php5-mod-mysql.control b/openwrt/package/php5/ipkg/php5-mod-mysql.control
new file mode 100644
index 0000000000..611527891a
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-mod-mysql.control
@@ -0,0 +1,9 @@
+Package: php5-mod-mysql
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
+Description: MySQL module for PHP5
+Depends: php5, libmysqlclient
diff --git a/openwrt/package/php5/ipkg/php5-mod-openssl.control b/openwrt/package/php5/ipkg/php5-mod-openssl.control
new file mode 100644
index 0000000000..08c9103539
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-mod-openssl.control
@@ -0,0 +1,9 @@
+Package: php5-mod-openssl
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
+Description: OpenSSL module for PHP5
+Depends: php5, libopenssl
diff --git a/openwrt/package/php5/ipkg/php5-mod-pcre.control b/openwrt/package/php5/ipkg/php5-mod-pcre.control
new file mode 100644
index 0000000000..f4f69f2bb8
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-mod-pcre.control
@@ -0,0 +1,9 @@
+Package: php5-mod-pcre
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
+Description: PCRE module for PHP5
+Depends: php5, libpcre
diff --git a/openwrt/package/php5/ipkg/php5-mod-pgsql.control b/openwrt/package/php5/ipkg/php5-mod-pgsql.control
new file mode 100644
index 0000000000..2e4526c9ee
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-mod-pgsql.control
@@ -0,0 +1,9 @@
+Package: php5-mod-pgsql
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
+Description: PostgreSQL module for PHP5
+Depends: php5, libpq
diff --git a/openwrt/package/php5/ipkg/php5-mod-session.control b/openwrt/package/php5/ipkg/php5-mod-session.control
new file mode 100644
index 0000000000..9ad925cdde
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-mod-session.control
@@ -0,0 +1,9 @@
+Package: php5-mod-session
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
+Description: Sessions module for PHP5
+Depends: php5
diff --git a/openwrt/package/php5/ipkg/php5-mod-sockets.control b/openwrt/package/php5/ipkg/php5-mod-sockets.control
new file mode 100644
index 0000000000..a037eb46d4
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-mod-sockets.control
@@ -0,0 +1,9 @@
+Package: php5-mod-sockets
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
+Description: Sockets module for PHP5
+Depends: php5
diff --git a/openwrt/package/php5/ipkg/php5-mod-sqlite.control b/openwrt/package/php5/ipkg/php5-mod-sqlite.control
new file mode 100644
index 0000000000..847db0f07a
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-mod-sqlite.control
@@ -0,0 +1,9 @@
+Package: php5-mod-sqlite
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
+Description: SQLite module for PHP5
+Depends: php5, libsqlite2
diff --git a/openwrt/package/php5/ipkg/php5-mod-xml.control b/openwrt/package/php5/ipkg/php5-mod-xml.control
new file mode 100644
index 0000000000..f92d3916ff
--- /dev/null
+++ b/openwrt/package/php5/ipkg/php5-mod-xml.control
@@ -0,0 +1,9 @@
+Package: php5-mod-xml
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
+Description: XML module for PHP5
+Depends: php5, libexpat
diff --git a/openwrt/package/php5/patches/php-5.0.4-configure-cross.patch b/openwrt/package/php5/patches/php-5.0.4-configure-cross.patch
new file mode 100644
index 0000000000..d4c423b3b0
--- /dev/null
+++ b/openwrt/package/php5/patches/php-5.0.4-configure-cross.patch
@@ -0,0 +1,83 @@
+--- php-5.0.4/configure 2005-06-16 19:23:10.000000000 +0200
++++ php-5.0.4-patched/configure 2005-07-01 23:52:04.000000000 +0200
+@@ -13851,7 +13851,7 @@
+ ac_libs=$LIBS
+ LIBS="$LIBS -ldl"
+ if test "$cross_compiling" = yes; then
+- found=no
++ found=yes
+ else
+ cat > conftest.$ac_ext <<EOF
+ #line 13858 "configure"
+@@ -15724,7 +15724,7 @@
+
+
+ if test "$cross_compiling" = yes; then
+- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
++ { echo "configure: error: can not run test program while cross compiling" 1>&2; }
+ else
+ cat > conftest.$ac_ext <<EOF
+ #line 15731 "configure"
+@@ -16981,7 +16981,7 @@
+ if { (eval echo configure:16982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ if test "$cross_compiling" = yes; then
+- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
++ { echo "configure: error: can not run test program while cross compiling" 1>&2; }
+ else
+ cat > conftest.$ac_ext <<EOF
+ #line 16988 "configure"
+@@ -17478,7 +17478,7 @@
+ rm -fr conftest*
+
+ if test "$cross_compiling" = yes; then
+- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
++ { echo "configure: error: can not run test program while cross compiling" 1>&2; }
+ else
+ cat > conftest.$ac_ext <<EOF
+ #line 17485 "configure"
+@@ -41405,7 +41405,7 @@
+ echo $ac_n "checking if iconv supports errno""... $ac_c" 1>&6
+ echo "configure:41407: checking if iconv supports errno" >&5
+ if test "$cross_compiling" = yes; then
+- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
++ { echo "configure: error: can not run test program while cross compiling" 1>&2; }
+ else
+ cat > conftest.$ac_ext <<EOF
+ #line 41412 "configure"
+@@ -95618,7 +95618,7 @@
+ version_type=none
+ dynamic_linker="$host_os ld.so"
+ sys_lib_dlsearch_path_spec="/lib /usr/lib"
+-sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
++sys_lib_search_path_spec=""
+
+ case $host_os in
+ aix3*)
+@@ -95828,7 +95828,7 @@
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
++ sys_lib_search_path_spec=""
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ ;;
+
+@@ -95878,7 +95878,7 @@
+ ;;
+ esac
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}"
+- sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
++ sys_lib_search_path_spec=""
+ ;;
+
+ netbsd*)
+@@ -96977,7 +96977,7 @@
+ link_all_deplibs=$link_all_deplibs
+
+ # Compile-time system search path for libraries
+-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
++sys_lib_search_path_spec=
+
+ # Run-time system search path for libraries
+ sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
diff --git a/openwrt/package/php5/patches/php-5.0.4-xml-expat-no-xml2.patch b/openwrt/package/php5/patches/php-5.0.4-xml-expat-no-xml2.patch
new file mode 100644
index 0000000000..e46e6506ff
--- /dev/null
+++ b/openwrt/package/php5/patches/php-5.0.4-xml-expat-no-xml2.patch
@@ -0,0 +1,21 @@
+diff -ruN php-5.0.4-old/configure php-5.0.4-new/configure
+--- php-5.0.4-old/configure 2005-04-03 11:42:50.000000000 +0200
++++ php-5.0.4-new/configure 2005-07-12 20:04:55.000000000 +0200
+@@ -87265,7 +87265,7 @@
+
+ if test "$PHP_XML" != "no" && test "$PHP_LIBXML" != "no" -o "$PHP_LIBEXPAT_DIR" != "no"; then
+
+-
++if test "no" = "yes" ; then
+ for i in $PHP_LIBXML_DIR /usr/local /usr; do
+ if test -x "$i/bin/xml2-config"; then
+ XML2_CONFIG="$i/bin/xml2-config"
+@@ -87470,7 +87470,7 @@
+ fi
+
+ fi
+-
++fi ## (line 87266)
+
+ if test "$PHP_LIBEXPAT_DIR" != "no"; then
+ for i in $PHP_XML $PHP_LIBEXPAT_DIR; do