public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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>&lt;IfDefine MODULENAME&gt;</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 &amp;&amp; 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 &amp;&amp; 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>&lt;IfDefine MODULENAME&gt;</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>&lt;IfDefine 
MODULENAME&gt;</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">
&lt;IfDefine LDAPuserdir&gt;
  &lt;IfModule !mod_ldap_userdir.c&gt;
    <comment># Load the module:</comment>
    LoadModule ldap_userdir_module	modules/mod_ldap_userdir.so
  &lt;/IfModule&gt;
&lt;/IfDefine&gt;

&lt;IfModule mod_ldap_userdir.c&gt;
<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

&lt;/IfModule&gt;
</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-23 11:09 [gentoo-commits] gentoo commit in xml/htdocs/proj/en/apache: apache-developer.xml index.xml Benedikt Boehm (hollow)
  -- strict thread matches above, loose matches on Subject: below --
2008-03-02 22:23 Joshua Saddler (nightmorph)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox