summaryrefslogtreecommitdiff
blob: e61b52103d99e5de1a44b42bd406a4fb014f8ea7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# Copyright 1999-2000 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
# Author Donny Davies <woodchip@gentoo.org>
# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-1.3.22-r6.ebuild,v 1.1 2001/11/03 21:46:01 achim Exp $

AV="1.3.22"
MSV="2.8.5"

A="apache_${AV}.tar.gz mod_ssl-${MSV}-${AV}.tar.gz"
S=${WORKDIR}/apache_${AV}
DESCRIPTION="The Apache Web Server"
HOMEPAGE="http://www.apache.org http://www.modssl.org"
SRC_URI="http://httpd.apache.org/dist/httpd/apache_${AV}.tar.gz
         ftp://ftp.modssl.org/source/mod_ssl-${MSV}-${AV}.tar.gz"

DEPEND="virtual/glibc
        >=sys-libs/db-3.2.3h-r3 =sys-libs/db-1.85-r1
        ssl? ( >=dev-libs/openssl-0.9.6b )"

src_compile() {

    local myconf
    export SSL_BASE=SYSTEM
    export CFLAGS="${CFLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
    export RULE_EXPAT=NO

    if [ "`use ssl`" ]; then
	myconf="${myconf} --enable-module=ssl"
	cd ${S}/../mod_ssl-${MSV}-${AV}
	./configure --with-apache=${S} --with-ssl=SYSTEM || die
	cd ${S}
    fi

    ./configure --prefix=/usr/local/httpd --bindir=/usr/bin \
	--sbindir=/usr/sbin --datadir=/usr/local/httpd \
	--sysconfdir=/etc/httpd --libexecdir=/usr/lib/apache \
	--mandir=/usr/share/man --logfiledir=/var/log/apache --localstatedir=/var/lock \
	--proxycachedir=/var/cache/httpd --includedir=/usr/include/apache \
	--enable-module=all \
	--enable-shared=max --suexec-caller=wwwrun \
	--suexec-userdir=public_html --suexec-uidmin=96 \
	--suexec-gidmin=96 --suexec-safepath="/bin:/usr/bin" \
	--disable-rule=EXPAT --with-perl=/usr/bin/perl ${myconf}
    assert "bad configure"

    make || die "compile problem"
    use ssl && ( make certificate TYPE=dummy || die "make ssl certificate failed" )
}

src_install() {

    make install-quiet root=${D} || die
    dodoc ABOUT_APACHE Announcement INSTALL* KEYS LICENSE* README* WARNING* ${FILESDIR}/httpd.conf
    dosed "s:^PIDFILE.*:PIDFILE=/var/run/httpd.pid:" /usr/sbin/apachectl
    dosed "s:/usr/local/bin/perl5:/usr/bin/perl:" \
	/usr/local/httpd/htdocs/manual/search/manual-index.cgi

    if [ "`use ssl`" ] ; then
	cd ../mod_ssl-${MSV}-${AV}
	docinto mod_ssl
	dodoc ANNOUNCE CHANGES CREDITS INSTALL* LICENSE NEWS README*
    fi

    exeinto /etc/init.d
    newexe ${FILESDIR}/httpd.rc6 httpd
    insinto /etc/httpd
    doins ${FILESDIR}/httpd.conf
}

pkg_config() {

    #${ROOT}/sbin/rc-update add httpd default

    if [ "$ServerName" = "" ] ; then
	ServerName=`uname -n`
    fi
    if [ "$ServerAdmin" = "" ] ; then
	ServerAdmin="webmaster\@$ServerName"
    fi

    mv ${ROOT}/etc/httpd/httpd.conf ${ROOT}/etc/httpd/httpd.conf.orig
    sed -e "s/^\#ServerName.*/ServerName $ServerName/" \
	-e "s/^ServerName.*/ServerName $ServerName/" \
	-e "s/^ServerAdmin.*/ServerAdmin $ServerAdmin/" \
	${ROOT}/etc/httpd/httpd.conf.orig > ${ROOT}/etc/httpd/httpd.conf
}

pkg_prerm() {

    if [ "$ROOT" = "/" ] && [ -e /dev/shm/.init.d/started/httpd ] ; then
	/etc/init.d/httpd stop
    fi
    return # dont fail
}

pkg_preinst() {

    if [ "$ROOT" = "/" ] && [ -e /dev/shm/.init.d/started/httpd ] ; then
	/etc/init.d/httpd stop
    fi
    return # dont fail
}