#!/bin/bash # "sh update_web_docs_libstdcxx_git" # Checks out a copy of the libstdc++-v3 "inner" documentation and puts # it in the onlinedocs area. For an initial description of "inner" # docs, see the thread starting with # http://gcc.gnu.org/ml/libstdc++/2000-11/msg00475.html ##################################################################### GITROOT=${GITROOT:-"/git/gcc.git"} GETTHIS='libstdc++-v3/doc/html' WWWDIR=/www/gcc/htdocs/onlinedocs/libstdc++ #WWWDIR=/tmp/fake-onlinedocs-testing ## No more changes should be needed. Ha, right, whatever. ##################################################################### FILTER="newer or same age version exists|0 blocks" PATH=/usr/local/bin:$PATH export GITROOT test -d $WWWDIR || /bin/mkdir $WWWDIR test -d $WWWDIR || { echo something is very wrong ; exit 1; } WORKDIR=/tmp/v3-doc-update.$$ /bin/rm -rf $WORKDIR /bin/mkdir $WORKDIR cd $WORKDIR # checkout all the HTML files, get down into an interesting directory git -C $GITROOT archive master $GETTHIS | tar xf - cd $GETTHIS # Copy the tree to the libstdc++ onlinedocs area and remove orphans (taking # care to keep some directories coming from a different source). rsync -ahv --delete-after -f '- /images/*' -f '- /libstdc*' -f '- latest-doxygen' . $WWWDIR 2>&1 | egrep -v "$FILTER" err=${PIPESTATUS[1]} if [ $err -gt 0 ]; then printf "\nCopying failed with error code %d.\n" $err fi cd / /bin/rm -rf $WORKDIR