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

Contents of /eclass/depend.apache.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.29 - (show annotations) (download)
Mon Jan 1 22:27:01 2007 UTC (7 years, 7 months ago) by swegener
Branch: MAIN
Changes since 1.28: +7 -7 lines
Apply whitespace checks from repoman to eclasses.

1 # Copyright 1999-2005 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/eclass/depend.apache.eclass,v 1.28 2006/11/26 21:25:28 vericgar Exp $
4
5 inherit multilib
6
7 # 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 # defined DEPEND and RDEPEND. Also note that you can not rely on the
12 # automatic RDEPEND=DEPEND that portage does if you use this eclass.
13 # See bug 107127 for more information.
14
15 ######
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 ## Stores the version of apache we are going to be ebuilding. This variable is
27 ## set by the need_apache{|1|2} functions.
28 ##
29 ####
30 #APACHE_VERSION='2'
31
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 APACHE1_BASEDIR="/usr/$(get_libdir)/apache"
54 APACHE2_BASEDIR="/usr/$(get_libdir)/apache2"
55
56 ####
57 ## APACHE1_CONFDIR, APACHE2_CONFDIR
58 ##
59 ## Paths to the configuration file directories (usually under
60 ## $APACHE?_BASEDIR/conf)
61 ####
62 APACHE1_CONFDIR="/etc/apache"
63 APACHE2_CONFDIR="/etc/apache2"
64
65 ####
66 ## APACHE1_MODULES_CONFDIR, APACHE2_MODULES_CONFDIR
67 ##
68 ## Paths where module configuration files are kept
69 ####
70 APACHE1_MODULES_CONFDIR="${APACHE1_CONFDIR}/modules.d"
71 APACHE2_MODULES_CONFDIR="${APACHE2_CONFDIR}/modules.d"
72
73 ####
74 ## APACHE1_VHOSTDIR, APACHE2_VHOSTDIR
75 ##
76 ## Paths where virtual host configuration files are kept
77 ####
78 APACHE1_VHOSTDIR="${APACHE1_CONFDIR}/vhosts.d"
79 APACHE2_VHOSTDIR="${APACHE2_CONFDIR}/vhosts.d"
80
81 ####
82 ## APACHE1_MODULESDIR, APACHE2_MODULESDIR
83 ##
84 ## Paths where we install modules
85 ####
86 APACHE1_MODULESDIR="${APACHE1_BASEDIR}/modules"
87 APACHE2_MODULESDIR="${APACHE2_BASEDIR}/modules"
88
89 ####
90 ## APACHE1_DEPEND, APACHE2_DEPEND
91 ## APACHE2_0_DEPEND, APACHE2_2_DEPEND
92 ##
93 ## Dependencies for apache 1.x and apache 2.x
94 ####
95 APACHE1_DEPEND="=net-www/apache-1*"
96 APACHE2_DEPEND="=net-www/apache-2*"
97 APACHE2_0_DEPEND="=net-www/apache-2.0*"
98 APACHE2_2_DEPEND="=net-www/apache-2.2*"
99
100 ####
101 ## NEED_APACHE_DEPEND
102 ##
103 ## Dependency magic based on useflags to use the right DEPEND
104 ## If you change this, please check the DEPENDS in need_apache()
105 ####
106
107 NEED_APACHE_DEPEND="apache2? ( ${APACHE2_DEPEND} ) !apache2? ( ${APACHE1_DEPEND} )"
108 WANT_APACHE_DEPEND="apache2? ( ${APACHE2_DEPEND} ) !apache2? ( apache? ( ${APACHE1_DEPEND} ) )"
109
110 ####
111 # uses_apache1()
112 #
113 # sets up all of the environment variables required by an apache1 module
114 ####
115
116 uses_apache1() {
117 debug-print-function $FUNCNAME $*
118 # WARNING: Do not use these variables with anything that is put
119 # into the dependency cache (DEPEND/RDEPEND/etc)
120 APACHE_VERSION='1'
121 APXS="$APXS1"
122 USE_APACHE2=
123 APACHECTL="${APACHECTL1}"
124 APACHE_BASEDIR="${APACHE1_BASEDIR}"
125 APACHE_CONFDIR="${APACHE1_CONFDIR}"
126 APACHE_MODULES_CONFDIR="${APACHE1_MODULES_CONFDIR}"
127 APACHE_VHOSTSDIR="${APACHE1_VHOSTSDIR}"
128 APACHE_MODULESDIR="${APACHE1_MODULESDIR}"
129 }
130
131 ####
132 # uses_apache2()
133 #
134 # sets up all of the environment variables required by an apache2 module
135 ####
136
137 uses_apache2() {
138 debug-print-function $FUNCNAME $*
139 # WARNING: Do not use these variables with anything that is put
140 # into the dependency cache (DEPEND/RDEPEND/etc)
141 APACHE_VERSION='2'
142 USE_APACHE2=2
143 APXS="$APXS2"
144 APACHECTL="${APACHECTL2}"
145 APACHE_BASEDIR="${APACHE2_BASEDIR}"
146 APACHE_CONFDIR="${APACHE2_CONFDIR}"
147 APACHE_MODULES_CONFDIR="${APACHE2_MODULES_CONFDIR}"
148 APACHE_VHOSTSDIR="${APACHE2_VHOSTSDIR}"
149 APACHE_MODULESDIR="${APACHE2_MODULESDIR}"
150 }
151
152 doesnt_use_apache() {
153 debug-print-function $FUNCNAME $*
154 APACHE_VERSION='0'
155 USE_APACHE=
156 }
157
158 ####
159 ## need_apache1
160 ##
161 ## An ebuild calls this to get the dependency information
162 ## for apache-1.x. An ebuild should use this in order for
163 ## future changes to the build infrastructure to happen
164 ## seamlessly. All an ebuild needs to do is include the
165 ## line need_apache1 somewhere.
166 ####
167 need_apache1() {
168 debug-print-function $FUNCNAME $*
169
170 DEPEND="${DEPEND} ${APACHE1_DEPEND}"
171 RDEPEND="${RDEPEND} ${APACHE1_DEPEND}"
172 APACHE_VERSION='1'
173 }
174
175 ####
176 ## need_apache2
177 ##
178 ## An ebuild calls this to get the dependency information
179 ## for apache-2.x. An ebuild should use this in order for
180 ## future changes to the build infrastructure to happen
181 ## seamlessly. All an ebuild needs to do is include the
182 ## line need_apache2 somewhere.
183 ####
184 need_apache2() {
185 debug-print-function $FUNCNAME $*
186
187 DEPEND="${DEPEND} ${APACHE2_DEPEND}"
188 RDEPEND="${RDEPEND} ${APACHE2_DEPEND}"
189 APACHE_VERSION='2'
190 }
191
192 ####
193 ## need_apache2_0
194 ##
195 ## Works like need_apache2 above, but its used by modules
196 ## that only support apache 2.0 and do not work with
197 ## higher versions
198 ##
199 ####
200 need_apache2_0() {
201 debug-print-function $FUNCNAME $*
202
203 DEPEND="${DEPEND} ${APACHE2_0_DEPEND}"
204 RDEPEND="${RDEPEND} ${APACHE2_0_DEPEND}"
205 APACHE_VERSION='2'
206 }
207
208 ####
209 ## need_apache2_2
210 ##
211 ## Works like need_apache2 above, but its used by modules
212 ## that only support apache 2.2.
213 ##
214 ####
215 need_apache2_2() {
216 debug-print-function $FUNCNAME $*
217
218 DEPEND="${DEPEND} ${APACHE2_2_DEPEND}"
219 RDEPEND="${RDEPEND} ${APACHE2_2_DEPEND}"
220 APACHE_VERSION='2'
221 }
222
223 ####
224 ## DO NOT CHANGE THIS FUNCTION UNLESS YOU UNDERSTAND THE CONSEQUENCES IT
225 ## WILL HAVE ON THE CACHE! There MUST be a apache2? () block in DEPEND for
226 ## things to work correct in the dependency calculation stage.
227 ##
228 ## This function can take a variable amount of arguments specifying the
229 ## versions of apache the ebuild supports
230 ##
231 ## If no arguments are specified, then all versions are assumed to be supported
232 ##
233 ## If both 1.3 and 2.x are specified, the apache2 USE-flag will be used in
234 ## DEPEND/RDEPEND to determine which version to use.
235 ##
236 ## Currently supported versions: 1.3 2.0 2.2 2.x
237 need_apache() {
238 debug-print-function $FUNCNAME $*
239
240 local supports13 supports20 supports22 supports2x
241
242 if [ $# -eq 0 ]; then
243 supports13=yes
244 supports2x=yes
245 else
246 while [ $# -gt 0 ]; do
247 case "$1" in
248 1.3) supports13=yes; shift;;
249 2.0) supports20=yes; shift;;
250 2.2) supports22=yes; shift;;
251 2.x) supports2x=yes; shift;;
252 *) die "Unknown version specifier: $1";;
253 esac
254 done
255 fi
256
257 if [[ "${supports20}" == "yes" && "${supports22}" == "yes" ]]; then
258 supports2x=yes;
259 fi
260
261 debug-print "supports13: ${supports13}"
262 debug-print "supports20: ${supports20}"
263 debug-print "supports22: ${supports22}"
264 debug-print "supports2x: ${supports2x}"
265
266 if [ "${supports13}" != "yes" ]; then
267 if [ "${supports2x}" == "yes" ]; then
268 need_apache2
269 elif [ "${supports20}" == "yes" ]; then
270 need_apache2_0
271 elif [ "${supports22}" == "yes" ]; then
272 need_apache2_2
273 fi
274 elif [ "${supports13}" == "yes" ]; then
275 if [[ "${supports2x}" == "yes" ||
276 "${supports20}" == "yes" ||
277 "${supports22}" == "yes" ]]; then
278
279 # we support both apache-1.3 and apache-2.*, set up USE-flag based
280 # DEPEND and RDEPEND, determined by which apache-2.x we support
281
282 IUSE="${IUSE} apache2"
283
284 if [ "${supports2x}" != "yes" ]; then
285 if [ "${supports20}" == "yes" ]; then
286 NEED_APACHE_DEPEND="apache2? ( ${APACHE2_0_DEPEND} ) !apache2? ( ${APACHE1_DEPEND} )"
287 elif [ "${supports22}" == "yes" ]; then
288 NEED_APACHE_DEPEND="apache2? ( ${APACHE2_2_DEPEND} ) !apache2? ( ${APACHE1_DEPEND} )"
289 fi
290 fi
291
292 DEPEND="${DEPEND} ${NEED_APACHE_DEPEND}"
293 RDEPEND="${RDEPEND} ${NEED_APACHE_DEPEND}"
294
295 if useq apache2; then
296 uses_apache2
297 else
298 uses_apache1
299 fi
300 else
301 need_apache1
302 fi
303 fi
304
305 }
306
307 want_apache() {
308 debug-print-function $FUNCNAME $*
309
310 IUSE="${IUSE} apache apache2"
311 DEPEND="${DEPEND} ${WANT_APACHE_DEPEND}"
312 RDEPEND="${RDEPEND} ${WANT_APACHE_DEPEND}"
313 if useq apache2 ; then
314 uses_apache2
315 elif useq apache ; then
316 uses_apache1
317 else
318 doesnt_use_apache
319 fi
320 }

  ViewVC Help
Powered by ViewVC 1.1.20