| 1 | # Copyright 1999-2007 Gentoo Foundation |
1 | # Copyright 1999-2007 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/eclass/apache-2.eclass,v 1.5 2007/12/31 23:46:24 hollow Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/apache-2.eclass,v 1.7 2008/01/19 10:59:08 hollow Exp $ |
| 4 | |
4 | |
| 5 | # @ECLASS: apache-2 |
5 | # @ECLASS: apache-2 |
| 6 | # @MAINTAINER: apache-devs@gentoo.org |
6 | # @MAINTAINER: apache-devs@gentoo.org |
| 7 | # @BLURB: Provides a common set of functions for >=apache-2.2* ebuilds |
7 | # @BLURB: Provides a common set of functions for >=apache-2.2* ebuilds |
| 8 | # @DESCRIPTION: |
8 | # @DESCRIPTION: |
| … | |
… | |
| 33 | # gentoo developer who created the patch tarball |
33 | # gentoo developer who created the patch tarball |
| 34 | |
34 | |
| 35 | # @ECLASS-VARIABLE: GENTOO_PATCHSTAMP |
35 | # @ECLASS-VARIABLE: GENTOO_PATCHSTAMP |
| 36 | # @DESCRIPTION: |
36 | # @DESCRIPTION: |
| 37 | # This variable needs to be set in the ebuild and contains the date the patch |
37 | # This variable needs to be set in the ebuild and contains the date the patch |
| 38 | # tarball was created at in YYMMDD format |
38 | # tarball was created at in YYYYMMDD format |
| 39 | |
39 | |
| 40 | SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2 |
40 | SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2 |
| 41 | http://dev.gentoo.org/~${GENTOO_DEVELOPER}/dist/apache/${GENTOO_PATCHNAME}-${GENTOO_PATCHSTAMP}.tar.bz2" |
41 | http://dev.gentoo.org/~${GENTOO_DEVELOPER}/dist/apache/${GENTOO_PATCHNAME}-${GENTOO_PATCHSTAMP}.tar.bz2" |
| 42 | |
42 | |
| 43 | # @ECLASS-VARIABLE: IUSE_MPMS_FORK |
43 | # @ECLASS-VARIABLE: IUSE_MPMS_FORK |
| … | |
… | |
| 70 | =dev-libs/apr-1* |
70 | =dev-libs/apr-1* |
| 71 | =dev-libs/apr-util-1* |
71 | =dev-libs/apr-util-1* |
| 72 | dev-libs/libpcre |
72 | dev-libs/libpcre |
| 73 | ldap? ( =net-nds/openldap-2* ) |
73 | ldap? ( =net-nds/openldap-2* ) |
| 74 | selinux? ( sec-policy/selinux-apache ) |
74 | selinux? ( sec-policy/selinux-apache ) |
| 75 | ssl? ( dev-libs/openssl ) |
75 | ssl? ( >=dev-libs/openssl-0.9.8f ) |
| 76 | !=www-servers/apache-1*" |
76 | !=www-servers/apache-1*" |
| 77 | RDEPEND="${DEPEND}" |
77 | RDEPEND="${DEPEND}" |
| 78 | PDEPEND="~app-admin/apache-tools-${PV}" |
78 | PDEPEND="~app-admin/apache-tools-${PV}" |
| 79 | |
79 | |
| 80 | S="${WORKDIR}/httpd-${PV}" |
80 | S="${WORKDIR}/httpd-${PV}" |
| … | |
… | |
| 82 | # ============================================================================== |
82 | # ============================================================================== |
| 83 | # INTERNAL FUNCTIONS |
83 | # INTERNAL FUNCTIONS |
| 84 | # ============================================================================== |
84 | # ============================================================================== |
| 85 | |
85 | |
| 86 | # @ECLASS-VARIABLE: MY_MPM |
86 | # @ECLASS-VARIABLE: MY_MPM |
| 87 | # DESCRIPTION: |
87 | # @DESCRIPTION: |
| 88 | # This internal variable contains the selected MPM after a call to setup_mpm() |
88 | # This internal variable contains the selected MPM after a call to setup_mpm() |
| 89 | |
89 | |
| 90 | # @FUNCTION: setup_mpm |
90 | # @FUNCTION: setup_mpm |
| 91 | # @DESCRIPTION: |
91 | # @DESCRIPTION: |
| 92 | # This internal function makes sure that only one of APACHE2_MPMS was selected |
92 | # This internal function makes sure that only one of APACHE2_MPMS was selected |
| … | |
… | |
| 177 | check_module_depends() { |
177 | check_module_depends() { |
| 178 | local err=0 |
178 | local err=0 |
| 179 | |
179 | |
| 180 | for m in ${MY_MODS} ; do |
180 | for m in ${MY_MODS} ; do |
| 181 | for dep in ${MODULE_DEPENDS} ; do |
181 | for dep in ${MODULE_DEPENDS} ; do |
| 182 | if [[ "${m}" == "${dep%:*}" ]]; then |
182 | if [[ "${m}" == "${dep%:*}" ]] ; then |
| 183 | if ! use apache2_modules_${dep#*:} ; then |
183 | if ! use apache2_modules_${dep#*:} ; then |
| 184 | eerror "Module '${m}' depends on '${dep#*:}'" |
184 | eerror "Module '${m}' depends on '${dep#*:}'" |
| 185 | err=1 |
185 | err=1 |
| 186 | fi |
186 | fi |
| 187 | fi |
187 | fi |
| … | |
… | |
| 447 | emake || die "emake failed" |
447 | emake || die "emake failed" |
| 448 | } |
448 | } |
| 449 | |
449 | |
| 450 | # @FUNCTION: apache-2_src_install |
450 | # @FUNCTION: apache-2_src_install |
| 451 | # @DESCRIPTION: |
451 | # @DESCRIPTION: |
| 452 | # This function runs emake install and generates, install and adapts the gentoo |
452 | # This function runs emake install and generates, installs and adapts the gentoo |
| 453 | # specific configuration files found in the tarball |
453 | # specific configuration files found in the tarball |
| 454 | apache-2_src_install() { |
454 | apache-2_src_install() { |
| 455 | make DESTDIR="${D}" install || die "make install failed" |
455 | make DESTDIR="${D}" install || die "make install failed" |
| 456 | |
456 | |
| 457 | # install our configuration files |
457 | # install our configuration files |
| … | |
… | |
| 479 | newinitd "${GENTOO_PATCHDIR}"/init/apache2.initd apache2 |
479 | newinitd "${GENTOO_PATCHDIR}"/init/apache2.initd apache2 |
| 480 | |
480 | |
| 481 | # link apache2ctl to the init script |
481 | # link apache2ctl to the init script |
| 482 | dosym /etc/init.d/apache2 /usr/sbin/apache2ctl |
482 | dosym /etc/init.d/apache2 /usr/sbin/apache2ctl |
| 483 | |
483 | |
| 484 | # provide symlinks for all the stuff we no longer rename, bug 177697 |
484 | # provide legacy symlink for apxs, bug 177697 |
| 485 | for i in suexec apxs; do |
|
|
| 486 | dosym /usr/sbin/${i} /usr/sbin/${i}2 |
485 | dosym /usr/sbin/apxs /usr/sbin/apxs2 |
| 487 | done |
|
|
| 488 | |
486 | |
| 489 | # install some thirdparty scripts |
487 | # install some thirdparty scripts |
| 490 | exeinto /usr/sbin |
488 | exeinto /usr/sbin |
| 491 | use ssl && doexe "${GENTOO_PATCHDIR}"/scripts/gentestcrt.sh |
489 | use ssl && doexe "${GENTOO_PATCHDIR}"/scripts/gentestcrt.sh |
| 492 | |
490 | |
| … | |
… | |
| 510 | |
508 | |
| 511 | # set some sane permissions for suexec |
509 | # set some sane permissions for suexec |
| 512 | if use suexec ; then |
510 | if use suexec ; then |
| 513 | fowners 0:apache /usr/sbin/suexec |
511 | fowners 0:apache /usr/sbin/suexec |
| 514 | fperms 4710 /usr/sbin/suexec |
512 | fperms 4710 /usr/sbin/suexec |
|
|
513 | # provide legacy symlink for suexec, bug 177697 |
|
|
514 | dosym /usr/sbin/suexec /usr/sbin/suexec2 |
| 515 | fi |
515 | fi |
| 516 | |
516 | |
| 517 | # empty dirs |
517 | # empty dirs |
| 518 | for i in /var/lib/dav /var/log/apache2 /var/cache/apache2 ; do |
518 | for i in /var/lib/dav /var/log/apache2 /var/cache/apache2 ; do |
| 519 | keepdir ${i} |
519 | keepdir ${i} |