[packages] php5 (#6559)

- sync with upstream php.ini
  - EXIF extension moved out of core
  - enable more extensions
  - optional linking against libxml2


git-svn-id: svn://svn.openwrt.org/openwrt/packages@19306 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
jow 2010-01-24 01:35:17 +00:00
parent 495dc440be
commit fefbbfcbf0
2 changed files with 577 additions and 488 deletions

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=php
PKG_VERSION:=5.3.1
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.php.net/distributions/
@ -33,20 +33,27 @@ endef
define Package/php5/config
config PHP5_APC
bool "PHP5 APC support"
depends PACKAGE_php5
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
config PHP5_EXIF
bool "PHP5 EXIF support"
depends PACKAGE_php5
config PHP5_FILTER
bool "PHP5 Filter support"
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
config PHP5_LIBXML
bool "PHP5 LIBXML support"
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
config PHP5_SYSVIPC
bool "PHP5 Semaphore, Shared Memory and IPC support"
depends PACKAGE_php5
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5
$(call Package/php5/Default)
DEPENDS:=+libopenssl +libpcre +zlib
DEPENDS:=+libpcre +zlib
ifneq ($(CONFIG_PHP5_LIBXML),)
DEPENDS+= +libxml2
endif
endef
define Package/php5/description
@ -69,7 +76,7 @@ endef
define Package/php5-cgi
$(call Package/php5/Default)
DEPENDS:=php5
TITLE+= (CGI)
TITLE+= (CGI & FastCGI)
endef
define Package/php5-cgi/description
@ -80,105 +87,284 @@ endef
define Package/php5-fastcgi
$(call Package/php5/Default)
DEPENDS:=php5 +php5-cgi
TITLE+= (FastCGI)
TITLE:=FastCGI startup script
endef
define Package/php5-fastcgi/description
$(call Package/php5/Default/description)
This package contains the FastCGI version of the PHP5 interpreter.
define Package/php5-cgi/description
As FastCGI support is now a core feature the php5-fastcgi package now depends
on the php5-cgi package, containing just the startup script.
endef
define Package/php5-mod-ctype
$(call Package/php5/Default)
DEPENDS:=php5
TITLE:=ctype shared module
endef
define Package/php5-mod-ctype/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-curl
$(call Package/php5/Default)
DEPENDS:=php5 +libcurl
TITLE:=cURL module
TITLE:=cURL shared module
endef
define Package/php5-mod-curl/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-fileinfo
$(call Package/php5/Default)
DEPENDS:=php5 +libmagic
TITLE:=Fileinfo shared module
endef
define Package/php5-mod-fileinfo/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-dom
$(call Package/php5/Default)
DEPENDS:=php5 +libxml2
TITLE:=DOM shared module
endef
define Package/php5-mod-dom/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
depends on PHP5_LIBXML
endef
define Package/php5-mod-exif
$(call Package/php5/Default)
DEPENDS:=php5
TITLE:=EXIF shared module
endef
define Package/php5-mod-exif/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-ftp
$(call Package/php5/Default)
DEPENDS:=php5
TITLE:=FTP module
TITLE:=FTP shared module
endef
define Package/php5-mod-ftp/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-gd
$(call Package/php5/Default)
DEPENDS:=php5 +libgd
TITLE:=GD graphics module
TITLE:=GD graphics shared module
endef
define Package/php5-mod-gd/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-gmp
$(call Package/php5/Default)
DEPENDS:=php5 +libgmp
TITLE:=GMP module
TITLE:=GMP shared module
endef
define Package/php5-mod-gmp/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-hash
$(call Package/php5/Default)
DEPENDS:=php5
TITLE:=Hash shared module
endef
define Package/php5-mod-hash/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-iconv
$(call Package/php5/Default)
DEPENDS:=php5 +libiconv
TITLE:=iConv shared module
endef
define Package/php5-mod-iconv/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-json
$(call Package/php5/Default)
DEPENDS:=php5
TITLE:=JSON shared module
endef
define Package/php5-mod-json/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-ldap
$(call Package/php5/Default)
DEPENDS:=php5 +libopenldap +libsasl2
TITLE:=LDAP module
TITLE:=LDAP shared module
endef
define Package/php5-mod-ldap/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-mbstring
$(call Package/php5/Default)
DEPENDS:=php5
TITLE:=MBString shared module
endef
define Package/php5-mod-mbstring/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-mcrypt
$(call Package/php5/Default)
DEPENDS:=php5 +libmcrypt +libltdl
TITLE:=mcrypt shared module
endef
define Package/php5-mod-mcrypt/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-mysql
$(call Package/php5/Default)
DEPENDS:=php5 +libmysqlclient
TITLE:=MySQL module
TITLE:=MySQL shared module
endef
define Package/php5-mod-mysql/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-openssl
$(call Package/php5/Default)
DEPENDS:=php5 +libopenssl
TITLE:=OpenSSL module
TITLE:=OpenSSL shared module
endef
define Package/php5-mod-pgsql
$(call Package/php5/Default)
DEPENDS:=php5 +libpq
TITLE:=PostgreSQL module
endef
define Package/php5-mod-session
$(call Package/php5/Default)
DEPENDS:=php5
TITLE:=Session module
endef
define Package/php5-mod-sockets
$(call Package/php5/Default)
DEPENDS:=php5
TITLE:=Sockets module
endef
define Package/php5-mod-sqlite
$(call Package/php5/Default)
DEPENDS:=php5 +libsqlite2
TITLE:=SQLite module
endef
define Package/php5-mod-sqlite3
$(call Package/php5/Default)
DEPENDS:=php5 +libsqlite3
TITLE:=SQLite3 module
define Package/php5-mod-openssl/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-pdo
$(call Package/php5/Default)
DEPENDS:=php5
TITLE:=PHP Data Objects module
TITLE:=PHP Data Objects shared module
endef
define Package/php5-mod-pdo/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-pdo-mysql
$(call Package/php5/Default)
DEPENDS:=php5-mod-pdo +libmysqlclient
TITLE:=PDO driver for MySQL
endef
define Package/php5-mod-pdo-pgsql
$(call Package/php5/Default)
DEPENDS:=php5-mod-pdo +libpq
TITLE:=PDO driver for PostgreSQL
endef
define Package/php5-mod-pdo-sqlite
$(call Package/php5/Default)
DEPENDS:=php5-mod-pdo +libsqlite3
TITLE:=PHP Data Objects module - SQLite support
TITLE:=PDO driver for SQLite (3.x)
endef
define Package/php5-mod-pgsql
$(call Package/php5/Default)
DEPENDS:=php5 +libpq
TITLE:=PostgreSQL shared module
endef
define Package/php5-mod-pgsql/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-session
$(call Package/php5/Default)
DEPENDS:=php5
TITLE:=Session shared module
endef
define Package/php5-mod-session/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-soap
$(call Package/php5/Default)
DEPENDS:=php5 +libxml2
TITLE:=SOAP shared module
endef
define Package/php5-mod-soap/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
depends on PHP5_LIBXML
endef
define Package/php5-mod-sockets
$(call Package/php5/Default)
DEPENDS:=php5
TITLE:=Sockets shared module
endef
define Package/php5-mod-sockets/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-sqlite
$(call Package/php5/Default)
DEPENDS:=php5 +libsqlite2
TITLE:=SQLite shared module (2.x)
endef
define Package/php5-mod-sqlite/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-sqlite3
$(call Package/php5/Default)
DEPENDS:=php5 +libsqlite3
TITLE:=SQLite3 shared module (3.x)
endef
define Package/php5-mod-sqlite3/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-tokenizer
$(call Package/php5/Default)
DEPENDS:=php5
TITLE:=Tokenizer shared module
endef
define Package/php5-mod-tokenizer/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-xml
$(call Package/php5/Default)
DEPENDS:=php5 +libexpat
TITLE:=XML module
DEPENDS:=php5
ifneq ($(CONFIG_PHP5_LIBXML),)
DEPENDS+= +libxml2
else
DEPENDS+= +libexpat
endif
TITLE:=XML shared module
endef
define Package/php5-mod-xml/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5-mod-xmlreader
$(call Package/php5/Default)
DEPENDS:=php5 +libxml2 +libiconv
TITLE:=XMLReader shared module
endef
define Package/php5-mod-xmlreader/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
depends on PHP5_LIBXML
endef
define Package/php5-mod-xmlwriter
$(call Package/php5/Default)
DEPENDS:=php5 +libxml2 +libiconv
TITLE:=XMLWriter shared module
endef
define Package/php5-mod-xmlwriter/config
depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
depends on PHP5_LIBXML
endef
PKG_CONFIGURE_LIBS:= -lcrypto -lssl
PKG_CONFIGURE_OPTS:= \
--enable-shared \
--disable-static \
@ -190,34 +376,15 @@ PKG_CONFIGURE_OPTS:= \
--enable-magic-quotes \
--disable-short-tags \
\
--disable-ctype \
--disable-dom \
--enable-ftp=shared \
--without-gettext \
--without-iconv \
--disable-libxml \
--without-libxml-dir \
--disable-xmlreader \
--disable-xmlwriter \
--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" \
--with-pcre-regex="$(STAGING_DIR)/usr" \
--disable-filter \
--disable-fileinfo \
--disable-phar
ifneq ($(SDK),)
PKG_BUILD_DEPENDS:=libopenssl zlib libcurl libgd libgmp libopenldap libmysqlclient libpq libsqlite2 libsqlite3 libexpat
PKG_BUILD_DEPENDS:=libopenssl zlib libcurl libgd libgmp libopenldap libmysqlclient libpq libsqlite2 libsqlite3 libpcre libxml2
# force PKG_CONFIGURE_{LIBS,OPTS} below when built in the SDK
CONFIG_PACKAGE_php5-cli:=m
CONFIG_PACKAGE_php5-cgi:=m
@ -233,11 +400,42 @@ ifneq ($(SDK),)
CONFIG_PACKAGE_php5-mod-xml:=m
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-ctype),)
PKG_CONFIGURE_OPTS+= --enable-ctype=shared
else
PKG_CONFIGURE_OPTS+= --disable-ctype
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-curl),)
PKG_CONFIGURE_OPTS+= --with-curl=shared,"$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-curl
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-fileinfo),)
PKG_CONFIGURE_OPTS+= --enable-fileinfo=shared
else
PKG_CONFIGURE_OPTS+= --disable-fileinfo
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-dom),)
PKG_CONFIGURE_OPTS+= --enable-dom=shared
else
PKG_CONFIGURE_OPTS+= --disable-dom
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-exif),)
PKG_CONFIGURE_OPTS+= --enable-exif=shared
else
PKG_CONFIGURE_OPTS+= --disable-exif
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-ftp),)
PKG_CONFIGURE_OPTS+= --enable-ftp=shared
else
PKG_CONFIGURE_OPTS+= --disable-ftp
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-gd),)
PKG_CONFIGURE_OPTS+= --with-gd=shared,"$(STAGING_DIR)/usr" \
--without-freetype-dir \
@ -251,64 +449,172 @@ ifneq ($(CONFIG_PACKAGE_php5-mod-gd),)
else
PKG_CONFIGURE_OPTS+= --without-gd
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-gmp),)
PKG_CONFIGURE_OPTS+= --with-gmp=shared,"$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-gmp
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-hash),)
PKG_CONFIGURE_OPTS+= --enable-hash=shared
else
PKG_CONFIGURE_OPTS+= --disable-hash
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-iconv),)
PKG_CONFIGURE_OPTS+= --with-iconv=shared,"$(STAGING_DIR)/usr/lib/libiconv"
else
PKG_CONFIGURE_OPTS+= --without-iconv
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-json),)
PKG_CONFIGURE_OPTS+= --enable-json=shared
else
PKG_CONFIGURE_OPTS+= --disable-json
endif
ifneq ($(CONFIG_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 ($(CONFIG_PACKAGE_php5-mod-mbstring),)
PKG_CONFIGURE_OPTS+= --enable-mbstring=shared --enable-mbregex
else
PKG_CONFIGURE_OPTS+= --disable-mbstring
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-mcrypt),)
PKG_CONFIGURE_OPTS+= --with-mcrypt=shared,"$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-mcrypt
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-mysql),)
PKG_CONFIGURE_OPTS+= --with-mysql=shared,"$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-mysql
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-openssl),)
PKG_CONFIGURE_OPTS+= --with-openssl=shared,"$(STAGING_DIR)/usr"
PKG_CONFIGURE_OPTS+= --with-kerberos=no
PKG_CONFIGURE_OPTS+= --with-openssl-dir="$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-openssl
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-pdo),)
PKG_CONFIGURE_OPTS+= --enable-pdo=shared
ifneq ($(CONFIG_PACKAGE_php5-mod-pdo-mysql),)
PKG_CONFIGURE_OPTS+= --with-pdo-mysql=shared,"$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-pdo-mysql
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-pdo-pgsql),)
PKG_CONFIGURE_OPTS+= --with-pdo-pgsql=shared,"$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-pdo-pgsql
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-pdo-sqlite),)
PKG_CONFIGURE_OPTS+= --with-pdo-sqlite=shared,"$(STAGING_DIR)/usr"
PKG_CONFIGURE_LIBS+= -lsqlite3
else
PKG_CONFIGURE_OPTS+= --without-pdo-sqlite
endif
else
PKG_CONFIGURE_OPTS+= --disable-pdo
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-pgsql),)
PKG_CONFIGURE_OPTS+= --with-pgsql=shared,"$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-pgsql
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-session),)
PKG_CONFIGURE_OPTS+= --enable-session=shared
else
PKG_CONFIGURE_OPTS+= --disable-session
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-soap),)
PKG_CONFIGURE_OPTS+= --enable-soap=shared
else
PKG_CONFIGURE_OPTS+= --disable-soap
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-sockets),)
PKG_CONFIGURE_OPTS+= --enable-sockets=shared
else
PKG_CONFIGURE_OPTS+= --disable-sockets
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-sqlite),)
PKG_CONFIGURE_OPTS+= --with-sqlite=shared,"$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-sqlite
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-sqlite3),)
PKG_CONFIGURE_OPTS+= --with-sqlite3=shared,"$(STAGING_DIR)/usr"
PKG_CONFIGURE_LIBS+= -lsqlite3
else
PKG_CONFIGURE_OPTS+= --without-sqlite3
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-pdo),)
PKG_CONFIGURE_OPTS+= --enable-pdo=shared
ifneq ($(CONFIG_PACKAGE_php5-mod-pdo-sqlite),)
PKG_CONFIGURE_OPTS+= --with-pdo-sqlite=shared,"$(STAGING_DIR)/usr"
PKG_CONFIGURE_LIBS+= -lsqlite3
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-tokenizer),)
PKG_CONFIGURE_OPTS+= --enable-tokenizer=shared
else
PKG_CONFIGURE_OPTS+= --disable-pdo
PKG_CONFIGURE_OPTS+= --disable-tokenizer
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-xml),)
PKG_CONFIGURE_OPTS+= --enable-xml=shared,"$(STAGING_DIR)/usr" \
--with-libexpat-dir="$(STAGING_DIR)/usr"
PKG_CONFIGURE_OPTS+= --enable-xml=shared,"$(STAGING_DIR)/usr"
ifneq ($(CONFIG_PHP5_LIBXML),)
PKG_CONFIGURE_OPTS+= --with-libxml-dir="$(STAGING_DIR)/usr/include/libxml2"
else
PKG_CONFIGURE_OPTS+= --with-libexpat-dir="$(STAGING_DIR)/usr"
endif
else
PKG_CONFIGURE_OPTS+= --disable-xml
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-xmlreader),)
PKG_CONFIGURE_OPTS+= --enable-xmlreader=shared,"$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --disable-xmlreader
endif
ifneq ($(CONFIG_PACKAGE_php5-mod-xmlwriter),)
PKG_CONFIGURE_OPTS+= --enable-xmlwriter=shared,"$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --disable-xmlwriter
endif
ifneq ($(CONFIG_PHP5_APC),)
PKG_CONFIGURE_OPTS+= --enable-apc --disable-apc-mmap --disable-apc-pthreadmutex
PKG_CONFIGURE_LIBS+= -lrt
else
PKG_CONFIGURE_OPTS+= --disable-apc
endif
ifneq ($(CONFIG_PHP5_EXIF),)
PKG_CONFIGURE_OPTS+= --enable-exif
ifneq ($(CONFIG_PHP5_FILTER),)
PKG_CONFIGURE_OPTS+= --enable-filter
else
PKG_CONFIGURE_OPTS+= --disable-exif
PKG_CONFIGURE_OPTS+= --disable-filter
endif
ifneq ($(CONFIG_PHP5_LIBXML),)
PKG_CONFIGURE_OPTS+= --enable-libxml
PKG_CONFIGURE_OPTS+= --with-libxml-dir="$(STAGING_DIR)/usr/include/libxml2"
else
PKG_CONFIGURE_OPTS+= --disable-libxml
endif
ifneq ($(CONFIG_PHP5_SYSVIPC),)
PKG_CONFIGURE_OPTS+= --enable-sysvsem --enable-sysvshm --enable-sysvmsg
else
@ -328,6 +634,8 @@ ifneq ($(CONFIG_PACKAGE_php5-cli),)
, \
LIBS="$(PKG_CONFIGURE_LIBS)" \
php_cv_cc_rpath="no" \
iconv_impl_name="gnu_libiconv" \
ac_cv_php_xml2_config_path="$(STAGING_DIR)/host/bin/xml2-config" \
)
$(MAKE) -C $(PKG_BUILD_DIR)
mv $(PKG_BUILD_DIR)/sapi/cli/php $(PKG_BUILD_DIR)/php-cli
@ -344,6 +652,8 @@ ifneq ($(CONFIG_PACKAGE_php5-cgi),)
, \
LIBS="$(PKG_CONFIGURE_LIBS)" \
php_cv_cc_rpath="no" \
iconv_impl_name="gnu_libiconv" \
ac_cv_php_xml2_config_path="$(STAGING_DIR)/host/bin/xml2-config" \
)
$(MAKE) -C $(PKG_BUILD_DIR)
mv $(PKG_BUILD_DIR)/sapi/cgi/php-cgi $(PKG_BUILD_DIR)/php-cgi
@ -372,11 +682,10 @@ endef
define Package/php5-cgi/install
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_BUILD_DIR)/php-cgi $(1)/usr/bin/php-cgi
ln -sf php-cgi $(1)/usr/bin/php-fcgi
endef
define Package/php5-fastcgi/install
$(INSTALL_DIR) $(1)/usr/bin
ln -sf php-cgi $(1)/usr/bin/php-fcgi
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/php.init $(1)/etc/init.d/php
endef
@ -397,18 +706,33 @@ $(eval $(call BuildPackage,php5))
$(eval $(call BuildPackage,php5-cli))
$(eval $(call BuildPackage,php5-cgi))
$(eval $(call BuildPackage,php5-fastcgi))
$(eval $(call BuildPlugin,php5-mod-ctype,ctype))
$(eval $(call BuildPlugin,php5-mod-curl,curl))
$(eval $(call BuildPlugin,php5-mod-fileinfo,fileinfo))
$(eval $(call BuildPlugin,php5-mod-dom,dom))
$(eval $(call BuildPlugin,php5-mod-exif,exif))
$(eval $(call BuildPlugin,php5-mod-ftp,ftp))
$(eval $(call BuildPlugin,php5-mod-gd,gd))
$(eval $(call BuildPlugin,php5-mod-gmp,gmp))
$(eval $(call BuildPlugin,php5-mod-hash,hash))
$(eval $(call BuildPlugin,php5-mod-iconv,iconv))
$(eval $(call BuildPlugin,php5-mod-json,json))
$(eval $(call BuildPlugin,php5-mod-ldap,ldap))
$(eval $(call BuildPlugin,php5-mod-mbstring,mbstring))
$(eval $(call BuildPlugin,php5-mod-mcrypt,mcrypt))
$(eval $(call BuildPlugin,php5-mod-mysql,mysql))
$(eval $(call BuildPlugin,php5-mod-openssl,openssl))
$(eval $(call BuildPlugin,php5-mod-pdo,pdo))
$(eval $(call BuildPlugin,php5-mod-pdo-mysql,pdo_mysql))
$(eval $(call BuildPlugin,php5-mod-pdo-pgsql,pdo_pgsql))
$(eval $(call BuildPlugin,php5-mod-pdo-sqlite,pdo_sqlite))
$(eval $(call BuildPlugin,php5-mod-pgsql,pgsql))
$(eval $(call BuildPlugin,php5-mod-session,session))
$(eval $(call BuildPlugin,php5-mod-soap,soap))
$(eval $(call BuildPlugin,php5-mod-sockets,sockets))
$(eval $(call BuildPlugin,php5-mod-sqlite,sqlite))
$(eval $(call BuildPlugin,php5-mod-sqlite3,sqlite3))
$(eval $(call BuildPlugin,php5-mod-pdo,pdo))
$(eval $(call BuildPlugin,php5-mod-pdo-sqlite,pdo_sqlite))
$(eval $(call BuildPlugin,php5-mod-tokenizer,tokenizer))
$(eval $(call BuildPlugin,php5-mod-xml,xml))
$(eval $(call BuildPlugin,php5-mod-xmlreader,xmlreader))
$(eval $(call BuildPlugin,php5-mod-xmlwriter,xmlwriter))

