#!/bin/sh -efu

. girar-sh-functions
PROG='girar-task show'

usage()
{
	[ -z "$*" ] || message "$*"
	echo >&2 "usage: $PROG [<task_id>]"
	exit 1
}

if [ "${1-}" = '--help' ]; then
	usage
fi

if [ "$#" -gt 1 ]; then
	usage 'Too many arguments.'
fi

id=$(PROG="$PROG" girar-task-find-current "$@")
cd "$GB_TASKS/$id"

printf 'id=%d' "$id"
enable -f /usr/lib/bash/lockf lockf
printf ' locked=%s' "$(builtin lockf -n . && echo no || echo yes)"
printf ' shared=%s' "$(find gears -maxdepth 0 -path gears -type d -perm -g=w -printf yes -or -printf no 2>/dev/null || echo no)"
printf ' repo=%s' "$(cat task/repo)"
printf ' owner=%s' "$(cat task/owner)"
printf ' seq=%s' "$(cat task/seq 2>/dev/null)"
printf ' rc=%s\n' "$(cat task/rc 2>/dev/null)"

nums="$(gear_nums)"
[ -n "$nums" ] || exit 0

for i in $nums; do
	if [ -s "gears/$i/dir" ]; then
		printf ' %s:dir=%s\n' "$i" "$(cat "gears/$i/dir")"
		printf ' %s:tag_name=%s\n' "$i" "$(cat "gears/$i/tag_name")"
		printf ' %s:tag_id=%s\n' "$i" "$(cat "gears/$i/tag_id")"
		printf ' %s:tag_author=%s\n' "$i" "$(cat "gears/$i/tag_author")"
	fi
	if [ -s "gears/$i/srpm" ]; then
		printf ' %s:srpm=%s\n' "$i" "$(cat "gears/$i/srpm")"
	fi
	if [ -s "gears/$i/package" ]; then
		if [ -s "gears/$i/copy_repo" ]; then
			printf ' %s:copy_repo=%s\n' "$i" "$(cat "gears/$i/copy_repo")"
		else
			printf ' %s:delete\n' "$i"
		fi
		printf ' %s:package=%s\n' "$i" "$(cat "gears/$i/package")"
	fi
	printf ' %s:userid=%s\n' "$i" "$(cat "gears/$i/userid")"
done
