/[gentoo-x86]/eclass/depend.apache.eclass
Gentoo

Diff of /eclass/depend.apache.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.5 Revision 1.6
1# Copyright 1999-2004 Gentoo Foundation 1# Copyright 2004 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 or later
3# Author Michael Tindal <urilith@gentoo.org>
3# $Header: /var/cvsroot/gentoo-x86/eclass/depend.apache.eclass,v 1.5 2004/07/24 08:50:23 robbat2 Exp $ 4# $Header: /var/cvsroot/gentoo-x86/eclass/depend.apache.eclass,v 1.6 2004/11/21 01:51:58 urilith Exp $
5ECLASS=depend.apache
6INHERITED="$INHERITED $ECLASS"
4 7
5ECLASS="depend.apache" 8######
6INHERITED="$INHERITED $ECLASS" 9## Apache Common Variables
7IUSE="apache apache2" 10##
11## These are internal variables used by this, and other apache-related eclasses,
12## and thus should not need to be used by the ebuilds themselves (the ebuilds
13## should know what version of Apache they are building against).
14######
8 15
9# remember to set MY_SLOT if you want to include something like ${PVR} in 16####
10# the slot information 17## APACHE_VERSION
11# SLOT="apache? ( 1{$MY_SLOT} ) apache2? ( 2{$MY_SLOT} ) !apache1? ( !apache2? ( 2${MY_SLOT} ) )" 18##
19## Stores the version of apache we are going to be ebuilding. This variable is
20## set by the need_apache{|1|2} functions.
21####
22APACHE_VERSION='2'
12 23
13DEPEND="$DEPEND apache? ( =net-www/apache-1* ) apache2? ( =net-www/apache-2* ) 24####
14 !apache? ( !apache2? ( =net-www/apache-2* ) )" 25## APXS1, APXS2
26##
27## Paths to the apxs tools
28####
29APXS1="/usr/sbin/apxs"
30APXS2="/usr/sbin/apxs2"
15 31
16# call this function to work out which version of the apache web server 32####
17# your ebuild should be installing itself to use 33## APACHECTL1, APACHECTL2
34##
35## Paths to the apachectl tools
36####
37APACHECTL1="/usr/sbin/apachectl"
38APACHECTL2="/usr/sbin/apache2ctl"
18 39
19detect_apache_useflags() { 40####
20 USE_APACHE1= 41## APACHE1_BASEDIR, APACHE2_BASEDIR
21 USE_APACHE2= 42##
22 USE_APACHE_MULTIPLE= 43## Paths to the server root directories
44####
45APACHE1_BASEDIR="/usr/lib/apache"
46APACHE2_BASEDIR="/usr/lib/apache2"
23 47
24 useq apache2 && USE_APACHE2=1 48####
25 useq apache && USE_APACHE1=1 49## APACHE1_CONFDIR, APACHE2_CONFDIR
50##
51## Paths to the configuration file directories (usually under
52## $APACHE?_BASEDIR/conf)
53####
54APACHE1_CONFDIR="/etc/apache"
55APACHE2_CONFDIR="/etc/apache2"
26 56
27 [ -n "$USE_APACHE1" ] && [ -n "$USE_APACHE2" ] && USE_APACHE_MULTIPLE=1 57####
58## APACHE1_MODULES_CONFDIR, APACHE2_MODULES_CONFDIR
59##
60## Paths where module configuration files are kept
61####
62APACHE1_MODULES_CONFDIR="${APACHE1_CONFDIR}/modules.d"
63APACHE2_MODULES_CONFDIR="${APACHE2_CONFDIR}/modules.d"
64
65####
66## APACHE1_MODULES_VHOSTDIR, APACHE2_MODULES_VHOSTDIR
67##
68## Paths where virtual host configuration files are kept
69####
70APACHE1_VHOSTDIR="${APACHE1_CONFDIR}/vhosts.d"
71APACHE2_VHOSTDIR="${APACHE2_CONFDIR}/vhosts.d"
72
73####
74## APACHE1_MODULESDIR, APACHE2_MODULESDIR
75##
76## Paths where we install modules
77####
78APACHE1_MODULESDIR="${APACHE1_BASEDIR}/modules"
79APACHE2_MODULESDIR="${APACHE2_BASEDIR}/modules"
80
81####
82## APACHE1_DEPEND, APACHE2_DEPEND
83##
84## Dependencies for apache 1.x and apache 2.x
85####
86APACHE1_DEPEND="=net-www/apache-1*"
87APACHE2_DEPEND="=net-www/apache-2*"
88
89####
90## need_apache1
91##
92## An ebuild calls this to get the dependency information
93## for apache-1.x. An ebuild should use this in order for
94## future changes to the build infrastructure to happen
95## seamlessly. All an ebuild needs to do is include the
96## line need_apache1 somewhere.
97####
98need_apache1() {
99 debug-print-function need_apache1
100
101 DEPEND="${DEPEND} ${APACHE1_DEPEND}"
102 APACHE_VERSION='1'
28} 103}
29 104
30detect_apache_installed() { 105####
31 HAS_APACHE1= 106## need_apache2
32 HAS_APACHE2= 107##
33 HAS_APACHE_MULTIPLE= 108## An ebuild calls this to get the dependency information
34 HAS_APACHE_ANY= 109## for apache-2.x. An ebuild should use this in order for
110## future changes to the build infrastructure to happen
111## seamlessly. All an ebuild needs to do is include the
112## line need_apache1 somewhere.
113####
114need_apache2() {
115 debug-print-function need_apache2
35 116
36 has_version '=net-www/apache-1*' && HAS_APACHE1=1 && HAS_APACHE_ANY=1 117 DEPEND="${DEPEND} ${APACHE2_DEPEND}"
37 has_version '=net-www/apache-2*' && HAS_APACHE2=1 && HAS_APACHE_ANY=1 118 APACHE_VERSION='2'
38
39 [ -n "${HAVE_APACHE1}" ] && [ -n "${HAVE_APACHE2}" ] && HAVE_APACHE_MULTIPLE=1
40} 119}
41 120
42# call this function from your pkg_setup 121need_apache() {
122 debug-print-function need_apache
43 123
44depend_apache() { 124 IUSE="${IUSE} apache2"
45 detect_apache_installed 125 if useq apache2; then
46 detect_apache_useflags 126 need_apache2
47 127 else
48 # deal with the multiple cases first - much easier 128 need_apache1
49 if [ -n "$USE_APACHE_MULTIPLE" ]; then
50 echo
51 eerror "You have both the apache and apache2 USE flags set"
52 eerror
53 eerror "Please set only ONE of these USE flags, and try again"
54 echo
55 die "Multiple Apache USE flags set - you can only have one set at a time"
56 fi 129 fi
57
58 if [ -n "$USE_APACHE2" ] ; then
59 if [ -z "$HAS_APACHE2" -a -n "$HAS_APACHE_ANY" ] ; then
60 echo
61 eerror "You have the 'apache2' USE flag set, but only have Apache v1 installed"
62 eerror "If you really meant to upgrade to Apache v2, please install Apache v2"
63 eerror "before installing $CATEGORY/${PN}-${PVR}"
64 echo
65 die "Automatic upgrade of Apache would be forced; avoiding"
66 else
67 einfo "Apache 2 support enabled"
68 DETECT_APACHE=2
69 return
70 fi
71 fi
72
73 if [ -n "$USE_APACHE1" ]; then
74 if [ -z "$HAS_APACHE1" -a -n "$HAS_APACHE_ANY" ]; then
75 echo
76 eerror "You have the 'apache' USE flag set, but only have a later version of"
77 eerror "Apache installed on your computer. Please use the 'apache2' USE flag"
78 eerror "or downgrade to Apache v1 before installing $CATEGORY/${PN}-${PVR}"
79 echo
80 die "Avoiding installing older version of Apache"
81 else
82 einfo "Apache 1 support enabled"
83 DETECT_APACHE=1
84 return
85 fi
86 fi
87
88 [ -z "$DETECT_APACHE" ] && DETECT_APACHE=2
89} 130}
90 131

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.20