#! /bin/sh # # RTEMS Tools Project (http://www.rtems.org/) # Copyright 2015-2016 Chris Johns (chrisj@rtems.org) # All rights reserved. # # This file is part of the RTEMS Tools package in 'rtems-tools'. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # 1. Redistributions of source code must retain the above copyright notice, # this list of conditions and the following disclaimer. # # 2. Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # # This worker script to build the doco. # echo "RTEMS Documentation Release builder, v0.1" # # Stop on any error # set -e # # Only build if sphinx-build is present on the system. # if [ "`command -v sphinx-build`"no = no ]; then echo "warning: documentation not built" exit 0 fi # # Common package start. # . ./rtems-release-package-start # # The workspace pwd # ws_pwd=${PWD} # # The manuals we are building. # manuals="c_user posix_users shell user eclipse bsp_howto" manuals="${manuals} cpu_supplement filesystem develenv" # # Map the manual names in git to friendly names that are for download. # manual_map() { case $1 in bsp_howto) echo "bsp-howto" ;; c_user) echo "c-user" ;; posix_users) echo "posix-user" ;; *) echo "$1" ;; esac } # # Get the documentation, create the tarball and stamp. # echo "git clone ${git_remote} ${git_local}" git clone ${git_remote} ${git_local} cd ${git_local} echo "git archive --format=tar --prefix=${prefix}/ origin/master" git archive --format=tar --prefix=${prefix}/ origin/master | \ xz > ../${prefix}-unstamped.tar.xz cd .. # # Build the docs. # mkdir install cd ${git_local} ./waf distclean configure --prefix=../install/${prefix} ./waf build install ./waf --pdf build install cd .. # # Package the docs, PDF first. # mkdir ${top}/${release}/docs cd install for p in $(find . -name \*.pdf) do manual=$(echo $(basename $p) | sed -e "s/\\..*//") name=$(manual_map ${manual}) xz $p mv $p.xz ${top}/${release}/docs/rtems-${release}-${name}.pdf.xz tar cf - ${prefix}/${manual} > ${top}/${release}/docs/rtems-${release}-${name}-html.tar.xz done cd .. # # Stamp the source and package, include the waf we use. # echo "tar Jxf ../${prefix}-unstamped.tar.xz" tar Jxf ${prefix}-unstamped.tar.xz cd ${prefix} echo "Creating VERSION: ${release}" echo "[version]" > VERSION echo "release = ${release}" >> VERSION cd .. echo "tar cf - ${prefix}" tar cf - ${prefix} | xz > ../${prefix}.tar.xz echo "Created: ${release}/${prefix}.tar.xz" # # Comman package end. # . ${top}/rtems-release-package-end exit 0