#!/bin/sh
#
# This scripts builds the unzipped Tcl/Tk manpages needed by bldmanhelp.tcl
# from the installed gzipped manpages of tcl8.x-doc and tk8.x-doc packages
# so that you don't need the Tcl/Tk source tree to build the TclX package.
#
# Since we don't know which section the original manpages belonged to, we
# create both the .3 and .n files for the same page and let TclX read the
# proper one.
#
# The script shouldn't be needed since the tcl help pages should already be
# included in TclX sources.

set -e

dh_testdir

TCL_VERSION=$1
TK_VERSION=$1

TCL_DOC_DIR=debian/tmp/tcl-man
TK_DOC_DIR=debian/tmp/tk-man

test "$TCL_VERSION" || { echo "Usage: ${0##*/} <tcl_version>"; exit 1; }

test -e /var/lib/dpkg/info/tcl${TCL_VERSION}-doc.list \
    || { echo "error: package tcl${TCL_VERSION}-doc is not installed"; err=1; }
test -e /var/lib/dpkg/info/tk${TCL_VERSION}-doc.list \
    || { echo "error: package tk${TCL_VERSION}-doc is not installed"; err=1; }
test "$err" = 1 && exit 1

TCL_MANPAGES=$(
    cat /var/lib/dpkg/info/tcl${TCL_VERSION}.list \
      | grep '/usr/share/man/.*\.gz'
    cat /var/lib/dpkg/info/tcl${TCL_VERSION}-doc.list \
      | grep '/usr/share/man/.*\.gz'
)

TK_MANPAGES=$(
    cat /var/lib/dpkg/info/tk${TK_VERSION}.list \
      | grep '/usr/share/man/.*\.gz'
    cat /var/lib/dpkg/info/tk${TK_VERSION}-doc.list \
      | grep '/usr/share/man/.*\.gz'
)

rm -rf $TCL_DOC_DIR $TK_DOC_DIR
mkdir -p $TCL_DOC_DIR $TK_DOC_DIR

echo "copying Tcl ${TCL_VERSION} manpages..."
for f in $TCL_MANPAGES; do
    # echo "    $f"
    dest=${f##*/}; dest=${dest%.3tcl.gz}; dest=${dest%.gz}
    gunzip < $f > $TCL_DOC_DIR/$dest.3
    test -e $TCL_DOC_DIR/$dest.n || ln -s $dest.3 $TCL_DOC_DIR/$dest.n
done
mv $TCL_DOC_DIR/tclsh${TCL_VERSION}.*.3 $TCL_DOC_DIR/tclsh.1
rm -f $TCL_DOC_DIR/tclsh${TCL_VERSION}.n
grep -q ".SH KEYWORDS" $TCL_DOC_DIR/Tcl.n || \
echo -e ".SH KEYWORDS\ntcl, syntax" >> $TCL_DOC_DIR/Tcl.n

echo "copying Tk ${TK_VERSION} manpages..."
for f in $TK_MANPAGES; do
    # echo "    $f"
    dest=${f##*/}; dest=${dest%.3tk.gz}; dest=${dest%.gz}
    gunzip < $f > $TK_DOC_DIR/$dest.3
    test -e $TK_DOC_DIR/$dest.n || ln -s $dest.3 $TK_DOC_DIR/$dest.n
done
mv $TK_DOC_DIR/wish${TK_VERSION}.*.3 $TK_DOC_DIR/wish.1
rm -f $TK_DOC_DIR/wish${TK_VERSION}.n

# end of file
