Updated setup_boostbook scripts to download newer versions of apache fop

and docbook xsl, since the old versions are no longer posted for download.
The newer version of apache fop is stricter about its input, 
and currently fails to validate its input when trying to build boost.pdf, 
due to various bits on invalid docbook.  I have it working locally
though, and will create tickets with patches in trac for the remaining
issues in the library docs and tools.



[SVN r40049]
This commit is contained in:
Frank Mori Hess 2007-10-15 13:43:00 +00:00
parent ebff982ef1
commit 924b9589bc
3 changed files with 33 additions and 31 deletions

View File

@ -1,5 +1,5 @@
# Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com> # Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
# #
# Distributed under the Boost Software License, Version 1.0. # Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at # (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt) # http://www.boost.org/LICENSE_1_0.txt)
@ -10,10 +10,11 @@
# right now it is used only be release scripts # right now it is used only be release scripts
# User configuration # User configuration
DOCBOOK_XSL_VERSION = "1.67.2" DOCBOOK_XSL_VERSION = "1.73.2"
DOCBOOK_DTD_VERSION = "4.2" DOCBOOK_DTD_VERSION = "4.2"
FOP_VERSION = "0.20.5" FOP_VERSION = "0.94"
FOP_MIRROR = "http://mirrors.ibiblio.org/pub/mirrors/apache/xml/fop/" FOP_JDK_VERSION="1.4"
FOP_MIRROR = "http://mirrors.ibiblio.org/pub/mirrors/apache/xmlgraphics/fop"
SOURCEFORGE_MIRROR = "http://puzzle.dl.sourceforge.net" SOURCEFORGE_MIRROR = "http://puzzle.dl.sourceforge.net"
# No user configuration below this point------------------------------------- # No user configuration below this point-------------------------------------
@ -40,7 +41,7 @@ def accept_args( args ):
( options, args ) = parser.parse_args( args ) ( options, args ) = parser.parse_args( args )
if options.tools is None: if options.tools is None:
options.tools = os.getcwd() options.tools = os.getcwd()
return options.tools return options.tools
@ -48,7 +49,7 @@ def to_posix( path ):
return path.replace( "\\", "/" ) return path.replace( "\\", "/" )
def unzip( archive_path, result_dir ): def unzip( archive_path, result_dir ):
z = zipfile.ZipFile( archive_path, 'r', zipfile.ZIP_DEFLATED ) z = zipfile.ZipFile( archive_path, 'r', zipfile.ZIP_DEFLATED )
for f in z.infolist(): for f in z.infolist():
print f.filename print f.filename
if not os.path.exists( os.path.join( result_dir, os.path.dirname( f.filename ) ) ): if not os.path.exists( os.path.join( result_dir, os.path.dirname( f.filename ) ) ):
@ -56,11 +57,11 @@ def unzip( archive_path, result_dir ):
result = open( os.path.join( result_dir, f.filename ), 'wb' ) result = open( os.path.join( result_dir, f.filename ), 'wb' )
result.write( z.read( f.filename ) ) result.write( z.read( f.filename ) )
result.close() result.close()
z.close() z.close()
def gunzip( archive_path, result_dir ): def gunzip( archive_path, result_dir ):
tar = tarfile.open( archive_path, 'r:gz' ) tar = tarfile.open( archive_path, 'r:gz' )
for tarinfo in tar: for tarinfo in tar:
tar.extract( tarinfo, result_dir ) tar.extract( tarinfo, result_dir )
tar.close() tar.close()
@ -143,7 +144,7 @@ def adjust_user_config( config_file
except OSError, e: except OSError, e:
os.unlink( config_file ) os.unlink( config_file )
os.rename( config_file + ".tmp", config_file ) os.rename( config_file + ".tmp", config_file )
def setup_docbook_xsl( tools_directory ): def setup_docbook_xsl( tools_directory ):
print "DocBook XSLT Stylesheets ..." print "DocBook XSLT Stylesheets ..."
@ -181,7 +182,7 @@ def setup_docbook_dtd( tools_directory ):
print "Expanding DocBook XML DTD into %s... " % DOCBOOK_DTD_DIR print "Expanding DocBook XML DTD into %s... " % DOCBOOK_DTD_DIR
unzip( DOCBOOK_DTD_ZIP, DOCBOOK_DTD_DIR ) unzip( DOCBOOK_DTD_ZIP, DOCBOOK_DTD_DIR )
print "done." print "done."
return DOCBOOK_DTD_DIR return DOCBOOK_DTD_DIR
def find_xsltproc(): def find_xsltproc():
@ -206,13 +207,13 @@ def find_java():
def setup_fop( tools_directory ): def setup_fop( tools_directory ):
print "FOP ..." print "FOP ..."
FOP_TARBALL = os.path.join( tools_directory, "fop-%s-bin.tar.gz" % FOP_VERSION ) FOP_TARBALL = os.path.join( tools_directory, "fop-%s-bin-jdk%s.tar.gz" % ( FOP_VERSION, FOP_JDK_VERSION ) )
FOP_URL = "%s/%s" % ( FOP_MIRROR, os.path.basename( FOP_TARBALL ) ) FOP_URL = "%s/%s" % ( FOP_MIRROR, os.path.basename( FOP_TARBALL ) )
FOP_DIR = to_posix( "%s/fop-%s" % ( tools_directory, FOP_VERSION ) ) FOP_DIR = to_posix( "%s/fop-%s" % ( tools_directory, FOP_VERSION ) )
if sys.platform == 'win32': if sys.platform == 'win32':
fop_driver = "fop.bat" fop_driver = "fop.bat"
else: else:
fop_driver = "fop.sh" fop_driver = "fop"
FOP = to_posix( os.path.join( FOP_DIR, fop_driver ) ) FOP = to_posix( os.path.join( FOP_DIR, fop_driver ) )
@ -240,7 +241,7 @@ def find_user_config():
print " Updating Boost.Jam configuration in %s... " % JAM_CONFIG_OUT print " Updating Boost.Jam configuration in %s... " % JAM_CONFIG_OUT
return JAM_CONFIG_OUT return JAM_CONFIG_OUT
elif os.environ.has_key( "BOOST_ROOT" ) and os.path.exists( os.path.join( os.environ[ "BOOST_ROOT" ], "tools/build/v2/user-config.jam" ) ): elif os.environ.has_key( "BOOST_ROOT" ) and os.path.exists( os.path.join( os.environ[ "BOOST_ROOT" ], "tools/build/v2/user-config.jam" ) ):
JAM_CONFIG_IN=os.path.join( os.environ[ "BOOST_ROOT" ], "tools/build/v2/user-config.jam" ) JAM_CONFIG_IN=os.path.join( os.environ[ "BOOST_ROOT" ], "tools/build/v2/user-config.jam" )
print " Found user-config.jam in BOOST_ROOT directory (%s)" % JAM_CONFIG_IN print " Found user-config.jam in BOOST_ROOT directory (%s)" % JAM_CONFIG_IN
JAM_CONFIG_IN_TEMP="no" JAM_CONFIG_IN_TEMP="no"
print " Writing Boost.Jam configuration to %s... " % JAM_CONFIG_OUT print " Writing Boost.Jam configuration to %s... " % JAM_CONFIG_OUT
@ -251,7 +252,7 @@ def setup_boostbook( tools_directory ):
print "Setting up boostbook tools..." print "Setting up boostbook tools..."
print "-----------------------------" print "-----------------------------"
print "" print ""
DOCBOOK_XSL_DIR = setup_docbook_xsl( tools_directory ) DOCBOOK_XSL_DIR = setup_docbook_xsl( tools_directory )
DOCBOOK_DTD_DIR = setup_docbook_dtd( tools_directory ) DOCBOOK_DTD_DIR = setup_docbook_dtd( tools_directory )
XSLTPROC = find_xsltproc() XSLTPROC = find_xsltproc()
@ -264,7 +265,7 @@ def setup_boostbook( tools_directory ):
FOP = setup_fop( tools_directory ) FOP = setup_fop( tools_directory )
user_config = find_user_config() user_config = find_user_config()
# Find the input jamfile to configure # Find the input jamfile to configure
if user_config is None: if user_config is None:
@ -296,8 +297,8 @@ def setup_boostbook( tools_directory ):
def main(): def main():
( tools_directory ) = accept_args( sys.argv[ 1: ] ) ( tools_directory ) = accept_args( sys.argv[ 1: ] )
setup_boostbook( tools_directory ) setup_boostbook( tools_directory )
if __name__ == "__main__": if __name__ == "__main__":
main() main()

View File

@ -1,15 +1,16 @@
#!/bin/sh #!/bin/sh
# Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com> # Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
# #
# Distributed under the Boost Software License, Version 1.0. # Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at # (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt) # http://www.boost.org/LICENSE_1_0.txt)
# User configuration # User configuration
DOCBOOK_XSL_VERSION=1.68.1 DOCBOOK_XSL_VERSION=1.73.2
DOCBOOK_DTD_VERSION=4.2 DOCBOOK_DTD_VERSION=4.2
FOP_VERSION=0.20.5 FOP_VERSION=0.94
FOP_MIRROR=http://mirrors.ibiblio.org/pub/mirrors/apache/xml/fop/ FOP_JDK_VERSION=1.4
FOP_MIRROR=http://mirrors.ibiblio.org/pub/mirrors/apache/xmlgraphics/fop
SOURCEFORGE_MIRROR=http://dl.sourceforge.net SOURCEFORGE_MIRROR=http://dl.sourceforge.net
HTTP_GET_CMD="curl -O" HTTP_GET_CMD="curl -O"
@ -99,17 +100,17 @@ if test ! -f "$JAVA" && test ! -x "$JAVA"; then
HAVE_FOP="no" HAVE_FOP="no"
else else
echo "Searching for Java... $JAVA."; echo "Searching for Java... $JAVA.";
FOP_TARBALL="fop-$FOP_VERSION-bin.tar.gz" FOP_TARBALL="fop-$FOP_VERSION-bin-jdk$FOP_JDK_VERSION.tar.gz"
FOP_URL="$FOP_MIRROR/$FOP_TARBALL" FOP_URL="$FOP_MIRROR/$FOP_TARBALL"
FOP_DIR="$PWD/fop-$FOP_VERSION" FOP_DIR="$PWD/fop-$FOP_VERSION"
FOP="$FOP_DIR/fop.sh" FOP="$FOP_DIR/fop"
if test -f $FOP_TARBALL; then if test -f $FOP_TARBALL; then
echo "Using existing FOP distribution (version $FOP_VERSION)." echo "Using existing FOP distribution (version $FOP_VERSION)."
else else
echo "Downloading FOP distribution version $FOP_VERSION..." echo "Downloading FOP distribution version $FOP_VERSION..."
$HTTP_GET_CMD $FOP_URL $HTTP_GET_CMD $FOP_URL
fi fi
if test ! -d $FOP_DIR; then if test ! -d $FOP_DIR; then
echo -n "Expanding FOP distribution into $FOP_DIR... "; echo -n "Expanding FOP distribution into $FOP_DIR... ";
gunzip -cd $FOP_TARBALL | tar xf - gunzip -cd $FOP_TARBALL | tar xf -
@ -122,7 +123,7 @@ fi
JAM_CONFIG_OUT="$HOME/user-config.jam" JAM_CONFIG_OUT="$HOME/user-config.jam"
if test -r "$HOME/user-config.jam"; then if test -r "$HOME/user-config.jam"; then
JAM_CONFIG_IN="user-config-backup.jam" JAM_CONFIG_IN="user-config-backup.jam"
cp $JAM_CONFIG_OUT user-config-backup.jam cp $JAM_CONFIG_OUT user-config-backup.jam
JAM_CONFIG_IN_TEMP="yes" JAM_CONFIG_IN_TEMP="yes"
echo -n "Updating Boost.Jam configuration in $JAM_CONFIG_OUT... " echo -n "Updating Boost.Jam configuration in $JAM_CONFIG_OUT... "
@ -130,7 +131,7 @@ elif test -r "$BOOST_ROOT/tools/build/v2/user-config.jam"; then
JAM_CONFIG_IN="$BOOST_ROOT/tools/build/v2/user-config.jam"; JAM_CONFIG_IN="$BOOST_ROOT/tools/build/v2/user-config.jam";
JAM_CONFIG_IN_TEMP="no" JAM_CONFIG_IN_TEMP="no"
echo -n "Writing Boost.Jam configuration to $JAM_CONFIG_OUT... " echo -n "Writing Boost.Jam configuration to $JAM_CONFIG_OUT... "
else else
echo "ERROR: Please set the BOOST_ROOT environment variable to refer to your" echo "ERROR: Please set the BOOST_ROOT environment variable to refer to your"
echo "Boost installation or copy user-config.jam into your home directory." echo "Boost installation or copy user-config.jam into your home directory."
exit 0 exit 0
@ -139,8 +140,8 @@ fi
cat > setup_boostbook.awk <<EOF cat > setup_boostbook.awk <<EOF
BEGIN { using_boostbook = 0; eaten=0 } BEGIN { using_boostbook = 0; eaten=0 }
/^\s*using boostbook/ { /^\s*using boostbook/ {
using_boostbook = 1; using_boostbook = 1;
print "using boostbook"; print "using boostbook";
print " : $DOCBOOK_XSL_DIR"; print " : $DOCBOOK_XSL_DIR";
print " : $DOCBOOK_DTD_DIR"; print " : $DOCBOOK_DTD_DIR";
@ -156,7 +157,7 @@ using_boostbook==1 { eaten=1 }
/^.*$/ { if (eaten == 0) print; eaten=0 } /^.*$/ { if (eaten == 0) print; eaten=0 }
END { END {
if (using_boostbook==0) { if (using_boostbook==0) {
print "using boostbook"; print "using boostbook";
print " : $DOCBOOK_XSL_DIR"; print " : $DOCBOOK_XSL_DIR";

View File

@ -14,7 +14,7 @@
<xsl:param name="chapter.autolabel" select="0"/> <xsl:param name="chapter.autolabel" select="0"/>
<xsl:param name="refentry.generate.name" select="0"/> <xsl:param name="refentry.generate.name" select="0"/>
<xsl:param name="refentry.generate.title" select="1"/> <xsl:param name="refentry.generate.title" select="1"/>
<xsl:param name="fop.extensions" select="1"/> <xsl:param name="fop1.extensions" select="1"/>
<xsl:param name="make.year.ranges" select="1"/> <xsl:param name="make.year.ranges" select="1"/>
<xsl:param name="ulink.show" select="0"/> <xsl:param name="ulink.show" select="0"/>