/[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.1.1.1 Revision 1.3
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.1.1.1 2005/11/30 09:59:23 chriswhite Exp $ 4# $Header: /var/cvsroot/gentoo-x86/eclass/apache-module.eclass,v 1.3 2005/01/21 08:06:38 vericgar Exp $
5ECLASS=apache-module
6INHERITED="$INHERITED $ECLASS"
5 7
6inherit depend.apache 8inherit depend.apache
7 9
8# This eclass provides a common set of functions for Apache modules. 10# This eclass provides a common set of functions for Apache modules.
9 11
160## This installs the files into apache's directories. The module is installed 162## This installs the files into apache's directories. The module is installed
161## from a directory chosen as above (APXS2_S or ${S}/src). In addition, 163## from a directory chosen as above (APXS2_S or ${S}/src). In addition,
162## this function can also set the executable permission on files listed in EXECFILES. 164## this function can also set the executable permission on files listed in EXECFILES.
163## The configuration file name is listed in APACHE1_MOD_CONF without the .conf extensions, 165## The configuration file name is listed in APACHE1_MOD_CONF without the .conf extensions,
164## so if you configuration is 55_mod_foo.conf, APACHE1_MOD_CONF would be 55_mod_foo. 166## so if you configuration is 55_mod_foo.conf, APACHE1_MOD_CONF would be 55_mod_foo.
165## DOCFILES contains the list of files you want filed as documentation. The name of the 167## DOCFILES contains the list of files you want filed as documentation. The name of the
166## module can also be specified using the APACHE1_MOD_FILE or defaults to 168## module can also be specified using the APACHE1_MOD_FILE or defaults to
167## .libs/${PN}.so. 169## .libs/${PN}.so.
168#### 170####
169apache1_src_install() { 171apache1_src_install() {
170 debug-print-function apache1_src_install 172 debug-print-function apache1_src_install
171 173
172 CD_DIR=$(apache_cd_dir) 174 CD_DIR=$(apache_cd_dir)
173 cd ${CD_DIR} || die "cd ${CD_DIR} failed" 175 cd ${CD_DIR} || die "cd ${CD_DIR} failed"
174 176
175 MOD_FILE=$(apache_mod_file) 177 MOD_FILE=$(apache_mod_file)
176 178
177 exeinto ${APACHE1_MODULESDIR} 179 exeinto ${APACHE1_MODULESDIR}
178 doexe ${MOD_FILE} || die "internal ebuild error: '${MOD_FILE}' not found" 180 doexe ${MOD_FILE} || die "internal ebuild error: \'${MOD_FILE}\' not found"
179 [ -n "${APACHE1_EXECFILES}" ] && doexe ${APACHE1_EXECFILES} 181 [ -n "${APACHE1_EXECFILES}" ] && doexe ${APACHE1_EXECFILES}
180 182
181 if [ -n "${APACHE1_MOD_CONF}" ] ; then 183 if [ -n "${APACHE1_MOD_CONF}" ] ; then
182 insinto ${APACHE1_MODULES_CONFDIR} 184 insinto ${APACHE1_MODULES_CONFDIR}
183 doins ${FILESDIR}/${APACHE1_MOD_CONF}.conf || die "internal ebuild error: '${FILESDIR}/${APACHE1_MOD_CONF}.conf' not found." 185 doins ${FILESDIR}/${APACHE1_MOD_CONF}.conf || die "internal ebuild error: \'${APACHE2_MOD_CONF}.conf\' not found."
184 fi 186 fi
185 187
186 cd ${S} 188 cd ${S}
187 189
188 if [ -n "${DOCFILES}" ] ; then 190 if [ -n "${DOCFILES}" ] ; then
189 OTHER_DOCS=$(apache_doc_magic) 191 OTHER_DOCS=$(apache_doc_magic)
190 HTML_DOCS=$(apache_doc_magic html) 192 HTML_DOCS=$(apache_doc_magic html)
229## know they need prefork, and then exit the build. 231## know they need prefork, and then exit the build.
230#### 232####
231apache2_pkg_setup() { 233apache2_pkg_setup() {
232 debug-print-function apache2_pkg_setup 234 debug-print-function apache2_pkg_setup
233 235
234 if [ -n "${APACHE2_SAFE_MPMS}" ]; then 236 if [ -n "${APACHE2_MT_UNSAFEE}" ]; then
237 if [ "x${APACHE2_MT_UNSAFE}" != "no" ]; then
238 APACHE2_MPM_STYLE=`/usr/sbin/apxs2 -q MPM_NAME`
239 if [ "x$APACHE2_MPM_STYLE" != "xprefork" ]; then
240 eerror "You currently have Apache configured to use the."
241 eerror "$APACHE2_MPM_STYLE MPM style. The module you are"
242 eerror "trying to install is not currently thread-safe,"
243 eerror "and will not work under your current configuraiton."
244 echo
245 eerror "If you still want to use the module, please reinstall"
246 eerror "Apache with mpm-prefork set."
235 247
236 INSTALLED_MPM="$(${ROOT}/usr/sbin/apxs2 -q MPM_NAME)" 248 epause
237 249 ebeep
238 if hasq ${INSTALLED_MPM} ${APACHE2_SAFE_MPMS} ; then 250 die Invalid Apache MPM style.
239 INSTALLED_MPM_SAFE="yes" 251 fi
240 fi 252 fi
241
242 if [ -z "${INSTALLED_MPM_SAFE}" ] ; then
243 eerror "The module you are trying to install (${PN})"
244 eerror "will only work with one of the following MPMs:"
245 eerror " ${APACHE2_SAFE_MPMS}"
246 eerror "You do not currently have any of these MPMs installed."
247 eerror "Please re-install apache with the correct mpm-* USE flag set."
248 die "No safe MPM installed."
249 fi 253 fi
250
251 fi
252
253} 254}
254 255
255#### 256####
256## apache2_src_compile 257## apache2_src_compile
257## 258##
258## The default action is to call ${APXS2} with the value of 259## The default action is to call ${APXS2} with the value of
259## ${APXS2_ARGS}. If a module requires a different build setup 260## ${APXS2_ARGS}. If a module requires a different build setup
285 cd ${CD_DIR} || die "cd ${CD_DIR} failed" 286 cd ${CD_DIR} || die "cd ${CD_DIR} failed"
286 287
287 MOD_FILE=$(apache_mod_file) 288 MOD_FILE=$(apache_mod_file)
288 289
289 exeinto ${APACHE2_MODULESDIR} 290 exeinto ${APACHE2_MODULESDIR}
290 doexe ${MOD_FILE} || die "internal ebuild error: '${MOD_FILE}' not found" 291 doexe ${MOD_FILE} || die "internal ebuild error: \'${MOD_FILE}\' not found"
291 [ -n "${APACHE2_EXECFILES}" ] && doexe ${APACHE2_EXECFILES} 292 [ -n "${APACHE2_EXECFILES}" ] && doexe ${APACHE2_EXECFILES}
292 293
293 if [ -n "${APACHE2_MOD_CONF}" ] ; then 294 if [ -n "${APACHE2_MOD_CONF}" ] ; then
294 insinto ${APACHE2_MODULES_CONFDIR} 295 insinto ${APACHE2_MODULES_CONFDIR}
295 doins ${FILESDIR}/${APACHE2_MOD_CONF}.conf || die "internal ebuild error: '${FILESDIR}/${APACHE2_MOD_CONF}.conf' not found." 296 doins ${FILESDIR}/${APACHE2_MOD_CONF}.conf || die "internal ebuild error: \'${APACHE2_MOD_CONF}.conf\' not found."
296 fi 297 fi
297 298
298 if [ -n "${APACHE2_VHOSTFILE}" ]; then 299 if [ -n "${APACHE2_VHOSTFILE}" ]; then
299 insinto ${APACHE2_VHOSTDIR} 300 insinto ${APACHE2_MODULES_VHOSTDIR}
300 doins ${FILESDIR}/${APACHE2_VHOSTFILE}.conf 301 doins ${FILESDIR}/${APACHE2_VHOSTFILE}.conf
301 fi 302 fi
302 303
303 cd ${S} 304 cd ${S}
304 305
325 einfo "Configuration file installed as" 326 einfo "Configuration file installed as"
326 einfo " ${APACHE2_MODULES_CONFDIR}/$(basename ${APACHE2_MOD_CONF}).conf" 327 einfo " ${APACHE2_MODULES_CONFDIR}/$(basename ${APACHE2_MOD_CONF}).conf"
327 einfo "You may want to edit it before turning the module on in /etc/conf.d/apache2" 328 einfo "You may want to edit it before turning the module on in /etc/conf.d/apache2"
328 einfo 329 einfo
329 fi 330 fi
330
331 if [ -n "${APACHE2_SAFE_MPMS}" ]; then
332
333 INSTALLED_MPM="$(${ROOT}/usr/sbin/apxs2 -q MPM_NAME)"
334
335 if ! hasq ${INSTALLED_MPM} ${APACHE2_SAFE_MPMS} ; then
336 INSTALLED_MPM_UNSAFE="${INSTALLED_MPM_UNSAFE} ${mpm}"
337 else
338 INSTALLED_MPM_SAFE="${INSTALLED_MPM_SAFE} ${mpm}"
339 fi
340
341 if [ -n "${INSTALLED_MPM_UNSAFE}" ] ; then
342 ewarn "You have one or more MPMs installed that will not work with"
343 ewarn "this module (${PN}). Please make sure that you only enable"
344 ewarn "this module if you are using one of the following MPMs:"
345 ewarn " ${INSTALLED_MPM_SAFE}"
346 fi
347
348 fi
349
350} 331}
351 332
352###### 333######
353## Apache dual (1.x or 2.x) ebuild functions 334## Apache dual (1.x or 2.x) ebuild functions
354## 335##

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.20