aboutsummaryrefslogtreecommitdiff
path: root/patches/apache
diff options
context:
space:
mode:
authorrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>2006-07-31 20:45:44 +0000
committerrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>2006-07-31 20:45:44 +0000
commit3ae891bbbaa3f96365f4c9fbe49e5cee26183fbc (patch)
tree59f0163f13e99eefb959385243c564c5662bc5c2 /patches/apache
downloadslackbuilds-3ae891bbbaa3f96365f4c9fbe49e5cee26183fbc.tar.gz
slackbuilds-3ae891bbbaa3f96365f4c9fbe49e5cee26183fbc.tar.bz2
initial import
git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@1 370017ae-e619-0410-ac65-c121f96126d4
Diffstat (limited to 'patches/apache')
-rw-r--r--patches/apache/_apache.tar.gzbin0 -> 2893 bytes
-rwxr-xr-xpatches/apache/apache.SlackBuild215
-rw-r--r--patches/apache/apache.dbm.diff.gzbin0 -> 575 bytes
-rw-r--r--patches/apache/apache_1.3.35.stupid.include.bug.diff.gzbin0 -> 352 bytes
-rw-r--r--patches/apache/config.layout.slack19
-rw-r--r--patches/apache/slack-desc19
6 files changed, 253 insertions, 0 deletions
diff --git a/patches/apache/_apache.tar.gz b/patches/apache/_apache.tar.gz
new file mode 100644
index 00000000..9243ce41
--- /dev/null
+++ b/patches/apache/_apache.tar.gz
Binary files 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 <david@slackware.com>
+# Maintained by: Patrick Volkerding <volkerdi@slackware.com>
+# 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
--- /dev/null
+++ b/patches/apache/apache.dbm.diff.gz
Binary files 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
--- /dev/null
+++ b/patches/apache/apache_1.3.35.stupid.include.bug.diff.gz
Binary files 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
+<Layout Slackware>
+ 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
+</Layout>
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: