troy d. straszheim | 7 Apr 16:42
Favicon

quickbook xinclude bug?

I'm trying to generate docs for proto manually.  I'm on the trunk. 
Proto's 'proto.qbk' contains the line

[xinclude reference.xml]

which is in the same directory as proto.qbk itself:

% ls -l /home/troy/Projects/boost/trunk/src/libs/proto/doc/proto.qbk
-rw-r--r-- 1 troy troy 11250 Jan 24 06:54 
/home/troy/Projects/boost/trunk/src/libs/proto/doc/proto.qbk

% ls -l /home/troy/Projects/boost/trunk/src/libs/proto/doc/reference.xml
-rw-r--r-- 1 troy troy 36374 Jan 24 06:54 
/home/troy/Projects/boost/trunk/src/libs/proto/doc/reference.xml

I cd to a build directory parallel to the source tree, and generate the 
xml with quickbook.  I've hacked some couts into the xinclude action:

% cd /home/troy/Projects/boost/trunk/build/libs/proto/doc && 
../../../bin/quickbook --output-file=proto.xml 
/home/troy/Projects/boost/trunk/src/libs/proto/doc/proto.qbk
Generating Output File: proto.xml
infile=/home/troy/Projects/boost/trunk/src/libs/proto/doc/proto.qbk
outdir=/home/troy/Projects/boost/trunk/build/libs/proto/doc/.
returning path=../../../../../src/libs/proto/doc/reference.xml

I doublecheck the path to reference.xml in the generated proto.xml:

% grep reference.xml proto.xml
   <xi:include href="../../../../../src/libs/proto/doc/reference.xml" />

And I check the path:

% ls ../../../../../src
ls: cannot access ../../../../../src: No such file or directory

Wrong.  There is one ../ too many:

% ls ../../../../src
BuildSlave.cmake  Jamroot          Welcome.txt  boost/ 
boost.png      doc/        libs/    project-config.jam  tools/
CMakeLists.txt    LICENSE_1_0.txt  bin.v2/      boost-build.jam 
bootstrap.sh*  index.htm   more/    rst.css             wiki/
INSTALL           README.txt       bjam*        boost.css        dist/ 
         index.html  people/  status/

Am I really seeing a bug here?  I notice that the xinclude action uses 
the deprectated normalize() boost::filesystem function.

-t

Gmane