summaryrefslogtreecommitdiffstats
path: root/mockrun
blob: 455462652f384a0b6a3a5f7b35c3bd1009968884 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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"