From 3ae891bbbaa3f96365f4c9fbe49e5cee26183fbc Mon Sep 17 00:00:00 2001 From: rhatto Date: Mon, 31 Jul 2006 20:45:44 +0000 Subject: initial import git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@1 370017ae-e619-0410-ac65-c121f96126d4 --- patches/apache/_apache.tar.gz | Bin 0 -> 2893 bytes patches/apache/apache.SlackBuild | 215 +++++++++++++++++++++ patches/apache/apache.dbm.diff.gz | Bin 0 -> 575 bytes .../apache_1.3.35.stupid.include.bug.diff.gz | Bin 0 -> 352 bytes patches/apache/config.layout.slack | 19 ++ patches/apache/slack-desc | 19 ++ 6 files changed, 253 insertions(+) create mode 100644 patches/apache/_apache.tar.gz create mode 100755 patches/apache/apache.SlackBuild create mode 100644 patches/apache/apache.dbm.diff.gz create mode 100644 patches/apache/apache_1.3.35.stupid.include.bug.diff.gz create mode 100644 patches/apache/config.layout.slack create mode 100644 patches/apache/slack-desc (limited to 'patches/apache') diff --git a/patches/apache/_apache.tar.gz b/patches/apache/_apache.tar.gz new file mode 100644 index 00000000..9243ce41 Binary files /dev/null and b/patches/apache/_apache.tar.gz differ diff --git a/patches/apache/apache.SlackBuild b/patches/apache/apache.SlackBuild new file mode 100755 index 00000000..07c8e84b --- /dev/null +++ b/patches/apache/apache.SlackBuild @@ -0,0 +1,215 @@ +#!/bin/bash +# +# Build and package an EAPI-enabled Apache on Slackware. +# (libmm is also installed with this package) +# by: David Cantrell +# Maintained by: Patrick Volkerding +# Small changes by rhatto +# + +CWD="`pwd`" + +if [ -f "/etc/slackbuildrc" ]; then + source /etc/slackbuildrc +fi + +if [ -f "~/.slackbuildrc" ]; then + source ~/.slackbuildrc +fi + +APACHE_VER=${APACHE_VER:=1.3.37} +MM_VER=${MM_VER:=1.3.1} +MODSSL_VER=${MODSSL_VER:=2.8.28-1.3.37} + +PACKAGE="apache" +ARCH=${ARCH:=i486} +BUILD=${BUILD:=1rha} +TMP=${TMP:=/tmp} +SRC_DIR=${SRC:=$CWD} +REPOS=${REPOS:=$TMP} + +if [ "$ARCH" == "x86_64" ]; then + LIBDIR=/usr/lib64 +else + LIBDIR=/usr/lib +fi + +RTOOL="wget" +PACKAGE_EXT="gz" +SRC="$PACKAGE"_"$APACHE_VER.tar.$PACKAGE_EXT" +URL="http://ftp.unicamp.br/pub/apache/httpd/$SRC" +MM="mm-$MM_VER.tar.gz" +MM_URL="ftp://ftp.ossp.org/pkg/lib/mm/$MM" +MODSSL="mod_ssl-$MODSSL_VER.tar.gz" +MODSSL_URL="http://www.modssl.org/source/$MODSSL" + +if [ "$PACKAGE_EXT" == "bz2" ]; then + tarflag="j" +else + tarflag="z" +fi + +SRC_DIR="$SRC_DIR/$PACKAGE" +mkdir -p $SRC_DIR + +if [ "$RTOOL" == "wget" ]; then + + if [ ! -f "$SRC_DIR/$SRC" ]; then + wget "$URL" -O "$SRC_DIR/$SRC" + fi + + if [ ! -f "$SRC_DIR/$MM" ]; then + wget "$MM_URL" -O "$SRC_DIR/$MM" + fi + + if [ ! -f "$SRC_DIR/$MODSSL" ]; then + wget "$MODSSL_URL" -O "$SRC_DIR/$MODSSL" + fi + +fi + +TMP="$TMP/$PACKAGE" +rm -rf $TMP +mkdir -p $TMP +cd $TMP + +PKG=$TMP/package-$PACKAGE +mkdir -p $PKG +( cd $PKG ; explodepkg $CWD/_apache.tar.gz ) + +cd $TMP +rm -rf mm-$MM_VER apache_$APACHE_VER mod_ssl-$MODSSL_VER +tar xvzf $SRC_DIR/$MM +tar xvzf $SRC_DIR/$SRC +tar xvzf $SRC_DIR/$MODSSL + +# build libmm +cd $TMP/mm-$MM_VER +chown -R root.root . +./configure \ + --prefix=/usr \ + --enable-static \ + --libdir=$LIBDIR \ + --enable-shared +make -j3 + +# EAPI is not part of Apache by default, it comes from mod_ssl. It +# allows us to build and package mod_ssl seperately. We pull out the +# EAPI patch and apply it to Apache so that our build will have that +# support enabled. We also apply a few other patches from mod_ssl. +( cd $TMP/apache_$APACHE_VER + cat $TMP/mod_ssl-$MODSSL_VER/pkg.eapi/eapi.patch | patch -p0 + cat $TMP/mod_ssl-$MODSSL_VER/pkg.addon/addon.patch | patch -p0 ) +( cd $TMP/mod_ssl-$MODSSL_VER/pkg.eapi + cp -a *.h $TMP/apache_$APACHE_VER/src/include + cp -a *.c $TMP/apache_$APACHE_VER/src/ap ) +( cd $TMP/mod_ssl-$MODSSL_VER/pkg.addon + cp -a *.c $TMP/apache_$APACHE_VER/src/modules/extra + cp -a *.html $TMP/apache_$APACHE_VER/htdocs/manual/mod ) + +# build apache +cd $TMP/apache_$APACHE_VER +# Stop using old obsolete DB1. +zcat $CWD/apache.dbm.diff.gz | patch -p1 --verbose || exit 1 + +if [ "$APACHE_VER" == "1.3.35" ]; then + # Clearly 1.3.35 got minimal testing... + zcat $CWD/apache_1.3.35.stupid.include.bug.diff.gz | patch -p1 --verbose || exit 1 +fi + +chown -R root.root . +cat $CWD/config.layout.slack >> config.layout +EAPI=SYSTEM \ +./configure \ + --with-layout=Slackware \ + --enable-module=most \ + --enable-shared=max \ + --manualdir=/var/www/htdocs/manual \ + --enable-rule=eapi +make -j3 + +# install libmm +cd $TMP/mm-$MM_VER +make DESTDIR=$PKG install +chmod 755 $PKG/usr/lib/libmm.so.* +mkdir -p $PKG/usr/doc/mm-$MM_VER +cp -a \ + ChangeLog INSTALL LICENSE PORTING README THANKS \ + $PKG/usr/doc/mm-$MM_VER + +# install apahe +cd $TMP/apache_$APACHE_VER +make install root=$PKG +mkdir -p $PKG/usr/doc/apache-$APACHE_VER +cp -a \ + ABOUT_APACHE Announcement INSTALL KEYS LICENSE README README.configure \ + $PKG/usr/doc/apache-$APACHE_VER +cp -a \ + $TMP/mod_ssl-$MODSSL_VER/pkg.eapi/README.EAPI \ + $PKG/usr/doc/apache-$APACHE_VER + +# we do not want these in the package, if they don't exist on the system +# then we copy the default one in place as the real file +( cd $PKG/etc/apache + rm -rf access.conf httpd.conf magic mime.types srm.conf ) + +# we add a block to the end of httpd.conf and touch zero length files +# for the SSL and PHP module packages +cat << EOF >> $PKG/etc/apache/httpd.conf.default + +# By default, all external Apache modules are disabled. To enable a particular +# module for Apache, make sure the necessary packages are installed. Then +# uncomment the appropriate Include line below, save the file, and restart +# Apache. Note that some modules may need additional configuration steps. For +# example, mod_ssl requires a site certificate which you may need to generate. +# +# Lastly, if you remove a module package, be sure to edit this file and comment +# out the appropriate Include line. + +# ==> mod_php configuration settings <== +# +# PACKAGES REQUIRED: openssl-solibs (A series) and/or openssl (N series), +# mysql (AP series), gmp (L series), mhash (L series), +# and apache (N series) +# +#Include /etc/apache/mod_php.conf + +# ==> mod_ssl configuration settings <== +# +# PACKAGES REQUIRED: apache (N series) and openssl (N series) +# +#Include /etc/apache/mod_ssl.conf + +EOF + +# some housekeeping +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) +gzip -9 $PKG/usr/man/*/* +chown -R root.bin $PKG/usr/bin +chown -R root.bin $PKG/usr/sbin + +# This is a point of overlap with the mod_ssl package, so we'll make it +# a symlink so that it's less of a trap for the unsuspecting admin: +( cd $PKG/usr/sbin + mv apachectl apachectl-standard + # Better to use some custom code in doinst.sh. + #ln -sf apachectl-standard apachectl +) + +# Add slack-desc: +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# make the package +cd $PKG +makepkg -l y -c n $REPOS/apache-$APACHE_VER-$ARCH-$BUILD.tgz + +# clean up +if [ "$1" = "--cleanup" ]; then + cd $CWD + rm -rf $TMP + rm -rf $PKG +fi diff --git a/patches/apache/apache.dbm.diff.gz b/patches/apache/apache.dbm.diff.gz new file mode 100644 index 00000000..aad1ee0c Binary files /dev/null and b/patches/apache/apache.dbm.diff.gz differ diff --git a/patches/apache/apache_1.3.35.stupid.include.bug.diff.gz b/patches/apache/apache_1.3.35.stupid.include.bug.diff.gz new file mode 100644 index 00000000..9a38f518 Binary files /dev/null and b/patches/apache/apache_1.3.35.stupid.include.bug.diff.gz differ diff --git a/patches/apache/config.layout.slack b/patches/apache/config.layout.slack new file mode 100644 index 00000000..e40a1bbd --- /dev/null +++ b/patches/apache/config.layout.slack @@ -0,0 +1,19 @@ +# Layout for Slackware Linux + + prefix: /usr + exec_prefix: $prefix + bindir: $exec_prefix/bin + sbindir: $exec_prefix/sbin + libexecdir: $exec_prefix/libexec/apache + mandir: $prefix/man + sysconfdir: /etc/apache + datadir: /var/www + iconsdir: $datadir/icons + htdocsdir: $datadir/htdocs + cgidir: $datadir/cgi-bin + includedir: $prefix/include/apache + localstatedir: /var + runtimedir: $localstatedir/run + logfiledir: $localstatedir/log/apache + proxycachedir: $localstatedir/cache/proxy + diff --git a/patches/apache/slack-desc b/patches/apache/slack-desc new file mode 100644 index 00000000..515121c8 --- /dev/null +++ b/patches/apache/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +apache: apache (The Apache HTTP Server) +apache: +apache: Apache is an HTTP server designed as a plug-in replacement for the +apache: NCSA HTTP server. It fixes numerous bugs in the NCSA server and +apache: includes many frequently requested new features, and has an API which +apache: allows it to be extended to meet users' needs more easily. +apache: +apache: Apache is the most popular web server in the known universe; over +apache: half of the servers on the Internet are running Apache or one of +apache: its variants. +apache: -- cgit v1.2.3