summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChuck Short <zul@gentoo.org>2004-04-25 23:19:24 +0000
committerChuck Short <zul@gentoo.org>2004-04-25 23:19:24 +0000
commit509808e477450098f1e3840b8064bc2ef3fb425f (patch)
tree61a52f82d0589a623a0847c33b58f0231688b908 /net-www/apache
parentAdd die following econf for bug 48950 (Manifest recommit) (diff)
downloadgentoo-2-509808e477450098f1e3840b8064bc2ef3fb425f.tar.gz
gentoo-2-509808e477450098f1e3840b8064bc2ef3fb425f.tar.bz2
gentoo-2-509808e477450098f1e3840b8064bc2ef3fb425f.zip
Ebuild clean up. Added patch that fixes the CookieName bug in mod_usertrack.
Diffstat (limited to 'net-www/apache')
-rw-r--r--net-www/apache/ChangeLog8
-rw-r--r--net-www/apache/Manifest3
-rw-r--r--net-www/apache/apache-1.3.29-r2.ebuild251
-rw-r--r--net-www/apache/files/apache-1.3.29-usertrack_bug.patch72
-rw-r--r--net-www/apache/files/digest-apache-1.3.29-r23
5 files changed, 336 insertions, 1 deletions
diff --git a/net-www/apache/ChangeLog b/net-www/apache/ChangeLog
index fc7f8b773e29..c54be39407f3 100644
--- a/net-www/apache/ChangeLog
+++ b/net-www/apache/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-www/apache
# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.133 2004/04/24 13:04:20 zul Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.134 2004/04/25 23:19:24 zul Exp $
+
+*apache-1.3.29-r2 (26 Apr 2004)
+
+ 26 Apr 2004; Chuck Short <zul@gentoo.org> apache-1.3.29-r2.ebuild,
+ files/apache-1.3.29-usertrack_bug.patch:
+ Ebuild cleanup. Added workaround patch work CookieName patch.
24 Apr 2004; Chuck Short <zul@gentoo.org> apache-2.0.48-r4.ebuild,
apache-2.0.49-r1.ebuild, apache-2.0.49.ebuild:
diff --git a/net-www/apache/Manifest b/net-www/apache/Manifest
index 381bb83c1765..c98c97e0aaaf 100644
--- a/net-www/apache/Manifest
+++ b/net-www/apache/Manifest
@@ -1,3 +1,4 @@
+MD5 3c1d79b106fde1c8dce7b047a79f16bd apache-1.3.29-r2.ebuild 7151
MD5 5fa557ec8a5b26ec62e9238fa55518be apache-2.0.49-r1.ebuild 11708
MD5 738de16a708fdae922876faebfa4ddd7 apache-2.0.48-r4.ebuild 12398
MD5 e51a4bbbd442f2d14e53c16eb603d501 apache-1.3.29-r1.ebuild 7414
@@ -8,6 +9,7 @@ MD5 d4b8a4908870107e15cc1edbd0ec6ebb files/apache-1.3.29_mod_auth_db.patch 729
MD5 161245c7aa1eb785db53b34d6a10be43 files/suexec_pam_gentoo.patch 2149
MD5 97c7a2efed7a3fd05614167426c495d9 files/apache-builtin-mods 2465
MD5 589e8773eb94f785be510f74b2e39ad0 files/digest-apache-1.3.29-r1 211
+MD5 589e8773eb94f785be510f74b2e39ad0 files/digest-apache-1.3.29-r2 211
MD5 d3626a1e31a675c60d066c111d552adf files/suexec.pam 59
MD5 4cc91d25cf4117b8db0fec344bebec4d files/digest-apache-2.0.48-r4 65
MD5 3a7818b24f0952694c7b878ba3d8e79a files/digest-apache-2.0.49-r1 65
@@ -26,6 +28,7 @@ MD5 d3339c25967ce7b36ef24495542f044a files/apachesplitlogfile 4948
MD5 3a7818b24f0952694c7b878ba3d8e79a files/digest-apache-2.0.49 65
MD5 b9ff3534313dae1b8ac96df0e3e01373 files/httpd-2.0.48-ipv6.patch 865
MD5 17aee0f7a9de0f390fa046bc82436309 files/apache.confd 998
+MD5 c2866f70c91c7c7f718b89d92530d5f2 files/apache-1.3.29-usertrack_bug.patch 2588
MD5 8cb4313e58d7bd5dc369eb92f75daa2b files/httpd-2.0.49-ipv6.patch 788
MD5 a7f15bdba3786353deb7bfaf8de0efb9 files/conf/apache.conf 8115
MD5 75e88ab5a3193fe8ff31c09f5bae2c09 files/conf/commonapache.conf 22175
diff --git a/net-www/apache/apache-1.3.29-r2.ebuild b/net-www/apache/apache-1.3.29-r2.ebuild
new file mode 100644
index 000000000000..a23f23c31d07
--- /dev/null
+++ b/net-www/apache/apache-1.3.29-r2.ebuild
@@ -0,0 +1,251 @@
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-1.3.29-r2.ebuild,v 1.1 2004/04/25 23:19:24 zul Exp $
+
+inherit eutils fixheadtails
+
+#IUSE="ipv6 pam"
+IUSE="pam"
+
+mod_ssl_ver=2.8.16
+
+S=${WORKDIR}/${PN}_${PV}
+DESCRIPTION="The Apache Web Server"
+HOMEPAGE="http://www.apache.org http://www.modssl.org"
+KEYWORDS="~x86 ~ppc ~sparc ~alpha ~hppa ~amd64 ~ia64 ~mips"
+SRC_URI="http://httpd.apache.org/dist/httpd/apache_${PV}.tar.gz
+ mirror://gentoo/${P}-gentoo.diff.bz2
+ ftp://ftp.modssl.org/source/mod_ssl-${mod_ssl_ver}-${PV}.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.
+
+DEPEND="dev-lang/perl <sys-libs/db-4.1
+ >=dev-libs/mm-1.1.3
+ >=sys-libs/gdbm-1.8
+ >=dev-libs/expat-1.95.2
+ >=sys-apps/sed-4"
+LICENSE="Apache-1.1"
+SLOT="1"
+
+#Standard location for Gentoo Linux
+DATADIR="/var/www/localhost"
+
+src_unpack() {
+ local myssl
+ unpack ${A} || die
+ cd ${S} || die
+ epatch ${WORKDIR}/${P}-gentoo.diff || die
+
+ #Obsolete 'head -1' and 'tail -1' calls.
+ ht_fix_file src/Configure src/helpers/getuid.sh src/helpers/buildinfo.sh src/helpers/fmn.sh
+
+ #Make apachectl read /etc/conf.d/apache
+ epatch ${FILESDIR}/apache-1.3.27-apachectl.patch || die
+
+ sed -i "s:/usr/local/bin/perl5:/usr/bin/perl:" \
+ htdocs/manual/search/manual-index.cgi
+
+ # setup eapi...
+ myssl=${WORKDIR}/mod_ssl-${mod_ssl_ver}-${PV}
+ cp ${myssl}/pkg.eapi/*.h src/include
+ cp ${myssl}/pkg.eapi/*.c src/ap
+ epatch ${myssl}/pkg.eapi/eapi.patch || die "eapi"
+
+ # set a reasonable MM_CORE_PATH location..
+ sed -i -e 's:logs/mm:/var/cache/apache-mm/mm:' \
+ src/include/httpd.h
+
+ if use pam; then
+ epatch ${FILESDIR}/suexec_pam_gentoo.patch || die
+ fi
+
+ # Detect db4 correctly
+ epatch ${FILESDIR}/apache-1.3.27_db4_gentoo.patch || die
+
+ # Fixes mod_auth_db compile breakages with db4.0
+ epatch ${FILESDIR}/apache-1.3.29_mod_auth_db.patch
+
+ # Fixes mod_user_track false positives for cookiename
+ epatch ${FILESDIR}/apache-1.3.29-usertrack_bug.patch
+}
+
+src_compile() {
+ local myconf mycflags
+ mycflags="${CFLAGS}"
+ unset CFLAGS ; unset CXXFLAGS
+
+ select_modules_config || die "determining modules"
+
+ #-DBUFFERED_LOGS
+ OPTIM="${mycflags} -DHARD_SERVER_LIMIT=${HARD_SERVER_LIMIT:=512} \
+ -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=${DATADIR} \
+ --cgidir=${DATADIR}/cgi-bin \
+ --iconsdir=${DATADIR}/icons \
+ --htdocsdir=${DATADIR}/htdocs \
+ --manualdir=/usr/share/doc/${PF}/manual \
+ --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=/var/www \
+ --suexec-safepath="/bin:/usr/bin" \
+ --suexec-logfile=/var/log/apache/suexec_log \
+ \
+ ${myconf} || die "bad ./configure"
+
+ emake || die "compile problem"
+}
+
+src_install() {
+ local myfile
+
+ GID=`id -g apache`
+ if [ -z "${GID}" ]; then
+ einfo "Using default GID of 81 for Apache"
+ GID=81
+ fi
+
+ make install-quiet root=${D} || die
+ dodoc ABOUT_APACHE Announcement INSTALL* LICENSE* README* WARNING* \
+ ${FILESDIR}/robots.txt
+
+ #protect the suexec binary
+ fowners root:${GID} /usr/sbin/suexec
+ fperms 4710 /usr/sbin/suexec
+
+ # nice support scripts..
+ 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 ${DATADIR}/htdocs/manual
+
+ # deprecated config files, empty dirs..
+ rm -f ${D}/etc/apache/conf/apache.conf.default
+ rm -f ${D}/etc/apache/conf/access.conf*
+ rm -f ${D}/etc/apache/conf/srm.conf*
+
+ # now the config files..
+ insinto /etc/apache/conf
+ doins ${FILESDIR}/conf/commonapache.conf
+ doins ${FILESDIR}/conf/apache.conf
+
+ # Added by Jason Wever <weeve@gentoo.org>
+ # A little sedfu to fix bug #7172 for sparc64s
+ if [ ${ARCH} = "sparc" ]
+ then
+ sed -i -e '15a\AcceptMutex fcntl' \
+ ${D}/etc/apache/conf/apache.conf
+ fi
+
+ 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 use pam; then
+ insinto /etc/pam.d ; newins ${FILESDIR}/suexec.pam suexec
+ fi
+
+ #empty dirs
+ keepdir /var/cache/apache /var/cache/apache-mm /usr/lib/apache-extramodules /etc/apache/conf/addon-modules /var/log/apache
+}
+
+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
+ getent group apache >/dev/null 2>&1
+ if [ $? -ne 0 ]; 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
+ getent passwd apache >/dev/null 2>&1
+ if [ $? -ne 0 ]; then
+ useradd -u 81 -g apache -s /bin/false -d /var/www/localhost -c "apache" apache
+ assert "problem adding user apache"
+ fi
+
+ einfo
+ einfo "Please remember to update your config files in /etc/apache"
+ einfo "as --datadir has been changed to ${DATADIR}!"
+ einfo
+}
+
+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/apache-1.3.29-usertrack_bug.patch b/net-www/apache/files/apache-1.3.29-usertrack_bug.patch
new file mode 100644
index 000000000000..6794206aada8
--- /dev/null
+++ b/net-www/apache/files/apache-1.3.29-usertrack_bug.patch
@@ -0,0 +1,72 @@
+===================================================================
+RCS file: /home/cvspublic/apache-1.3/src/modules/standard/mod_usertrack.c,v
+retrieving revision 1.59
+retrieving revision 1.60
+diff -u -r1.59 -r1.60
+--- apache-1.3/src/modules/standard/mod_usertrack.c 2004/01/13 10:22:44 1.59
++++ apache-1.3/src/modules/standard/mod_usertrack.c 2004/01/13 13:47:34 1.60
+@@ -286,10 +286,29 @@
+ return;
+ }
+
+-/* dcfg->regexp is "^cookie_name=([^;]+)|;[ \t]+cookie_name=([^;]+)",
+- * which has three subexpressions, $0..$2 */
++/*
++ * dcfg->regexp is "^cookie_name=([^;]+)|;[ \t]+cookie_name=([^;]+)",
++ * which has three subexpressions, $0..$2
++ */
+ #define NUM_SUBS 3
+
++static void set_and_comp_regexp(cookie_dir_rec *dcfg,
++ pool *p,
++ const char *cookie_name)
++{
++ /*
++ * The goal is to end up with this regexp,
++ * ^cookie_name=([^;]+)|;[\t]+cookie_name=([^;]+)
++ * with cookie_name obviously substituted either
++ * with the real cookie name set by the user in httpd.conf,
++ * or with the default COOKIE_NAME.
++ */
++ dcfg->regexp_string = ap_pstrcat(p, "^", cookie_name,
++ "=([^;]+)|;[ \t]+", cookie_name,
++ "=([^;]+)", NULL);
++ dcfg->regexp = ap_pregcomp(p, dcfg->regexp_string, REG_EXTENDED);
++}
++
+ static int spot_cookie(request_rec *r)
+ {
+ cookie_dir_rec *dcfg = ap_get_module_config(r->per_dir_config,
+@@ -352,6 +371,11 @@
+ dcfg->style = CT_UNSET;
+ dcfg->format = CF_NORMAL;
+ dcfg->enabled = 0;
++ /*
++ * In case the user does not use the CookieName directive,
++ * we need to compile the regexp for the default cookie name.
++ */
++ set_and_comp_regexp(dcfg, p, COOKIE_NAME);
+ return dcfg;
+ }
+
+@@ -436,18 +460,10 @@
+ {
+ cookie_dir_rec *dcfg = (cookie_dir_rec *) mconfig;
+
+- /* The goal is to end up with this regexp,
+- * ^cookie_name=([^;]+)|;[ \t]+cookie_name=([^;]+)
+- * with cookie_name
+- * obviously substituted with the real cookie name set by the
+- * user in httpd.conf. */
+- dcfg->regexp_string = ap_pstrcat(cmd->pool, "^", name,
+- "=([^;]+)|;[ \t]+", name,
+- "=([^;]+)", NULL);
+-
+ dcfg->cookie_name = ap_pstrdup(cmd->pool, name);
+
+- dcfg->regexp = ap_pregcomp(cmd->pool, dcfg->regexp_string, REG_EXTENDED);
++ set_and_comp_regexp(dcfg, cmd->pool, name);
++
+ if (dcfg->regexp == NULL) {
+ return "Regular expression could not be compiled.";
+ }
diff --git a/net-www/apache/files/digest-apache-1.3.29-r2 b/net-www/apache/files/digest-apache-1.3.29-r2
new file mode 100644
index 000000000000..a5423284e321
--- /dev/null
+++ b/net-www/apache/files/digest-apache-1.3.29-r2
@@ -0,0 +1,3 @@
+MD5 e97fe9bf51dc2c9c233d53f63b1347e3 apache_1.3.29.tar.gz 2435809
+MD5 2faa15ad074ab273af41496a1afa527f apache-1.3.29-gentoo.diff.bz2 6862
+MD5 4f6c580ffa07d33e8584406132b98e86 mod_ssl-2.8.16-1.3.29.tar.gz 754325