| 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 | |
| 5 | inherit multilib |
5 | inherit 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 |
| … | |
… | |
| 54 | APACHE2_BASEDIR="/usr/$(get_libdir)/apache2" |
54 | APACHE2_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 | #### |
| 62 | APACHE1_CONFDIR="/etc/apache" |
61 | APACHE1_CONFDIR="/etc/apache" |
| 63 | APACHE2_CONFDIR="/etc/apache2" |
62 | APACHE2_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 | #### |
| 95 | APACHE1_DEPEND="=net-www/apache-1*" |
94 | APACHE1_DEPEND="=net-www/apache-1*" |
| 96 | APACHE2_DEPEND="=net-www/apache-2*" |
95 | APACHE2_DEPEND="=net-www/apache-2*" |
| 97 | APACHE2_0_DEPEND="=net-www/apache-2.0*" |
96 | APACHE2_0_DEPEND="=net-www/apache-2.0*" |
| 98 | APACHE2_2_DEPEND="=net-www/apache-2.2*" |
97 | APACHE2_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 | |
| 107 | NEED_APACHE_DEPEND="apache2? ( ${APACHE2_DEPEND} ) !apache2? ( ${APACHE1_DEPEND} )" |
106 | NEED_APACHE_DEPEND="apache2? ( ${APACHE2_DEPEND} ) !apache2? ( ${APACHE1_DEPEND} )" |
| 108 | WANT_APACHE_DEPEND="apache2? ( ${APACHE2_DEPEND} ) !apache2? ( apache? ( ${APACHE1_DEPEND} ) )" |
107 | WANT_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 | |
| 116 | uses_apache1() { |
113 | uses_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 | |
| 137 | uses_apache2() { |
134 | uses_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 | |
| 152 | doesnt_use_apache() { |
149 | doesnt_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 | #### |
| 167 | need_apache1() { |
158 | need_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 | #### |
| 184 | need_apache2() { |
175 | need_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 | #### |
| 200 | need_apache2_0() { |
191 | need_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 | #### |
| 215 | need_apache2_2() { |
207 | need_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 |
| … | |
… | |
| 237 | need_apache() { |
228 | need_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 | |
| 307 | want_apache() { |
293 | want_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 | } |