[PATCH] Fix a typo in chapter 6

C. Michael Pilato cmpilato at red-bean.com
Mon Jan 6 02:41:36 UTC 2020


On Sun, Jan 5, 2020 at 6:56 PM Daniel Shahaf <d.s at daniel.shahaf.name> wrote:

> wuzhouhui wrote on Sun, Jan 05, 2020 at 11:36:51 +0800:
> > +++ ch06-server-configuration.xml  (working copy)
> > @@ -2076,7 +2076,7 @@
> >          to load the <command>mod_dav_svn</command> module using the
> >          <literal>LoadModule</literal> directive.  This directive must
> >          precede any other Subversion-related configuration items.  If
> > -        your Apache was installed using the default layout, your
> > +        your Subversion was installed using the default layout, your
> >          <command>mod_dav_svn</command> module should have been
> >          installed in the <filename>modules</filename> subdirectory of
> >          the Apache install location (often
>
> In Subversion's build, mod_dav_svn is installed as follows:
>
>     % make -n install-mods-shared
>     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 mod_dav_svn.la ; fi
>     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 mod_authz_svn.la ; fi
>
> When apxs(1) is invoked this way, it'll install the modules to the
> directory
> given by LIBEXECDIR on the command line.   Looking back into Makefile's
> sources, build/generator/templates/build-outputs.mk.ezt and Makefile.in,
> that
> directory is ultimately determined by the --with-apache-libexecdir option
> to
> Subversion's configure.  That option selects between three values for the
> modules installation directory: Subversion's libexecdir, httpd's
> libexecdir,
> and a manually-specified directory.  The first of these is the default.
>
> So, I think the patch is correct, but incomplete.  The remainder of the
> changed
> sentence implies that the default installation location is ${httpd's
> libexecdir}/modules, and that simply isn't true.  That location is only the
> default if one builds Subversion with --with-apache-libexecdir=yes.
>
> I suppose the text should simply name /usr/local/libexec as the default
> location of the modules.  There _may_ be room to also suggest the "modules"
> subdirectory of httpd's libexecdir as an alternative.  (That directory is
> given
> by «apxs -q libexecdir».)  The complication is that the two
> informalexample's
> in the following paragraphs are written in a way that assumes
> --with-apache-libexecdir=yes is the default, so «LoadModule …
> modules/mod_dav_svn.so»
> is the common case and «LoadModule … ${svn's prefix}/lib/mod_dav_svn.so»
> is the
> rare case, whereas reality is the other way around.  So those two examples
> and the
> prose around them may need to be updated too…
>
> (But then again, it's very late in the day here and it's possible that I'm
> missing some obvious solution.  Mike?)


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.

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 ...

-- Mike
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.red-bean.com/pipermail/svnbook-dev/attachments/20200105/15ef6745/attachment-0001.htm>


More information about the svnbook-dev mailing list