#!/bin/bash
#
# signrepomd.sh
#
# Usage:   signrepomd.sh <repomd.xml>
#

# bail if no args
if [ $# -eq 0 ]; then
    echo "Usage: $0 <repomd.xml>"
    exit 1
fi

#inits
export pwd=`pwd`
failures=0

# location of signing binary
export SignHPE=/data/blofly/SDR/repo/sut/SignHP/SignHP_v5_0

# pull in credentials
. /data/blofly/SDR/repo/sut/SignHP/SignHP_v5_0/env.sh

# generate repomd.xml.asc file next to repomod.xml
for repomd in `ls $*`
do
  echo " "; echo "$repomd"
  trycount=0
#  until  java -jar $SIGNHPPATH/SignHPClient.jar sign -i $repomd -o `dirname $repomd`  -p SDR_2048 
   until $SignHPE/signhpe_linux --in $repomd --out `dirname $repomd` --project SDR_2048 --env --logdir /data/blofly/SDR/repo/sut/SignHP/SignHP_v5_0/logs

  do
     echo "## SIGNHP FAILURE - TRYING AGAIN #############################"
     echo "## $repomd"
     sleep 5
     ((trycount++))
     if [ $trycount -gt 10 ]; then
        echo "## Tried and failed 10 times, giving up on $repomd"
        ((failures++))
        break
     fi
  done

  if [ -f $repomd.sig ]; then
     gpg --enarmor --no-comments $repomd.sig
     sed -i -e '/Comment.*/d' -e 's/ARMORED FILE/SIGNATURE/' $repomd.sig.asc
     mv $repomd.sig.asc $repomd.asc
     rm $repomd.sig
  else
     echo "Sig file not generated, skipipng."
     exit 1
  fi
done

if [ $failures -gt 0 ]; then
  echo "## Some rrmor --no-comments ./repomd.xml.sig"
  exit 1
fi

exit 0
