#!/bin/bash
#
# suma-channel-fueling
#
# (c) 2012 SUSE Linux GmbH, Germany.
# GNU Public License. No warranty.
#
# Version: 2012-10-17
#

EXE="$0"
CFG="/etc/spock/suma-tool"

SUBSCR_NAP="2"
CHANNELS_TO_CREATE="sles10-sp3-pool-i586 sles10-sp3-updates-i586 sle10-sp3-suse-manager-tools-i586 sles10-sp3-pool-x86_64 sles10-sp3-updates-x86_64 sle10-sp3-suse-manager-tools-x86_64 sles10-sp4-pool-i586 sles10-sp4-updates-i586 sle10-sp4-suse-manager-tools-i586 sles10-sp4-pool-x86_64 sles10-sp4-updates-x86_64 sle10-sp4-suse-manager-tools-x86_64 sles11-sp1-pool-i586 sles11-sp1-updates-i586 sles11-sp1-suse-manager-tools-i586 sles11-sp2-core-i586 sles11-sp2-updates-i586 sles11-sp2-suse-manager-tools-i586 sles11-sp1-pool-x86_64 sles11-sp1-updates-x86_64 sles11-sp1-suse-manager-tools-x86_64 sles11-sp2-core-x86_64 sles11-sp2-updates-x86_64 sles11-sp2-suse-manager-tools-x86_64"

test -s $CFG && source $CFG


function create_channel_tree() {
	echo "INFO: start $EXE $FUNCNAME"
	echo
	echo "Creating channel tree without syncing packages:"
	echo
	for CHNL in $CHANNELS_TO_CREATE; do
		echo "INFO: $EXE $FUNCNAME : $CHNL"	
		mgr-ncc-sync -c $CHNL
		sleep $SUBSCR_NAP
		echo "INFO: $EXE $FUNCNAME : killall spacewalk-repo-sync"
		killall -9 spacewalk-repo-sync
	done
	cleanup
	echo "INFO: end $EXE $FUNCNAME"
}


function cleanup() {
	echo "INFO: start $EXE $FUNCNAME"
	echo
	echo "Here's what has been synced so far:"
	echo
	cat /var/log/rhn/reposync/*
	echo
	echo "Deleting those log files..."
	rm -f /var/log/rhn/reposync/*
	echo "Cleanup spacewalk repo gpg keys..."
	rm -rf /var/lib/spacewalk/gpgdir
	echo "INFO: end $EXE $FUNCNAME"
}


function help() {
	echo "usage:	$(basename $0) [OPTION]"
	echo
	echo " --help		show help"
	echo " --version	show version"
}


# main()
case $1 in
	-v|--version)
		echo -n "$(basename $EXE) "
		head -11 $EXE | grep "^# Version: "
		exit
	;;
	-h|--help)
		help
		exit
	;;
	*)
		echo "INFO: start $EXE"
		create_channel_tree
		echo "INFO: normal_end $EXE"
	;;
esac
#
