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

Contents of /eclass/apache-2.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations) (download)
Sat Dec 15 14:00:19 2007 UTC (6 years, 10 months ago) by hollow
Branch: MAIN
Changes since 1.2: +39 -13 lines
fix #202376; add a check for critical modules; support local IUSE in apache ebuilds

1 hollow 1.1 # Copyright 1999-2007 Gentoo Foundation
2     # Distributed under the terms of the GNU General Public License v2
3 hollow 1.3 # $Header: /var/cvsroot/gentoo-x86/eclass/apache-2.eclass,v 1.2 2007/11/29 18:43:31 hollow Exp $
4 hollow 1.1
5     # @ECLASS: apache-2
6     # @MAINTAINER: apache-devs@gentoo.org
7     # @BLURB: Provides a common set of functions for >=apache-2.2* ebuilds
8     # @DESCRIPTION:
9     # This eclass handles common apache ebuild functions in a sane way and providing
10     # information about where certain interfaces are located such as LoadModule
11     # generation and inter-module dependency checking.
12    
13     inherit depend.apache eutils flag-o-matic multilib autotools
14    
15     # ==============================================================================
16     # INTERNAL VARIABLES
17     # ==============================================================================
18    
19     # @ECLASS-VARIABLE: GENTOO_PATCHNAME
20     # @DESCRIPTION:
21     # This internal variable contains the prefix for the patch tarball
22     GENTOO_PATCHNAME="gentoo-${PF}"
23    
24     # @ECLASS-VARIABLE: GENTOO_PATCHDIR
25     # @DESCRIPTION:
26     # This internal variable contains the working directory where patches and config
27     # files are located
28     GENTOO_PATCHDIR="${WORKDIR}/${GENTOO_PATCHNAME}"
29    
30     # @ECLASS-VARIABLE: GENTOO_DEVELOPER
31     # @DESCRIPTION:
32     # This variable needs to be set in the ebuild and contains the name of the
33     # gentoo developer who created the patch tarball
34    
35     # @ECLASS-VARIABLE: GENTOO_PATCHSTAMP
36     # @DESCRIPTION:
37     # This variable needs to be set in the ebuild and contains the date the patch
38     # tarball was created at in YYMMDD format
39    
40     SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2
41     http://dev.gentoo.org/~${GENTOO_DEVELOPER}/dist/apache/${GENTOO_PATCHNAME}-${GENTOO_PATCHSTAMP}.tar.bz2"
42    
43     # @ECLASS-VARIABLE: IUSE_MPMS_FORK
44     # @DESCRIPTION:
45     # This variable needs to be set in the ebuild and contains a list of forking
46     # (i.e. non-threaded) MPMS
47    
48     # @ECLASS-VARIABLE: IUSE_MPMS_THREAD
49     # @DESCRIPTION:
50     # This variable needs to be set in the ebuild and contains a list of threaded
51     # MPMS
52    
53     # @ECLASS-VARIABLE: IUSE_MODULES
54     # @DESCRIPTION:
55     # This variable needs to be set in the ebuild and contains a list of available
56     # built-in modules
57    
58     IUSE_MPMS="${IUSE_MPMS_FORK} ${IUSE_MPMS_THREAD}"
59 hollow 1.3 IUSE="${IUSE} debug doc ldap selinux ssl static suexec threads"
60 hollow 1.1
61     for module in ${IUSE_MODULES} ; do
62     IUSE="${IUSE} apache2_modules_${module}"
63     done
64    
65     for mpm in ${IUSE_MPMS} ; do
66     IUSE="${IUSE} apache2_mpms_${mpm}"
67     done
68    
69     DEPEND="dev-lang/perl
70     =dev-libs/apr-1*
71     =dev-libs/apr-util-1*
72     dev-libs/libpcre
73     ldap? ( =net-nds/openldap-2* )
74     selinux? ( sec-policy/selinux-apache )
75     ssl? ( dev-libs/openssl )
76     !=www-servers/apache-1*"
77     RDEPEND="${DEPEND}"
78     PDEPEND="~app-admin/apache-tools-${PV}"
79    
80     S="${WORKDIR}/httpd-${PV}"
81    
82     # ==============================================================================
83     # INTERNAL FUNCTIONS
84     # ==============================================================================
85    
86     # @ECLASS-VARIABLE: MY_MPM
87     # DESCRIPTION:
88     # This internal variable contains the selected MPM after a call to setup_mpm()
89    
90     # @FUNCTION: setup_mpm
91     # @DESCRIPTION:
92     # This internal function makes sure that only one of APACHE2_MPMS was selected
93     # or a default based on USE=threads is selected if APACHE2_MPMS is empty
94     setup_mpm() {
95     for x in ${IUSE_MPMS} ; do
96     if use apache2_mpms_${x} ; then
97     if [[ -z "${MY_MPM}" ]] ; then
98     MY_MPM=${x}
99     elog
100     elog "Selected MPM: ${MY_MPM}"
101     elog
102     else
103     eerror "You have selected more then one mpm USE-flag."
104     eerror "Only one MPM is supported."
105     die "more then one mpm was specified"
106     fi
107     fi
108     done
109    
110     if [[ -z "${MY_MPM}" ]] ; then
111     if use threads ; then
112     MY_MPM=worker
113     elog
114     elog "Selected default threaded MPM: ${MY_MPM}"
115     elog
116     else
117     MY_MPM=prefork
118     elog
119     elog "Selected default MPM: ${MY_MPM}"
120     elog
121     fi
122     fi
123    
124     if has ${MY_MPM} ${IUSE_MPMS_THREAD} && ! use threads ; then
125     eerror "You have selected a threaded MPM but USE=threads is disabled"
126     die "invalid use flag combination"
127     fi
128    
129     if has ${MY_MPM} ${IUSE_MPMS_FORK} && use threads ; then
130     eerror "You have selected a non-threaded MPM but USE=threads is enabled"
131     die "invalid use flag combination"
132     fi
133     }
134    
135 hollow 1.3 # @ECLASS-VARIABLE: MODULE_CRITICAL
136     # @DESCRIPTION:
137     # This variable needs to be set in the ebuild and contains a space-separated
138     # list of modules critical for the default apache. A user may still
139     # disable these modules for custom minimal installation at their own risk.
140    
141     # @FUNCTION: check_module_critical
142     # @DESCRIPTION:
143     # This internal function warns the user about modules critical for the default
144     # apache configuration.
145     check_module_critical() {
146     local unsupported=0
147    
148     for m in ${MODULE_CRITICAL} ; do
149     if ! has ${m} ${MY_MODS} ; then
150     ewarn "Module '${m}' is required in the default apache configuration."
151     unsupported=1
152     fi
153     done
154    
155     if [[ ${unsupported} -ne 0 ]] ; then
156     ewarn
157     ewarn "You have disabled one or more required modules"
158     ewarn "for the default apache configuration."
159     ewarn "Although this is not an error, please be"
160     ewarn "aware that this setup is UNSUPPORTED."
161     ewarn
162     ebeep 10
163     fi
164     }
165    
166 hollow 1.1 # @ECLASS-VARIABLE: MODULE_DEPENDS
167     # @DESCRIPTION:
168     # This variable needs to be set in the ebuild and contains a space-separated
169     # list of dependency tokens each with a module and the module it depends on
170     # separated by a colon
171    
172     # @FUNCTION: check_module_depends
173     # @DESCRIPTION:
174     # This internal function makes sure that all inter-module dependencies are
175     # satisfied with the current module selection
176     check_module_depends() {
177     local err=0
178    
179     for m in ${MY_MODS} ; do
180     for dep in ${MODULE_DEPENDS} ; do
181     if [[ "${m}" == "${dep%:*}" ]]; then
182     if ! use apache2_modules_${dep#*:} ; then
183     eerror "Module '${m}' depends on '${dep#*:}'"
184     err=1
185     fi
186     fi
187     done
188     done
189    
190     if [[ ${err} -ne 0 ]] ; then
191     die "invalid use flag combination"
192     fi
193     }
194    
195     # @ECLASS-VARIABLE: MY_CONF
196     # DESCRIPTION:
197     # This internal variable contains the econf options for the current module
198     # selection after a call to setup_modules()
199    
200     # @ECLASS-VARIABLE: MY_MODS
201     # DESCRIPTION:
202     # This internal variable contains a sorted, space separated list of currently
203     # selected modules after a call to setup_modules()
204    
205     # @FUNCTION: setup_modules
206     # @DESCRIPTION:
207     # This internal function selects all built-in modules based on USE flags and
208     # APACHE2_MODULES USE_EXPAND flags
209     setup_modules() {
210     local mod_type=
211    
212     if use static ; then
213     mod_type="static"
214     else
215     mod_type="shared"
216     fi
217    
218     MY_CONF="--enable-so=static"
219    
220     if use ldap ; then
221     if ! built_with_use 'dev-libs/apr-util' ldap ; then
222     eerror "dev-libs/apr-util is missing LDAP support. For apache to have"
223     eerror "ldap support, apr-util must be built with the ldap USE-flag"
224     eerror "enabled."
225     die "ldap USE-flag enabled while not supported in apr-util"
226     fi
227     MY_CONF="${MY_CONF} --enable-authnz_ldap=${mod_type} --enable-ldap=${mod_type}"
228     MY_MODS="${MY_MODS} ldap authnz_ldap"
229     else
230     MY_CONF="${MY_CONF} --disable-authnz_ldap --disable-ldap"
231     fi
232    
233     if use ssl ; then
234     MY_CONF="${MY_CONF} --with-ssl=/usr --enable-ssl=${mod_type}"
235     MY_MODS="${MY_MODS} ssl"
236     else
237     MY_CONF="${MY_CONF} --without-ssl --disable-ssl"
238     fi
239    
240     if use threads || has ${MY_MPM} ${IUSE_MPMS_THREAD} ; then
241     MY_CONF="${MY_CONF} --enable-cgid=${mod_type}"
242     MY_MODS="${MY_MODS} cgid"
243     else
244     MY_CONF="${MY_CONF} --enable-cgi=${mod_type}"
245     MY_MODS="${MY_MODS} cgi"
246     fi
247    
248     if use suexec ; then
249     elog "You can manipulate several configure options of suexec"
250     elog "through the following environment variables:"
251     elog
252     elog " SUEXEC_SAFEPATH: Default PATH for suexec (default: /usr/local/bin:/usr/bin:/bin)"
253     elog " SUEXEC_LOGFILE: Path to the suexec logfile (default: /var/log/apache2/suexec_log)"
254     elog " SUEXEC_CALLER: Name of the user Apache is running as (default: apache)"
255     elog " SUEXEC_DOCROOT: Directory in which suexec will run scripts (default: /var/www)"
256     elog " SUEXEC_MINUID: Minimum UID, which is allowed to run scripts via suexec (default: 1000)"
257     elog " SUEXEC_MINGID: Minimum GID, which is allowed to run scripts via suexec (default: 100)"
258     elog " SUEXEC_USERDIR: User subdirectories (like /home/user/html) (default: public_html)"
259     elog " SUEXEC_UMASK: Umask for the suexec process (default: 077)"
260     elog
261    
262     MY_CONF="${MY_CONF} --with-suexec-safepath=${SUEXEC_SAFEPATH:-/usr/local/bin:/usr/bin:/bin}"
263     MY_CONF="${MY_CONF} --with-suexec-logfile=${SUEXEC_LOGFILE:-/var/log/apache2/suexec_log}"
264     MY_CONF="${MY_CONF} --with-suexec-bin=/usr/sbin/suexec"
265     MY_CONF="${MY_CONF} --with-suexec-userdir=${SUEXEC_USERDIR:-public_html}"
266     MY_CONF="${MY_CONF} --with-suexec-caller=${SUEXEC_CALLER:-apache}"
267     MY_CONF="${MY_CONF} --with-suexec-docroot=${SUEXEC_DOCROOT:-/var/www}"
268     MY_CONF="${MY_CONF} --with-suexec-uidmin=${SUEXEC_MINUID:-1000}"
269     MY_CONF="${MY_CONF} --with-suexec-gidmin=${SUEXEC_MINGID:-100}"
270     MY_CONF="${MY_CONF} --with-suexec-umask=${SUEXEC_UMASK:-077}"
271     MY_CONF="${MY_CONF} --enable-suexec=${mod_type}"
272     MY_MODS="${MY_MODS} suexec"
273     else
274     MY_CONF="${MY_CONF} --disable-suexec"
275     fi
276    
277     for x in ${IUSE_MODULES} ; do
278     if use apache2_modules_${x} ; then
279     MY_CONF="${MY_CONF} --enable-${x}=${mod_type}"
280     MY_MODS="${MY_MODS} ${x}"
281     else
282     MY_CONF="${MY_CONF} --disable-${x}"
283     fi
284     done
285    
286     # sort and uniquify MY_MODS
287     MY_MODS=$(echo ${MY_MODS} | tr ' ' '\n' | sort -u)
288     check_module_depends
289 hollow 1.3 check_module_critical
290 hollow 1.1 }
291    
292     # @ECLASS-VARIABLE: MODULE_DEFINES
293     # @DESCRIPTION:
294     # This variable needs to be set in the ebuild and contains a space-separated
295     # list of tokens each mapping a module to a runtime define which can be
296     # specified in APACHE2_OPTS in /etc/conf.d/apache2 to enable this particular
297     # module.
298    
299     # @FUNCTION: generate_load_module
300     # @DESCRIPTION:
301     # This internal function generates the LoadModule lines for httpd.conf based on
302     # the current module selection and MODULE_DEFINES
303     generate_load_module() {
304     local endit=0 mod_lines= mod_dir="${D}${APACHE2_MODULESDIR}"
305    
306     if use static; then
307     sed -i -e "/%%LOAD_MODULE%%/d" \
308     "${GENTOO_PATCHDIR}"/conf/httpd.conf
309     return
310     fi
311    
312     for m in ${MY_MODS} ; do
313     if [[ -e "${mod_dir}/mod_${m}.so" ]] ; then
314     for def in ${MODULE_DEFINES} ; do
315     if [[ "${m}" == "${def%:*}" ]] ; then
316     mod_lines="${mod_lines}\n<IfDefine ${def#*:}>"
317     endit=1
318     fi
319     done
320    
321     mod_lines="${mod_lines}\nLoadModule ${m}_module modules/mod_${m}.so"
322    
323     if [[ ${endit} -ne 0 ]] ; then
324     mod_lines="${mod_lines}\n</IfDefine>"
325     endit=0
326     fi
327     fi
328     done
329    
330     sed -i -e "s:%%LOAD_MODULE%%:${mod_lines}:" \
331     "${GENTOO_PATCHDIR}"/conf/httpd.conf
332     }
333    
334     # @FUNCTION: check_upgrade
335     # @DESCRIPTION:
336     # This internal function checks if the previous configuration file for built-in
337     # modules exists in ROOT and prevents upgrade in this case. Users are supposed
338     # to convert this file to the new APACHE2_MODULES USE_EXPAND variable and remove
339     # it afterwards.
340     check_upgrade() {
341     if [[ -e "${ROOT}"etc/apache2/apache2-builtin-mods ]]; then
342     eerror "The previous configuration file for built-in modules"
343     eerror "(${ROOT}etc/apache2/apache2-builtin-mods) exists on your"
344     eerror "system."
345     eerror
346 hollow 1.2 eerror "Please read http://www.gentoo.org/doc/en/apache-upgrading.xml"
347 hollow 1.1 eerror "for detailed information how to convert this file to the new"
348     eerror "APACHE2_MODULES USE_EXPAND variable."
349     eerror
350     die "upgrade not possible with existing ${ROOT}etc/apache2/apache2-builtin-mods"
351     fi
352     }
353    
354     # ==============================================================================
355     # EXPORTED FUNCTIONS
356     # ==============================================================================
357    
358     # @FUNCTION: apache-2_pkg_setup
359     # @DESCRIPTION:
360     # This function selects built-in modules, the MPM and other configure options,
361     # creates the apache user and group and informs about CONFIG_SYSVIPC being
362     # needed (we don't depend on kernel sources and therefore cannot check).
363     apache-2_pkg_setup() {
364     check_upgrade
365    
366     setup_mpm
367     setup_modules
368    
369     if use debug; then
370     MY_CONF="${MY_CONF} --enable-maintainer-mode --enable-exception-hook"
371     fi
372    
373     # setup apache user and group
374     enewgroup apache 81
375     enewuser apache 81 -1 /var/www apache
376    
377     elog "Please note that you need SysV IPC support in your kernel."
378     elog "Make sure CONFIG_SYSVIPC=y is set."
379     elog
380     }
381    
382     # @FUNCTION: apache-2_src_unpack
383     # @DESCRIPTION:
384     # This function applies patches, configures a custom file-system layout and
385 hollow 1.3 # rebuilds the configure scripts.
386 hollow 1.1 apache-2_src_unpack() {
387     unpack ${A}
388     cd "${S}"
389    
390     # Use correct multilib libdir in gentoo patches
391     sed -i -e "s:/usr/lib:/usr/$(get_libdir):g" \
392     "${GENTOO_PATCHDIR}"/{conf/httpd.conf,init/*,patches/config.layout} \
393     || die "libdir sed failed"
394    
395     epatch "${GENTOO_PATCHDIR}"/patches/*.patch
396    
397     # setup the filesystem layout config
398     cat "${GENTOO_PATCHDIR}"/patches/config.layout >> "${S}"/config.layout || \
399     die "Failed preparing config.layout!"
400     sed -i -e "s:version:${PF}:g" "${S}"/config.layout
401    
402 hollow 1.3 # apache2.8 instead of httpd.8 (bug #194828)
403     mv docs/man/{httpd,apache2}.8
404     sed -i -e 's/httpd\.8/apache2.8/g' Makefile.in
405    
406 hollow 1.1 # patched-in MPMs need the build environment rebuilt
407     sed -i -e '/sinclude/d' configure.in
408     AT_GNUCONF_UPDATE=yes AT_M4DIR=build eautoreconf
409     }
410    
411     # @FUNCTION: apache-2_src_compile
412     # @DESCRIPTION:
413     # This function adds compiler flags and runs econf and emake based on MY_MPM and
414     # MY_CONF
415     apache-2_src_compile() {
416     # Instead of filtering --as-needed (bug #128505), append --no-as-needed
417     # Thanks to Harald van Dijk
418     append-ldflags -Wl,--no-as-needed
419    
420     # peruser MPM debugging with -X is nearly impossible
421     if has peruser ${IUSE_MPMS} && use apache2_mpms_peruser ; then
422     use debug && append-flags -DMPM_PERUSER_DEBUG
423     fi
424    
425     # econf overwrites the stuff from config.layout, so we have to put them into
426     # our myconf line too
427     econf \
428     --includedir=/usr/include/apache2 \
429     --libexecdir=/usr/$(get_libdir)/apache2/modules \
430     --datadir=/var/www/localhost \
431     --sysconfdir=/etc/apache2 \
432     --localstatedir=/var \
433     --with-mpm=${MY_MPM} \
434     --with-perl=/usr/bin/perl \
435     --with-apr=/usr \
436     --with-apr-util=/usr \
437     --with-pcre=/usr \
438     --with-z=/usr \
439     --with-port=80 \
440     --with-program-name=apache2 \
441     --enable-layout=Gentoo \
442     ${MY_CONF} || die "econf failed!"
443    
444     sed -i -e 's:apache2\.conf:httpd.conf:' include/ap_config_auto.h
445    
446     emake || die "emake failed"
447     }
448    
449     # @FUNCTION: apache-2_src_install
450     # @DESCRIPTION:
451     # This function runs emake install and generates, install and adapts the gentoo
452     # specific configuration files found in the tarball
453     apache-2_src_install() {
454     emake DESTDIR="${D}" install || die "emake install failed"
455    
456     # install our configuration files
457     keepdir /etc/apache2/vhosts.d
458     keepdir /etc/apache2/modules.d
459    
460     generate_load_module
461     insinto /etc/apache2
462     doins -r "${GENTOO_PATCHDIR}"/conf/*
463     doins docs/conf/magic
464    
465     insinto /etc/logrotate.d
466     newins "${GENTOO_PATCHDIR}"/scripts/apache2-logrotate apache2
467    
468     # generate a sane default APACHE2_OPTS
469     APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE"
470     use doc && APACHE2_OPTS="${APACHE2_OPTS} -D MANUAL"
471     use ssl && APACHE2_OPTS="${APACHE2_OPTS} -D SSL -D SSL_DEFAULT_VHOST"
472     use suexec && APACHE2_OPTS="${APACHE2_OPTS} -D SUEXEC"
473    
474     sed -i -e "s:APACHE2_OPTS=\".*\":APACHE2_OPTS=\"${APACHE2_OPTS}\":" \
475     "${GENTOO_PATCHDIR}"/init/apache2.confd || die "sed failed"
476    
477     newconfd "${GENTOO_PATCHDIR}"/init/apache2.confd apache2
478     newinitd "${GENTOO_PATCHDIR}"/init/apache2.initd apache2
479    
480     # link apache2ctl to the init script
481     dosym /etc/init.d/apache2 /usr/sbin/apache2ctl
482    
483     # provide symlinks for all the stuff we no longer rename, bug 177697
484     for i in suexec apxs; do
485     dosym /usr/sbin/${i} /usr/sbin/${i}2
486     done
487    
488     # install some thirdparty scripts
489     exeinto /usr/sbin
490     use ssl && doexe "${GENTOO_PATCHDIR}"/scripts/gentestcrt.sh
491    
492     # install some documentation
493     dodoc ABOUT_APACHE CHANGES LAYOUT README README.platforms VERSIONING
494     dodoc "${GENTOO_PATCHDIR}"/docs/*
495    
496     # drop in a convenient link to the manual
497     if use doc ; then
498     sed -i -e "s:VERSION:${PVR}:" "${D}/etc/apache2/modules.d/00_apache_manual.conf"
499     else
500     rm -f "${D}/etc/apache2/modules.d/00_apache_manual.conf"
501     rm -Rf "${D}/usr/share/doc/${PF}/manual"
502     fi
503    
504     # the default webroot gets stored in /usr/share/doc
505     ebegin "Installing default webroot to /usr/share/doc/${PF}"
506     mv -f "${D}/var/www/localhost" "${D}/usr/share/doc/${PF}/webroot"
507     eend $?
508     keepdir /var/www/localhost/htdocs
509    
510     # set some sane permissions for suexec
511     if use suexec ; then
512     fowners 0:apache /usr/sbin/suexec
513     fperms 4710 /usr/sbin/suexec
514     fi
515    
516     # empty dirs
517     for i in /var/lib/dav /var/log/apache2 /var/cache/apache2 ; do
518     keepdir ${i}
519     fowners apache:apache ${i}
520     fperms 0755 ${i}
521     done
522    
523     # we need /etc/apache2/ssl if USE=ssl
524     use ssl && keepdir /etc/apache2/ssl
525     }
526    
527     # @FUNCTION: apache-2_pkg_postinst
528     # @DESCRIPTION:
529     # This function creates test certificates if SSL is enabled and installs the
530     # default webroot if /var/www/localhost does not exist. We do this here because
531     # the default webroot is a copy of the files that exist elsewhere and we don't
532     # want them to be managed/removed by portage when apache is upgraded.
533     apache-2_pkg_postinst() {
534     if use ssl && [[ ! -e "${ROOT}/etc/apache2/ssl/server.crt" ]] ; then
535     cd "${ROOT}"/etc/apache2/ssl
536     einfo
537     einfo "Generating self-signed test certificate in ${ROOT}etc/apache2/ssl ..."
538     yes "" 2>/dev/null | \
539     "${ROOT}"/usr/sbin/gentestcrt.sh >/dev/null 2>&1 || \
540     die "gentestcrt.sh failed"
541     einfo
542     fi
543    
544     if [[ -e "${ROOT}/var/www/localhost" ]] ; then
545     elog "The default webroot has not been installed into"
546     elog "${ROOT}var/www/localhost because the directory already exists"
547     elog "and we do not want to overwrite any files you have put there."
548     elog
549     elog "If you would like to install the latest webroot, please run"
550     elog "emerge --config =${PF}"
551     elog
552     else
553     einfo "Installing default webroot to ${ROOT}var/www/localhost"
554     mkdir -p "${ROOT}"/var/www/localhost
555     cp -R "${ROOT}"/usr/share/doc/${PF}/webroot/* "${ROOT}"/var/www/localhost
556     chown -R apache:0 "${ROOT}"/var/www/localhost
557     fi
558     }
559    
560     # @FUNCTION: apache-2_pkg_config
561     # @DESCRIPTION:
562     # This function installs -- and removes a previously existing -- default webroot
563     # to /var/www/localhost
564     apache-2_pkg_config() {
565     einfo "Installing default webroot to ${ROOT}var/www/localhost"
566     mkdir "${ROOT}"var{,/www{,/localhost}}
567     cp -R "${ROOT}"usr/share/doc/${PF}/webroot/* "${ROOT}"var/www/localhost/
568     }
569    
570     EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_config

  ViewVC Help
Powered by ViewVC 1.1.20