summaryrefslogtreecommitdiffstats
path: root/mockrun
diff options
context:
space:
mode:
Diffstat (limited to 'mockrun')
-rwxr-xr-xmockrun51
1 files changed, 51 insertions, 0 deletions
diff --git a/mockrun b/mockrun
new file mode 100755
index 0000000..4554626
--- /dev/null
+++ b/mockrun
@@ -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"
+