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

Legend:
Removed from v.1.29  
changed lines
  Added in v.1.30

  ViewVC Help
Powered by ViewVC 1.1.20