#!/bin/bash

LOCK_FILE="/tmp/repo-update.lock"

if [ -f $LOCK_FILE ];
then
	echo "Repo update already running"
	echo "Running instance started on: `cat $LOCK_FILE`"
	exit 1
fi

date > $LOCK_FILE

RSYNC_COMMAND="rsync -ivrtCO --bwlimit=256 --exclude="*debuginfo*" --exclude="debug/""

CENTOS_VERSIONS="5.4 5.5"
FEDORA_VERSIONS="12 13"
FEDORA_ARCH="i386 x86_64"

################################################################
## Centos 
## We only use the 64Bit version of CentOS

for versions in $CENTOS_VERSIONS;
do
        CENTOS_PATH=/var/www/localhost/htdocs/repo/centos/$versions
	## CENTOS UPDATES
	echo "---------------------------------------------------------"
	echo "| CENTOS $versions"
	echo "| UPDATES"
	echo "| $(date)"
	echo "---------------------------------------------------------"
	if [ ! -d $CENTOS_PATH/updates ]; then mkdir -p $CENTOS_PATH/updates; fi
	$RSYNC_COMMAND rsync://rsync.cs.uu.nl/CentOS/$versions/updates/x86_64 $CENTOS_PATH/updates/ 
	## Centos Extras
	echo "---------------------------------------------------------"
	echo "| CENTOS $versions"
	echo "| EXTRAS"
	echo "| $(date)"
	echo "---------------------------------------------------------"
	if [ ! -d $CENTOS_PATH/extras ]; then mkdir -p $CENTOS_PATH/extras; fi
	$RSYNC_COMMAND rsync://rsync.cs.uu.nl/CentOS/$versions/extras/x86_64 $CENTOS_PATH/extras/ 
	echo "---------------------------------------------------------"
	echo "| CENTOS $versions"
	echo "| ADDONS"
	echo "| $(date)"
	echo "---------------------------------------------------------"
	if [ ! -d $CENTOS_PATH/addons ]; then mkdir -p $CENTOS_PATH/addons; fi
	$RSYNC_COMMAND rsync://rsync.cs.uu.nl/CentOS/$versions/addons/x86_64 $CENTOS_PATH/addons/ 
done

######################################################################
# Fedora
# For Fedora we use 32bit and 64bit

for versions in $FEDORA_VERSIONS;
do
	FEDORA_PATH=/usr/bigdisk/www/localhost/htdocs/repo/fedora
	for arch in $FEDORA_ARCH
	do
		echo "---------------------------------------------------------"
		echo "| FEDORA $versions"
		echo "| UPDATES $arch"
		echo "| $(date)"
		echo "---------------------------------------------------------"
	  	if [ ! -d $FEDORA_PATH/updates/$versions/$arch/ ]; then mkdir -p $FEDORA_PATH/updates/$versions/$arch/; fi
		$RSYNC_COMMAND rsync://mirrors.nl.eu.kernel.org/fedora/updates/$versions/$arch/ $FEDORA_PATH/updates/$versions/$arch/

		echo "---------------------------------------------------------"
		echo "| FEDORA $versions"
		echo "| EVERYTHING $arch"
		echo "| $(date)"
		echo "---------------------------------------------------------"
	  	if [ ! -d $FEDORA_PATH/everything/$versions/$arch/ ]; then mkdir -p $FEDORA_PATH/everything/$versions/$arch/; fi
		$RSYNC_COMMAND rsync://mirrors.nl.eu.kernel.org/fedora/releases/$versions/Everything/$arch/os/ $FEDORA_PATH/everything/$versions/$arch/
	done
done

echo "---------------------------------------------------------"
echo "Start time..................: $(cat $LOCK_FILE)"
echo "End Time....................: $(date) "
echo "---------------------------------------------------------"

rm $LOCK_FILE

