#!/bin/sh # Built on TCL v4.0.2 # Required extensions: # compiletc # bison # diffutils # file # findutils # flex # gawk # gcc # gcc_libs # binutils # mpc # mpfr # gmp # grep # m4 # make # patch # pkg-config # glib2 # libffi # popt # sed # e2fsprogs_base-dev # eglibs_base-dev # fltk_base-dev # freetype_base-dev # gcc_base-dev # imlib2_base-dev # jpeg_base-dev # libpng_base-dev # linux-3.0.1_api_headers # util-linux_base-dev # zlib_base-dev # squashfs-tools-4.x # tar # mpc-dev # mpfr-dev # gmp-dev # mysql-dev # mysql # perl5 # ncurses # ncurses-common # ncurses-dev # bsddb-dev # bsddb # curl-dev # curl # gdbm-dev # gdbm # libxslt # libxml2 # libxml2-dev # libxml2-bin # pcre-dev # pcre # readline # mcrypt # libmhash # libmcrypt # gettext # fontconfig-dev # fontconfig # expat2 # expat2-dev # libgd # libiconv-dev # libiconv # bzip2-dev # bzip2-lib # bzip2 # coreutils # acl # libattr # attr # libcap # libtool-dev # libtool # libltdl # re2c # sqlite3-dev # sqlite3 # unixODBC-dev # unixODBC # readline-dev # geoip-dev # geoip # cyrus-sasl-dev # cyrus-sasl # openssl-1.0.0 # openssl-1.0.0-dev # Xorg-7.6-dev # recode-dev # recode getTime.sh installExtension() { if [ ! -e /usr/local/tce.installed/$1 ]; then echo "Installing "$1" ..." if [ -e $TCEDIR/optional/$1.tcz ]; then tce-load -i $1 else tce-load -wi $1 fi [ ! -e /usr/local/tce.installed/$1 ] && echo "Error: Extension "$1" not installed! Aborting" && exit fi } createExtension() { mksquashfs $1 $1.tcz -noappend [ ! -e $1.tcz ] && echo "Error: "$1".tcz not created! Aborting" && exit } unpackSrc() { #unpack source if [ -e $1.tar.bz2 ]; then tar -jxf $1.tar.bz2 elif [ -e $1.tb2 ]; then tar -jxf $1.tb2 elif [ -e $1.tbz ]; then tar -jxf $1.tbz elif [ -e $1.tar.gz ]; then tar -zxf $1.tar.gz elif [ -e $1.tgz ]; then tar -zxf $1.tgz elif [ -e $1.tar.xz ]; then tar -Jxf $1.tar.xz elif [ -e $1.txz ]; then tar -Jxf $1.txz elif [ -e $1.tar.lzma ]; then tar -xf $1.tar.lzma --lzma elif [ -e $1.tlz ]; then tar -xf $1.tlz --lzma else echo "Source "$1" not found! Aborting" && exit fi } # Install these extensions automagically EXTS="compiletc squashfs-tools-4.x tar mpc-dev mysql-dev bsddb-dev curl-dev curl gdbm-dev libxslt libxml2-dev pcre-dev pcre mcrypt gettext fontconfig-dev libgd libiconv-dev bzip2-dev coreutils libtool-dev re2c sqlite3-dev unixODBC-dev readline-dev geoip-dev cyrus-sasl-dev Xorg-7.6-dev recode-dev recode" export TCEDIR=`cat /opt/.tce_dir` export CFLAGS="-march=i486 -mtune=i686 -Os -pipe" export CXXFLAGS=$CFLAGS" -fno-exceptions -fno-rtti" export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig export EXTNAME="php5" export VER="-5.3.8" export DESTDIR=`pwd`/$EXTNAME export PKGNAME=php$VER for f in $EXTS; do installExtension $f done unpackSrc $PKGNAME mkdir -p $DESTDIR/usr/local/share/doc/License $DESTDIR-doc/usr/local/lib/php/.channels/.alias $DESTDIR-dev/usr/local/lib/php $DESTDIR-pear/usr/local/lib $DESTDIR-pear/usr/local/bin cd $PKGNAME # uses INSTALL_ROOT instead of DESTDIR export INSTALL_ROOT=$DESTDIR cp -s /usr/local/mysql/bin/mysql_config /usr/local/bin ./configure --with-jpeg-dir=/usr --with-png-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf --enable-gd-jis-conv --enable-calendar --enable-bcmath --with-sqlite3=shared,/usr/local --with-unixODBC=shared,/usr/local --with-readline=shared,/usr/local --with-recode=shared,/usr/local --with-bz2=shared,/usr/local --with-xsl=shared,/usr/local --with-libxml-dir=/usr/local --with-libexpat-dir=/usr/local --with-openssl=shared,/usr/local --with-openssl-dir=/usr/local --with-curl=shared,/usr/local --with-mhash=shared,/usr/local --with-mcrypt=shared,/usr/local --with-gdbm=shared,/usr/local --with-gmp=shared,/usr/local --with-gd=shared --with-mysql=shared,/usr/local/mysql --enable-dba --with-db4=shared,/usr/local --with-gettext=shared,/usr/local --enable-mbstring --enable-shared --enable-sockets --with-iconv=shared,/usr/local --with-iconv-dir=/usr/local --with-pdo-mysql=shared --with-pdo-odbc=unixODBC --with-pdo-sqlite=shared --with-zlib=shared,/usr --with-zlib-dir=/usr --with-pcre-regex=/usr/local --with-pcre-dir=/usr/local && make && make test 2>&1 | tee ../$EXTNAME.test && make install || exit cp php.ini-production $DESTDIR/usr/local/lib/php.ini.orig cp LICENSE $DESTDIR/usr/local/share/doc/License/$EXTNAME.txt cd $DESTDIR rm -rf .c* .d* .f* .l* .r* sudo strip --strip-unneeded usr/local/bin/* sudo strip -g usr/local/lib/php/*/* sed -i 's!'$DESTDIR'!!' usr/local/bin/phar.phar mv usr/local/include $DESTDIR-dev/usr/local mv usr/local/lib/php/build $DESTDIR-dev/usr/local/lib/php mv usr/local/lib/php/test $DESTDIR-dev/usr/local/lib/php mv usr/local/man $DESTDIR-doc/usr/local mv usr/local/lib/php/doc $DESTDIR-doc/usr/local/lib/php mv usr/local/lib/php/.channels/.alias/phpdocs.txt $DESTDIR-doc/usr/local/lib/php/.channels/.alias mv usr/local/lib/php/.channels/doc.php.net.reg $DESTDIR-doc/usr/local/lib/php/.channels/doc.php.net.reg mv usr/local/lib/php $DESTDIR-pear/usr/local/lib mkdir -p usr/local/lib/php/.registry mv $DESTDIR-pear/usr/local/lib/php/XML usr/local/lib/php mv $DESTDIR-pear/usr/local/lib/php/extensions usr/local/lib/php mv usr/local/bin/pe* $DESTDIR-pear/usr/local/bin mv usr/local/etc $DESTDIR-pear/usr/local mkdir usr/local/tce.installed echo '#!/bin/sh MYCONF=/usr/local/lib/php.ini [ -e $MYCONF ] || cp -p $MYCONF.orig $MYCONF' > usr/local/tce.installed/$EXTNAME sudo chown root:staff -R usr/local/tce* sudo chmod 775 -R usr/local/tce* cd $DESTDIR-pear mv usr/local/etc/pear.conf usr/local/etc/pear.conf.orig mkdir usr/local/tce.installed echo '#!/bin/sh MYCONF=/usr/local/etc/pear.conf [ -e $MYCONF ] || cp -p $MYCONF.orig $MYCONF' > usr/local/tce.installed/$EXTNAME-pear sudo chown root:staff -R usr/local/tce* sudo chmod 775 -R usr/local/tce* cd .. createExtension $EXTNAME createExtension $EXTNAME-dev createExtension $EXTNAME-doc createExtension $EXTNAME-pear rm -rf $EXTNAME $EXTNAME-dev $EXTNAME-doc $EXTNAME-pear $PKGNAME # Create extension support files and test installExtension "submitqc4" submitqc4