/usr/doc doesn't seem to honour /etc/make.conf

Peter Looyenga pl at catslair.org
Tue Jun 4 01:58:15 UTC 2013


Hi everyone,

First of all I'd like to share my admiration for the FreeBSD documentation
project. I've spend quite some time studying both the FreeBSD handbook as
well as the Porters handbook and I'm quite impressed with the overall
quality.

I've been using FreeBSD 9.1-RELEASE-p3 for a few months now and decided that
I wanted to maintain a local copy of the available documentation. To this
end I used Subversion to check out a local copy, and also installed the
textproc/docproj-nojadetex Port. I chose for the 'nojadetex variant' because
I only wanted to use the HTML and plain text formats.

To share as much details as possible: my system fully runs on ZFS and I also
created a separate file system for the documentation ("zroot/doc", with the
mountpoint obviously set to /usr/doc). Initially I had set the "setuid"
option to off, as well as the "exec" option. Just to rule everything out I
also tried the build process with these flags set and that gave no different
results.

Because I don't want to remember all sorts of compile options, and because
the documentation mentioned that this approach should work, I added the
following two flags to my /etc/make.conf file:

# Options for building FreeBSD documentation
DOC_LANG=en_US.ISO8859-1
FORMATS="html-split txt"

And then I proceeded to build the documentation using "make install clean"
from within the /usr/doc directory. Unfortunately this resulted in the
following error message:

--[ Build error start ]--

"/usr/doc/en_US.ISO8859-1/articles/bsdl-gpl/../../../share/mk/doc.docbook.mk
", line 661: warning: Missing closing parenthesis for target()
"/usr/doc/en_US.ISO8859-1/articles/bsdl-gpl/../../../share/mk/doc.docbook.mk
", line 661: Malformed conditional (!target(spellcheck-"txt html-split"))
"/usr/doc/en_US.ISO8859-1/articles/bsdl-gpl/../../../share/mk/doc.project.mk
", line 103: if-less endif
make: fatal errors encountered -- cannot continue
*** [realinstall] Error code 1

Stop in /usr/doc/en_US.ISO8859-1/articles.
*** [realinstall] Error code 1

Stop in /usr/doc/en_US.ISO8859-1.
*** [realinstall] Error code 1

Stop in /usr/doc.

--[ Build error end ]--


This part immediately drew my attention: "line 661: Malformed conditional
(!target(spellcheck-"txt html-split"))", and thus I commented out the
FORMATS option from /etc/make.conf and instead used the following command:

make FORMATS="html-part txt" install clean, of course also from within
/usr/doc.

This time the build process completed without errors, and as expected it
also only build the English version of the documentation. However, on closer
inspecting the results I noticed that it had only build the text version and
a small portion of the HTML parts. For example; if I look into
/usr/share/doc/handbook then the only HTML file I see is "trademarks.html",
the several directories (install, mail, vinum, etc.) are filled with PNG
image files, but no apart from the trademarks file I have no other html
files at all.

I initially asked about this behavior on the FreeBSD forums and one forum
regular could reproduce the error I mentioned above, thus making me somewhat
convinced that I ran into something odd. If interested then you can read the
thread here: http://forums.freebsd.org/showthread.php?t=40046


My question should be obvious: could any of you shed some light on this?  Is
there something I'm overlooking or have I indeed ran into some weird and
unwanted behavior?

Thanks in advance for your attention, any help with this is very
appreciated.


With kind regards, Peter

--
.\\ S/MIME public key: http://www.catslair.org/pubkey.crt
    +- My semi-private Root CA: http://ssl.losoco.nl/losoco.crt




More information about the freebsd-doc mailing list