summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stewart <vericgar@gentoo.org>2006-02-28 05:16:06 +0000
committerMichael Stewart <vericgar@gentoo.org>2006-02-28 05:16:06 +0000
commitf9ebb768c049ceecbeb502b3c8d9be3e207c1de7 (patch)
tree4aae166b19bcbb7d945581827966074063ed3f0f /net-www/apache
parentgaleon version bump (diff)
downloadgentoo-2-f9ebb768c049ceecbeb502b3c8d9be3e207c1de7.tar.gz
gentoo-2-f9ebb768c049ceecbeb502b3c8d9be3e207c1de7.tar.bz2
gentoo-2-f9ebb768c049ceecbeb502b3c8d9be3e207c1de7.zip
Fix an issue where LoadModule lines weren't created on systems that use /usr/lib64 instead of /usr/lib.
(Portage version: 2.1_pre4-r1)
Diffstat (limited to 'net-www/apache')
-rw-r--r--net-www/apache/ChangeLog7
-rw-r--r--net-www/apache/apache-2.2.0-r1.ebuild10
-rw-r--r--net-www/apache/apache-2.2.0.ebuild494
-rw-r--r--net-www/apache/files/digest-apache-2.2.06
4 files changed, 12 insertions, 505 deletions
diff --git a/net-www/apache/ChangeLog b/net-www/apache/ChangeLog
index 752206a90627..52dc546b427d 100644
--- a/net-www/apache/ChangeLog
+++ b/net-www/apache/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for net-www/apache
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.466 2006/02/27 17:27:27 vericgar Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.467 2006/02/28 05:16:06 vericgar Exp $
+
+ 28 Feb 2006; Michael Stewart <vericgar@gentoo.org> -apache-2.2.0.ebuild,
+ apache-2.2.0-r1.ebuild:
+ Fix an issue where LoadModule lines weren't created on systems that use
+ /usr/lib64 instead of /usr/lib.
*apache-2.2.0-r1 (27 Feb 2006)
diff --git a/net-www/apache/apache-2.2.0-r1.ebuild b/net-www/apache/apache-2.2.0-r1.ebuild
index 4537a8b8b50a..1fde9b9c44d4 100644
--- a/net-www/apache/apache-2.2.0-r1.ebuild
+++ b/net-www/apache/apache-2.2.0-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-2.2.0-r1.ebuild,v 1.1 2006/02/27 17:27:28 vericgar Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-2.2.0-r1.ebuild,v 1.2 2006/02/28 05:16:06 vericgar Exp $
inherit eutils gnuconfig multilib
@@ -242,9 +242,11 @@ src_install () {
# create our LoadModule lines
if ! useq static-modules; then
load_module=''
+ moddir="${D}/usr/$(get_libdir)/apache2/modules"
for m in ${mods}; do
endid="no"
- if [ -e "${D}/usr/lib/apache2/modules/mod_${m}.so" ]; then
+
+ if [ -e "${moddir}/mod_${m}.so" ]; then
for def in ${mod_defines}; do
if [ "${m}" == "${def%:*}" ]; then
load_module="${load_module}\n<IfDefine ${def#*:}>"
@@ -348,8 +350,8 @@ src_install () {
# protect the suexec binary
if ! useq no-suexec; then
- fowners root:apache /usr/sbin/suexec
- fperms 4710 /usr/sbin/suexec
+ fowners root:apache /usr/sbin/suexec2
+ fperms 4710 /usr/sbin/suexec2
fi
keepdir /etc/apache2/vhosts.d
diff --git a/net-www/apache/apache-2.2.0.ebuild b/net-www/apache/apache-2.2.0.ebuild
deleted file mode 100644
index 638056ae1ae4..000000000000
--- a/net-www/apache/apache-2.2.0.ebuild
+++ /dev/null
@@ -1,494 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-2.2.0.ebuild,v 1.1 2006/02/15 06:18:26 vericgar Exp $
-
-inherit eutils gnuconfig multilib
-
-# latest gentoo apache files
-GENTOO_PATCHNAME="gentoo-apache-${PVR}"
-GENTOO_PATCHSTAMP="20060214"
-GENTOO_DEVSPACE="vericgar"
-GENTOO_PATCHDIR="${WORKDIR}/${GENTOO_PATCHNAME}"
-
-DESCRIPTION="The Apache Web Server"
-HOMEPAGE="http://httpd.apache.org/"
-SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2
- http://dev.gentoo.org/~${GENTOO_DEVSPACE}/dist/apache/${GENTOO_PATCHNAME}-${GENTOO_PATCHSTAMP}.tar.bz2"
-
-# some helper scripts are apache-1.1, thus both are here
-LICENSE="Apache-2.0 Apache-1.1"
-
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-IUSE="debug doc ldap no-suexec ssl static-modules threads selinux mpm-prefork mpm-worker mpm-event"
-
-RDEPEND="dev-lang/perl
- ~dev-libs/apr-1.2.2
- ~dev-libs/apr-util-1.2.2
- dev-libs/expat
- app-misc/mime-types
- sys-libs/zlib
- ssl? ( dev-libs/openssl )
- selinux? ( sec-policy/selinux-apache )
- !mips? ( ldap? ( =net-nds/openldap-2* ) )"
-DEPEND="${RDEPEND}
- >=sys-devel/autoconf-2.59-r4"
-
-S="${WORKDIR}/httpd-${PV}"
-
-
-
-pkg_setup() {
- if use ldap && ! built_with_use 'dev-libs/apr-util' ldap; then
- eerror "dev-libs/apr-util is missing LDAP support. For apache to have"
- eerror "ldap support, apr-util must be built with the ldap USE-flag"
- eerror "enabled."
- die "ldap USE-flag enabled while not supported in apr-util"
- fi
-
- # select our MPM
- MPM_LIST="prefork worker event"
- for x in ${MPM_LIST}; do
- if useq mpm-${x}; then
- if [ "x${mpm}" == "x" ]; then
- einfo "Selected MPM: ${mpm}"
- else
- eerror "You have selected more then one mpm USE-flag."
- eerror "Only one MPM is supported."
- die "more then one mpm was specified"
- fi
- fi
- done
-
- if [ "x${mpm}" == "x" ]; then
- if useq "threads"; then
- mpm=worker
- einfo "Selected default threaded MPM: ${mpm}";
- else
- mpm=prefork
- einfo "Selected default MPM: ${mpm}";
- fi
- fi
-}
-
-
-
-src_unpack() {
- unpack ${A} || die
- cd ${S} || die
-
- # Use correct multilib libdir in gentoo patches
- sed -i -e "s:/usr/lib:/usr/$(get_libdir):g" \
- ${GENTOO_PATCHDIR}/{conf/httpd.conf,init/*,patches/config.layout} \
- || die "sed failed"
-
-
- #### Patch Organization
- # 00-19 Gentoo specific (00_all_some-title.patch)
- # 20-39 Additional MPMs (20_all_${MPM}_some-title.patch)
- # 40-59 USE-flag based (40_all_${USE}_some-title.patch)
- # 60-79 Version specific (60_all_${PV}_some-title.patch)
- # 80-99 Security patches (80_all_${PV}_cve-####-####.patch)
-
- EPATCH_SUFFIX="patch"
- epatch ${GENTOO_PATCHDIR}/patches/[0-1]* || die "Patching failed"
- if $(ls ${GENTOO_PATCHDIR}/patches/[2-3]?_*_${mpm}_* &>/dev/null); then
- epatch ${GENTOO_PATCHDIR}/patches/[2-3]?_*_${mpm}_* || \
- die "MPM ${mpm} Patching failed"
- fi
- for uf in ${IUSE}; do
- if useq ${uf} && $(ls ${GENTOO_PATCHDIR}/patches/[4-5]?_*_${uf}_* &>/dev/null)
- then
- epatch ${GENTOO_PATCHDIR}/patches/[4-5]?_*_${uf}_* || \
- die "USE=\"${uf}\" Patching failed"
- fi
- done
- if $(ls ${GENTOO_PATCHDIR}/patches/[6-9]?_*_${PV}_* &>/dev/null); then
- epatch ${GENTOO_PATCHDIR}/patches/[6-9]?_*_${PV}_* || \
- die "Version ${PV} Patching failed"
- fi
-
-
- # avoid utf-8 charset problems
- export LC_CTYPE=C
-
- # setup the filesystem layout config
- cat ${GENTOO_PATCHDIR}/patches/config.layout >> config.layout
- sed -i -e "s:version:${PF}:g" config.layout
-
- einfo "Rebuilding configure"
- # patched-in MPMs probably need this
- WANT_AUTOCONF=2.5 ./buildconf || die "buildconf failed"
-
-}
-
-
-
-src_compile() {
-
- # Detect mips and uclibc systems properly
- gnuconfig_update
-
- local modtype
- if useq static-modules; then
- modtype="static"
- else
- modtype="shared"
- fi
-
- select_modules_config || die "determining modules failed"
-
- local myconf
- useq ldap && mods="${mods} ldap authnz-ldap" && \
- myconf="${myconf} --enable-authnz-ldap=${modtype}" && \
- myconf="${myconf} --enable-ldap=${modtype}"
- useq ssl && mods="${mods} ssl" && \
- myconf="${myconf} --with-ssl=/usr --enable-ssl=${modtype}"
-
- # 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
-
- if useq no-suexec; then
- myconf="${myconf} --disable-suexec"
- else
- mods="${mods} suexec"
- myconf="${myconf} $(${GENTOO_PATCHDIR}/scripts/suexec2-config --config)"
-
- myconf="${myconf}
- --with-suexec-bin=/usr/sbin/suexec2 \
- --enable-suexec=${modtype}"
- fi
-
- # common confopts
- myconf="${myconf} \
- --cache-file=${S}/config.cache \
- --with-perl=/usr/bin/perl \
- --with-expat=/usr \
- --with-z=/usr \
- --with-port=80 \
- --enable-layout=Gentoo \
- --with-program-name=apache2 \
- --host=${CHOST} ${MY_BUILTINS}"
- #--with-apr=/usr \
- #--with-apr-util=/usr \
-
- # debugging support
- if useq debug ; then
- myconf="${myconf} --enable-maintainer-mode"
- fi
-
- ./configure --with-mpm=${mpm} ${myconf} || die "bad ./configure please submit bug report to bugs.gentoo.org. Include your config.layout and config.log"
-
- # 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
-
- # as decided on IRC-AGENDA-10.2004, we use httpd.conf as standard config file name
- sed -i -e 's:apache2\.conf:httpd.conf:' include/ap_config_auto.h
-
- emake || die "problem compiling apache2"
-
- # build ssl version of apache bench (ab-ssl)
-# if useq ssl; then
-# 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/$(get_libdir)" || die
-# mv ab ab-ssl
-# rm -f ab.lo ab.o
-# make ab || die
-# fi
-}
-
-src_install () {
-
-
- #### DEFAULT SETUP & INSTALL
-
- # setup apache user and group
- enewgroup apache 81
- enewuser apache 81 -1 /var/www apache
-
- # general install
- einfo "Beginning install phase"
- make DESTDIR=${D} install || die
-
- #### CLEAN-UP
- rm -rf ${D}/etc
- rm ${D}/usr/sbin/envvars*
- rm ${D}/usr/sbin/apachectl
-
- #### CONFIGURATION
- einfo "Setting up configuration"
- insinto /etc/apache2
-
- # restore the magic file
- doins docs/conf/magic
-
-
- # This is a mapping of module names to the -D option in APACHE2_OPTS
- # Used for creating optional LoadModule lines
- mod_defines="info:INFO status:INFO
- ldap:LDAP authnz-ldap:AUTH_LDAP
- proxy:PROXY proxy_connect:PROXY proxy_http:PROXY
- ssl:SSL
- suexec:SUEXEC
- userdir:USERDIR"
-
- # create our LoadModule lines
- date
- load_module=''
- for m in ${mods}; do
- endid="no"
- if [ -e "${D}/usr/lib/apache2/modules/mod_${m}.so" ]; then
- for def in ${mod_defines}; do
- if [ "${m}" == "${def%:*}" ]; then
- load_module="${load_module}\n<IfDefine ${def#*:}>"
- endid="yes"
- fi
- done
- load_module="${load_module}\nLoadModule ${m}_module modules/mod_${m}.so"
- if [ "${endid}" == "yes" ]; then
- load_module="${load_module}\n</IfDefine>"
- fi
- fi
- done
- sed -i -e "s:%%LOAD_MODULE%%:${load_module}:" \
- ${GENTOO_PATCHDIR}/conf/httpd.conf
- date
-
- # install our configuration
- doins -r ${GENTOO_PATCHDIR}/conf/*
-
- insinto /etc/logrotate.d
- newins ${GENTOO_PATCHDIR}/scripts/apache2-logrotate apache2
-
- # generate a sane default APACHE2_OPTS
- APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE"
- useq doc && APACHE2_OPTS="${APACHE2_OPTS} -D MANUAL"
- useq ssl && APACHE2_OPTS="${APACHE2_OPTS} -D SSL -D SSL_DEFAULT_VHOST"
- useq no-suexec || APACHE2_OPTS="${APACHE2_OPTS} -D SUEXEC"
-
- sed -i -e "s:APACHE2_OPTS=\".*\":APACHE2_OPTS=\"${APACHE2_OPTS}\":" \
- ${GENTOO_PATCHDIR}/init/apache2.confd \
- || die "sed failed"
-
- newconfd ${GENTOO_PATCHDIR}/init/apache2.confd apache2
- newinitd ${GENTOO_PATCHDIR}/init/apache2.initd apache2
-
-
- #### HELPER SCRIPTS
- einfo "Installing helper scripts"
- exeinto /usr/sbin
- for i in apache2logserverstatus apache2splitlogfile suexec2-config; do
- doexe ${GENTOO_PATCHDIR}/scripts/${i}
- done
- useq ssl && doexe ${GENTOO_PATCHDIR}/scripts/gentestcrt.sh
-
- for i in logresolve.pl split-logfile log_server_status; do
- doexe support/${i}
- done
-
-
-
- #### SLOTTING
- einfo "Applying SLOT=2"
- cd ${D}
-
- # sbin binaries
- slotmv="apxs htpasswd htdigest rotatelogs logresolve log_server_status
- ab checkgid dbmmanage split-logfile suexec"
- for i in ${slotmv}; do
- mv usr/sbin/${i} usr/sbin/${i}2
- done
- mv usr/sbin/logresolve.pl usr/sbin/logresolve2.pl
-
- # man.1
- for i in dbmmanage htdigest htpasswd; do
- mv usr/share/man/man1/${i}.1 usr/share/man/man1/${i}2.1
- done
-
- # man.8
- for i in ab apxs logresolve rotatelogs suexec; do
- mv usr/share/man/man8/${i}.8 usr/share/man/man8/${i}2.8
- done
-
- mv usr/share/man/man8/httpd.8 usr/share/man/man8/apache2.9
- mv usr/share/man/man8/apachectl.8 usr/share/man/man8/apache2ctl.9
-
-
-
- #### DOCS
- # basic info
- einfo "Installing docs"
- cd ${S}
- dodoc ABOUT_APACHE CHANGES LAYOUT README README.platforms VERSIONING
-
- # drop in a convenient link to the manual
- if useq doc; then
- sed -i -e "s:VERSION:${PVR}:" ${D}/etc/apache2/modules.d/00_apache_manual.conf
- else
- einfo "USE=-docs :: Removing Manual"
- rm ${D}/etc/apache2/modules.d/
- rm -rf ${D}/usr/share/doc/${PF}/manual
- fi
-
- # the default webroot gets stored in /usr/share/doc
- einfo "Installing default webroot to /usr/share/doc/${PF}"
- mv ${D}/var/www/localhost ${D}/usr/share/doc/${PF}/webroot
-
-
- #### PERMISSONS
- einfo "Applying permissions"
-
-
- # protect the suexec binary
- if ! useq no-suexec; then
- fowners root:apache /usr/sbin/suexec
- fperms 4710 /usr/sbin/suexec
- fi
-
- keepdir /etc/apache2/vhosts.d
- keepdir /etc/apache2/modules.d
-
- # empty dirs
- for i in /var/lib/dav /var/log/apache2 /var/cache/apache2; do
- keepdir ${i}
- fowners apache:apache ${i}
- fperms 755 ${i}
- done
-
- # We'll be needing /etc/apache2/ssl if USE=ssl
- useq ssl && keepdir /etc/apache2/ssl
-
- fperms 755 /usr/sbin/apache2logserverstatus
- fperms 755 /usr/sbin/apache2splitlogfile
-
-}
-
-pkg_postinst() {
- # setup apache user and group
- enewgroup apache 81
- enewuser apache 81 -1 /var/www apache
-
- # Automatically generate test ceritificates if ssl USE flag is being set
- if useq ssl -a !-e ${ROOT}/etc/apache2/ssl/server.crt; then
- cd ${ROOT}/etc/apache2/ssl
- einfo
- einfo "Generating self-signed test certificate in /etc/apache2/ssl..."
- yes "" 2>/dev/null | \
- ${ROOT}/usr/sbin/gentestcrt.sh >/dev/null 2>&1 || \
- die "gentestcrt.sh failed"
- einfo
- fi
-
- # we do this here because the default webroot is a copy of the files
- # that exist elsewhere and we don't want them managed/removed by portage
- # when apache is upgraded.
- if [ -e "/var/www/localhost" ]; then
- einfo "The default webroot has not been installed into"
- einfo "/var/www/localhost because the directory already exists"
- einfo "and we do not want to overwrite any files you have put there."
- einfo
- einfo "If you would like to install the latest webroot, please run"
- einfo "emerge --config =${PF}"
- else
- einfo "Installing default webroot to /var/www/localhost"
- cp -r /usr/share/doc/${PF}/webroot/* /var/www/localhost
- chown -R apache: /var/www/localhost
- fi
-
- # Check for dual/upgrade install
- # The hasq is a hack so we don't throw QA warnings for not putting
- # apache2 in IUSE - the only use of the flag is this warning
- if has_version '=net-www/apache-1*' || ! hasq apache2 ${USE}; 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/modules.d/"
- ewarn
- fi
-
-
- if has_version '<net-www/apache-2.2.0'; then
- einfo
- einfo "When upgrading from versions below 2.2.0 to this version, you"
- einfo "need to rebuild all your modules. Please do so for your modules"
- einfo "to continue working correctly."
- einfo
- einfo "Also note that some configuration directives have been"
- einfo "split into thier own files under /etc/apache2/modules.d"
- einfo
- einfo "For more information on what you may need to change, please"
- einfo "see the overview of changes at:"
- einfo "http://httpd.apache.org/docs/2.2/new_features_2_2.html"
- einfo
- fi
-
-}
-
-
-pkg_config() {
-
- einfo "Installing default webroot to /var/www/localhost"
- cp -r /usr/share/doc/${PF}/webroot/* /var/www/localhost
- chown -R apache: /var/www/localhost
-
-}
-
-
-
-
-
-parse_modules_config() {
- local name=""
- local disable=""
- local version="undef"
- MY_BUILTINS=""
- [ -f ${1} ] || return 1
-
- for i in $(sed 's/#.*//' < $1); do
-
- if [ "$i" == "VERSION:" ]; then
- version="select"
- elif [ "${version}" == "select" ]; then
- version=$i
- # start with - option for backwards compatibility only
- elif [ "$i" == "-" ]; then
- disable="true"
- elif [ -z "${name}" ] && [ "$i" != "${i/mod_/}" ]; then
- name="${i/mod_/}"
- elif [ -n "${disable}" ] || [ "$i" == "disabled" ]; then
- MY_BUILTINS="${MY_BUILTINS} --disable-${name}"
- name="" ; disable=""
- elif [ "$i" == "static" ] || useq static-modules; then
- MY_BUILTINS="${MY_BUILTINS} --enable-$name=yes"
- mods="${mods} ${name}"
- name="" ; disable=""
- elif [ "$i" == "shared" ]; then
- MY_BUILTINS="${MY_BUILTINS} --enable-${name}=shared"
- mods="${mods} ${name}"
- name="" ; disable=""
- else
- ewarn "Parse error in ${1} - unknown option: $i";
- fi
- done
-
- # reject the file if it's unversioned or doesn't match our
- # package major.minor. This is to make upgrading work smoothly.
- [ "${version}" == "${PV%.*}" ] || return 1
-
- einfo "${1} options:\n${MY_BUILTINS}"
-}
-
-select_modules_config() {
- parse_modules_config /etc/apache2/apache2-builtin-mods || \
- parse_modules_config ${GENTOO_PATCHDIR}/conf/apache2-builtin-mods || \
- return 1
-}
-
-# vim:ts=4
diff --git a/net-www/apache/files/digest-apache-2.2.0 b/net-www/apache/files/digest-apache-2.2.0
deleted file mode 100644
index 6eec1c1bfee6..000000000000
--- a/net-www/apache/files/digest-apache-2.2.0
+++ /dev/null
@@ -1,6 +0,0 @@
-MD5 5abe0b81bb2061943cafb74ab8f76cdc gentoo-apache-2.2.0-20060214.tar.bz2 27117
-RMD160 97c91ca6ac89fbf14163a4092a72c7f6555b719e gentoo-apache-2.2.0-20060214.tar.bz2 27117
-SHA256 a1edcf5cab679a4e2620a2b6c9edc223ff5788ce7ea4bd944462f0c27bbde1da gentoo-apache-2.2.0-20060214.tar.bz2 27117
-MD5 402b90a2e47205f94b3b1d91e1a8c459 httpd-2.2.0.tar.bz2 4839151
-RMD160 7ee7364d24881c68f2d4643089fb996888bba9c0 httpd-2.2.0.tar.bz2 4839151
-SHA256 bbf1a452889f9d502840e3b8dda4938b6bd633b94b888ab799ee9aa5845115f7 httpd-2.2.0.tar.bz2 4839151