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

Diff of /eclass/apache-module.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.4 Revision 1.12
1# Copyright 2004 Gentoo Foundation 1# Copyright 2004 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License, v2 or later 2# Distributed under the terms of the GNU General Public License, v2 or later
3# Author Michael Tindal <urilith@gentoo.org> 3# Author Michael Tindal <urilith@gentoo.org>
4# $Header: /var/cvsroot/gentoo-x86/eclass/apache-module.eclass,v 1.4 2005/02/21 01:35:40 vericgar Exp $ 4# $Header: /var/cvsroot/gentoo-x86/eclass/apache-module.eclass,v 1.12 2005/07/11 15:08:06 swegener Exp $
5ECLASS=apache-module
6INHERITED="$INHERITED $ECLASS"
7 5
8inherit depend.apache 6inherit depend.apache
9 7
10# This eclass provides a common set of functions for Apache modules. 8# This eclass provides a common set of functions for Apache modules.
11 9
162## This installs the files into apache's directories. The module is installed 160## This installs the files into apache's directories. The module is installed
163## from a directory chosen as above (APXS2_S or ${S}/src). In addition, 161## from a directory chosen as above (APXS2_S or ${S}/src). In addition,
164## this function can also set the executable permission on files listed in EXECFILES. 162## this function can also set the executable permission on files listed in EXECFILES.
165## The configuration file name is listed in APACHE1_MOD_CONF without the .conf extensions, 163## The configuration file name is listed in APACHE1_MOD_CONF without the .conf extensions,
166## so if you configuration is 55_mod_foo.conf, APACHE1_MOD_CONF would be 55_mod_foo. 164## so if you configuration is 55_mod_foo.conf, APACHE1_MOD_CONF would be 55_mod_foo.
167## DOCFILES contains the list of files you want filed as documentation. The name of the 165## DOCFILES contains the list of files you want filed as documentation. The name of the
168## module can also be specified using the APACHE1_MOD_FILE or defaults to 166## module can also be specified using the APACHE1_MOD_FILE or defaults to
169## .libs/${PN}.so. 167## .libs/${PN}.so.
170#### 168####
171apache1_src_install() { 169apache1_src_install() {
172 debug-print-function apache1_src_install 170 debug-print-function apache1_src_install
173 171
174 CD_DIR=$(apache_cd_dir) 172 CD_DIR=$(apache_cd_dir)
175 cd ${CD_DIR} || die "cd ${CD_DIR} failed" 173 cd ${CD_DIR} || die "cd ${CD_DIR} failed"
176 174
177 MOD_FILE=$(apache_mod_file) 175 MOD_FILE=$(apache_mod_file)
178 176
179 exeinto ${APACHE1_MODULESDIR} 177 exeinto ${APACHE1_MODULESDIR}
180 doexe ${MOD_FILE} || die "internal ebuild error: \'${MOD_FILE}\' not found" 178 doexe ${MOD_FILE} || die "internal ebuild error: '${MOD_FILE}' not found"
181 [ -n "${APACHE1_EXECFILES}" ] && doexe ${APACHE1_EXECFILES} 179 [ -n "${APACHE1_EXECFILES}" ] && doexe ${APACHE1_EXECFILES}
182 180
183 if [ -n "${APACHE1_MOD_CONF}" ] ; then 181 if [ -n "${APACHE1_MOD_CONF}" ] ; then
184 insinto ${APACHE1_MODULES_CONFDIR} 182 insinto ${APACHE1_MODULES_CONFDIR}
185 doins ${FILESDIR}/${APACHE1_MOD_CONF}.conf || die "internal ebuild error: \'${APACHE2_MOD_CONF}.conf\' not found." 183 doins ${FILESDIR}/${APACHE1_MOD_CONF}.conf || die "internal ebuild error: '${FILESDIR}/${APACHE1_MOD_CONF}.conf' not found."
186 fi 184 fi
187 185
188 cd ${S} 186 cd ${S}
189 187
190 if [ -n "${DOCFILES}" ] ; then 188 if [ -n "${DOCFILES}" ] ; then
191 OTHER_DOCS=$(apache_doc_magic) 189 OTHER_DOCS=$(apache_doc_magic)
192 HTML_DOCS=$(apache_doc_magic html) 190 HTML_DOCS=$(apache_doc_magic html)
233apache2_pkg_setup() { 231apache2_pkg_setup() {
234 debug-print-function apache2_pkg_setup 232 debug-print-function apache2_pkg_setup
235 233
236 if [ -n "${APACHE2_SAFE_MPMS}" ]; then 234 if [ -n "${APACHE2_SAFE_MPMS}" ]; then
237 235
238 INSTALLED_MPMS=$(ls ${ROOT}/usr/sbin/apache2.*) 236 INSTALLED_MPM="$(${ROOT}/usr/sbin/apxs2 -q MPM_NAME)"
239 237
240 for mpm in ${INSTALLED_MPMS}; do
241 # strip everything up to and including 'apache2.' from ${mpm}
242 mpm=${mpm#*apache2.}
243
244 if hasq ${mpm} ${APACHE2_SAFE_MPMS} ; then 238 if hasq ${INSTALLED_MPM} ${APACHE2_SAFE_MPMS} ; then
245 INSTALLED_MPM_SAFE="${INSTALLED_MPM_SAFE} ${mpm}" 239 INSTALLED_MPM_SAFE="yes"
246 fi 240 fi
247 done
248 241
249 if [ -z "${INSTALLED_MPM_SAFE}" ] ; then 242 if [ -z "${INSTALLED_MPM_SAFE}" ] ; then
250 eerror "The module you are trying to install (${PN})" 243 eerror "The module you are trying to install (${PN})"
251 eerror "will only work with one of the following MPMs:" 244 eerror "will only work with one of the following MPMs:"
252 eerror " ${APACHE2_SAFE_MPMS}" 245 eerror " ${APACHE2_SAFE_MPMS}"
256 fi 249 fi
257 250
258 fi 251 fi
259 252
260} 253}
261 254
262#### 255####
263## apache2_src_compile 256## apache2_src_compile
264## 257##
265## The default action is to call ${APXS2} with the value of 258## The default action is to call ${APXS2} with the value of
266## ${APXS2_ARGS}. If a module requires a different build setup 259## ${APXS2_ARGS}. If a module requires a different build setup
292 cd ${CD_DIR} || die "cd ${CD_DIR} failed" 285 cd ${CD_DIR} || die "cd ${CD_DIR} failed"
293 286
294 MOD_FILE=$(apache_mod_file) 287 MOD_FILE=$(apache_mod_file)
295 288
296 exeinto ${APACHE2_MODULESDIR} 289 exeinto ${APACHE2_MODULESDIR}
297 doexe ${MOD_FILE} || die "internal ebuild error: \'${MOD_FILE}\' not found" 290 doexe ${MOD_FILE} || die "internal ebuild error: '${MOD_FILE}' not found"
298 [ -n "${APACHE2_EXECFILES}" ] && doexe ${APACHE2_EXECFILES} 291 [ -n "${APACHE2_EXECFILES}" ] && doexe ${APACHE2_EXECFILES}
299 292
300 if [ -n "${APACHE2_MOD_CONF}" ] ; then 293 if [ -n "${APACHE2_MOD_CONF}" ] ; then
301 insinto ${APACHE2_MODULES_CONFDIR} 294 insinto ${APACHE2_MODULES_CONFDIR}
302 doins ${FILESDIR}/${APACHE2_MOD_CONF}.conf || die "internal ebuild error: \'${APACHE2_MOD_CONF}.conf\' not found." 295 doins ${FILESDIR}/${APACHE2_MOD_CONF}.conf || die "internal ebuild error: '${FILESDIR}/${APACHE2_MOD_CONF}.conf' not found."
303 fi 296 fi
304 297
305 if [ -n "${APACHE2_VHOSTFILE}" ]; then 298 if [ -n "${APACHE2_VHOSTFILE}" ]; then
306 insinto ${APACHE2_MODULES_VHOSTDIR} 299 insinto ${APACHE2_MODULES_VHOSTDIR}
307 doins ${FILESDIR}/${APACHE2_VHOSTFILE}.conf 300 doins ${FILESDIR}/${APACHE2_VHOSTFILE}.conf
335 einfo 328 einfo
336 fi 329 fi
337 330
338 if [ -n "${APACHE2_SAFE_MPMS}" ]; then 331 if [ -n "${APACHE2_SAFE_MPMS}" ]; then
339 332
340 INSTALLED_MPMS=$(ls ${ROOT}/usr/sbin/apache2.*) 333 INSTALLED_MPM="$(${ROOT}/usr/sbin/apxs2 -q MPM_NAME)"
341 334
342 for mpm in ${INSTALLED_MPMS}; do
343 # strip everything up to and including 'apache2.' from ${mpm}
344 mpm=${mpm#*apache2.}
345
346 if ! hasq ${mpm} ${APACHE2_SAFE_MPMS} ; then 335 if ! hasq ${INSTALLED_MPM} ${APACHE2_SAFE_MPMS} ; then
347 INSTALLED_MPM_UNSAFE="${INSTALLED_MPM_UNSAFE} ${mpm}" 336 INSTALLED_MPM_UNSAFE="${INSTALLED_MPM_UNSAFE} ${mpm}"
348 else 337 else
349 INSTALLED_MPM_SAFE="${INSTALLED_MPM_SAFE} ${mpm}" 338 INSTALLED_MPM_SAFE="${INSTALLED_MPM_SAFE} ${mpm}"
350 fi 339 fi
351 done
352 340
353 if [ -n "${INSTALLED_MPM_UNSAFE}" ] ; then 341 if [ -n "${INSTALLED_MPM_UNSAFE}" ] ; then
354 ewarn "You have one or more MPMs installed that will not work with" 342 ewarn "You have one or more MPMs installed that will not work with"
355 ewarn "this module (${PN}). Please make sure that you only enable" 343 ewarn "this module (${PN}). Please make sure that you only enable"
356 ewarn "this module if you are using one of the following MPMs:" 344 ewarn "this module if you are using one of the following MPMs:"
357 ewarn " ${INSTALLED_MPM_SAFE}" 345 ewarn " ${INSTALLED_MPM_SAFE}"
358 fi 346 fi
359 347
360 fi 348 fi
361 349
362
363} 350}
364 351
365###### 352######
366## Apache dual (1.x or 2.x) ebuild functions 353## Apache dual (1.x or 2.x) ebuild functions
367## 354##

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.12

  ViewVC Help
Powered by ViewVC 1.1.20