#!/bin/sh if [ $# != 3 ] ; then echo "missing arguments" echo "usage : $0 file key_number key_directory" exit 1 fi file="$1" key="$2" keydir="$3" tmpfile=`mktemp` cp -pf "$file" "$tmpfile" rpm --delsign "$tmpfile" /usr/local/bin/mga-signpackage "$tmpfile" "$key" "$keydir" nbtry=0 while rpmsign -Kv "$tmpfile" 2>&1 | grep BAD do nbtry=$(($nbtry + 1)) if [ $nbtry -ge 30 ] then exit 1 fi # Archive failed file for further analysis mkdir -p "/tmp/failed-sign/" failedfile="/tmp/failed-sign/$(basename "$file").$(date +%Y%m%d%H%M%S)" cp -pf "$file" "$failedfile" cp -pf "$file" "$tmpfile" rpm --delsign "$tmpfile" /usr/local/bin/mga-signpackage "$tmpfile" "$key" "$keydir" done mv -f "$tmpfile" "$file"