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

Contents of /eclass/depend.apache.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.40 - (hide annotations) (download)
Wed Feb 6 08:33:47 2008 UTC (6 years, 8 months ago) by hollow
Branch: MAIN
Changes since 1.39: +70 -39 lines
update depend.apache.eclass documentation

1 chtekk 1.30 # Copyright 1999-2007 Gentoo Foundation
2 stuart 1.20 # Distributed under the terms of the GNU General Public License v2
3 hollow 1.40 # $Header: /var/cvsroot/gentoo-x86/eclass/depend.apache.eclass,v 1.39 2008/02/03 14:12:44 hollow Exp $
4 stuart 1.2
5 hollow 1.35 # @ECLASS: depend.apache.eclass
6     # @MAINTAINER: apache-devs@gentoo.org
7     # @BLURB: Functions to allow ebuilds to depend on apache
8     # @DESCRIPTION:
9 hollow 1.40 # This eclass handles depending on apache in a sane way and provides information
10     # about where certain binaries and configuration files are located.
11 hollow 1.35 #
12 hollow 1.40 # To make use of this eclass simply call one of the need/want_apache functions
13     # described below. Make sure you use the need/want_apache call after you have
14     # defined DEPEND and RDEPEND. Also note that you can not rely on the automatic
15 hollow 1.35 # RDEPEND=DEPEND that portage does if you use this eclass.
16     #
17 hollow 1.40 # See Bug 107127 for more information.
18     #
19     # @EXAMPLE:
20     #
21     # Here is an example of an ebuild depending on apache:
22     #
23     # @CODE
24     # DEPEND="virtual/Perl-CGI"
25     # RDEPEND="${DEPEND}"
26     # need_apache2
27     # @CODE
28     #
29     # Another example which demonstrates non-standard IUSE options for optional
30     # apache support:
31     #
32     # @CODE
33     # DEPEND="server? ( virtual/Perl-CGI )"
34     # RDEPEND="${DEPEND}"
35     # want_apache2 server
36     # @CODE
37 vericgar 1.25
38 hollow 1.35 inherit multilib
39 vericgar 1.25
40 hollow 1.35 # ==============================================================================
41     # INTERNAL VARIABLES
42     # ==============================================================================
43    
44     # @ECLASS-VARIABLE: APACHE_VERSION
45     # @DESCRIPTION:
46 hollow 1.40 # Stores the version of apache we are going to be ebuilding.
47     # This variable is set by the want/need_apache functions.
48 urilith 1.6
49 hollow 1.36 # @ECLASS-VARIABLE: APXS
50 hollow 1.35 # @DESCRIPTION:
51 hollow 1.40 # Paths to the apxs tool.
52     # This variable is set by the want/need_apache functions.
53    
54     # @ECLASS-VARIABLE: APACHE_BIN
55     # @DESCRIPTION:
56     # Path to the apache binary.
57     # This variable is set by the want/need_apache functions.
58 urilith 1.6
59 hollow 1.40 # @ECLASS-VARIABLE: APACHE_CTL
60 hollow 1.35 # @DESCRIPTION:
61 hollow 1.40 # Path to the apachectl tool.
62     # This variable is set by the want/need_apache functions.
63 urilith 1.6
64 hollow 1.36 # @ECLASS-VARIABLE: APACHE_BASEDIR
65 hollow 1.35 # @DESCRIPTION:
66 hollow 1.40 # Path to the server root directory.
67     # This variable is set by the want/need_apache functions.
68 urilith 1.6
69 hollow 1.36 # @ECLASS-VARIABLE: APACHE_CONFDIR
70 hollow 1.35 # @DESCRIPTION:
71 hollow 1.40 # Path to the configuration file directory.
72     # This variable is set by the want/need_apache functions.
73 urilith 1.6
74 hollow 1.36 # @ECLASS-VARIABLE: APACHE_MODULES_CONFDIR
75 hollow 1.35 # @DESCRIPTION:
76 hollow 1.40 # Path where module configuration files are kept.
77     # This variable is set by the want/need_apache functions.
78 urilith 1.6
79 hollow 1.36 # @ECLASS-VARIABLE: APACHE_VHOSTS_CONFDIR
80 hollow 1.35 # @DESCRIPTION:
81 hollow 1.40 # Path where virtual host configuration files are kept.
82     # This variable is set by the want/need_apache functions.
83 urilith 1.6
84 hollow 1.36 # @ECLASS-VARIABLE: APACHE_MODULESDIR
85 hollow 1.35 # @DESCRIPTION:
86 hollow 1.40 # Path where we install modules.
87     # This variable is set by the want/need_apache functions.
88 urilith 1.6
89 hollow 1.37 # @ECLASS-VARIABLE: APACHE_DEPEND
90     # @DESCRIPTION:
91     # Dependencies for Apache
92     APACHE_DEPEND="www-servers/apache"
93    
94 hollow 1.35 # @ECLASS-VARIABLE: APACHE2_DEPEND
95     # @DESCRIPTION:
96     # Dependencies for Apache 2.x
97 phreak 1.33 APACHE2_DEPEND="=www-servers/apache-2*"
98 hollow 1.35
99     # @ECLASS-VARIABLE: APACHE2_2_DEPEND
100     # @DESCRIPTION:
101     # Dependencies for Apache 2.2.x
102 phreak 1.33 APACHE2_2_DEPEND="=www-servers/apache-2.2*"
103 vericgar 1.7
104 hollow 1.35 # ==============================================================================
105     # INTERNAL FUNCTIONS
106     # ==============================================================================
107    
108 hollow 1.37 _init_apache2() {
109 vericgar 1.28 debug-print-function $FUNCNAME $*
110 stuart 1.20
111 vericgar 1.28 # WARNING: Do not use these variables with anything that is put
112     # into the dependency cache (DEPEND/RDEPEND/etc)
113 chtekk 1.30 APACHE_VERSION="2"
114 hollow 1.36 APXS="/usr/sbin/apxs2"
115 hollow 1.38 APACHE_BIN="/usr/sbin/apache2"
116     APACHE_CTL="/usr/sbin/apache2ctl"
117     # legacy alias
118     APACHECTL="${APACHE_CTL}"
119 hollow 1.36 APACHE_BASEDIR="/usr/$(get_libdir)/apache2"
120     APACHE_CONFDIR="/etc/apache2"
121     APACHE_MODULES_CONFDIR="${APACHE_CONFDIR}/modules.d"
122     APACHE_VHOSTS_CONFDIR="${APACHE_CONFDIR}/vhosts.d"
123     APACHE_MODULESDIR="${APACHE_BASEDIR}/modules"
124 stuart 1.20 }
125    
126 hollow 1.37 _init_no_apache() {
127 vericgar 1.28 debug-print-function $FUNCNAME $*
128 chtekk 1.30 APACHE_VERSION="0"
129 stuart 1.20 }
130 vericgar 1.9
131 hollow 1.35 # ==============================================================================
132     # PUBLIC FUNCTIONS
133     # ==============================================================================
134    
135     # @FUNCTION: want_apache
136 hollow 1.40 # @USAGE: [myiuse]
137     # @DESCRIPTION:
138     # An ebuild calls this to get the dependency information for optional apache
139     # support. If the myiuse parameter is not given it defaults to apache2.
140     want_apache() {
141     debug-print-function $FUNCNAME $*
142     want_apache2 "$@"
143     }
144    
145     # @FUNCTION: want_apache2
146     # @USAGE: [myiuse]
147 hollow 1.35 # @DESCRIPTION:
148     # An ebuild calls this to get the dependency information for optional apache-2.x
149 hollow 1.40 # support. If the myiuse parameter is not given it defaults to apache2.
150 hollow 1.37 want_apache2() {
151 vericgar 1.28 debug-print-function $FUNCNAME $*
152 stuart 1.1
153 hollow 1.39 local myiuse=${1:-apache2}
154     IUSE="${IUSE} ${myiuse}"
155     DEPEND="${DEPEND} ${myiuse}? ( ${APACHE2_DEPEND} )"
156     RDEPEND="${RDEPEND} ${myiuse}? ( ${APACHE2_DEPEND} )"
157 hollow 1.35
158 hollow 1.39 if use ${myiuse} ; then
159 hollow 1.37 _init_apache2
160 hollow 1.35 else
161 hollow 1.37 _init_no_apache
162 hollow 1.35 fi
163 stuart 1.1 }
164    
165 hollow 1.40 # @FUNCTION: want_apache2_2
166     # @USAGE: [myiuse]
167 hollow 1.35 # @DESCRIPTION:
168 hollow 1.37 # An ebuild calls this to get the dependency information for optional
169 hollow 1.40 # apache-2.2.x support. If the myiuse parameter is not given it defaults to
170     # apache2.
171 hollow 1.37 want_apache2_2() {
172 vericgar 1.28 debug-print-function $FUNCNAME $*
173 stuart 1.1
174 hollow 1.39 local myiuse=${1:-apache2}
175     IUSE="${IUSE} ${myiuse}"
176     DEPEND="${DEPEND} ${myiuse}? ( ${APACHE2_2_DEPEND} )"
177     RDEPEND="${RDEPEND} ${myiuse}? ( ${APACHE2_2_DEPEND} )"
178 hollow 1.37
179 hollow 1.39 if use ${myiuse} ; then
180 hollow 1.37 _init_apache2
181     else
182     _init_no_apache
183     fi
184     }
185    
186 hollow 1.40 # @FUNCTION: need_apache
187 hollow 1.37 # @DESCRIPTION:
188 hollow 1.40 # An ebuild calls this to get the dependency information for apache.
189     need_apache() {
190 hollow 1.39 debug-print-function $FUNCNAME $*
191 hollow 1.40 need_apache2
192 stuart 1.1 }
193    
194 hollow 1.37 # @FUNCTION: need_apache2
195 hollow 1.35 # @DESCRIPTION:
196 hollow 1.40 # An ebuild calls this to get the dependency information for apache-2.x.
197 hollow 1.37 need_apache2() {
198 vericgar 1.28 debug-print-function $FUNCNAME $*
199    
200 hollow 1.37 DEPEND="${DEPEND} ${APACHE2_DEPEND}"
201     RDEPEND="${RDEPEND} ${APACHE2_DEPEND}"
202     _init_apache2
203 vericgar 1.28 }
204    
205 hollow 1.35 # @FUNCTION: need_apache2_2
206     # @DESCRIPTION:
207 hollow 1.40 # An ebuild calls this to get the dependency information for apache-2.2.x.
208 vericgar 1.28 need_apache2_2() {
209     debug-print-function $FUNCNAME $*
210    
211     DEPEND="${DEPEND} ${APACHE2_2_DEPEND}"
212     RDEPEND="${RDEPEND} ${APACHE2_2_DEPEND}"
213 hollow 1.37 _init_apache2
214 vericgar 1.28 }

  ViewVC Help
Powered by ViewVC 1.1.20