diff options
author | Brandon Low <lostlogic@gentoo.org> | 2002-07-03 20:33:37 +0000 |
---|---|---|
committer | Brandon Low <lostlogic@gentoo.org> | 2002-07-03 20:33:37 +0000 |
commit | a4a17e810cba78d4c6625cb9a7bf9fc9590c7493 (patch) | |
tree | 1ab0250f052e447f2a432e74905899a492abf1ac /net-www | |
parent | apache update needs to be checked out (diff) | |
download | gentoo-2-a4a17e810cba78d4c6625cb9a7bf9fc9590c7493.tar.gz gentoo-2-a4a17e810cba78d4c6625cb9a7bf9fc9590c7493.tar.bz2 gentoo-2-a4a17e810cba78d4c6625cb9a7bf9fc9590c7493.zip |
masked for testing, better group addition handling
Diffstat (limited to 'net-www')
-rw-r--r-- | net-www/apache/ChangeLog | 7 | ||||
-rw-r--r-- | net-www/apache/apache-1.3.26-r4.ebuild | 275 | ||||
-rw-r--r-- | net-www/apache/files/digest-apache-1.3.26-r4 | 2 |
3 files changed, 284 insertions, 0 deletions
diff --git a/net-www/apache/ChangeLog b/net-www/apache/ChangeLog index 4e85ef688828..01b6880f5eba 100644 --- a/net-www/apache/ChangeLog +++ b/net-www/apache/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-www/apache # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL +*apache-1.3.26-r4 (3 Jul 2002) + + 3 Jul 2002; Brandon Low <lostlogic@gentoo.org> apache-1.3.26-r4.ebuild: + + Just .keep some directories we make so that they will be handled more + sanely in unmerge and clean operations. + *apache-1.3.26-r3 (2 Jul 2002) 2 Jul 2002; Jon Nelson <jnelson@gentoo.org> apache-1.3.26-r3.ebuild: diff --git a/net-www/apache/apache-1.3.26-r4.ebuild b/net-www/apache/apache-1.3.26-r4.ebuild new file mode 100644 index 000000000000..1a518a963964 --- /dev/null +++ b/net-www/apache/apache-1.3.26-r4.ebuild @@ -0,0 +1,275 @@ +# Copyright 1999-2002 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-1.3.26-r4.ebuild,v 1.1 2002/07/03 20:33:37 lostlogic Exp $ + +mod_ssl_ver=2.8.9-${PV} +HARD_SERVER_LIMIT=512 + +S=${WORKDIR}/apache_${PV} +DESCRIPTION="The Apache Web Server" +HOMEPAGE="http://www.apache.org http://www.modssl.org" +SRC_URI="http://httpd.apache.org/dist/httpd/apache_${PV}.tar.gz + ftp://ftp.modssl.org/source/mod_ssl-${mod_ssl_ver}.tar.gz" +# The mod_ssl archive is only for providing the EAPI patch in here. +# You should install the net-www/mod_ssl package for the actual DSO. + +RDEPEND="virtual/glibc + =sys-libs/db-1* + =sys-libs/db-3* + >=dev-libs/mm-1.1.3 + >=sys-libs/gdbm-1.8 + >=dev-libs/expat-1.95.2" +DEPEND="${RDEPEND} sys-devel/perl" +LICENSE="Apache-1.1" +SLOT="1" + +src_unpack() { + local myssl + unpack ${A} ; cd ${S} + + # some nice patches.. + patch -p1 < ${FILESDIR}/${PV}/mdk/apache_1.3.11-apxs.patch || die m1 + patch -p1 < ${FILESDIR}/${PV}/mdk/apache_1.3.22-srvroot.patch || die m2 + patch -p1 < ${FILESDIR}/${PV}/mdk/apache-1.3.14-mkstemp.patch || die m3 + patch -p0 < ${FILESDIR}/${PV}/mdk/apache-1.3.20.manpage.patch || die m4 + patch -p1 < ${FILESDIR}/${PV}/deb/apxs_wrong_prefix || die d1 + patch -p1 < ${FILESDIR}/${PV}/deb/custom_response_segfaults || die d2 + patch -p1 < ${FILESDIR}/${PV}/deb/mime_type_fix || die d3 + patch -p1 < ${FILESDIR}/${PV}/deb/regex_must_conform_to_posix_for_LFS_to_work || die d4 + patch -p1 < ${FILESDIR}/${PV}/deb/suexec_combined || die d5 + patch -p1 < ${FILESDIR}/${PV}/deb/suexec_of_death || die d6 + patch -p1 < ${FILESDIR}/${PV}/deb/usr_bin_perl_owns_you || die d7 + + # yet another perl path fix.. + cp htdocs/manual/search/manual-index.cgi \ + htdocs/manual/search/manual-index.cgi.orig + sed -e "s:/usr/local/bin/perl5:/usr/bin/perl:" \ + htdocs/manual/search/manual-index.cgi.orig \ + > htdocs/manual/search/manual-index.cgi + rm -f htdocs/manual/search/manual-index.cgi.orig + + # setup eapi... + myssl=${S}/../mod_ssl-${mod_ssl_ver} + cp ${myssl}/pkg.eapi/*.h src/include + cp ${myssl}/pkg.eapi/*.c src/ap + patch -p0 < ${myssl}/pkg.eapi/eapi.patch || die eapi + + # set a reasonable MM_CORE_PATH location.. + mv src/include/httpd.h src/include/httpd.h.orig + sed -e 's:logs/mm:/var/cache/apache-mm/mm:' \ + src/include/httpd.h.orig > src/include/httpd.h + + # fix this silly script so it finds a db lib.. + mv src/helpers/find-dbm-lib src/helpers/find-dbm-lib.orig + cp ${FILESDIR}/find-dbm-lib src/helpers +} + +src_compile() { + local myconf mycflags + mycflags="${CFLAGS}" + unset CFLAGS ; unset CXXFLAGS + + # Allow users to move the default data directory by setting the + # home directory of the 'apache' user elsewhere. + DATA_DIR=`grep apache /etc/passwd | cut -d: -f6` + + if [ -z "$DATA_DIR" ]; then + eerror "DATA_DIR is null! Using defaults." + eerror "You probably want to check /etc/passwd" + DATA_DIR="/home/httpd" + fi + + einfo "Using $DATA_DIR as the default data directory." + + select_modules_config || \ + die "couldn't find apache-builtin-mods config file" + + #-DBUFFERED_LOGS + OPTIM="${mycflags} -DHARD_SERVER_LIMIT=${HARD_SERVER_LIMIT} \ + -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" \ + LIBS="-lgdbm -lpthread" \ + EAPI_MM=SYSTEM \ + ./configure \ + --prefix=/usr \ + --exec-prefix=/usr \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --libexecdir=/usr/lib/apache \ + --mandir=/usr/share/man \ + --sysconfdir=/etc/apache/conf \ + --datadir=${DATA_DIR} \ + --iconsdir=${DATA_DIR}/icons \ + --htdocsdir=${DATA_DIR}/htdocs \ + --manualdir=/usr/share/doc/${PF}/manual \ + --cgidir=${DATA_DIR}/cgi-bin \ + --includedir=/usr/include/apache \ + --localstatedir=/var \ + --runtimedir=/var/run \ + --logfiledir=/var/log/apache \ + --proxycachedir=/var/cache/apache \ + --serverroot=/etc/apache \ + \ + --target=apache \ + --server-uid=apache \ + --server-gid=apache \ + --enable-rule=EAPI \ + --enable-rule=SHARED_CHAIN \ + --with-perl=/usr/bin/perl \ + \ + ${MY_BUILTINS} \ + \ + --enable-suexec \ + --suexec-uidmin=1000 \ + --suexec-gidmin=100 \ + --suexec-caller=apache \ + --suexec-userdir=public_html \ + --suexec-docroot=${DATA_DIR}/htdocs \ + --suexec-safepath="/bin:/usr/bin" \ + --suexec-logfile=/var/log/apache/suexec_log \ + \ + ${myconf} || die "bad ./configure" + + emake || die "compile problem" +} + +src_install() { + # Allow users to move the default data directory by setting the + # home directory of the 'apache' user elsewhere. + DATA_DIR=`grep apache /etc/passwd | cut -d: -f6` + + if [ -z "$DATA_DIR" ]; then + eerror "DATA_DIR is null! Using defaults." + eerror "You probably want to check /etc/passwd" + DATA_DIR="/home/httpd" + fi + + GID=`grep apache /etc/group |cut -d: -f3` + if [ -z "${GID}" ]; then + einfo "Using default GID of 81 for Apache" + GID=81 + fi + + local myfile + make install-quiet root=${D} || die + dodoc ABOUT_APACHE Announcement INSTALL* LICENSE* README* WARNING* + + fowners root.${GID} /usr/sbin/suexec + fperms 4710 /usr/sbin/suexec + #fowners apache.apache ${DATA_DIR} + #fowners apache.apache ${DATA_DIR}/htdocs + + # nice support scripts.. # apachefixconf + for myfile in apacheaddmod apachedelmod \ + apachelogserverstatus apachesplitlogfile + do + exeinto /usr/sbin + doexe ${FILESDIR}/$myfile + done + + # setup links in /etc/apache.. + cd ${D}/etc/apache + ln -sf ../../usr/lib/apache modules + # apxs needs this to pickup the right lib for install.. + ln -sf ../../usr/lib lib + ln -sf ../../var/log/apache logs + ln -sf ../../usr/lib/apache-extramodules extramodules + + # drop in a convenient link to the manual + dosym /usr/share/doc/${PF}/manual ${DATA_DIR}/htdocs/manual + + # deprecated config files, empty dirs.. + rm -f ${D}/etc/apache/conf/access.conf* + rm -f ${D}/etc/apache/conf/srm.conf* + + # We can't delete this if users specify /var/httpd for datadir + # rm -rf ${D}/var + + # now the config files.. + insinto /etc/apache/conf + doins ${FILESDIR}/conf/commonapache.conf + doins ${FILESDIR}/conf/apache.conf + + insinto /etc/apache/conf/vhosts + doins ${FILESDIR}/conf/VirtualHomePages.conf + doins ${FILESDIR}/conf/DynamicVhosts.conf + doins ${FILESDIR}/conf/Vhosts.conf + + exeinto /etc/init.d ; newexe ${FILESDIR}/apache.rc6 apache + insinto /etc/conf.d ; newins ${FILESDIR}/apache.confd apache + insinto /etc/apache ; doins ${FILESDIR}/apache-builtin-mods + + if [ "$DATA_DIR" != "/home/httpd" ]; then + einfo "Updating data_dir path." + echo grep -lr /home/httpd ${D} + grep -lr /home/httpd ${D} + sleep 30s + for FILE in `grep -lr /home/httpd ${D}`; do + echo "Running sed on: ${FILE}" + cp ${FILE} ${FILE}.orig + echo sed "s:/home/httpd:$DATA_DIR:g" + sed "s:/home/httpd:$DATA_DIR:g" < ${FILE}.orig > ${FILE} + rm ${FILE}.orig + done + fi + dodir /var/cache/apache + touch ${D}/var/cache/apache/.keep + + dodir /var/cache/apache-mm + touch ${D}/var/cache/apache-mm/.keep + + dodir /usr/lib/apache-extramodules + touch ${D}/usr/lib/apache-extramodules/.keep + + dodir /etc/apache/conf/addon-modules + touch ${D}/etc/apache/conf/addon-modules/.keep + + dodir /var/log/apache + touch ${D}/var/log/apache/.keep + +} + +pkg_postinst() { + # these are in baselayout now; it will not hurt to leave them here though + # moved to pkg_postinst by jnelson, moved to pkg_preinst by lostlogic + if ! groupmod apache; then + groupadd -g 81 apache || die "problem adding group apache" + fi + + # usermod returns 2 on user-exists-but-no-flags-given + usermod apache &>/dev/null + if [ $? != 2 ]; then + useradd -u 81 -g apache -s /bin/false -d /home/httpd -c "apache" apache + assert "problem adding user apache" + fi +} + +parse_modules_config() { + local filename=$1 + local name="" + local dso="" + local disable="" + [ -f ${filename} ] || return 1 + einfo ">>> using ${filename} for builtins..." + 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-module=$name" + name="" ; disable="" + elif [ $i == "static" ] ; then + MY_BUILTINS="${MY_BUILTINS} --enable-module=$name --disable-shared=$name" + name="" ; disable="" + elif [ $i == "shared" ] ; then + MY_BUILTINS="${MY_BUILTINS} --enable-module=$name --enable-shared=$name" + name="" ; disable="" + fi + done +} + +select_modules_config() { + parse_modules_config /etc/apache/apache-builtin-mods || \ + parse_modules_config ${FILESDIR}/apache-builtin-mods || \ + return 1 +} diff --git a/net-www/apache/files/digest-apache-1.3.26-r4 b/net-www/apache/files/digest-apache-1.3.26-r4 new file mode 100644 index 000000000000..432745645e77 --- /dev/null +++ b/net-www/apache/files/digest-apache-1.3.26-r4 @@ -0,0 +1,2 @@ +MD5 52e9b875597a208fca9d393e710087b6 apache_1.3.26.tar.gz 2303147 +MD5 aad438a4eaeeee29ae74483f7afe9db0 mod_ssl-2.8.9-1.3.26.tar.gz 752613 |