#!/bin/sh

set -e

debupdate=~/bin/my-deb-update

allscopes="suites oldsuites woody_backports woody_and_sarge_backports sarge_backports etch_backports sid_tweaks etch_and_sid_tweaks"
oldsuites="boot filesystems filesharing fileviewers voip voip-cvs chat misc netatalk wv-src wv mpeg-src voip-cvs-src php-src"
suites="kernels kernels-src boot console-tools sneak-previews voip-src mediastreaming mediastreaming-src webservices mailservices glom glom-src web-base x11-base x11-tools php"
etch_backports="dtp math security xapian-src xapian mailservices-src git git-src webservices-src admin backup"
sarge_backports="moin yaird yada filesystems-src linux-kernel-headers"
woody_backports="pkgdev-src"
woody_and_sarge_backports="cowdancer"
sid_tweaks="mpd-src graphics wikitools wikitools-src"
etch_and_sid_tweaks="pulseaudio mpd datasync datasync-src ldap ldap-src"
allpools="$woody_backports $woody_and_sarge_backports $sarge_backports $etch_backports $sid_tweaks $etch_and_sid_tweaks $oldsuites $suites"

pools="$@"
if [ -z "$pools" ]; then
	pools="$allpools"
fi

for pool in $pools; do
	scopes=
	for scope in $allscopes; do
		eval scopepools=\"\$$scope\"
		for scopepool in $scopepools; do
			if [ "$pool" = "$scopepool" ]; then
				scopes="$scopes $scope"
				break 2
			fi
		done
	done
	for scope in $scopes; do
		case $scope in
		    sid_tweaks)
			$debupdate $pool "default source" "sid" "i386"
			$debupdate $pool "default" "sid" "powerpc amd64"
			;;
		    etch_and_sid_tweaks)
			$debupdate $pool "default source" "etch sid" "i386"
			$debupdate $pool "default" "etch sid" "powerpc"
			;;
		    etch_backports)
			$debupdate $pool "default source" "etch" "i386"
			$debupdate $pool "default" "etch" "powerpc amd64"
			;;
		    sarge_backports)
			$debupdate $pool "default source" "sarge" "i386"
			$debupdate $pool "default" "sarge" "powerpc"
			;;
		    woody_and_sarge_backports)
			$debupdate $pool "default source" "woody sarge" "i386"
			$debupdate $pool "default" "woody sarge" "powerpc"
			;;
		    woody_backports)
			$debupdate $pool "default source" "woody" "i386"
			$debupdate $pool "default" "woody" "powerpc"
			;;
		    oldsuites)
			$debupdate $pool "default source" "sarge etch sid" "i386"
			$debupdate $pool "default" "sarge etch sid" "powerpc"
			;;
		    suites)
			$debupdate $pool "default source" "etch sid" "i386"
			$debupdate $pool "default" "etch sid" "powerpc amd64"
			;;
		    *)
			echo "ERROR: Wrong scope \"$scope\" for pool \"$pool\"."
			exit 1
		esac
	done
done
