diff options
author | Michael Stewart <vericgar@gentoo.org> | 2006-02-28 05:16:06 +0000 |
---|---|---|
committer | Michael Stewart <vericgar@gentoo.org> | 2006-02-28 05:16:06 +0000 |
commit | f9ebb768c049ceecbeb502b3c8d9be3e207c1de7 (patch) | |
tree | 4aae166b19bcbb7d945581827966074063ed3f0f /net-www/apache | |
parent | galeon version bump (diff) | |
download | gentoo-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/ChangeLog | 7 | ||||
-rw-r--r-- | net-www/apache/apache-2.2.0-r1.ebuild | 10 | ||||
-rw-r--r-- | net-www/apache/apache-2.2.0.ebuild | 494 | ||||
-rw-r--r-- | net-www/apache/files/digest-apache-2.2.0 | 6 |
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 |