| #!/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 |