This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Merging the FSF and Sourceware GLIBC websites.


Hi Carlos,

>      Would it be possible to have you document on the glibc wiki, in broad
>      strokes, the process you follow to update the manuals?
>      "Website Maintenance"
>      http://sourceware.org/glibc/wiki/Website%20Maintenance

I actually do most of the update with a little script.  It usually
doesn't succeed all the way on the first time through, but it's probably
the best documentation of the process.  It just doesn't seem right to
paste all this yucky code into the web page.  Maybe I should check it in
to the www repo for libc and then mention that on the wiki page?  Wdyt?

Thanks,
Karl


#!/bin/sh -ex
# Public domain.  Originally written by Karl Berry, 2008.
# 
# This script does not cvs commit anything, and cvs adds/removes
# must also be done by hand.  See comments at end (and throughout).
# 
# First arg is distribution tarball.
# 
# Assumes cvs checkout of the www repository in $HOME/src/libc-www,
# and creates other subdirs under $HOME/src.
cd $HOME/src  # or just edit this.

ver=2.14      # edit for new release, of course.
rm -rf glibc-$ver
tar xf ${1-$dist/glibc-$ver.tar.xz}

(cd glibc-$ver/manual
 mv texinfo.tex texinfo.tex.dist
 # the idea is to use the latest released texinfo.tex,
 # available from ftp.gnu.org:gnu/texinfo/texinfo.tex.
 latest_texinfo_tex=`kpsewhich texinfo.tex`
 cp -v $latest_texinfo_tex .
)

rm -rf glibc-build
mkdir glibc-build
cd glibc-build
./glibc-$ver/configure --prefix=$HOME/glibc-install >&out.conf

# standard formats.
for fmt in info html dvi pdf; do
  echo $fmt
  /usr/bin/make $fmt >& out.make$fmt </dev/null
done

cd ../glibc-$ver/manual
man=`pwd`
makeinfo --html --no-split libc.texinfo 
#
# fix cross-manual xrefs.
perl -pi -e 's,href="(gcc|cpp)\.html#(.*?)",href="http://gcc.gnu.org/onlinedocs/ref/\1/\2.html";,' libc.html
#
makeinfo --plaintext --no-split -o libc.txt libc.texinfo 
gzip libc.txt
#
tar czf libc-texi.tar.gz *.texi* texinfo.tex
tar czf libc-info.tar.gz libc.info*
tar czf libc-html_node.tar.gz libc
gzip libc.dvi
#
cd ../../libc-www/manual
\cp $man/libc.dvi.gz dvi/
\cp $man/libc.html html_mono/
\cp $man/libc-info.tar.gz info/
\cp $man/libc.pdf pdf/
\cp $man/libc-texi.tar.gz texi/
\cp $man/libc.txt.gz text/
cd html_node
\cp $man/libc-html_node.tar.gz .
\cp $man/libc/* .
ls -lt_node  # look for old mtimes = to be removed

cd ..
cvs update   # look for ?'s = files to be added

# edit index.html for the date and libc version.

exit $?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]