#!/bin/bash 
if [ -z $SUM ] ;
then
  export SUM=sha256sum
fi
export CHKSUM_DIR="/var/lib/alt-checksums/"
export CHKSUM_ROOT="/"
export NAME="l1"
# list of arguments expected in the input
optstring="r:hl:d:"

while getopts ${optstring} arg; do
  case ${arg} in
    h)
      echo "usage: alt-gensum {-r ROOT against which to do sums}  {-d define a different DIR for checksums}" 
      echo "By using external var SUM a counting program can be changed."
      echo "Example: export SUM=md5sum"
      echo "Result is in /var/lib/alt-checksums/sums"
      echo "Final sum of that file will be printed to stdout."

      exit 1
      ;;
    r) 
      export CHKSUM_ROOT=${OPTARG} 
      echo "$0: chksum_root is defined as  $CHKSUM_ROOT"
      ;;
    d)
      export CHKSUM_DIR=${OPTARG}
      ;;
    l)
      export NAME=${OPTARG}
      echo "$0: generating list"
      ;;
    :)
      echo "$0: Must supply an argument to -$OPTARG." >&2
      exit 1
      ;;
    ?)
      echo "Invalid option: -${OPTARG}."
      exit 2
      ;;
  esac
done

if [ ! -f $CHKSUM_DIR/$NAME ];
then
  echo "No file list, prepare it by alt-gensum-chk"
  echo "-h for usage"
  exit 1
fi

cat $CHKSUM_DIR/$NAME | xargs -d$'\n'  $SUM >$CHKSUM_DIR/sums
$SUM $CHKSUM_DIR/sums


