[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