| 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.18 2009/09/20 08:37:23 hollow Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/apache-2.eclass,v 1.24 2010/12/22 10:02:05 hollow Exp $ |
| 4 | |
4 | |
| 5 | EAPI="2" |
5 | EAPI="2" |
| 6 | |
6 | |
| 7 | # @ECLASS: apache-2.eclass |
7 | # @ECLASS: apache-2.eclass |
| 8 | # @MAINTAINER: |
8 | # @MAINTAINER: |
| … | |
… | |
| 241 | if use ssl ; then |
241 | if use ssl ; then |
| 242 | MY_CONF="${MY_CONF} --with-ssl=/usr --enable-ssl=${mod_type}" |
242 | MY_CONF="${MY_CONF} --with-ssl=/usr --enable-ssl=${mod_type}" |
| 243 | MY_MODS="${MY_MODS} ssl" |
243 | MY_MODS="${MY_MODS} ssl" |
| 244 | else |
244 | else |
| 245 | MY_CONF="${MY_CONF} --without-ssl --disable-ssl" |
245 | MY_CONF="${MY_CONF} --without-ssl --disable-ssl" |
| 246 | fi |
|
|
| 247 | |
|
|
| 248 | if use threads || has ${MY_MPM} ${IUSE_MPMS_THREAD} ; then |
|
|
| 249 | MY_CONF="${MY_CONF} --enable-cgid=${mod_type}" |
|
|
| 250 | MY_MODS="${MY_MODS} cgid" |
|
|
| 251 | else |
|
|
| 252 | MY_CONF="${MY_CONF} --enable-cgi=${mod_type}" |
|
|
| 253 | MY_MODS="${MY_MODS} cgi" |
|
|
| 254 | fi |
246 | fi |
| 255 | |
247 | |
| 256 | if use suexec ; then |
248 | if use suexec ; then |
| 257 | elog "You can manipulate several configure options of suexec" |
249 | elog "You can manipulate several configure options of suexec" |
| 258 | elog "through the following environment variables:" |
250 | elog "through the following environment variables:" |
| … | |
… | |
| 432 | mv docs/man/{httpd,apache2}.8 |
424 | mv docs/man/{httpd,apache2}.8 |
| 433 | sed -i -e 's/httpd\.8/apache2.8/g' Makefile.in |
425 | sed -i -e 's/httpd\.8/apache2.8/g' Makefile.in |
| 434 | |
426 | |
| 435 | # patched-in MPMs need the build environment rebuilt |
427 | # patched-in MPMs need the build environment rebuilt |
| 436 | sed -i -e '/sinclude/d' configure.in |
428 | sed -i -e '/sinclude/d' configure.in |
| 437 | AT_GNUCONF_UPDATE=yes AT_M4DIR=build eautoreconf |
429 | AT_M4DIR=build eautoreconf |
| 438 | } |
430 | } |
| 439 | |
431 | |
| 440 | # @FUNCTION: apache-2_src_configure |
432 | # @FUNCTION: apache-2_src_configure |
| 441 | # @DESCRIPTION: |
433 | # @DESCRIPTION: |
| 442 | # This function adds compiler flags and runs econf and emake based on MY_MPM and |
434 | # This function adds compiler flags and runs econf and emake based on MY_MPM and |
| 443 | # MY_CONF |
435 | # MY_CONF |
| 444 | apache-2_src_configure() { |
436 | apache-2_src_configure() { |
| 445 | # Instead of filtering --as-needed (bug #128505), append --no-as-needed |
437 | # Instead of filtering --as-needed (bug #128505), append --no-as-needed |
| 446 | # Thanks to Harald van Dijk |
438 | # Thanks to Harald van Dijk |
| 447 | # ... but only on platforms that use a GNU linker! |
|
|
| 448 | case ${CHOST} in |
|
|
| 449 | *-solaris* | *-*bsd* | *-linux-gnu) |
|
|
| 450 | append-ldflags -Wl,--no-as-needed |
439 | append-ldflags $(no-as-needed) |
| 451 | ;; |
|
|
| 452 | esac |
|
|
| 453 | |
440 | |
| 454 | # peruser MPM debugging with -X is nearly impossible |
441 | # peruser MPM debugging with -X is nearly impossible |
| 455 | if has peruser ${IUSE_MPMS} && use apache2_mpms_peruser ; then |
442 | if has peruser ${IUSE_MPMS} && use apache2_mpms_peruser ; then |
| 456 | use debug && append-flags -DMPM_PERUSER_DEBUG |
443 | use debug && append-flags -DMPM_PERUSER_DEBUG |
| 457 | fi |
444 | fi |
| … | |
… | |
| 489 | keepdir /etc/apache2/modules.d |
476 | keepdir /etc/apache2/modules.d |
| 490 | |
477 | |
| 491 | generate_load_module |
478 | generate_load_module |
| 492 | insinto /etc/apache2 |
479 | insinto /etc/apache2 |
| 493 | doins -r "${GENTOO_PATCHDIR}"/conf/* |
480 | doins -r "${GENTOO_PATCHDIR}"/conf/* |
| 494 | doins docs/conf/magic |
481 | use apache2_modules_mime_magic && doins docs/conf/magic |
| 495 | |
482 | |
| 496 | insinto /etc/logrotate.d |
483 | insinto /etc/logrotate.d |
| 497 | newins "${GENTOO_PATCHDIR}"/scripts/apache2-logrotate apache2 |
484 | newins "${GENTOO_PATCHDIR}"/scripts/apache2-logrotate apache2 |
| 498 | |
485 | |
| 499 | # generate a sane default APACHE2_OPTS |
486 | # generate a sane default APACHE2_OPTS |
| … | |
… | |
| 579 | |
566 | |
| 580 | if [[ ! -e "${ROOT}/var/www/localhost" ]] ; then |
567 | if [[ ! -e "${ROOT}/var/www/localhost" ]] ; then |
| 581 | mkdir -p "${ROOT}/var/www/localhost/htdocs" |
568 | mkdir -p "${ROOT}/var/www/localhost/htdocs" |
| 582 | echo "<html><body><h1>It works!</h1></body></html>" > "${ROOT}/var/www/localhost/htdocs/index.html" |
569 | echo "<html><body><h1>It works!</h1></body></html>" > "${ROOT}/var/www/localhost/htdocs/index.html" |
| 583 | fi |
570 | fi |
|
|
571 | |
|
|
572 | echo |
|
|
573 | elog "Attention: cgi and cgid modules are now handled via APACHE2_MODULES flags" |
|
|
574 | elog "in /etc/make.conf. Make sure to enable those in order to compile them." |
|
|
575 | elog "In general, you should use 'cgid' with threaded MPMs and 'cgi' otherwise." |
|
|
576 | echo |
|
|
577 | |
| 584 | } |
578 | } |
| 585 | |
579 | |
| 586 | EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_install pkg_postinst |
580 | EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_install pkg_postinst |