#!/bin/sh
# 2004-2005 (c) Etersoft www.etersoft.ru
# Author: Vitaly Lipatov <lav@etersoft.ru>
#   src.rpm-   ALT Linux
#     .
#   download_src_rpm.sh kino
#  kino-0.7.5-alt1.src.rpm
#        
#      apt-get source 
# -c - checkonline
# -n - do not install

. /etc/rpm/etersoft-build-functions

REPOSITORY="files/SRPMS obsolete orphaned"

TRYINST="1"
if [ "$1" == "-n" ] ; then
	shift
	TRYINST=""
fi

test -z "$1" && { echog "Please run with spec/package name" ; exit 1; }

# Check online
if [ "$1" == "-c" ] ; then
	shift
	CHECKONLINE=1
	if [ -f $1 ] ; then
		build_rpms_name "$1"
	else
		echo $1 | grep rpm 2>/dev/null && SRCRPM=$1 ||
		SRCRPM=`rpm -q $1 --queryformat "%{SOURCERPM}\n" | tail -n 1` 
	fi
	echog "Checking in repository ..."
	RET="MISSED"
	for i in $REPOSITORY  ; do
		rsync -n --progress $RSYNCSISYPHUS/$i/$SRCRPM  >/dev/null 2>&1 && { RET=$i; break; }
	done
	echog "Repository     Filename"
	printf "%-12s %30s\n" $RET $SRCRPM
	exit 0
fi

echo
echo "########################################"
if [ -z "${1/*src.rpm/}" ]
then
	# it is src.rpm package
	SRCRPM=$1
else
	if [ -z "${1/*rpm/}" ] ; then
		# it is rpm package (locale placed?)
		SRCRPM=`rpm -qp $1 --queryformat "%{SOURCERPM}\n"`
	else
		SRCRPM=`rpm -q $1 --queryformat "%{SOURCERPM}\n"`
	fi
fi
test -z "$SRCRPM" && { echog "Cannon find package for $1" ; exit 1 ; }
echog "Try to download $SRCRPM"

test -z ${TRYINST} || cd $RPMDIR/SRPMS
echog "Downloading in $(pwd)"

for i in $REPOSITORY
do
	echo "--------Check in $i-----------"
	rsync -va --partial --checksum --copy-links \
		--delete-after --progress $RSYNCSISYPHUS/$i/$SRCRPM ./$SRCRPM && break
done

test -z ${TRYINST} && exit 0
echo
echog "Installing..."
rpm -iv $SRCRPM