View File

@ -1,40 +1,31 @@
[PHP]
cgi.fix_pathinfo=1
zend.ze1_compatibility_mode = Off
; Language Options
engine = On
;short_open_tag = Off
asp_tags = Off
precision = 12
y2k_compliance = On
output_buffering = Off
;output_handler =
zlib.output_compression = Off
;zlib.output_compression_level = -1
;zlib.output_handler =
implicit_flush = Off
unserialize_callback_func=
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
@ -46,26 +37,27 @@ disable_classes =
;highlight.default = #0000BB
;highlight.html = #000000
;ignore_user_abort = On
;realpath_cache_size = 16k
;realpath_cache_ttl = 120
; Miscellaneous
expose_php = On
; Resource Limits
;;;;;;;;;;;;;;;;;;;
; 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.
;max_input_nesting_level = 64
memory_limit = 8M ; Maximum amount of memory a script may consume.
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 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)
; Error Level Constants:
; E_ALL - All errors and warnings (includes E_STRICT as of PHP 6.0.0)
; E_ERROR - fatal run-time errors
; E_RECOVERABLE_ERROR - almost 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
@ -84,466 +76,224 @@ memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
; E_USER_ERROR - user-generated error message
; E_USER_WARNING - user-generated warning message
; E_USER_NOTICE - user-generated notice message
; E_DEPRECATED - warn about code that will not work in future versions
; of PHP
; E_USER_DEPRECATED - user-generated deprecation warnings
;
; 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
;
; Common Values:
; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.)
; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices)
; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)
; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.)
; Default Value: E_ALL & ~E_NOTICE
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).
;report_zend_debug = 0
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_prepend_string = "<font color=#ff0000>"
;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 = /var/log/php_errors.log
; Log errors to syslog.
;error_log = syslog
; Data Handling
;;;;;;;;;;;;;;;;;
; 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.
request_order = "GP"
register_globals = Off
; 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_long_arrays = Off
register_argc_argv = On
; Maximum size of POST data that PHP will accept.
auto_globals_jit = On
post_max_size = 8M
; Magic quotes
;
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
;magic_quotes_gpc = Off
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 ;
;;;;;;;;;;;;;;;;;;;;;;;;;
; 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.
doc_root = "/www"
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.force_redirect = 1
;cgi.nph = 1
;cgi.redirect_status_env = ;
cgi.fix_pathinfo=1
;fastcgi.impersonate = 1;
;fastcgi.logging = 0
;cgi.rfc2616_headers = 0
; File Uploads
;;;;;;;;;;;;;;;;
; 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_tmp_dir = "/tmp"
upload_max_filesize = 2M
max_file_uploads = 20
; Fopen wrappers
;;;;;;;;;;;;;;;;;;
; 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)
allow_url_include = Off
;from="john@doe.com"
; Define the User-Agent string
; user_agent="PHP"
; Default timeout for socket based streams (seconds)
;user_agent="PHP"
default_socket_timeout = 60
;auto_detect_line_endings = Off
; 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.
;
; Dynamic Extensions
;extension=ctype.so
;extension=curl.so
;extension=dom.so
;extension=exif.so
;extension=ftp.so
;extension=gd.so
;extension=gmp.so
;extension=hash.so
;extension=iconv.so
;extension=json.so
;extension=ldap.so
;extension=mbstring.so
;extension=mcrypt.so
;extension=mysql.so
;extension=openssl.so
;extension=pcre.so
;extension=pdo.so
;extension=pdo-mysql.so
;extension=pdo-pgsql.so
;extension=pdo_sqlite.so
;extension=pgsql.so
;extension=session.so
;extension=soap.so
;extension=sockets.so
;extension=sqlite.so
;extension=sqlite3.so
;extension=tokenizer.so
;extension=xml.so
;extension=xmlreader.so
;extension=xmlwriter.so
; Module Settings
[APC]
apc.enabled = 1
apc.shm_segments = 1 ;The number of shared memory segments to allocate for the compiler cache.
apc.shm_size = 4 ;The size of each shared memory segment in MB.
[Date]
;date.timezone =
;date.default_latitude = 31.7667
;date.default_longitude = 35.2333
;date.sunrise_zenith = 90.583333
;date.sunset_zenith = 90.583333
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
[filter]
;filter.default = unsafe_raw
;filter.default_flags =
[SQL]
sql.safe_mode = Off
[iconv]
;iconv.input_encoding = ISO-8859-1
;iconv.internal_encoding = ISO-8859-1
;iconv.output_encoding = ISO-8859-1
[sqlite]
;sqlite.assoc_case = 0
[sqlite3]
;sqlite3.extension_dir =
[Pdo_mysql]
pdo_mysql.cache_size = 2000
pdo_mysql.default_socket=
[MySQL]
mysql.allow_local_infile = On
mysql.allow_persistent = On
mysql.cache_size = 2000
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[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.cookie_secure =
session.use_only_cookies = 1
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.cookie_httponly =
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.bug_compat_42 = On
session.bug_compat_warn = On
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.entropy_file =
;session.entropy_length = 16
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="
[mbstring]
;mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP
;mbstring.http_input = auto
;mbstring.http_output = SJIS
;mbstring.encoding_translation = Off
;mbstring.detect_order = auto
;mbstring.substitute_character = none;
;mbstring.func_overload = 0
;mbstring.strict_detection = Off
;mbstring.http_output_conv_mimetype=
;mbstring.script_encoding=
[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
[gd]
;gd.jpeg_ignore_warning = 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
@ -551,3 +301,18 @@ url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
;exif.decode_jis_motorola = JIS
;exif.decode_jis_intel = JIS
[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5
[sysvshm]
;sysvshm.init_mem = 10000
[ldap]
ldap.max_links = -1
[mcrypt]
;mcrypt.algorithms_dir=
;mcrypt.modes_dir=