| 1 | # Copyright 1999-2005 Gentoo Foundation |
1 | # Copyright 1999-2012 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.1.1.1 2005/11/30 09:59:27 chriswhite Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/depend.apache.eclass,v 1.47 2012/04/20 07:22:47 patrick Exp $ |
|
|
4 | |
|
|
5 | # @ECLASS: depend.apache.eclass |
|
|
6 | # @MAINTAINER: |
|
|
7 | # apache-devs@gentoo.org |
|
|
8 | # @BLURB: Functions to allow ebuilds to depend on apache |
|
|
9 | # @DESCRIPTION: |
|
|
10 | # This eclass handles depending on apache in a sane way and provides information |
|
|
11 | # about where certain binaries and configuration files are located. |
|
|
12 | # |
|
|
13 | # To make use of this eclass simply call one of the need/want_apache functions |
|
|
14 | # described below. Make sure you use the need/want_apache call after you have |
|
|
15 | # defined DEPEND and RDEPEND. Also note that you can not rely on the automatic |
|
|
16 | # RDEPEND=DEPEND that portage does if you use this eclass. |
|
|
17 | # |
|
|
18 | # See Bug 107127 for more information. |
|
|
19 | # |
|
|
20 | # @EXAMPLE: |
|
|
21 | # |
|
|
22 | # Here is an example of an ebuild depending on apache: |
|
|
23 | # |
|
|
24 | # @CODE |
|
|
25 | # DEPEND="virtual/Perl-CGI" |
|
|
26 | # RDEPEND="${DEPEND}" |
|
|
27 | # need_apache2 |
|
|
28 | # @CODE |
|
|
29 | # |
|
|
30 | # Another example which demonstrates non-standard IUSE options for optional |
|
|
31 | # apache support: |
|
|
32 | # |
|
|
33 | # @CODE |
|
|
34 | # DEPEND="server? ( virtual/Perl-CGI )" |
|
|
35 | # RDEPEND="${DEPEND}" |
|
|
36 | # want_apache2 server |
|
|
37 | # |
|
|
38 | # pkg_setup() { |
|
|
39 | # depend.apache_pkg_setup server |
|
|
40 | # } |
|
|
41 | # @CODE |
| 4 | |
42 | |
| 5 | inherit multilib |
43 | inherit multilib |
| 6 | |
44 | |
| 7 | ###### |
45 | # ============================================================================== |
| 8 | ## Apache Common Variables |
46 | # INTERNAL VARIABLES |
| 9 | ## |
47 | # ============================================================================== |
| 10 | ## These are internal variables used by this, and other apache-related eclasses, |
|
|
| 11 | ## and thus should not need to be used by the ebuilds themselves (the ebuilds |
|
|
| 12 | ## should know what version of Apache they are building against). |
|
|
| 13 | ###### |
|
|
| 14 | |
48 | |
| 15 | #### |
49 | # @ECLASS-VARIABLE: APACHE_VERSION |
| 16 | ## APACHE_VERSION |
50 | # @DESCRIPTION: |
| 17 | ## |
|
|
| 18 | ## Stores the version of apache we are going to be ebuilding. This variable is |
51 | # Stores the version of apache we are going to be ebuilding. |
| 19 | ## set by the need_apache{|1|2} functions. |
52 | # This variable is set by the want/need_apache functions. |
| 20 | ## |
|
|
| 21 | ## This needs to stay as '1' until apache2 is on by default -- although it |
|
|
| 22 | ## doesn't matter much as it's set by the need_apache functions. |
|
|
| 23 | #### |
|
|
| 24 | APACHE_VERSION='1' |
|
|
| 25 | |
53 | |
| 26 | #### |
54 | # @ECLASS-VARIABLE: APXS |
| 27 | ## APXS1, APXS2 |
55 | # @DESCRIPTION: |
| 28 | ## |
|
|
| 29 | ## Paths to the apxs tools |
56 | # Path to the apxs tool. |
| 30 | #### |
57 | # This variable is set by the want/need_apache functions. |
| 31 | APXS1="/usr/sbin/apxs" |
58 | |
|
|
59 | # @ECLASS-VARIABLE: APACHE_BIN |
|
|
60 | # @DESCRIPTION: |
|
|
61 | # Path to the apache binary. |
|
|
62 | # This variable is set by the want/need_apache functions. |
|
|
63 | |
|
|
64 | # @ECLASS-VARIABLE: APACHE_CTL |
|
|
65 | # @DESCRIPTION: |
|
|
66 | # Path to the apachectl tool. |
|
|
67 | # This variable is set by the want/need_apache functions. |
|
|
68 | |
|
|
69 | # @ECLASS-VARIABLE: APACHE_BASEDIR |
|
|
70 | # @DESCRIPTION: |
|
|
71 | # Path to the server root directory. |
|
|
72 | # This variable is set by the want/need_apache functions. |
|
|
73 | |
|
|
74 | # @ECLASS-VARIABLE: APACHE_CONFDIR |
|
|
75 | # @DESCRIPTION: |
|
|
76 | # Path to the configuration file directory. |
|
|
77 | # This variable is set by the want/need_apache functions. |
|
|
78 | |
|
|
79 | # @ECLASS-VARIABLE: APACHE_MODULES_CONFDIR |
|
|
80 | # @DESCRIPTION: |
|
|
81 | # Path where module configuration files are kept. |
|
|
82 | # This variable is set by the want/need_apache functions. |
|
|
83 | |
|
|
84 | # @ECLASS-VARIABLE: APACHE_VHOSTS_CONFDIR |
|
|
85 | # @DESCRIPTION: |
|
|
86 | # Path where virtual host configuration files are kept. |
|
|
87 | # This variable is set by the want/need_apache functions. |
|
|
88 | |
|
|
89 | # @ECLASS-VARIABLE: APACHE_MODULESDIR |
|
|
90 | # @DESCRIPTION: |
|
|
91 | # Path where we install modules. |
|
|
92 | # This variable is set by the want/need_apache functions. |
|
|
93 | |
|
|
94 | # @ECLASS-VARIABLE: APACHE_DEPEND |
|
|
95 | # @DESCRIPTION: |
|
|
96 | # Dependencies for Apache |
|
|
97 | APACHE_DEPEND="www-servers/apache" |
|
|
98 | |
|
|
99 | # @ECLASS-VARIABLE: APACHE2_DEPEND |
|
|
100 | # @DESCRIPTION: |
|
|
101 | # Dependencies for Apache 2.x |
|
|
102 | APACHE2_DEPEND="=www-servers/apache-2*" |
|
|
103 | |
|
|
104 | # @ECLASS-VARIABLE: APACHE2_2_DEPEND |
|
|
105 | # @DESCRIPTION: |
|
|
106 | # Dependencies for Apache 2.2.x |
|
|
107 | APACHE2_2_DEPEND="=www-servers/apache-2.2*" |
|
|
108 | |
|
|
109 | # @ECLASS-VARIABLE: APACHE2_4_DEPEND |
|
|
110 | # @DESCRIPTION: |
|
|
111 | # Dependencies for Apache 2.4.x |
|
|
112 | APACHE2_4_DEPEND="=www-servers/apache-2.4*" |
|
|
113 | |
|
|
114 | |
|
|
115 | # ============================================================================== |
|
|
116 | # INTERNAL FUNCTIONS |
|
|
117 | # ============================================================================== |
|
|
118 | |
|
|
119 | _init_apache2() { |
|
|
120 | debug-print-function $FUNCNAME $* |
|
|
121 | |
|
|
122 | # WARNING: Do not use these variables with anything that is put |
|
|
123 | # into the dependency cache (DEPEND/RDEPEND/etc) |
|
|
124 | APACHE_VERSION="2" |
| 32 | APXS2="/usr/sbin/apxs2" |
125 | APXS="/usr/sbin/apxs2" |
| 33 | |
|
|
| 34 | #### |
|
|
| 35 | ## APACHECTL1, APACHECTL2 |
|
|
| 36 | ## |
|
|
| 37 | ## Paths to the apachectl tools |
|
|
| 38 | #### |
|
|
| 39 | APACHECTL1="/usr/sbin/apachectl" |
126 | APACHE_BIN="/usr/sbin/apache2" |
| 40 | APACHECTL2="/usr/sbin/apache2ctl" |
127 | APACHE_CTL="/usr/sbin/apache2ctl" |
| 41 | |
128 | APACHE_INCLUDEDIR="/usr/include/apache2" |
| 42 | #### |
|
|
| 43 | ## APACHE1_BASEDIR, APACHE2_BASEDIR |
|
|
| 44 | ## |
|
|
| 45 | ## Paths to the server root directories |
|
|
| 46 | #### |
|
|
| 47 | APACHE1_BASEDIR="/usr/$(get_libdir)/apache" |
|
|
| 48 | APACHE2_BASEDIR="/usr/$(get_libdir)/apache2" |
129 | APACHE_BASEDIR="/usr/$(get_libdir)/apache2" |
| 49 | |
|
|
| 50 | #### |
|
|
| 51 | ## APACHE1_CONFDIR, APACHE2_CONFDIR |
|
|
| 52 | ## |
|
|
| 53 | ## Paths to the configuration file directories (usually under |
|
|
| 54 | ## $APACHE?_BASEDIR/conf) |
|
|
| 55 | #### |
|
|
| 56 | APACHE1_CONFDIR="/etc/apache" |
|
|
| 57 | APACHE2_CONFDIR="/etc/apache2" |
130 | APACHE_CONFDIR="/etc/apache2" |
| 58 | |
|
|
| 59 | #### |
|
|
| 60 | ## APACHE1_MODULES_CONFDIR, APACHE2_MODULES_CONFDIR |
|
|
| 61 | ## |
|
|
| 62 | ## Paths where module configuration files are kept |
|
|
| 63 | #### |
|
|
| 64 | APACHE1_MODULES_CONFDIR="${APACHE1_CONFDIR}/modules.d" |
131 | APACHE_MODULES_CONFDIR="${APACHE_CONFDIR}/modules.d" |
| 65 | APACHE2_MODULES_CONFDIR="${APACHE2_CONFDIR}/modules.d" |
|
|
| 66 | |
|
|
| 67 | #### |
|
|
| 68 | ## APACHE1_VHOSTDIR, APACHE2_VHOSTDIR |
|
|
| 69 | ## |
|
|
| 70 | ## Paths where virtual host configuration files are kept |
|
|
| 71 | #### |
|
|
| 72 | APACHE1_VHOSTDIR="${APACHE1_CONFDIR}/vhosts.d" |
132 | APACHE_VHOSTS_CONFDIR="${APACHE_CONFDIR}/vhosts.d" |
| 73 | APACHE2_VHOSTDIR="${APACHE2_CONFDIR}/vhosts.d" |
|
|
| 74 | |
|
|
| 75 | #### |
|
|
| 76 | ## APACHE1_MODULESDIR, APACHE2_MODULESDIR |
|
|
| 77 | ## |
|
|
| 78 | ## Paths where we install modules |
|
|
| 79 | #### |
|
|
| 80 | APACHE1_MODULESDIR="${APACHE1_BASEDIR}/modules" |
133 | APACHE_MODULESDIR="${APACHE_BASEDIR}/modules" |
| 81 | APACHE2_MODULESDIR="${APACHE2_BASEDIR}/modules" |
|
|
| 82 | |
|
|
| 83 | #### |
|
|
| 84 | ## APACHE1_DEPEND, APACHE2_DEPEND |
|
|
| 85 | ## |
|
|
| 86 | ## Dependencies for apache 1.x and apache 2.x |
|
|
| 87 | ## - apache2 must be at least version 2.0.54-r30, this is lowest version |
|
|
| 88 | ## containing our new overall changes -- trapni (Jan 21 2005) |
|
|
| 89 | ## - apache1 must be at least version 1.3.33-r10, but how to |
|
|
| 90 | ## define the DEPEND here? (FIXME) -- trapni (Jan 21 2005) |
|
|
| 91 | ## - currently not possible - bug #4315 -- vericgar (Jan 21 2005) |
|
|
| 92 | #### |
|
|
| 93 | APACHE1_DEPEND="=net-www/apache-1*" |
|
|
| 94 | APACHE2_DEPEND=">=net-www/apache-2.0.54-r30" |
|
|
| 95 | |
|
|
| 96 | #### |
|
|
| 97 | ## APACHE_DEPEND |
|
|
| 98 | ## |
|
|
| 99 | ## Dependency magic based on useflags to use the right DEPEND |
|
|
| 100 | #### |
|
|
| 101 | |
|
|
| 102 | NEED_APACHE_DEPEND="apache2? ( ${APACHE2_DEPEND} ) !apache2? ( ${APACHE1_DEPEND} )" |
|
|
| 103 | WANT_APACHE_DEPEND="apache2? ( ${APACHE2_DEPEND} ) !apache2? ( apache? ( ${APACHE1_DEPEND} ) )" |
|
|
| 104 | |
|
|
| 105 | #### |
|
|
| 106 | # uses_apache1() |
|
|
| 107 | # |
|
|
| 108 | # sets up all of the environment variables required by an apache1 module |
|
|
| 109 | #### |
|
|
| 110 | |
|
|
| 111 | uses_apache1() { |
|
|
| 112 | APACHE_VERSION='1' |
|
|
| 113 | APXS="$APXS1" |
|
|
| 114 | USE_APACHE2= |
|
|
| 115 | APACHECTL="${APACHECTL1}" |
|
|
| 116 | APACHE_BASEDIR="${APACHE1_BASEDIR}" |
|
|
| 117 | APACHE_CONFDIR="${APACHE1_CONFDIR}" |
|
|
| 118 | APACHE_MODULES_CONFDIR="${APACHE1_MODULES_CONFDIR}" |
|
|
| 119 | APACHE_VHOSTSDIR="${APACHE1_VHOSTSDIR}" |
|
|
| 120 | APACHE_MODULESDIR="${APACHE1_MODULESDIR}" |
|
|
| 121 | } |
134 | } |
| 122 | |
135 | |
| 123 | #### |
136 | _init_no_apache() { |
| 124 | # uses_apache2() |
137 | debug-print-function $FUNCNAME $* |
| 125 | # |
|
|
| 126 | # sets up all of the environment variables required by an apache2 module |
|
|
| 127 | #### |
|
|
| 128 | |
|
|
| 129 | uses_apache2() { |
|
|
| 130 | APACHE_VERSION='2' |
|
|
| 131 | USE_APACHE2=2 |
|
|
| 132 | APXS="$APXS2" |
|
|
| 133 | APACHECTL="${APACHECTL2}" |
|
|
| 134 | APACHE_BASEDIR="${APACHE2_BASEDIR}" |
|
|
| 135 | APACHE_CONFDIR="${APACHE2_CONFDIR}" |
|
|
| 136 | APACHE_MODULES_CONFDIR="${APACHE2_MODULES_CONFDIR}" |
|
|
| 137 | APACHE_VHOSTSDIR="${APACHE2_VHOSTSDIR}" |
|
|
| 138 | APACHE_MODULESDIR="${APACHE2_MODULESDIR}" |
|
|
| 139 | } |
|
|
| 140 | |
|
|
| 141 | doesnt_use_apache() { |
|
|
| 142 | APACHE_VERSION='0' |
138 | APACHE_VERSION="0" |
| 143 | USE_APACHE= |
|
|
| 144 | } |
139 | } |
| 145 | |
140 | |
| 146 | #### |
141 | # ============================================================================== |
| 147 | ## need_apache1 |
142 | # PUBLIC FUNCTIONS |
| 148 | ## |
143 | # ============================================================================== |
|
|
144 | |
|
|
145 | # @FUNCTION: depend.apache_pkg_setup |
|
|
146 | # @USAGE: [myiuse] |
|
|
147 | # @DESCRIPTION: |
|
|
148 | # An ebuild calls this in pkg_setup() to initialize variables for optional |
|
|
149 | # apache-2.x support. If the myiuse parameter is not given it defaults to |
|
|
150 | # apache2. |
|
|
151 | depend.apache_pkg_setup() { |
|
|
152 | debug-print-function $FUNCNAME $* |
|
|
153 | |
|
|
154 | if [[ "${EBUILD_PHASE}" != "setup" ]]; then |
|
|
155 | die "$FUNCNAME() should be called in pkg_setup()" |
|
|
156 | fi |
|
|
157 | |
|
|
158 | local myiuse=${1:-apache2} |
|
|
159 | if has ${myiuse} ${IUSE}; then |
|
|
160 | if use ${myiuse}; then |
|
|
161 | _init_apache2 |
|
|
162 | else |
|
|
163 | _init_no_apache |
|
|
164 | fi |
|
|
165 | fi |
|
|
166 | } |
|
|
167 | |
|
|
168 | # @FUNCTION: want_apache |
|
|
169 | # @USAGE: [myiuse] |
|
|
170 | # @DESCRIPTION: |
|
|
171 | # An ebuild calls this to get the dependency information for optional apache |
|
|
172 | # support. If the myiuse parameter is not given it defaults to apache2. |
|
|
173 | # An ebuild should additionally call depend.apache_pkg_setup() in pkg_setup() |
|
|
174 | # with the same myiuse parameter. |
|
|
175 | want_apache() { |
|
|
176 | debug-print-function $FUNCNAME $* |
|
|
177 | want_apache2 "$@" |
|
|
178 | } |
|
|
179 | |
|
|
180 | # @FUNCTION: want_apache2 |
|
|
181 | # @USAGE: [myiuse] |
|
|
182 | # @DESCRIPTION: |
|
|
183 | # An ebuild calls this to get the dependency information for optional apache-2.x |
|
|
184 | # support. If the myiuse parameter is not given it defaults to apache2. |
|
|
185 | # An ebuild should additionally call depend.apache_pkg_setup() in pkg_setup() |
|
|
186 | # with the same myiuse parameter. |
|
|
187 | want_apache2() { |
|
|
188 | debug-print-function $FUNCNAME $* |
|
|
189 | |
|
|
190 | local myiuse=${1:-apache2} |
|
|
191 | IUSE="${IUSE} ${myiuse}" |
|
|
192 | DEPEND="${DEPEND} ${myiuse}? ( ${APACHE2_DEPEND} )" |
|
|
193 | RDEPEND="${RDEPEND} ${myiuse}? ( ${APACHE2_DEPEND} )" |
|
|
194 | } |
|
|
195 | |
|
|
196 | # @FUNCTION: want_apache2_2 |
|
|
197 | # @USAGE: [myiuse] |
|
|
198 | # @DESCRIPTION: |
|
|
199 | # An ebuild calls this to get the dependency information for optional |
|
|
200 | # apache-2.2.x support. If the myiuse parameter is not given it defaults to |
|
|
201 | # apache2. |
|
|
202 | # An ebuild should additionally call depend.apache_pkg_setup() in pkg_setup() |
|
|
203 | # with the same myiuse parameter. |
|
|
204 | want_apache2_2() { |
|
|
205 | debug-print-function $FUNCNAME $* |
|
|
206 | |
|
|
207 | local myiuse=${1:-apache2} |
|
|
208 | IUSE="${IUSE} ${myiuse}" |
|
|
209 | DEPEND="${DEPEND} ${myiuse}? ( ${APACHE2_2_DEPEND} )" |
|
|
210 | RDEPEND="${RDEPEND} ${myiuse}? ( ${APACHE2_2_DEPEND} )" |
|
|
211 | } |
|
|
212 | |
|
|
213 | # @FUNCTION: need_apache |
|
|
214 | # @DESCRIPTION: |
| 149 | ## An ebuild calls this to get the dependency information |
215 | # An ebuild calls this to get the dependency information for apache. |
| 150 | ## for apache-1.x. An ebuild should use this in order for |
|
|
| 151 | ## future changes to the build infrastructure to happen |
|
|
| 152 | ## seamlessly. All an ebuild needs to do is include the |
|
|
| 153 | ## line need_apache1 somewhere. |
|
|
| 154 | #### |
|
|
| 155 | need_apache1() { |
216 | need_apache() { |
| 156 | debug-print-function need_apache1 |
217 | debug-print-function $FUNCNAME $* |
| 157 | |
|
|
| 158 | DEPEND="${DEPEND} ${APACHE1_DEPEND}" |
|
|
| 159 | RDEPEND="${RDEPEND} ${APACHE1_DEPEND}" |
|
|
| 160 | APACHE_VERSION='1' |
|
|
| 161 | } |
|
|
| 162 | |
|
|
| 163 | #### |
|
|
| 164 | ## need_apache2 |
218 | need_apache2 |
| 165 | ## |
219 | } |
|
|
220 | |
|
|
221 | # @FUNCTION: need_apache2 |
|
|
222 | # @DESCRIPTION: |
| 166 | ## An ebuild calls this to get the dependency information |
223 | # An ebuild calls this to get the dependency information for apache-2.x. |
| 167 | ## for apache-2.x. An ebuild should use this in order for |
|
|
| 168 | ## future changes to the build infrastructure to happen |
|
|
| 169 | ## seamlessly. All an ebuild needs to do is include the |
|
|
| 170 | ## line need_apache1 somewhere. |
|
|
| 171 | #### |
|
|
| 172 | need_apache2() { |
224 | need_apache2() { |
| 173 | debug-print-function need_apache2 |
225 | debug-print-function $FUNCNAME $* |
| 174 | |
226 | |
| 175 | DEPEND="${DEPEND} ${APACHE2_DEPEND}" |
227 | DEPEND="${DEPEND} ${APACHE2_DEPEND}" |
| 176 | RDEPEND="${RDEPEND} ${APACHE2_DEPEND}" |
228 | RDEPEND="${RDEPEND} ${APACHE2_DEPEND}" |
| 177 | APACHE_VERSION='2' |
229 | _init_apache2 |
| 178 | } |
230 | } |
| 179 | |
231 | |
| 180 | #### |
232 | # @FUNCTION: need_apache2_2 |
| 181 | ## DO NOT CHANGE THIS FUNCTION UNLESS YOU UNDERSTAND THE CONSEQUENCES IT |
233 | # @DESCRIPTION: |
| 182 | ## WILL HAVE ON THE CACHE! There MUST be a apache2? () block in DEPEND for |
234 | # An ebuild calls this to get the dependency information for apache-2.2.x. |
| 183 | ## things to work correct in the dependency calculation stage. |
|
|
| 184 | #### |
|
|
| 185 | need_apache() { |
235 | need_apache2_2() { |
| 186 | debug-print-function need_apache |
236 | debug-print-function $FUNCNAME $* |
| 187 | |
237 | |
| 188 | IUSE="${IUSE} apache2" |
|
|
| 189 | DEPEND="${DEPEND} ${NEED_APACHE_DEPEND}" |
238 | DEPEND="${DEPEND} ${APACHE2_2_DEPEND}" |
| 190 | RDEPEND="${RDEPEND} ${NEED_APACHE_DEPEND}" |
239 | RDEPEND="${RDEPEND} ${APACHE2_2_DEPEND}" |
| 191 | if useq apache2; then |
240 | _init_apache2 |
| 192 | uses_apache2 |
241 | } |
|
|
242 | |
|
|
243 | # @FUNCTION: need_apache2_4 |
|
|
244 | # @DESCRIPTION: |
|
|
245 | # An ebuild calls this to get the dependency information for apache-2.4.x. |
|
|
246 | need_apache2_4() { |
|
|
247 | debug-print-function $FUNCNAME $* |
|
|
248 | |
|
|
249 | DEPEND="${DEPEND} ${APACHE2_4_DEPEND}" |
|
|
250 | RDEPEND="${RDEPEND} ${APACHE2_4_DEPEND}" |
|
|
251 | _init_apache2 |
|
|
252 | } |
|
|
253 | |
|
|
254 | # @FUNCTION: has_apache |
|
|
255 | # @DESCRIPTION: |
|
|
256 | # An ebuild calls this to get runtime variables for an indirect apache |
|
|
257 | # dependency without USE-flag, in which case want_apache does not work. |
|
|
258 | # DO NOT call this function in global scope. |
|
|
259 | has_apache() { |
|
|
260 | debug-print-function $FUNCNAME $* |
|
|
261 | |
|
|
262 | if has_version '>=www-servers/apache-2'; then |
|
|
263 | _init_apache2 |
| 193 | else |
264 | else |
| 194 | uses_apache1 |
265 | _init_no_apache |
| 195 | fi |
266 | fi |
| 196 | } |
267 | } |
| 197 | |
268 | |
| 198 | want_apache() { |
269 | # @FUNCTION: has_apache_threads |
| 199 | debug-print-function want_apache |
270 | # @USAGE: [myflag] |
|
|
271 | # @DESCRIPTION: |
|
|
272 | # An ebuild calls this to make sure thread-safety is enabled if apache has been |
|
|
273 | # built with a threaded MPM. If the myflag parameter is not given it defaults to |
|
|
274 | # threads. |
|
|
275 | has_apache_threads() { |
|
|
276 | debug-print-function $FUNCNAME $* |
| 200 | |
277 | |
| 201 | IUSE="${IUSE} apache apache2" |
278 | if ! built_with_use www-servers/apache threads; then |
| 202 | DEPEND="${DEPEND} ${WANT_APACHE_DEPEND}" |
279 | return |
| 203 | RDEPEND="${DEPEND} ${WANT_APACHE_DEPEND}" |
|
|
| 204 | if useq apache2 ; then |
|
|
| 205 | uses_apache2 |
|
|
| 206 | elif useq apache ; then |
|
|
| 207 | uses_apache1 |
|
|
| 208 | else |
|
|
| 209 | doesnt_use_apache |
|
|
| 210 | fi |
280 | fi |
|
|
281 | |
|
|
282 | local myflag="${1:-threads}" |
|
|
283 | |
|
|
284 | if ! use ${myflag}; then |
|
|
285 | echo |
|
|
286 | eerror "You need to enable USE flag '${myflag}' to build a thread-safe version" |
|
|
287 | eerror "of ${CATEGORY}/${PN} for use with www-servers/apache" |
|
|
288 | die "Need missing USE flag '${myflag}'" |
|
|
289 | fi |
| 211 | } |
290 | } |
|
|
291 | |
|
|
292 | # @FUNCTION: has_apache_threads_in |
|
|
293 | # @USAGE: <myforeign> [myflag] |
|
|
294 | # @DESCRIPTION: |
|
|
295 | # An ebuild calls this to make sure thread-safety is enabled in a foreign |
|
|
296 | # package if apache has been built with a threaded MPM. If the myflag parameter |
|
|
297 | # is not given it defaults to threads. |
|
|
298 | has_apache_threads_in() { |
|
|
299 | debug-print-function $FUNCNAME $* |
|
|
300 | |
|
|
301 | if ! built_with_use www-servers/apache threads; then |
|
|
302 | return |
|
|
303 | fi |
|
|
304 | |
|
|
305 | local myforeign="$1" |
|
|
306 | local myflag="${2:-threads}" |
|
|
307 | |
|
|
308 | if ! built_with_use ${myforeign} ${myflag}; then |
|
|
309 | echo |
|
|
310 | eerror "You need to enable USE flag '${myflag}' in ${myforeign} to" |
|
|
311 | eerror "build a thread-safe version of ${CATEGORY}/${PN} for use" |
|
|
312 | eerror "with www-servers/apache" |
|
|
313 | die "Need missing USE flag '${myflag}' in ${myforeign}" |
|
|
314 | fi |
|
|
315 | } |
|
|
316 | |
|
|
317 | EXPORT_FUNCTIONS pkg_setup |