#!/bin/sh # Built on TCL v4.0.2 # Required extensions: # compiletc # bison # diffutils # file # findutils # flex # gawk # gcc # gcc_libs # binutils # mpfr # gmp # mpc # grep # m4 # make # patch # pkg-config # glib2 # popt # sed # e2fsprogs_base-dev # eglibc_base-dev # fltk_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 # openssl-1.0.0 # openssl-1.0.0-dev # pcre # readline # ncurses # ncurses-common # pcre-dev # apr-util-dev # apr-util # apr # apr-dev # expat2-dev # expat2 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 export EXTS="compiletc squashfs-tools-4.x tar openssl-1.0.0-dev openssl-1.0.0 pcre-dev pcre apr-util-dev" 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="apache2" export VER="-2.2.21" export DESTDIR=`pwd`/$EXTNAME export PKGNAME="httpd"$VER for f in $EXTS; do installExtension $f done unpackSrc $PKGNAME mkdir -p $EXTNAME/usr/local/tce.installed $EXTNAME/usr/local/share/doc/License $EXTNAME-dev/usr/local/lib $EXTNAME-dev/usr/local/$EXTNAME $EXTNAME-doc/usr/local/$EXTNAME cd $PKGNAME ./configure --bindir=/usr/local/bin --libdir=/usr/local/lib --includedir=/usr/local/include --with-mpm=worker --enable-suexec --enable-dav-lock --enable-proxy --enable-ssl --with-ssl=/usr/local --with-pcre=/usr/local --enable-mods-shared=all --with-apr=/usr/local --with-apr-util=/usr/local && make && make test 2>&1 | tee ../$EXTNAME.test && make install || exit cp LICENSE $DESTDIR/usr/local/share/doc/License/$EXTNAME.txt cd $DESTDIR mv usr/local/include $DESTDIR-dev/usr/local mv usr/local/$EXTNAME/build $DESTDIR-dev/usr/local/$EXTNAME mv usr/local/$EXTNAME/man* $DESTDIR-doc/usr/local/$EXTNAME mv usr/local/$EXTNAME/conf/httpd.conf usr/local/$EXTNAME/conf/httpd.conf.orig sed -i 's!Group daemon!Group staff!' usr/local/$EXTNAME/conf/httpd.conf.orig mv -f usr/local/$EXTNAME/bin usr/local sudo strip --strip-unneeded usr/local/bin/* echo '#!/bin/sh [ ! -e /usr/local/apache2/conf/httpd.conf ] && sed "s!User daemon!User `cat /etc/sysconfig/tcuser`!" /usr/local/apache2/conf/httpd.conf.orig > /usr/local/apache2/conf/httpd.conf' > usr/local/tce.installed/$EXTNAME sudo chown -R root:staff usr/local/tce* sudo chmod -R 775 usr/local/tce* sudo ln -s ../bin usr/local/apache2 sed -i 's!/replace/with/path/to/perl/interpreter!/usr/bin/env perl -w!' usr/local/bin/apxs cd .. createExtension $EXTNAME createExtension $EXTNAME-dev createExtension $EXTNAME-doc rm -rf $EXTNAME $PKGNAME $EXTNAME-dev $EXTNAME-doc # Create extension support files and test installExtension "submitqc4" submitqc4