Generation of HTML documentation: output to ../../htmldocs

Jonas Olsson lexicon at lysator.liu.se
Tue Dec 16 10:34:43 GMT 2003


Hello,

There seems to be something amiss with the generation of HTML
documentation in the samba-docs SAMBA_3_0 CVS tree. When generating
the HTML version of the documentation with "make html" the output is
not written to ../htmldocs in relation to the samba-docs/docbook
directory but rather to ../../htmldocs.

I have verified this behaviour with xsltproc from both libxslt 1.0.27-3
included in RedHat 9 and libxslt 1.1.1 compiled under Solaris 8.

The procedure for obtaining this behaviour is:

1. Get latest SAMBA_3_0 CVS code for samba-docs.

2. cd samba-docs/docbook

3. ./configure

4. make html

This is being done on a RedHat 9 system with no modifications made to the
libxslt installation.

The output from the last command is:

------------
mkdir ../htmldocs
cp xslt/html/samba.css ../htmldocs/
/usr/bin/xsltproc --stringparam papersize a4paper --stringparam samba-book 1 --stringparam duplicate_ulinks "" --stringparam fontsize 10.5 --stringparam docrop 0 --output projdoc/attributions.xml xslt/generate-attributions.xsl projdoc/samba-doc.xml
/usr/bin/xsltproc --stringparam papersize a4paper --stringparam samba-book 1 --stringparam duplicate_ulinks "" --stringparam fontsize 10.5 --stringparam docrop 0 --xinclude --output Samba-HOWTO-Collection.xml xslt/expand-sambadoc.xsl projdoc/samba-doc.xml
/usr/bin/xsltproc --stringparam papersize a4paper --stringparam samba-book 1 --stringparam duplicate_ulinks "" --stringparam fontsize 10.5 --stringparam docrop 0 -o ../htmldocs xslt/html-chunk.xsl Samba-HOWTO-Collection.xml
Writing ../htmldocs/pr01.html for preface
Writing ../htmldocs/pr02.html for preface
Writing ../htmldocs/IntroSMB.html for chapter(IntroSMB)

...
------------

An strace of the last xsltproc call shows this:

------------
write(2, "Writing ../htmldocs/pr01.html fo"..., 41Writing ../htmldocs/pr01.html for preface) = 41
write(2, "\n", 1
)                       = 1
stat64("../../htmldocs", 0xbfffe370)    = -1 ENOENT (No such file or directory)
stat64("../..", {st_mode=S_IFDIR|S_ISGID|0775, st_size=512, ...}) = 0
mkdir("../../htmldocs", 0755)           = 0
open("../../htmldocs/pr01.html", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
fstat64(3, {st_mode=S_IFREG|0664, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000
write(3, "<!DOCTYPE HTML PUBLIC \"-//W3C//D"..., 2041) = 2041
close(3)                                = 0
------------

The only file in ../htmldocs after a completed make is samba.css. The
HTML files are instead written to ../../htmldocs.

I am not very familiar with xsltproc but it would seem clear that an
extra prefix of "../" is added to the file path that it actually
writes to. From where this is fetched I have no idea. I have searched
through the sources without finding anything that seems related to the
problem.

None of the other documentation formats seems to have this problem on
the system in question.

  /Jonas Olsson


More information about the samba-technical mailing list