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

Contents of /eclass/depend.apache.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.33 - (hide annotations) (download)
Sun Jul 29 16:36:23 2007 UTC (7 years, 3 months ago) by phreak
Branch: MAIN
Changes since 1.32: +5 -5 lines
Move net-www/apache to www-servers/apache (#78622).

1 chtekk 1.30 # Copyright 1999-2007 Gentoo Foundation
2 stuart 1.20 # Distributed under the terms of the GNU General Public License v2
3 phreak 1.33 # $Header: /var/cvsroot/gentoo-x86/eclass/depend.apache.eclass,v 1.32 2007/05/13 20:11:37 chtekk Exp $
4 vericgar 1.22
5     inherit multilib
6 stuart 1.2
7 vericgar 1.25 # This eclass handles depending on apache in a sane way and providing
8     # information about where certain interfaces are located.
9    
10     # NOTE: If you use this, be sure you use the need_* call after you have
11 swegener 1.26 # defined DEPEND and RDEPEND. Also note that you can not rely on the
12 vericgar 1.25 # automatic RDEPEND=DEPEND that portage does if you use this eclass.
13     # See bug 107127 for more information.
14    
15 urilith 1.6 ######
16     ## Apache Common Variables
17     ##
18     ## These are internal variables used by this, and other apache-related eclasses,
19     ## and thus should not need to be used by the ebuilds themselves (the ebuilds
20     ## should know what version of Apache they are building against).
21     ######
22    
23     ####
24     ## APACHE_VERSION
25     ##
26 chtekk 1.30 ## Stores the version of apache we are going to be ebuilding. This variable is
27 urilith 1.6 ## set by the need_apache{|1|2} functions.
28 vericgar 1.9 ##
29 urilith 1.6 ####
30 chtekk 1.30 #APACHE_VERSION="2"
31 urilith 1.6
32     ####
33     ## APXS1, APXS2
34     ##
35     ## Paths to the apxs tools
36     ####
37     APXS1="/usr/sbin/apxs"
38     APXS2="/usr/sbin/apxs2"
39    
40     ####
41     ## APACHECTL1, APACHECTL2
42     ##
43     ## Paths to the apachectl tools
44     ####
45     APACHECTL1="/usr/sbin/apachectl"
46     APACHECTL2="/usr/sbin/apache2ctl"
47    
48     ####
49     ## APACHE1_BASEDIR, APACHE2_BASEDIR
50     ##
51     ## Paths to the server root directories
52     ####
53 vericgar 1.24 APACHE1_BASEDIR="/usr/$(get_libdir)/apache"
54     APACHE2_BASEDIR="/usr/$(get_libdir)/apache2"
55 urilith 1.6
56     ####
57     ## APACHE1_CONFDIR, APACHE2_CONFDIR
58     ##
59 chtekk 1.30 ## Paths to the configuration file directories
60 urilith 1.6 ####
61     APACHE1_CONFDIR="/etc/apache"
62     APACHE2_CONFDIR="/etc/apache2"
63    
64     ####
65     ## APACHE1_MODULES_CONFDIR, APACHE2_MODULES_CONFDIR
66     ##
67     ## Paths where module configuration files are kept
68     ####
69     APACHE1_MODULES_CONFDIR="${APACHE1_CONFDIR}/modules.d"
70     APACHE2_MODULES_CONFDIR="${APACHE2_CONFDIR}/modules.d"
71    
72     ####
73 vericgar 1.21 ## APACHE1_VHOSTDIR, APACHE2_VHOSTDIR
74 urilith 1.6 ##
75     ## Paths where virtual host configuration files are kept
76     ####
77     APACHE1_VHOSTDIR="${APACHE1_CONFDIR}/vhosts.d"
78     APACHE2_VHOSTDIR="${APACHE2_CONFDIR}/vhosts.d"
79    
80     ####
81     ## APACHE1_MODULESDIR, APACHE2_MODULESDIR
82     ##
83     ## Paths where we install modules
84     ####
85     APACHE1_MODULESDIR="${APACHE1_BASEDIR}/modules"
86     APACHE2_MODULESDIR="${APACHE2_BASEDIR}/modules"
87    
88     ####
89     ## APACHE1_DEPEND, APACHE2_DEPEND
90 vericgar 1.28 ## APACHE2_0_DEPEND, APACHE2_2_DEPEND
91 urilith 1.6 ##
92 chtekk 1.30 ## Dependencies for Apache 1.x and Apache 2.x
93 urilith 1.6 ####
94 phreak 1.33 APACHE1_DEPEND="=www-servers/apache-1*"
95     APACHE2_DEPEND="=www-servers/apache-2*"
96     APACHE2_0_DEPEND="=www-servers/apache-2.0*"
97     APACHE2_2_DEPEND="=www-servers/apache-2.2*"
98 vericgar 1.7
99 vericgar 1.9 ####
100 vericgar 1.28 ## NEED_APACHE_DEPEND
101 vericgar 1.9 ##
102     ## Dependency magic based on useflags to use the right DEPEND
103 swegener 1.29 ## If you change this, please check the DEPENDS in need_apache()
104 vericgar 1.9 ####
105    
106 chtekk 1.31 NEED_APACHE_DEPEND="${APACHE2_DEPEND}"
107 chtekk 1.30 WANT_APACHE_DEPEND="apache2? ( ${APACHE2_DEPEND} )"
108 stuart 1.20
109     ####
110 chtekk 1.30 # uses_apache1() - !!! DEPRECATED !!!
111 stuart 1.20 ####
112    
113     uses_apache1() {
114 vericgar 1.28 debug-print-function $FUNCNAME $*
115     # WARNING: Do not use these variables with anything that is put
116     # into the dependency cache (DEPEND/RDEPEND/etc)
117 chtekk 1.30 APACHE_VERSION="1"
118     APXS="${APXS1}"
119     USE_APACHE2=""
120 stuart 1.20 APACHECTL="${APACHECTL1}"
121     APACHE_BASEDIR="${APACHE1_BASEDIR}"
122     APACHE_CONFDIR="${APACHE1_CONFDIR}"
123     APACHE_MODULES_CONFDIR="${APACHE1_MODULES_CONFDIR}"
124     APACHE_VHOSTSDIR="${APACHE1_VHOSTSDIR}"
125     APACHE_MODULESDIR="${APACHE1_MODULESDIR}"
126     }
127    
128     ####
129     # uses_apache2()
130     #
131     # sets up all of the environment variables required by an apache2 module
132     ####
133    
134     uses_apache2() {
135 vericgar 1.28 debug-print-function $FUNCNAME $*
136     # WARNING: Do not use these variables with anything that is put
137     # into the dependency cache (DEPEND/RDEPEND/etc)
138 chtekk 1.30 APACHE_VERSION="2"
139     USE_APACHE2="2"
140     APXS="${APXS2}"
141 stuart 1.20 APACHECTL="${APACHECTL2}"
142     APACHE_BASEDIR="${APACHE2_BASEDIR}"
143     APACHE_CONFDIR="${APACHE2_CONFDIR}"
144     APACHE_MODULES_CONFDIR="${APACHE2_MODULES_CONFDIR}"
145     APACHE_VHOSTSDIR="${APACHE2_VHOSTSDIR}"
146     APACHE_MODULESDIR="${APACHE2_MODULESDIR}"
147     }
148    
149     doesnt_use_apache() {
150 vericgar 1.28 debug-print-function $FUNCNAME $*
151 chtekk 1.30 APACHE_VERSION="0"
152     USE_APACHE=""
153 stuart 1.20 }
154 vericgar 1.9
155 urilith 1.6 ####
156 chtekk 1.30 ## need_apache1 - !!! DEPRECATED !!!
157 urilith 1.6 ####
158     need_apache1() {
159 vericgar 1.28 debug-print-function $FUNCNAME $*
160 stuart 1.1
161 urilith 1.6 DEPEND="${DEPEND} ${APACHE1_DEPEND}"
162 vericgar 1.10 RDEPEND="${RDEPEND} ${APACHE1_DEPEND}"
163 chtekk 1.30 APACHE_VERSION="1"
164 stuart 1.1 }
165    
166 urilith 1.6 ####
167     ## need_apache2
168     ##
169     ## An ebuild calls this to get the dependency information
170 chtekk 1.30 ## for apache-2.x. An ebuild should use this in order for
171 urilith 1.6 ## future changes to the build infrastructure to happen
172 chtekk 1.30 ## seamlessly. All an ebuild needs to do is include the
173 vericgar 1.28 ## line need_apache2 somewhere.
174 urilith 1.6 ####
175     need_apache2() {
176 vericgar 1.28 debug-print-function $FUNCNAME $*
177 stuart 1.1
178 urilith 1.6 DEPEND="${DEPEND} ${APACHE2_DEPEND}"
179 vericgar 1.10 RDEPEND="${RDEPEND} ${APACHE2_DEPEND}"
180 chtekk 1.30 APACHE_VERSION="2"
181 stuart 1.1 }
182    
183 vericgar 1.9 ####
184 vericgar 1.28 ## need_apache2_0
185     ##
186     ## Works like need_apache2 above, but its used by modules
187     ## that only support apache 2.0 and do not work with
188 chtekk 1.30 ## higher versions.
189 vericgar 1.28 ##
190     ####
191     need_apache2_0() {
192     debug-print-function $FUNCNAME $*
193    
194     DEPEND="${DEPEND} ${APACHE2_0_DEPEND}"
195     RDEPEND="${RDEPEND} ${APACHE2_0_DEPEND}"
196 chtekk 1.30 APACHE_VERSION="2"
197 vericgar 1.28 }
198    
199     ####
200     ## need_apache2_2
201     ##
202     ## Works like need_apache2 above, but its used by modules
203 chtekk 1.30 ## that only support apache 2.2 and do not work with
204     ## lower versions.
205 vericgar 1.28 ##
206     ####
207     need_apache2_2() {
208     debug-print-function $FUNCNAME $*
209    
210     DEPEND="${DEPEND} ${APACHE2_2_DEPEND}"
211     RDEPEND="${RDEPEND} ${APACHE2_2_DEPEND}"
212 chtekk 1.30 APACHE_VERSION="2"
213 vericgar 1.28 }
214    
215     ####
216 swegener 1.18 ## DO NOT CHANGE THIS FUNCTION UNLESS YOU UNDERSTAND THE CONSEQUENCES IT
217 chtekk 1.30 ## WILL HAVE ON THE CACHE!
218 vericgar 1.28 ##
219     ## This function can take a variable amount of arguments specifying the
220     ## versions of apache the ebuild supports
221     ##
222     ## If no arguments are specified, then all versions are assumed to be supported
223     ##
224 chtekk 1.31 ## Currently supported versions: 2.0 2.2 2.x
225     ####
226 urilith 1.6 need_apache() {
227 vericgar 1.28 debug-print-function $FUNCNAME $*
228 stuart 1.1
229 chtekk 1.32 local supports2x supports20 supports22
230 vericgar 1.28
231 chtekk 1.30 if [[ $# -eq 0 ]] ; then
232     supports2x="yes"
233 stuart 1.20 else
234 chtekk 1.30 while [[ $# -gt 0 ]] ; do
235 vericgar 1.28 case "$1" in
236 chtekk 1.30 2.0) supports20="yes"; shift;;
237     2.2) supports22="yes"; shift;;
238     2.x) supports2x="yes"; shift;;
239     *) die "Unknown version specifier: $1";;
240 vericgar 1.28 esac
241     done
242     fi
243    
244 chtekk 1.30 if [[ "${supports20}" == "yes" ]] && [[ "${supports22}" == "yes" ]] ; then
245 chtekk 1.32 supports2x="yes"
246 vericgar 1.28 fi
247 swegener 1.29
248 vericgar 1.28 debug-print "supports20: ${supports20}"
249     debug-print "supports22: ${supports22}"
250     debug-print "supports2x: ${supports2x}"
251 swegener 1.29
252 chtekk 1.31 if [[ "${supports2x}" == "yes" ]] ; then
253     need_apache2
254     elif [[ "${supports20}" == "yes" ]] ; then
255     need_apache2_0
256     elif [[ "${supports22}" == "yes" ]] ; then
257     need_apache2_2
258 stuart 1.20 fi
259 chtekk 1.32
260     uses_apache2
261 stuart 1.20 }
262    
263     want_apache() {
264 vericgar 1.28 debug-print-function $FUNCNAME $*
265 stuart 1.20
266 chtekk 1.30 IUSE="${IUSE} apache2"
267 stuart 1.20 DEPEND="${DEPEND} ${WANT_APACHE_DEPEND}"
268 chtekk 1.27 RDEPEND="${RDEPEND} ${WANT_APACHE_DEPEND}"
269 chtekk 1.30 if use apache2 ; then
270 stuart 1.20 uses_apache2
271 urilith 1.6 else
272 stuart 1.20 doesnt_use_apache
273 stuart 1.1 fi
274     }

  ViewVC Help
Powered by ViewVC 1.1.20