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

Contents of /eclass/depend.apache.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.27 - (hide annotations) (download)
Wed Jul 5 14:12:51 2006 UTC (8 years, 1 month ago) by chtekk
Branch: MAIN
Changes since 1.26: +2 -2 lines
Fix typo.

1 stuart 1.20 # Copyright 1999-2005 Gentoo Foundation
2     # Distributed under the terms of the GNU General Public License v2
3 chtekk 1.27 # $Header: /var/cvsroot/gentoo-x86/eclass/depend.apache.eclass,v 1.26 2006/06/10 16:19:54 swegener Exp $
4 vericgar 1.22
5     inherit multilib
6 stuart 1.2
7 vericgar 1.25 # 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 swegener 1.26 # defined DEPEND and RDEPEND. Also note that you can not rely on the
12 vericgar 1.25 # automatic RDEPEND=DEPEND that portage does if you use this eclass.
13     # See bug 107127 for more information.
14    
15 urilith 1.6 ######
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 vericgar 1.9 ##
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 urilith 1.6 ####
32 vericgar 1.9 APACHE_VERSION='1'
33 urilith 1.6
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 vericgar 1.24 APACHE1_BASEDIR="/usr/$(get_libdir)/apache"
56     APACHE2_BASEDIR="/usr/$(get_libdir)/apache2"
57 urilith 1.6
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 vericgar 1.21 ## APACHE1_VHOSTDIR, APACHE2_VHOSTDIR
77 urilith 1.6 ##
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 vericgar 1.21 ## - apache2 must be at least version 2.0.54-r30, this is lowest version
96 vericgar 1.9 ## containing our new overall changes -- trapni (Jan 21 2005)
97 vericgar 1.21 ## - apache1 must be at least version 1.3.33-r10, but how to
98 vericgar 1.9 ## define the DEPEND here? (FIXME) -- trapni (Jan 21 2005)
99     ## - currently not possible - bug #4315 -- vericgar (Jan 21 2005)
100 urilith 1.6 ####
101     APACHE1_DEPEND="=net-www/apache-1*"
102 vericgar 1.21 APACHE2_DEPEND=">=net-www/apache-2.0.54-r30"
103 vericgar 1.7
104 vericgar 1.9 ####
105     ## APACHE_DEPEND
106     ##
107     ## Dependency magic based on useflags to use the right DEPEND
108     ####
109    
110 stuart 1.20 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 vericgar 1.9
154 urilith 1.6 ####
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 stuart 1.1
166 urilith 1.6 DEPEND="${DEPEND} ${APACHE1_DEPEND}"
167 vericgar 1.10 RDEPEND="${RDEPEND} ${APACHE1_DEPEND}"
168 urilith 1.6 APACHE_VERSION='1'
169 stuart 1.1 }
170    
171 urilith 1.6 ####
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 stuart 1.1
183 urilith 1.6 DEPEND="${DEPEND} ${APACHE2_DEPEND}"
184 vericgar 1.10 RDEPEND="${RDEPEND} ${APACHE2_DEPEND}"
185 urilith 1.6 APACHE_VERSION='2'
186 stuart 1.1 }
187    
188 vericgar 1.9 ####
189 swegener 1.18 ## DO NOT CHANGE THIS FUNCTION UNLESS YOU UNDERSTAND THE CONSEQUENCES IT
190 vericgar 1.9 ## 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 urilith 1.6 need_apache() {
194     debug-print-function need_apache
195 stuart 1.1
196 urilith 1.6 IUSE="${IUSE} apache2"
197 stuart 1.20 DEPEND="${DEPEND} ${NEED_APACHE_DEPEND}"
198     RDEPEND="${RDEPEND} ${NEED_APACHE_DEPEND}"
199 urilith 1.6 if useq apache2; then
200 stuart 1.20 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 chtekk 1.27 RDEPEND="${RDEPEND} ${WANT_APACHE_DEPEND}"
212 stuart 1.20 if useq apache2 ; then
213     uses_apache2
214     elif useq apache ; then
215     uses_apache1
216 urilith 1.6 else
217 stuart 1.20 doesnt_use_apache
218 stuart 1.1 fi
219     }

  ViewVC Help
Powered by ViewVC 1.1.20