#! /bin/bash
# call this script in this order under root or user login:
#
#   maybe root or user
#     build compile
#   become root
#     build install
#   maybe root or user
#     build tar 

MODE="$1"
LVER=1d

if [ ! -f configure ]; then
  cd ../
fi

if [ "$MODE" = "compile" ]; then
  if ! grep SUPPORT_WRITERS_LOCK src/cvs.h; then
    patch -p0 <lermen/src-${LVER}.patch
  fi
  export LDFLAGS=-static
  ./configure --prefix=/usr 2>&1 |tee lermen/configure.log
  make 2>&1 |tee lermen/compile.log
fi

if [ "$MODE" = "install" ]; then
  rm -f lermen/install/doinstall.sh
  make install 2>&1 | tee lermen/install.log
  mkdir -p /usr/doc/packages/cvs
  (cd doc; cp -fp *.ps cvs.texinfo cvsclient.texi ChangeLog RCSFILES DIFFUTILS-2.7-BUG /usr/doc/packages/cvs)

  for i in `grep /usr/bin lermen/tar-list`; do
    echo " stripping $i"
    strip $i
  done

  # check if man or info files have to be gziped.
  if ls /usr/man/man1/*.gz >/dev/null 2>&1; then 
    for i in  `awk '/\/usr\/man/ || /\/usr\/info\// {print}' lermen/tar-list`; do
      rm -f ${i}.gz
      echo "rm -f ${i}" >> lermen/install/doinstall.sh
      gzip -9 ${i} 
    done
  fi
fi


if [ "$MODE" = "tar" ]; then
  # check if man or info files have to be gziped.
  TARLIST=lermen/tar-list
  if ls /usr/man/man1/*.gz >/dev/null 2>&1; then
    sed -e 's;/usr/man/.*;&.gz;' \
        -e 's;/usr/info/.*;&.gz;' $TARLIST >${TARLIST}~
    TARLIST=${TARLIST}~
  fi

  tar -cf lermen/cvs-1.9.16-Ler${LVER}.bin.tar -C / -T $TARLIST
  tar -rf lermen/cvs-1.9.16-Ler${LVER}.bin.tar -C lermen install/doinstall.sh
  rm -f lermen/cvs-1.9.16-Ler${LVER}.bin.tar.gz
  gzip -9 lermen/cvs-1.9.16-Ler${LVER}.bin.tar
  rm lermen/*~
fi
