diff options
Diffstat (limited to 'mockrun')
-rwxr-xr-x | mockrun | 51 |
1 files changed, 51 insertions, 0 deletions
@@ -0,0 +1,51 @@ +#!/bin/bash + +# ARCH detection and check +if [ "$(uname -m)" = "x86_64" ]; then + QUEUE=mockx + REDISCLI="redis-cli" +else + QUEUE=mocka + REDISCLI="redis-cli -h remi" +fi + +CHECK=$($REDISCLI ping) +[ "$CHECK" = "PONG" ] || exit 1 + +if [ "$1" = "-h" -o "$1" = "--help" ]; then + echo "Usage $0 [ option ]" + echo " -e --erase to empty the queue" + echo " -l --list to list the queue" + echo " -p --perm to run permanently" + + exit 0 + +elif [ "$1" = "-l" -o "$1" = "--list" ]; then + $REDISCLI smembers $QUEUE + exit 0 + +elif [ "$1" = "-e" -o "$1" = "--erase" ]; then + $REDISCLI del $QUEUE + exit 0 +fi + +while true +do + CMD=$($REDISCLI spop $QUEUE) + if [ -z "$CMD" ]; then + if [ "$1" = "-p" -o "$1" = "--perm" ]; then + echo -n . + sleep 1 + continue + else + break + fi + fi + TXT="$(echo $CMD | sed -e 's/^.*-r //;s/ .*$//') " + RPM="$(echo $CMD | sed -e 's:\.rpm.*$:.rpm:;s:^.*/::')" + echo -en "\r$(date +%X) $RPM ${TXT:0:10}" + $CMD --uniqueext=$PPID && echo " Ok." || echo " Error !" +done + +echo "$(date +%X) Done" + |