<div dir="ltr"><div dir="ltr"></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jan 5, 2020 at 6:56 PM Daniel Shahaf <<a href="mailto:d.s@daniel.shahaf.name">d.s@daniel.shahaf.name</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">wuzhouhui wrote on Sun, Jan 05, 2020 at 11:36:51 +0800:<br>
> +++ ch06-server-configuration.xml  (working copy)<br>
> @@ -2076,7 +2076,7 @@<br>
>          to load the <command>mod_dav_svn</command> module using the<br>
>          <literal>LoadModule</literal> directive.  This directive must<br>
>          precede any other Subversion-related configuration items.  If<br>
> -        your Apache was installed using the default layout, your<br>
> +        your Subversion was installed using the default layout, your<br>
>          <command>mod_dav_svn</command> module should have been<br>
>          installed in the <filename>modules</filename> subdirectory of<br>
>          the Apache install location (often<br>
<br>
In Subversion's build, mod_dav_svn is installed as follows:<br>
<br>
    % make -n install-mods-shared<br>
    if true ; then cd subversion/mod_dav_svn ; /usr/bin/install -c -d "/usr/local/libexec" ; /usr/bin/apxs2 -i -S LIBEXECDIR="/usr/local/libexec"  -n dav_svn <a href="http://mod_dav_svn.la" rel="noreferrer" target="_blank">mod_dav_svn.la</a> ; fi<br>
    if true ; then cd subversion/mod_authz_svn ; /usr/bin/install -c -d "/usr/local/libexec" ; /usr/bin/apxs2 -i -S LIBEXECDIR="/usr/local/libexec"  -n authz_svn <a href="http://mod_authz_svn.la" rel="noreferrer" target="_blank">mod_authz_svn.la</a> ; fi<br>
<br>
When apxs(1) is invoked this way, it'll install the modules to the directory<br>
given by LIBEXECDIR on the command line.   Looking back into Makefile's<br>
sources, build/generator/templates/build-outputs.mk.ezt and Makefile.in, that<br>
directory is ultimately determined by the --with-apache-libexecdir option to<br>
Subversion's configure.  That option selects between three values for the<br>
modules installation directory: Subversion's libexecdir, httpd's libexecdir,<br>
and a manually-specified directory.  The first of these is the default.<br>
<br>
So, I think the patch is correct, but incomplete.  The remainder of the changed<br>
sentence implies that the default installation location is ${httpd's<br>
libexecdir}/modules, and that simply isn't true.  That location is only the<br>
default if one builds Subversion with --with-apache-libexecdir=yes.<br>
<br>
I suppose the text should simply name /usr/local/libexec as the default<br>
location of the modules.  There _may_ be room to also suggest the "modules"<br>
subdirectory of httpd's libexecdir as an alternative.  (That directory is given<br>
by «apxs -q libexecdir».)  The complication is that the two informalexample's<br>
in the following paragraphs are written in a way that assumes<br>
--with-apache-libexecdir=yes is the default, so «LoadModule … modules/mod_dav_svn.so»<br>
is the common case and «LoadModule … ${svn's prefix}/lib/mod_dav_svn.so» is the<br>
rare case, whereas reality is the other way around.  So those two examples and the<br>
prose around them may need to be updated too…<br>
<br>
(But then again, it's very late in the day here and it's possible that I'm<br>
missing some obvious solution.  Mike?)</blockquote><div><br></div><div>As I recall it, the original paragraph was simply trying to help folks know roughly where mod_dav_svn winds up while hinting at the fact that Apache's installation directory and layout generally affects the result, and certainly without attempting to nail down a specific (probably OS-and-version-dependent) directory.</div><div><br></div>I think the easiest fix for the text that preserves these intentions is to replace "If your Apache was installed using the default layout" with something like: "Unless Apache or Subversion were installed on your system in a non-standard way" or "In the typical deployment scenario" or ...</div><div class="gmail_quote"><br></div><div class="gmail_quote">-- Mike</div></div>