| 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 $ |
| 5 | ECLASS=apache-module |
|
|
| 6 | INHERITED="$INHERITED $ECLASS" |
|
|
| 7 | |
5 | |
| 8 | inherit depend.apache |
6 | inherit 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 | #### |
| 171 | apache1_src_install() { |
169 | apache1_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) |
| … | |
… | |
| 233 | apache2_pkg_setup() { |
231 | apache2_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 | ## |