* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/apache: apache-developer.xml index.xml
@ 2008-03-02 22:23 Joshua Saddler (nightmorph)
0 siblings, 0 replies; 2+ messages in thread
From: Joshua Saddler (nightmorph) @ 2008-03-02 22:23 UTC (permalink / raw
To: gentoo-commits
nightmorph 08/03/02 22:23:15
Modified: index.xml
Added: apache-developer.xml
Log:
moved apache-developer.xml back to their project page, with the blessings of Hollow. fixed the apache project page, too. :)
Revision Changes Path
1.5 xml/htdocs/proj/en/apache/index.xml
file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/apache/index.xml?rev=1.5&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/apache/index.xml?rev=1.5&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/apache/index.xml?r1=1.4&r2=1.5
Index: index.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/apache/index.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- index.xml 4 Jun 2007 11:04:04 -0000 1.4
+++ index.xml 2 Mar 2008 22:23:14 -0000 1.5
@@ -6,20 +6,25 @@
<project>
<name>Apache</name>
<longname>Apache herd</longname>
-<date>2007-06-04</date>
+<date>2008-03-02</date>
<description>
-The Apache herd maintains the Apache httpd server, an eclass to use the Apache build infrastructure, and many of it's modules.
+The Apache herd maintains the Apache httpd server, an eclass to use the Apache
+build infrastructure, and many of its modules.
</description>
<longdescription>
<p>
-The Apache herd is responsible for maintaining the Apache httpd server in Gentoo, and many of its modules. We also maintain a build infrastructure so that other modules may be easily added in a standard way to Apache.
+The Apache herd is responsible for maintaining the Apache httpd server in
+Gentoo, and many of its modules. We also maintain a build infrastructure so that
+other modules may be easily added in a standard way to Apache.
</p>
<note>
-We do not maintain any of the other <uri link="http://www.apache.org/">apache.org</uri> projects. Check the metadata.xml of those packages for the correct maintainer.
+We do not maintain any of the other <uri
+link="http://www.apache.org/">apache.org</uri> projects. Check the metadata.xml
+of those packages for the correct maintainer.
</note>
</longdescription>
@@ -32,7 +37,7 @@
<!-- links to documentation -->
<resource link="/doc/en/apache-upgrading.xml">Upgrading Apache</resource>
<resource link="/doc/en/apache-troubleshooting.xml">Troubleshooting Apache</resource>
-<resource link="/doc/en/apache-developer.xml">Developer Documentation</resource>
+<resource link="apache-developer.xml">Developer Documentation</resource>
<!-- herds -->
<herd name="apache" />
1.1 xml/htdocs/proj/en/apache/apache-developer.xml
file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/apache/apache-developer.xml?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/apache/apache-developer.xml?rev=1.1&content-type=text/plain
Index: apache-developer.xml
===================================================================
<?xml version='1.0' encoding="UTF-8"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/apache/apache-developer.xml,v 1.1 2008/03/02 22:23:14 nightmorph Exp $ -->
<guide link="/proj/en/apache/apache-developer.xml" lang="en">
<title>Apache Developer Documentation</title>
<author title="Author">
<mail link="vericgar@gentoo.org">Michael Stewart</mail>
</author>
<abstract>
This document provides details about the new eclasses available for developers
of packages that relate to Apache.
</abstract>
<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
<license/>
<version>2.5</version>
<date>2008-03-02</date>
<chapter>
<title>About this document</title>
<section>
<body>
<p>
This document details the <uri link="#apache-module">new eclasses</uri>, <uri
link="#changes">what we changed</uri> from the previous style of apache and
how ebuilds need to be <uri link="#ebuild-update">modified</uri> to take
advantage of our new eclasses. If you are a user looking for information on
how to upgrade, please use the <uri link="apache-upgrading.xml">Upgrading
Apache</uri> document.
</p>
</body>
</section>
</chapter>
<chapter id="changes">
<title>What Has Changed</title>
<section>
<title>Overview</title>
<body>
<p>
We have made many changes to the way Apache and its modules install and work
on Gentoo. This eases the maintenance burden and more closely follows upstream
practices. Our changes are:
</p>
<ul>
<li>Fixed many bugs</li>
<li>Changed installation and configuration paths</li>
<li>
Created <uri link="#depend-apache">depend.apache</uri> and <uri
link="#apache-module">apache-module</uri> eclasses
</li>
<li>
Combined apache.conf and commonapache.conf into one file that is very
similar to how upstream distributes it
</li>
<li>
Split <c>apr</c> and <c>apr-utils</c> out of apache so some packages no
longer require apache
</li>
<li>Updated and version bumped nearly every module</li>
<li>Made more MPMs available</li>
<li>Added lingerd support</li>
<li>Fixed large file support</li>
<li><e>Much more I'm sure I'm forgetting...</e></li>
</ul>
</body>
</section>
<section>
<title>Apache Path Locations</title>
<body>
<p>
In order to more closely follow how upstream and other distributions install
apache, the following paths have changed:
</p>
</body>
</section>
<section>
<title>Apache 2.x</title>
<body>
<table>
<tr>
<th>Use</th>
<th>Old Path</th>
<th>New Path</th>
</tr>
<tr>
<ti>Server Root</ti>
<ti><path>/etc/apache2/</path></ti>
<ti><path>/usr/lib/apache2/</path></ti>
</tr>
<tr>
<ti>Configuration Directory</ti>
<ti><path>/etc/apache2/conf/</path></ti>
<ti><path>/etc/apache2/</path></ti>
</tr>
<tr>
<ti>Configuration</ti>
<ti><path>/etc/apache2/conf/apache2.conf</path></ti>
<ti><path>/etc/apache2/httpd.conf</path></ti>
</tr>
<tr>
<ti>Configuration</ti>
<ti><path>/etc/apache2/conf/commonapache2.conf</path></ti>
<ti><path>/etc/apache2/httpd.conf</path></ti>
</tr>
<tr>
<ti>Vhosts Configuration</ti>
<ti><path>/etc/apache2/conf/vhosts/</path></ti>
<ti><path>/etc/apache2/vhosts.d/</path></ti>
</tr>
<tr>
<ti>Modules Configuration</ti>
<ti><path>/etc/apache2/conf/modules.d/</path></ti>
<ti><path>/etc/apache2/modules.d/</path></ti>
</tr>
<tr>
<ti>Module Binaries</ti>
<ti><path>/usr/lib/apache2-extramodules/</path></ti>
<ti><path>/usr/lib/apache2/modules/</path></ti>
</tr>
</table>
<note>
The default configuration now automatically includes
<path>modules.d/*.conf</path> and <path>vhosts.d/*.conf</path> by default.
However, the directive in <path>httpd.conf</path> lists the above as
<path>conf/modules.d/*.conf</path> and <path>conf/vhosts.d/*.conf</path>. This
is because Apache reads the configuration using the directory
<path>/usr/lib/apache{|2}</path> which contains a symbolic link <path>conf ->
/etc/apache{|2}</path>.
</note>
<impo>
If you are a developer updating an ebuild to work with the changes we've made,
please do not hard-code the above paths into your ebuild - see the eclass
documentation on appropriate variables you can use instead.
</impo>
</body>
</section>
</chapter>
<chapter id="ebuild-update">
<title>Ebuild Updating</title>
<section>
<body>
<p>
With our new changes, more or less every ebuild that has a dependency on Apache
needs to be modified. The Apache herd has already taken care of a great
majority of these packages, as they are responsible for them. But there remain
several that belong to other maintainers which need updating.
</p>
<p>
This chapter will guide a developer through upgrading an ebuild to use the new
eclass, using one of our more complex packages,
<c>www-apache/mod_ldap_userdir</c> as an example.
</p>
<note>
If your package isn't actually a module but just needs to know the paths Apache
uses, just <c>inherit depend.apache</c> and use the variables made available
to you in the eclass. See the <uri link="#depend-apache">depend.apache</uri>
eclass documentation.
</note>
</body>
</section>
<section>
<title>Overview of needed changes</title>
<body>
<ul>
<li>
A new revision will be needed as revisions adapted to the new eclass
are not backwards compatible with the old versions of Apache.
</li>
<li>
Be sure to set <c>KEYWORDS</c> to testing and (if the apache packages
are still hard-masked) add it to package.mask
</li>
<li>
Replace any <c>DEPEND</c> on Apache with <c>need_apache1</c> (for
Apache-1* modules), <c>need_apache2</c> (for Apache-2* modules), or
<c>need_apache</c> (for modules that can depend on either Apache-1* or
Apache-2* - determined by USE-flags)
</li>
<li>
Remove any specialized code that modifies the <c>SLOT</c> or
<c>DEPEND</c> with hacks such as <c>has_version</c>.
</li>
<li>
Check to see if the default <c>src_compile</c> in the eclass will work.
If not, set <c>APXS1_ARGS</c> and/or <c>APXS2_ARGS</c> to compile other
files as required.
</li>
<li>Generally all functions can be removed from the ebuild</li>
<li>
Modify the module configuration file to use <c>IfDefine</c>s to load and
configure the module
</li>
<li>Add any documentation files to <c>DOCFILES</c></li>
<li>
Specify the configuration file src_install should install:
<c>APACHE1_MOD_CONF</c>, <c>APACHE2_MOD_CONF</c>
</li>
<li>
Specify the <c>IfDefine</c> that the module uses in its configuration
file so pkg_postinst can give user information on how to enable the module:
<c>APACHE1_MOD_DEFINE</c>, <c>APACHE2_MOD_DEFINE</c>
</li>
<li>
Don't forget to test it - follow the upgrade instructions in this
document if you haven't already
</li>
</ul>
</body>
</section>
<section>
<title>Ebuild Globals</title>
<body>
<pre caption="Diff between mod_ldap_userdir-1.4.1 and mod_ldap_userdir-1.4.1-r1 (edited)">
+inherit apache-module
+
-IUSE="apache2 ssl"
+IUSE="ssl"
DESCRIPTION="Apache module that enables ~/public_html from an LDAP directory."
HOMEPAGE="http://horde.net/~jwm/software/mod_ldap_userdir/"
-KEYWORDS="x86 ppc"
+KEYWORDS="~x86 ~ppc"
SRC_URI="http://horde.net/~jwm/software/mod_ldap_userdir/${P}.tar.gz"
-DEPEND="=net-www/apache-1*
- apache2? ( =net-www/apache-2* )
- ssl? ( dev-libs/openssl )
- net-nds/openldap"
+DEPEND="ssl? ( dev-libs/openssl )
+ net-nds/openldap"
LICENSE="GPL-1"
SLOT="0"
+
+DOCFILES="DIRECTIVES README user-ldif posixAccount-objectclass"
+APACHE1_MOD_CONF="${PVR}/47_mod_ldap_userdir"
+APACHE2_MOD_CONF="${PVR}/47_mod_ldap_userdir"
+APACHE1_MOD_DEFINE="LDAPuserdir"
+APACHE2_MOD_DEFINE="LDAPuserdir"
+
+need_apache
</pre>
<p>
We start off with <c>inherit apache-module</c> which also inherits
<c>depend.apache</c>. <c>depend.apache</c> defines the locations Apache uses
and more importantly, defines three <c>DEPEND</c>s: <c>APACHE1_DEPEND</c> for
those packages that need Apache-1*, <c>APACHE2_DEPEND</c> for those packages
that need Apache-2*, and <c>APACHE_DEPEND</c> for those packages that need
either Apache-1* or Apache-2* and leave it to the apache2 USE-flag to
determine which.
</p>
<note>
We at this time don't support installing both versions of apache side-by-side
(although it is possible), so in turn don't support installing a single
version of a module for both versions of apache. Modules should only use a
<c>SLOT</c> other then <c>0</c> if they have multiple version lines and each
support a different version of Apache. (i.e. <path>mod_layout-3.2.1-r1</path>
has <c>SLOT="1"</c> and <path>mod_layout-4.0.1a-r1</path> has <c>SLOT="2"</c>)
</note>
<p>
<c>apache-module</c> does the heavy lifting for the module packages by
defining sane defaults for <c>pkg_setup</c>, <c>src_compile</c>,
<c>src_install</c> and <c>pkg_postinst</c>.
</p>
<p>
As <c>depend.apache</c> adds <c>apache2</c> to IUSE if necessary, you no longer
need to explicitly define it in the ebuild's IUSE. You should however leave it
defined if you use that use-flag in your ebuild somewhere.
</p>
<p>
<c>depend.apache</c> handles adding the correct Apache DEPEND to your DEPEND
(if you call one of the <c>need_apache{|1|2}</c> functions) so you can remove
the apache DEPEND handling in your ebuild.
</p>
<p>
<c>DOCFILES</c> is used by the <c>src_install</c> in <c>apache-modules</c> to
install all the documentation. <c>src_install</c> automatically detects html
files and other files and uses either <c>dodoc</c> or <c>dohtml</c> to install
them to their correct locations.
</p>
<p>
<c>APACHE1_MOD_CONF</c> and <c>APACHE2_MOD_CONF</c> define the configuration
file to install for the module. This is used during <c>src_install</c> so they
may be relative to whatever you set <c>APXS1_S</c> or <c>APXS2_S</c> to
(defaults to <c>${S}/src</c> if it's a directory or just <c>${S}</c>).
</p>
<p>
<c>APACHE1_MOD_DEFINE</c> and <c>APACHE2_MOD_DEFINE</c> tell the eclass what
<c><IfDefine MODULENAME></c> the module uses. It is used for displaying
instructions to the user on how to enable the module.
</p>
</body>
</section>
<section>
<title>src_compile</title>
<body>
<p>
<c>src_compile</c> may be needed if the module requires special steps that the
eclass can't handle. This would be a rare case. In most cases, just reviewing
the <path>Makefile</path> and adding items to <c>APXS1_ARGS</c> or
<c>APXS2_ARGS</c> will be sufficient.
</p>
<pre caption="Diff between mod_ldap_userdir-1.4.1 and mod_ldap_userdir-1.4.1-r1 (edited)">
-src_compile() {
- local myconf
- if use apache2; then
- myconf="${myconf} --with-apxs2=/usr/sbin/apxs2"
- else
- myconf="${myconf} --with-apxs=/usr/sbin/apxs"
- fi
-
- use ssl && myconf="${myconf} -with-tls"
-
- myconf="${myconf} --with-activate"
- ./configure ${myconf} || die "Configure failed"
- make clean
- make || die "Make failed"
-}
+src_compile() {
+ local myargs="-lldap -llber -c ${PN}.c"
+ use ssl && myargs="${myargs} -D TLS=1"
+
+ APXS2_ARGS="${myargs}"
+ APXS1_ARGS="${myargs}"
+
+ apache-module_src_compile
+
+}
</pre>
<note>
In general, if the APXS1_ARGS or APXS2_ARGS need to be different, they are
defined in global space. <path>mod_ldap_userdir</path> is different in this
respect, because the state of the ssl USE-flag affects those variables and
it's more efficient to only set those values in <c>src_compile</c> rather than
run the USE check during every invocation of the ebuild.
</note>
</body>
</section>
<section>
<title>src_install</title>
<body>
<p>
In most cases, <c>src_install</c> will not be needed. The exceptions are when
there are other directories that need to be installed or when file permissions
need to be changed.
</p>
<pre caption="Diff between mod_ldap_userdir-1.4.1 and mod_ldap_userdir-1.4.1-r1 (edited)">
-src_install() {
- if use apache2; then
- exeinto /usr/lib/apache2-extramodules
- doexe mod_ldap_userdir.so
- else
- exeinto /usr/lib/apache-extramodules
- doexe mod_ldap_userdir.so
- fi
- dodoc DIRECTIVES README user-ldif posixAccount-objectclass
-}
+src_install() {
+ apache-module_src_install
+ if [ "${APACHE_VERSION}" == "2" ]; then
+ fperms 600 ${APACHE2_MODULES_CONFDIR}/$(basename ${APACHE2_MOD_CONF})
+ else
+ fperms 600 ${APACHE1_MODULES_CONFDIR}/$(basename ${APACHE1_MOD_CONF})
+ fi
+}
</pre>
<p>
As you can see, in <path>mod_ldap_userdir</path> we actually added some fixes
that weren't present in the previous revision - the addition of a configuration
file and setting the proper permissions on it. But we still let
<c>apache-module</c> strut it's stuff by calling
<c>apache-module_src_install</c> inside our <c>src_install</c>. In most cases,
<c>src_install</c> will not be needed at all.
</p>
<p>
<c>src_install</c> completely handles installing the module, configuration
files and documentation into the correct places.
</p>
</body>
</section>
<section>
<title>Other functions</title>
<body>
<p>
In most cases, there should not be any pkg_postinst or pkg_config as the eclass
handles outputting instructions to the user about enabling a module and where
the configuration file is. If additional setup instructions are needed, then a
<c>pkg_postinst</c> can be added, but should also run
<c>apache1_pkg_postinst</c> or <c>apache2_pkg_postinst</c> inside it.
</p>
<pre caption="Diff between mod_ldap_userdir-1.4.1 and mod_ldap_userdir-1.4.1-r1 (edited)">
-pkg_postinst() {
- if use apache2; then
- elog "Adjust /etc/apache2/conf/modules.d/47_mod_ldap_userdir.conf to match your setup and"
- elog "add '-D LDAPuserdir' to your APACHE2_OPTS in /etc/conf.d/apache2"
- elog "To configure the package run \"ebuild /var/db/pkg/net-www/${PF}/${PF}.ebuild config\""
- fi
-}
-
-pkg_config() {
- /usr/sbin/apacheaddmod \
- ${ROOT}/etc/apache/conf/apache.conf \
- extramodules/mod_ldap_userdir.so mod_ldap_userdir.c ldap_userdir_module \
- define=LDAPuserdir addconf=conf/addon-modules/47_mod_ldap_userdir.conf
-}
</pre>
<p>
With the new default configuration of Apache, we no longer need to have the
user modify their <path>httpd.conf</path> to enable a module. All the
<path>*.conf</path> files in the <path>modules.d</path> directory are included
automatically. Every file there should be completely wrapped in an
<c><IfDefine MODULENAME></c> block so that the directives in that file
are only used if the user adds a <c>"-D MODULENAME"</c> to their
<path>/etc/conf.d/apache{|2}</path> file.
</p>
</body>
</section>
<section>
<title>Configuration file</title>
<body>
<p>
Most configuration files won't need many changes. The major one to look out for
is to make sure it uses the correct path when loading the module:
</p>
<pre caption="LoadModule directive">
<comment>(Old directive:)</comment>
LoadModule ldap_userdir_module extramodules/mod_ldap_userdir.so
<comment>(New directive:)</comment>
LoadModule ldap_userdir_module modules/mod_ldap_userdir.so
</pre>
<p>
Also, every module configuration file needs to be wrapped in <c><IfDefine
MODULENAME></c> blocks. If you don't do this, then Apache will load the
module by default, which we don't want - module loading is to be controlled by
the user, using the <path>/etc/conf.d/apache{|2}</path> file.
</p>
<pre caption="Sample .conf">
<IfDefine LDAPuserdir>
<IfModule !mod_ldap_userdir.c>
<comment># Load the module:</comment>
LoadModule ldap_userdir_module modules/mod_ldap_userdir.so
</IfModule>
</IfDefine>
<IfModule mod_ldap_userdir.c>
<comment># Put a good default configuration here:</comment>
LDAPUserDir public_html
LDAPUserDirDNInfo cn=root,dc=yourcompany,dc=com yourpassword
LDAPUserDirBaseDN ou=People,dc=yourcompany,dc=com
</IfModule>
</pre>
<note>
Some modules may want to add extensions that are checked to the DirectoryIndex.
We have patched Apache to have a new configuration directive,
AddDirectoryIndex, that does just that. Use just like DirectoryIndex - it
works the same way except that it doesn't replace the DirectoryIndex, it adds
to it. There is also a RemoveDirectoryIndex if that is needed for some reason.
</note>
</body>
</section>
</chapter>
<chapter id="apache-module">
<title>apache-module eclass</title>
<section>
<title>Description</title>
<body>
<p>
The <c>apache-module</c> eclass provides sane default functions for compiling
apache modules. As most modules are compiled in exactly the same way this makes
it possible for module ebuilds to be extremely simple.
</p>
</body>
</section>
<section>
<title>Functions</title>
<body>
<table>
<tr>
<th>Function</th>
<th>Description</th>
</tr>
<tr>
<ti><c>apache_cd_dir</c></ti>
<ti>Returns the correct path to the temporary build directory</ti>
</tr>
<tr>
<ti><c>apache_mod_file</c></ti>
<ti>Returns the path to the built module to install</ti>
</tr>
<tr>
<ti><c>apache_doc_magic</c></ti>
<ti>
Takes a single optional argument. If the argument is set, returns all
*.html files in <c>${DOCFILES}</c>, otherwise returns all non-*.html
files.
</ti>
</tr>
<tr>
<ti><c>apache1_src_compile</c></ti>
<ti>
Calls <c>${APXS1}</c> with arguments of <c>${APXS1_ARGS}</c>. If a
module requires a different build setup than this, use <c>${APXS1}</c> in
your own src_compile routine.
</ti>
</tr>
<tr>
<ti><c>apache1_src_install</c></ti>
<ti>
This installs the module and configuration files into apache's
directories. It handles installation of the modules, it's configuration,
any related executables and documentation.
</ti>
</tr>
<tr>
<ti><c>apache1_pkg_postinst</c></ti>
<ti>Prints standard configurations messages.</ti>
</tr>
<tr>
<ti><c>apache2_pkg_setup</c></ti>
<ti>
If APACHE2_SAFE_MPMS is set it checks the installed MPMs and displays an
error if there are no safe MPMs installed.
</ti>
</tr>
<tr>
<ti><c>apache2_src_compile</c></ti>
<ti>
Calls <c>${APXS2}</c> with arguments of <c>${APXS2_ARGS}</c>. If a
module requires a different build setup than this, use <c>${APXS2}</c> in
your own src_compile routine.
</ti>
</tr>
<tr>
<ti><c>apache2_src_install</c></ti>
<ti>
This installs the module and configuration files into apache's
directories. It handles installation of the modules, it's configuration,
any related executables and documentation.
</ti>
</tr>
<tr>
<ti>
<c>apache-module_pkg_setup</c><br />
<c>apache-module_src_compile</c><br />
<c>apache-module_src_install</c><br />
<c>apache-module_pkg_postinst</c>
</ti>
<ti>
These are wrapper functions around the apache1_* or apache2_*
functions. They automatically detect the version of apache that is
being built against.
</ti>
</tr>
</table>
</body>
</section>
<section>
<title>Variables</title>
<body>
<table>
<tr>
<th>Variable</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr>
<ti>
<c>APACHE1_MOD_CONF</c><br />
<c>APACHE2_MOD_CONF</c>
</ti>
<ti>None</ti>
<ti>
The location in <c>${FILESDIR}</c> of the module configuration, without
the .conf extension.
</ti>
</tr>
<tr>
<ti>
<c>APACHE1_MOD_DEFINE</c><br />
<c>APACHE2_MOD_DEFINE</c>
</ti>
<ti>None</ti>
<ti>
Name of the define in the module configuration. Used in displaying a
message to the user to add it to their
<path>/etc/conf.d/apache{|2}</path>
</ti>
</tr>
<tr>
<ti>
<c>APACHE1_EXECFILES</c><br />
<c>APACHE2_EXECFILES</c>
</ti>
<ti>None</ti>
<ti>Additional executable files that should be installed.</ti>
</tr>
<tr>
<ti>
<c>APACHE1_MOD_FILE</c><br />
<c>APACHE2_MOD_FILE</c>
</ti>
<ti>
${PN}.so<br />
.libs/${PN}.so
</ti>
<ti>The module that <c>src_install</c> installs.</ti>
</tr>
<tr>
<ti><c>APACHE2_SAFE_MPMS</c></ti>
<ti>None</ti>
<ti>
A list of MPMs that work with this module. If not set, then no checks
for MPMs will be done. If there are unsafe MPMs installed, the user is
warned. If there are no safe MPMs installed, the module refuses to
install.
</ti>
</tr>
<tr>
<ti>
<c>APXS1_S</c><br />
<c>APXS2_S</c>
</ti>
<ti>None</ti>
<ti>
Paths to temporary build directories. Returned by <c>apache_cd_dir</c>
if set, otherwise it returns <c>${S}/src</c> (if it's a directory) or
<c>${S}</c>.
</ti>
</tr>
<tr>
<ti>
<c>APXS1_ARGS</c><br />
<c>APXS2_ARGS</c>
</ti>
<ti>-c ${PN}.c</ti>
<ti>Arguments to pass to the apxs tool.</ti>
</tr>
<tr>
<ti><c>DOCFILES</c></ti>
<ti>None</ti>
<ti>
The documentation to be installed. Any files that end with .html are
installed using <c>dohtml</c>, the rest are installed using
<c>dodoc</c>.
</ti>
</tr>
</table>
</body>
</section>
</chapter>
<chapter id="depend-apache">
<title>depend.apache eclass</title>
<section>
<title>Description</title>
<body>
<p>
The <c>depend.apache</c> eclass sets the default locations of various apache
paths and handles setting dependencies on apache. In general, this eclass
shouldn't be used for modules. It should only be used for programs that need to
depend on apache but that aren't modules. (Modules should use the <uri
link="#apache-module">apache-module</uri> eclass.)
</p>
</body>
</section>
<section>
<title>Functions</title>
<body>
<table>
<tr>
<th>Function</th>
<th>Description</th>
</tr>
<tr>
<ti><c>need_apache1</c></ti>
<ti>
This function correctly sets dependency information for packages that
support only apache-1.x. Packages that need apache-1.x should call
<c>need_apache1</c> in global scope to set the dependencies correctly.
</ti>
</tr>
<tr>
<ti><c>need_apache2</c></ti>
<ti>
This function correctly sets dependency information for packages that
support only apache-2.x. Packages that need apache-2.x should call
<c>need_apache2</c> in global scope to set the dependencies correctly.
</ti>
</tr>
<tr>
<ti><c>need_apache</c></ti>
<ti>
This function correctly sets dependency information based on currently
set USE-flags. Packages that can use both versions of apache should call
<c>need_apache</c> in global scope to set the dependencies correctly.
</ti>
</tr>
</table>
</body>
</section>
<section>
<title>Variables</title>
<body>
<table>
<tr>
<th>Variable</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr>
<ti><c>APACHE_VERSION</c></ti>
<ti>1</ti>
<ti>
Set by <c>need_apache</c>,<c>need_apache1</c>,<c>need_apache2</c>.
Stores the version of apache we are going to be building.
</ti>
</tr>
<tr>
<ti>
<c>APXS1</c><br />
<c>APXS2</c>
</ti>
<ti>
<path>/usr/sbin/apxs</path><br />
<path>/usr/sbin/apxs2</path>
</ti>
<ti>Path to the apxs tool</ti>
</tr>
<tr>
<ti>
<c>APACHECTL1</c><br />
<c>APACHECTL2</c>
</ti>
<ti>
<path>/usr/sbin/apachectl</path><br />
<path>/usr/sbin/apache2ctl</path>
</ti>
<ti>Path to the apachectl tool</ti>
</tr>
<tr>
<ti>
<c>APACHE1_BASEDIR</c><br />
<c>APACHE2_BASEDIR</c>
</ti>
<ti>
<path>/usr/lib/apache</path><br />
<path>/usr/lib/apache2</path>
</ti>
<ti>The path the server runs in</ti>
</tr>
<tr>
<ti>
<c>APACHE1_CONFDIR</c><br />
<c>APACHE2_CONFDIR</c>
</ti>
<ti>
<path>/etc/apache</path><br />
<path>/etc/apache2</path>
</ti>
<ti>Location of the <path>httpd.conf</path> configuration file</ti>
</tr>
<tr>
<ti>
<c>APACHE1_MODULES_CONFDIR</c><br />
<c>APACHE2_MODULES_CONFDIR</c>
</ti>
<ti>
${APACHE1_CONFDIR}/modules.d<br />
${APACHE2_CONFDIR}/modules.d
</ti>
<ti>
Location where modules should install their configuration. All *.conf
files in this directory are included on startup.
</ti>
</tr>
<tr>
<ti>
<c>APACHE1_VHOSTDIR</c><br />
<c>APACHE2_VHOSTDIR</c>
</ti>
<ti>
${APACHE1_CONFDIR}/vhosts.d<br />
${APACHE2_CONFDIR}/vhosts.d
</ti>
<ti>
Location where virtual host configurations should be kept. All *.conf
files in this directory are included on startup.
</ti>
</tr>
<tr>
<ti>
<c>APACHE1_MODULESDIR</c><br />
<c>APACHE2_MODULESDIR</c>
</ti>
<ti>
${APACHE1_BASEDIR}/modules<br />
${APACHE2_BASEDIR}/modules
</ti>
<ti>Location where module binaries should be installed.</ti>
</tr>
</table>
<note>
All variables should be considered read-only and should not be modified in the
ebuild. Doing so may have unpredictable results.
</note>
</body>
</section>
</chapter>
</guide>
--
gentoo-commits@lists.gentoo.org mailing list
^ permalink raw reply [flat|nested] 2+ messages in thread
* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/apache: apache-developer.xml index.xml
@ 2008-03-23 11:09 Benedikt Boehm (hollow)
0 siblings, 0 replies; 2+ messages in thread
From: Benedikt Boehm (hollow) @ 2008-03-23 11:09 UTC (permalink / raw
To: gentoo-commits
hollow 08/03/23 11:09:04
Modified: apache-developer.xml index.xml
Log:
move apache documentation to doc/; update developer list
Revision Changes Path
1.2 xml/htdocs/proj/en/apache/apache-developer.xml
file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/apache/apache-developer.xml?rev=1.2&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/apache/apache-developer.xml?rev=1.2&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/apache/apache-developer.xml?r1=1.1&r2=1.2
Index: apache-developer.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/apache/apache-developer.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- apache-developer.xml 2 Mar 2008 22:23:14 -0000 1.1
+++ apache-developer.xml 23 Mar 2008 11:09:03 -0000 1.2
@@ -1,8 +1,8 @@
<?xml version='1.0' encoding="UTF-8"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/apache/apache-developer.xml,v 1.1 2008/03/02 22:23:14 nightmorph Exp $ -->
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/apache/apache-developer.xml,v 1.2 2008/03/23 11:09:03 hollow Exp $ -->
-<guide link="/proj/en/apache/apache-developer.xml" lang="en">
+<guide link="/proj/en/apache/apache-developer.xml" lang="en" disclaimer="obsolete" redirect="doc/developer.xml">
<title>Apache Developer Documentation</title>
<author title="Author">
1.6 xml/htdocs/proj/en/apache/index.xml
file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/apache/index.xml?rev=1.6&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/apache/index.xml?rev=1.6&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/apache/index.xml?r1=1.5&r2=1.6
Index: index.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/apache/index.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- index.xml 2 Mar 2008 22:23:14 -0000 1.5
+++ index.xml 23 Mar 2008 11:09:03 -0000 1.6
@@ -30,9 +30,8 @@
</longdescription>
<!-- developers: add yourself -->
+<dev role="Lead">Hollow</dev>
<dev role="Lead">CHTEKK</dev>
-<dev role="Lead">phreak</dev>
-<dev role="Member">Hollow</dev>
<!-- links to documentation -->
<resource link="/doc/en/apache-upgrading.xml">Upgrading Apache</resource>
--
gentoo-commits@lists.gentoo.org mailing list
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-03-23 11:09 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-02 22:23 [gentoo-commits] gentoo commit in xml/htdocs/proj/en/apache: apache-developer.xml index.xml Joshua Saddler (nightmorph)
-- strict thread matches above, loose matches on Subject: below --
2008-03-23 11:09 Benedikt Boehm (hollow)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox