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

Contents of /eclass/depend.apache.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.25 - (show annotations) (download)
Sun Jun 4 19:15:09 2006 UTC (8 years, 2 months ago) by vericgar
Branch: MAIN
Changes since 1.24: +9 -1 lines
Add comment warning about dependency issues. Refer to bug 107127.

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.24 2005/09/19 00:21:20 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 ## This needs to stay as '1' until apache2 is on by default -- although it
30 ## doesn't matter much as it's set by the need_apache functions.
31 ####
32 APACHE_VERSION='1'
33
34 ####
35 ## APXS1, APXS2
36 ##
37 ## Paths to the apxs tools
38 ####
39 APXS1="/usr/sbin/apxs"
40 APXS2="/usr/sbin/apxs2"
41
42 ####
43 ## APACHECTL1, APACHECTL2
44 ##
45 ## Paths to the apachectl tools
46 ####
47 APACHECTL1="/usr/sbin/apachectl"
48 APACHECTL2="/usr/sbin/apache2ctl"
49
50 ####
51 ## APACHE1_BASEDIR, APACHE2_BASEDIR
52 ##
53 ## Paths to the server root directories
54 ####
55 APACHE1_BASEDIR="/usr/$(get_libdir)/apache"
56 APACHE2_BASEDIR="/usr/$(get_libdir)/apache2"
57
58 ####
59 ## APACHE1_CONFDIR, APACHE2_CONFDIR
60 ##
61 ## Paths to the configuration file directories (usually under
62 ## $APACHE?_BASEDIR/conf)
63 ####
64 APACHE1_CONFDIR="/etc/apache"
65 APACHE2_CONFDIR="/etc/apache2"
66
67 ####
68 ## APACHE1_MODULES_CONFDIR, APACHE2_MODULES_CONFDIR
69 ##
70 ## Paths where module configuration files are kept
71 ####
72 APACHE1_MODULES_CONFDIR="${APACHE1_CONFDIR}/modules.d"
73 APACHE2_MODULES_CONFDIR="${APACHE2_CONFDIR}/modules.d"
74
75 ####
76 ## APACHE1_VHOSTDIR, APACHE2_VHOSTDIR
77 ##
78 ## Paths where virtual host configuration files are kept
79 ####
80 APACHE1_VHOSTDIR="${APACHE1_CONFDIR}/vhosts.d"
81 APACHE2_VHOSTDIR="${APACHE2_CONFDIR}/vhosts.d"
82
83 ####
84 ## APACHE1_MODULESDIR, APACHE2_MODULESDIR
85 ##
86 ## Paths where we install modules
87 ####
88 APACHE1_MODULESDIR="${APACHE1_BASEDIR}/modules"
89 APACHE2_MODULESDIR="${APACHE2_BASEDIR}/modules"
90
91 ####
92 ## APACHE1_DEPEND, APACHE2_DEPEND
93 ##
94 ## Dependencies for apache 1.x and apache 2.x
95 ## - apache2 must be at least version 2.0.54-r30, this is lowest version
96 ## containing our new overall changes -- trapni (Jan 21 2005)
97 ## - apache1 must be at least version 1.3.33-r10, but how to
98 ## define the DEPEND here? (FIXME) -- trapni (Jan 21 2005)
99 ## - currently not possible - bug #4315 -- vericgar (Jan 21 2005)
100 ####
101 APACHE1_DEPEND="=net-www/apache-1*"
102 APACHE2_DEPEND=">=net-www/apache-2.0.54-r30"
103
104 ####
105 ## APACHE_DEPEND
106 ##
107 ## Dependency magic based on useflags to use the right DEPEND
108 ####
109
110 NEED_APACHE_DEPEND="apache2? ( ${APACHE2_DEPEND} ) !apache2? ( ${APACHE1_DEPEND} )"
111 WANT_APACHE_DEPEND="apache2? ( ${APACHE2_DEPEND} ) !apache2? ( apache? ( ${APACHE1_DEPEND} ) )"
112
113 ####
114 # uses_apache1()
115 #
116 # sets up all of the environment variables required by an apache1 module
117 ####
118
119 uses_apache1() {
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 APACHE_VERSION='2'
139 USE_APACHE2=2
140 APXS="$APXS2"
141 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 APACHE_VERSION='0'
151 USE_APACHE=
152 }
153
154 ####
155 ## need_apache1
156 ##
157 ## An ebuild calls this to get the dependency information
158 ## for apache-1.x. An ebuild should use this in order for
159 ## future changes to the build infrastructure to happen
160 ## seamlessly. All an ebuild needs to do is include the
161 ## line need_apache1 somewhere.
162 ####
163 need_apache1() {
164 debug-print-function need_apache1
165
166 DEPEND="${DEPEND} ${APACHE1_DEPEND}"
167 RDEPEND="${RDEPEND} ${APACHE1_DEPEND}"
168 APACHE_VERSION='1'
169 }
170
171 ####
172 ## need_apache2
173 ##
174 ## An ebuild calls this to get the dependency information
175 ## for apache-2.x. An ebuild should use this in order for
176 ## future changes to the build infrastructure to happen
177 ## seamlessly. All an ebuild needs to do is include the
178 ## line need_apache1 somewhere.
179 ####
180 need_apache2() {
181 debug-print-function need_apache2
182
183 DEPEND="${DEPEND} ${APACHE2_DEPEND}"
184 RDEPEND="${RDEPEND} ${APACHE2_DEPEND}"
185 APACHE_VERSION='2'
186 }
187
188 ####
189 ## DO NOT CHANGE THIS FUNCTION UNLESS YOU UNDERSTAND THE CONSEQUENCES IT
190 ## WILL HAVE ON THE CACHE! There MUST be a apache2? () block in DEPEND for
191 ## things to work correct in the dependency calculation stage.
192 ####
193 need_apache() {
194 debug-print-function need_apache
195
196 IUSE="${IUSE} apache2"
197 DEPEND="${DEPEND} ${NEED_APACHE_DEPEND}"
198 RDEPEND="${RDEPEND} ${NEED_APACHE_DEPEND}"
199 if useq apache2; then
200 uses_apache2
201 else
202 uses_apache1
203 fi
204 }
205
206 want_apache() {
207 debug-print-function want_apache
208
209 IUSE="${IUSE} apache apache2"
210 DEPEND="${DEPEND} ${WANT_APACHE_DEPEND}"
211 RDEPEND="${DEPEND} ${WANT_APACHE_DEPEND}"
212 if useq apache2 ; then
213 uses_apache2
214 elif useq apache ; then
215 uses_apache1
216 else
217 doesnt_use_apache
218 fi
219 }

  ViewVC Help
Powered by ViewVC 1.1.20