summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-www/apache/apache-2.0.49-r3.ebuild')
-rw-r--r--net-www/apache/apache-2.0.49-r3.ebuild415
1 files changed, 0 insertions, 415 deletions
diff --git a/net-www/apache/apache-2.0.49-r3.ebuild b/net-www/apache/apache-2.0.49-r3.ebuild
deleted file mode 100644
index 9b269cbe567b..000000000000
--- a/net-www/apache/apache-2.0.49-r3.ebuild
+++ /dev/null
@@ -1,415 +0,0 @@
-# Copyright 1999-2004 Gentoo Foundation.
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-2.0.49-r3.ebuild,v 1.21 2004/09/06 20:28:28 ciaranm Exp $
-
-inherit flag-o-matic eutils fixheadtails gnuconfig
-
-PATCH_LEVEL="${PV}-r3"
-S="${WORKDIR}/httpd-${PV}"
-DESCRIPTION="Apache Web Server, Version 2.0.x"
-HOMEPAGE="http://www.apache.org/"
-SRC_URI="http://www.apache.org/dist/httpd/httpd-${PV}.tar.gz
- mirror://gentoo/apache-patches-${PATCH_LEVEL}.tar.bz2"
-
-LICENSE="Apache-2.0"
-SLOT="2"
-KEYWORDS="x86 ppc sparc mips alpha arm hppa amd64 ia64 s390 ppc64"
-IUSE="berkdb gdbm ldap threads ipv6 doc static ssl"
-
-#Standard location for Gentoo Linux
-DATADIR="/var/www/localhost"
-
-DEPEND="dev-util/yacc
- dev-lang/perl
- sys-libs/zlib
- dev-libs/expat
- dev-libs/openssl
- >=sys-apps/sed-4
- berkdb? ( sys-libs/db )
- gdbm? ( sys-libs/gdbm )
- !mips? ( ldap? ( =net-nds/openldap-2* ) )
- selinux? ( sec-policy/selinux-apache )"
-
-apache_setup_vars() {
- # Sets the USERDIR to default.
- USERDIR="public_html"
- einfo "DATADIR is set to: ${DATADIR}"
- einfo "USERDIR is set to: $USERDIR"
-}
-
-set_filter_flags () {
- CFLAGS="${CFLAGS/ / }"
- has_version =sys-libs/glibc-2.2* && filter-flags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-}
-
-src_unpack() {
- set_filter_flags
-
- unpack ${A} || die
- cd ${S} || die
- epatch ${WORKDIR}/00_gentoo_base.patch || die
- epatch ${WORKDIR}/01_gentoo_cvs_sync.patch || die
- epatch ${WORKDIR}/03_redhat_xfsz.patch || die
- epatch ${WORKDIR}/01_gentoo_cgi.patch || die
- epatch ${WORKDIR}/04_ssl_makefile.patch || die
- epatch ${WORKDIR}/01_ssl_engine_kernel.patch || die
-
- if use ipv6; then
- epatch ${WORKDIR}/01_gentoo_ipv6.patch || die
- fi
-
- if use ldap; then
- epatch ${WORKDIR}/01_apache_ldap_fixes.patch || die
- fi
-
- if use ssl; then
- epatch ${WORKDIR}/01_ssl_verify_client.patch || die
- fi
-
- if use berkdb; then
- einfo "Enabling berkdb."
- if has_version '=sys-libs/db-4*'; then
- einfo "Enabling db4"
- myconf="${myconf} --with-dbm=db4 --with-berkely-db=/usr"
- elif has_version '=sys-libs/db-3*'; then
- einfo "Enabling db3"
- myconf="${myconf} --with-dbm=db3 --with-berkely-db=/usr"
- elif has_version '=sys-libs/db-2'; then
- einfo "Enabling db2"
- myconf="${myconf} --with-dbm=db2 --with-berkely-db=/usr"
- fi
- else
- echo "Disabling berkdb"
- fi
-
- #avoid utf-8 charset problems
- export LC_CTYPE=C
-
- ht_fix_file srclib/apr/build/buildcheck.sh
-
- #give it the stamp
- sed -i -e 's:(" PLATFORM "):(Gentoo/Linux):g' server/core.c
-
- #fix perl with perl!
- find -type f | xargs perl -pi -e \
- "s|/usr/local/bin/perl|/usr/bin/perl|g; \
- s|/usr/local/bin/perl5|/usr/bin/perl|g; \
- s|/path/to/bin/perl|/usr/bin/perl|g;"
- #dont want this cruft in /usr/bin
- sed -i -e 's:@exp_bindir@:@exp_installbuilddir:g' support/apachectl.in
-
- #setup the filesystem layout config
- cat ${FILESDIR}/common/config.layout >> config.layout
- sed -i -e 's:version:${PF}:g' config.layout
-
- cat ${FILESDIR}/common/apr-config.layout >> srclib/apr/config.layout
- cat ${FILESDIR}/common/apr-util-config.layout >> srclib/apr-util/config.layout
-
- sed -i -e "s:/var/www/localhost:${DATADIR}:g" srclib/apr/config.layout
- sed -i -e "s:/var/www/localhost:${DATADIR}:g" srclib/apr-util/config.layout
-
- WANT_AUTOCONF_2_5=1 WANT_AUTOCONF=2.5 ./buildconf || die "buildconf failed"
- gnuconfig_update
-}
-
-src_compile() {
- set_filter_flags
- apache_setup_vars
-
- local myconf
- if use ldap; then
- if use mips; then
- eerror "Sorry, LDAP support isn't available yet for MIPS"
- eerror "Test out OpenLDAP and report it via BugZilla!"
- eerror "Continuing in 5 seconds"
- epause 5
- else
- einfo "Enabling LDAP"
- if use static; then
- myconf="--with-ldap --enable-auth-ldap=static --enable-ldap=static"
- else
- myconf="--with-ldap --enable-auth-ldap=shared --enable-ldap=shared"
- fi
- fi
- fi
-
- if use ipv6; then
- einfo "Enabling ipv6"
- myconf="${myconf} --enable-vp4"
- else
- myconf="${myconf} --disable-ipv6"
- fi
-
- if use threads; then
- einfo "Enabling threads support"
- myconf="${myconf} --with-mpm=worker"
- else
- myconf="${myconf} --with-mpm=${MPM:=prefork}"
- fi
-
- select_modules_config || die "determining modules"
-
- # Fix for bug #24215 - robbat2@gentoo.org, 30 Oct 2003
- # We pre-load the cache with the correct answer! This avoids
- # it violating the sandbox. This may have to be changed for
- # non-Linux systems or if sem_open changes on Linux. This
- # hack is built around documentation in /usr/include/semaphore.h
- # and the glibc (pthread) source
- echo 'ac_cv_func_sem_open=${ac_cv_func_sem_open=no}' >> ${S}/config.cache
-
- # Workaround for bug #32444 - robbat2@gentoo.org, 28 Nov 2003
- # Apache2 tries to build SCTP support even when all the parts of it aren't there
- # So for the moment we tell it to ignore SCTP support
- echo 'ac_cv_sctp=${ac_cv_sctp=no}' >> ${S}/config.cache
- echo 'ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}' >> ${S}/config.cache
- echo 'ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}' >> ${S}/config.cache
-
- makeopts="${makeopts} -j1"
- SSL_BASE="SYSTEM" \
- WANT_AUTOCONF_2_5=1 WANT_AUTOCONF=2.5
- ./configure \
- --with-suexec-safepath="/usr/local/bin:/usr/bin:/bin" \
- --with-suexec-logfile=/var/log/apache2/suexec_log \
- --with-suexec-bin=/usr/sbin/suexec2 \
- --with-suexec-userdir=${USERDIR} \
- --with-suexec-caller=apache \
- --with-suexec-docroot=/var/www \
- --with-suexec-uidmin=1000 \
- --with-suexec-gidmin=100 \
- --with-suexec-umask=077 \
- --enable-suexec=shared \
- \
- ${MY_BUILTINS} \
- \
- --cache-file=${S}/config.cache \
- --with-perl=/usr/bin/perl \
- --with-expat=/usr \
- --with-ssl=/usr \
- --with-z=/usr \
- --with-port=80 \
- --enable-layout=Gentoo \
- --with-program-name=apache2 \
- --with-devrandom=/dev/urandom \
- --host=${CHOST} ${myconf} || die "bad ./configure please submit bug report to bugs.gentoo.org. Include your config.layout."
- #--with-mpm={worker|prefork|perchild|leader|threadpool}
-
- # we don't want to try and recompile the ssl_expr_parse.c file, because
- # the lex source is broken
- touch modules/ssl/ssl_expr_scan.c
-
- emake || die "problem compiling Apache2 :("
-
- #build ssl version of apache bench (ab-ssl)
- cd support; rm -f ab .libs/ab ab.lo ab.o
- make ab CFLAGS="${CFLAGS} -DUSE_SSL -lcrypto -lssl \
- -I/usr/include/openssl -L/usr/lib" || die
- mv ab ab-ssl; mv .libs/ab .libs/ab-ssl; rm -f ab.lo ab.o
- make ab || die
-}
-
-src_install () {
- set_filter_flags
-
- local i
- make DESTDIR=${D} install || die
- dodoc ABOUT_APACHE CHANGES INSTALL LAYOUT \
- LICENSE README* ${FILESDIR}/robots.txt
-
- #bogus values pointing at /var/tmp/portage
- sed -i -e 's:APR_SOURCE_DIR=.*:APR_SOURCE_DIR=:g' ${D}/usr/bin/apr-config
- sed -i -e 's:APU_SOURCE_DIR=.*:APU_SOURCE_DIR=:g' ${D}/usr/bin/apu-config
- sed -i -e 's:APU_BUILD_DIR=.*:APU_BUILD_DIR=:g' ${D}/usr/bin/apu-config
-
- #protect the suexec binary
- local gid=`id -g apache`
- [ -z "${gid}" ] && gid=81
- fowners root:${gid} /usr/sbin/suexec
- fperms 4710 /usr/sbin/suexec
-
- #apxs needs this to pickup the right lib for install
- dosym /usr/lib /usr/lib/apache2/lib
- dosym /var/log/apache2 /usr/lib/apache2/logs
- dosym /usr/lib/apache2-extramodules /usr/lib/apache2/extramodules
- dosym /etc/apache2/conf /usr/lib/apache2/conf
-
- cd ${S}
- #Credits to advx.org people for these scripts. Heck, thanks for
- #the nice layout and everything else ;-)
- exeinto /usr/sbin
- for i in apache2logserverstatus apache2splitlogfile
- do
- doexe ${FILESDIR}/2.0.49/$i
- done
- exeinto /usr/lib/ssl/apache2-mod_ssl
- doexe ${FILESDIR}/2.0.49/gentestcrt.sh
-
- #some more scripts
- exeinto /usr/sbin
- for i in split-logfile list_hooks.pl logresolve.pl log_server_status
- do
- doexe ${S}/support/$i
- done
- #the ssl version of apache bench
- doexe support/.libs/ab-ssl
-
- #move some mods to extramodules
- dodir /usr/lib/apache2-extramodules
- for i in mod_ssl.so mod_ldap.so mod_auth_ldap.so
- do
- [ -x ${D}/usr/lib/apache2/modules/$i ] && \
- mv ${D}/usr/lib/apache2/modules/$i ${D}/usr/lib/apache2-extramodules
- done
-
- #modules.d config file snippets
- insinto /etc/apache2/conf/modules.d
- for i in 40_mod_ssl.conf 41_mod_ssl.default-vhost.conf 45_mod_dav.conf
- do
- doins ${FILESDIR}/2.0.49/$i
- done
- use !mips && use ldap && doins ${FILESDIR}/2.0.49/46_mod_ldap.conf
-
- #drop in a convenient link to the manual
- if use doc; then
- MANUAL_VERSION="2.0.49-r3"
- insinto /etc/apache2/conf/modules.d
- doins ${FILESDIR}/00_apache_manual.conf
- dosym /usr/share/doc/${PF}/manual ${DATADIR}/htdocs/manual
- sed -i -e "s:2.0.49:${MANUAL_VERSION}:" ${D}/etc/apache2/conf/modules.d/00_apache_manual.conf
- fi
-
- #SLOT=2!!!
- cd ${D}
- # do non-man pages
- cd ${D}
- mv -v usr/sbin/apachectl usr/sbin/apache2ctl
- mv -v usr/sbin/htdigest usr/sbin/htdigest2
- mv -v usr/sbin/htpasswd usr/sbin/htpasswd2
- mv -v usr/sbin/logresolve usr/sbin/logresolve2
- mv -v usr/sbin/apxs usr/sbin/apxs2
- mv -v usr/sbin/ab usr/sbin/ab2
- mv -v usr/sbin/ab-ssl usr/sbin/ab2-ssl
- mv -v usr/sbin/suexec usr/sbin/suexec2
- mv -v usr/sbin/rotatelogs usr/sbin/rotatelogs2
- mv -v usr/sbin/dbmmanage usr/sbin/dbmmanage2
- mv -v usr/sbin/checkgid usr/sbin/checkgid2
- mv -v usr/sbin/split-logfile usr/sbin/split-logfile2
- mv -v usr/sbin/list_hooks.pl usr/sbin/list_hooks2.pl
- mv -v usr/sbin/logresolve.pl usr/sbin/logresolve2.pl
-
- # do the man pages
- mv -v usr/share/man/man1/htdigest.1 usr/share/man/man1/htdigest2.1
- mv -v usr/share/man/man1/htpasswd.1 usr/share/man/man1/htpasswd2.1
- mv -v usr/share/man/man1/dbmmanage.1 usr/share/man/man1/dbmmanage2.1
- mv -v usr/share/man/man8/ab.8 usr/share/man/man8/ab2.8
- mv -v usr/share/man/man8/apxs.8 usr/share/man/man8/apxs2.8
- mv -v usr/share/man/man8/apachectl.8 usr/share/man/man8/apache2ctl.8
- mv -v usr/share/man/man8/httpd.8 usr/share/man/man8/apache2.8
- mv -v usr/share/man/man8/logresolve.8 usr/share/man/man8/logresolve2.8
- mv -v usr/share/man/man8/rotatelogs.8 usr/share/man/man8/rotatelogs2.8
- mv -v usr/share/man/man8/suexec.8 usr/share/man/man8/suexec2.8
-
- #tidy up
- mv ${D}/usr/sbin/envvars* ${D}/usr/lib/apache2/build
- dodoc ${D}/etc/apache2/conf/*-std.conf
- rm -f ${D}/etc/apache2/conf/*.conf
- rm -rf ${D}/var/run ${D}/var/log
-
- #config files
- insinto /etc/conf.d; newins ${FILESDIR}/2.0.49/apache2.confd apache2
- exeinto /etc/init.d; newexe ${FILESDIR}/2.0.49/apache2.initd apache2
- insinto /etc/apache2; doins ${FILESDIR}/2.0.49/apache2-builtin-mods
- insinto /etc/apache2/conf
- doins ${FILESDIR}/2.0.49/commonapache2.conf
- doins ${FILESDIR}/2.0.49/apache2.conf
- insinto /etc/apache2/conf/vhosts
- doins ${FILESDIR}/2.0.49/virtual-homepages.conf
- doins ${FILESDIR}/2.0.49/dynamic-vhosts.conf
- doins ${FILESDIR}/2.0.49/vhosts.conf
-
- # Added by Jason Wever <weeve@gentoo.org>
- # A little sedfu to fix bug #7172 for sparc64s
- if [ ${ARCH} = "sparc" ]
- then
- sed -i -e '13a\AcceptMutex fcntl' \
- ${D}/etc/apache2/conf/apache2.conf
- fi
-}
-
-parse_modules_config() {
- set_filter_flags
-
- local filename=$1
- local name=""
- local dso=""
- local disable=""
- [ -f ${filename} ] || return 1
- for i in `cat $filename | sed "s/^#.*//"` ; do
- if [ $i == "-" ] ; then
- disable="true"
- elif [ -z "$name" ] && [ ! -z "`echo $i | grep "mod_"`" ] ; then
- name=`echo $i | sed "s/mod_//"`
- elif [ "$disable" ] && ( [ $i == "static" ] || [ $i == "shared" ] ) ; then
- MY_BUILTINS="${MY_BUILTINS} --disable-$name"
- name="" ; disable=""
- elif [ $i == "static" ] ; then
- MY_BUILTINS="${MY_BUILTINS} --enable-$name=yes"
- name="" ; disable=""
- elif [ $i == "shared" ] ; then
- MY_BUILTINS="${MY_BUILTINS} --enable-$name=shared"
- name="" ; disable=""
- fi
- done
- einfo "${filename} options:\n${MY_BUILTINS}"
-}
-
-select_modules_config() {
- parse_modules_config /etc/apache2/apache2-builtin-mods || \
- parse_modules_config ${FILESDIR}/2.0.49/apache2-builtin-mods || \
- return 1
-}
-
-pkg_postinst() {
- set_filter_flags
-
- #empty dirs...
- install -d -m0755 -o apache -g apache ${ROOT}/var/lib/dav
- install -d -m0755 -o root -g root ${ROOT}/var/log/apache2
- install -d -m0755 -o root -g root ${ROOT}/var/cache/apache2
-
- if use ssl; then
- # install -d -m0755 -o root -g root ${ROOT}/etc/apache2/conf/ssl
- install -d -m0755 -o root -g root ${ROOT}/etc/apache2/conf/ssl
- cd ${ROOT}/etc/apache2/conf/ssl
- einfo
- einfo "Generating self-signed test certificate in /etc/apache2/conf/ssl..."
- yes "" 2>/dev/null | ${ROOT}/usr/lib/ssl/apache2-mod_ssl/gentestcrt.sh >/dev/null 2>&1
- einfo
- fi
-
- if has_version '=net-www/apache-1*' ; then
- ewarn
- ewarn "Please add the 'apache2' flag to your USE variable and (re)install"
- ewarn "any additional DSO modules you may wish to use with Apache-2.x."
- ewarn "Addon modules are configured in /etc/apache2/conf/modules.d/"
- ewarn
- fi
-
- # Check to see if this is an upgrade
- if [ -d /home/httpd ];
- then
- einfo
- einfo "Please remember to update your config files in /etc/apache2"
- einfo "as --datadir has been changed to ${DATADIR}, and ServerRoot"
- einfo "has changed to /usr/lib/apache2!"
- einfo
- fi
-
- local list=""
- for i in lib logs modules extramodules; do
- local d="/etc/apache2/${i}"
- [ -s "${d}" ] && list="${list} ${d}"
- done
- if [ -n "${list}" ]; then
- einfo "You should delete these old symlinks: ${list}"
- fi
-}