#!/bin/bash
#Copyright 2004-2006 William Stearns <wstearns@pobox.com>
#Released under the GPL
#Version 1.55

#FIXME - repoview not working on ford?
#FIXME - build appindex, exclude from excludes below
#FIXME - change over all rm's to find/xargs
#FIXME - only run repomanage if directory has changed

#If a given module doesn't have x86_64 rpms, do we grab the i386 versions instead?
#OpteronFallback=''		#No
OpteronFallback='yes'		#Yes
MaxLoad='6'			#Integer load; if we're above this wait before _starting_ another background job
KeepOldKernels='no'		#Do we hold onto old kernels when pruning old RPMs?

die () {
	echo "$*  Exiting." >&2
	exit 1
}


Status () {
	echo '====' "$@" >&2
}

XCopy () {
	#Given two directories, copy any rpms found in one but not the other.
	#For later use in rhel/centos/whitebox sharing of rpms
	#Suggest params both be "...../packages/" directories
	if [ -z "$2" -o -n "$3" ]; then
		echo "Incorrect number of params in XCopy: $@" >&2
	elif [ -d "$1" -a -d "$2" ]; then
		Status "Cross copying $1 and $2"
		$RS --exclude-from="$1/excluded-files" --exclude-from="$2/excluded-files" --exclude-from="$TopDir/general-exclude" --exclude-from="$TopDir/user-exclude" --ignore-existing $1 $2
		$RS --exclude-from="$1/excluded-files" --exclude-from="$2/excluded-files" --exclude-from="$TopDir/general-exclude" --exclude-from="$TopDir/user-exclude" --ignore-existing $2 $1
	#else
		#Status "Missing $1 and/or $2, no cross copy"
	fi
}

Usage () {
	cat <<EOHELP
Usage:
$0 /full/path/to/top/level/yum/ distro [distro]... [module]... [urltop]... [--nolock] [--nodownload] [--noindex]

/full/path/to/top/level/yum/ is the top level, writable, directory where
all files will live.  You can only specify one storage directory, it
should have around (5GB * number of specific distributions) free, and be
writable by the user running this script.

distro is one or more of ce_3.4_i386, ce_3.4_x86_64, ce_4.0_i386,
ce_4.0_x86_64, fc_1_i386, fc_2_i386, fc_3_i386, fc_4_i386, fc_5_i386,
fc_1_x86_64, fc_2_x86_64, fc_3_x86_64, fc_4_x86_64, fc_5_x86_64,
md_9.1_i386, md_9.2_i386, md_10.0_i386, md_10.1_i386, md_10.2_i386,
rh_7.3_i386, rh_8.0_i386, rh_9_i386, rhel_3_i386, rhel_4_i386,
su_9.2_i386, su_9.3_i386, wb_3_i386, wb_4_i386, alldistro, centos,
fedora, mandrake, redhat, rhel, suse, or whitebox.  These last seven
respectively grab everything, all centos, all fedoras, all mandrakes,
all redhats, all rhels, all suses, and all whiteboxes.  Each specific
distribution uses 2GB-10GB. By placing "andnewerthan" on the command
line _before_ one or more distributions, you get those distributions and
newer versions as well.  For example, "yum-pull andnewerthan
fc_2_i386...." will give you fc_2_i386, fc_3_i386, fc_4_i386, and
fc_5_i386.

module is one or more of atrpms, biorpms, ccrma, core, dag, dries,
extras, freshrpms, jpackage, kde-redhat-stable, kde-redhat-testing,
kde-redhat-unstable (the kde-redhat repos include the -all repos
automatically), livna, livna-testing, livna-unstable, local, newrpms,
nrpms, nrpms-testing, openpkg, updates, wstearns, ximian, allmodules, or
allmodulesbutcore (good once you have gotten core files for all
distributions as core generally should not change).  The combinedrepo
module is built from all other modules packages, and the coreandupdates
module from core and updates (note, combinedrepo is not included in
either allmodules or allmodulesbutcore as it takes a while to build).

Optional param: "bwlimit NNNNN" specifies the maximum bandwidth to
use, measured in kilobytes/sec.  NNNNN should be digits only.

urltop is the start of the URL clients would need to type in to get to
these files, such as ftp://ftp.server/pub/ , http://web.server/mirror/ ,
or file:///mnt/nfsmirror/yum/ .  Whatever you specify should have the
centos/fedora/mandrake/redhat/rhel/suse directories immediately inside
it.  Multiple entries are fine; the most preferred url should come first
and continue to less preferred urls.

--nolock runs this script without the lock that normally prevents two
copies of the script from running at once (good when you need to grab a
new module while the regularly scheduled download is running). 
--nodownload skips the download (good when you just want to reindex the
files).  --noindex skips all the remaining indexing and maintenance
steps.  Use all three when you just want to create the directory
structure and do nothing else.


EOHELP
}

randomof () {
	#Returns one of the parameters on the command line, picked at random
	#Sample call: echo `randomof Alan Bob Charlie Dave`

	declare -a ParamArray

	ParamCount=0
	while [ -n "$1" ]; do
		ParamCount=$[ $ParamCount + 1 ]
		ParamArray[$ParamCount]="$1"
		shift
	done

	if [ "$ParamCount" -eq 0 ]; then
		#echo "No params to choose from" >&2
		return
	fi

	RandChoice=$[ $RANDOM % $ParamCount + 1 ]

	#echo Returning $RandChoice out of $ParamCount >&2

	echo "${ParamArray[$RandChoice]}"
}

requireutil () {
	while [ -n "$1" ]; do
		if ! type -path "$1" >/dev/null 2>/dev/null ; then
			echo Missing utility "$1". Please install it. >&2
			return 1	#False, app is not available.
		fi
		shift
	done
	return 0	#True, app is there.
} #End of requireutil

debug () {
	:
	echo "$*" >&2
}

GoGet () {
	#Individual command lines were getting long, so this function does the actual retrieval.
	#Params:
	#$1	All available rsync source top level dirs (later this will allow ftp/http)
	#$2	Actual directory on rsync source (or dir+spec) that holds the rpms
	#$3	Dest dir on local system
	#$4	Additional rsync params

	State=''
	Pass=1

	if [ ! -d "$3" ]; then
		#FIXME - this prints _all_ of the potential sources, a long list.
		echo "DEBUG WARNING: $3 does not exist, please check.  Pull was from $1/$2" >&2
		return
	fi
	if [ "$Download" = 'disabled' ]; then
		Status "Skipping download to $3 because of 'nodownload' option"
		return
	fi
	while [ "$State" != "passed" -a $Pass -le 3 ]; do
		Source=`randomof $1`
		Status "Pulling from $Source"
		case "$Source" in
		rsync://*)
			if $RS $4 `[ -n "$BWLimit" ] && echo "--bwlimit=$BWLimit"` "$Source/$2" "$3" --exclude-from="$3/excluded-files" --exclude-from="$3/checked-sigs" --exclude-from="$TopDir/general-exclude" --exclude-from="$TopDir/user-exclude" ; then
				State='passed'
				Status "Succeeded in pull from $Source/$2 to $3"
			else
				State='failed'
				Status "Failed pull from $Source/$2 to $3"
				type -path logger >/dev/null && logger "yum-pull: Failed pull from $Source/$2 to $3"
			fi
			;;
		ftp://*|http://*)
		#	lftp looks lore flexible
		#	wget --mirror   .........		`[ -n "$BWLimit ] && echo '--limit-rate='"$BWLimit"'k'` .........................

			if type -path lftp >/dev/null 2>/dev/null ; then
				#| tee /tmp/lftpcommands
				#On mirror command line, we build up multiple '-X exclude_this' options, then source dir (no leading slash) and local dest dir (no trailing slash) to fit lftp's preferred syntax
				if type -path timeout >/dev/null 2>/dev/null ; then
					#lftp has trouble finishing if we get a non-responsive ftp server.  We use the timeout utility to give it a max of 15 minutes
					Killer='timeout -s TERM 7200 '
				fi
				cat <<EOF | $Killer lftp
set net:limit-rate ${BWLimit}000
set dns:fatal-timeout 600
set net:timeout 600
set net:max-retries 1
open $Source
mirror -L `cat "$3/excluded-files" "$3/checked-sigs" "$TopDir/general-exclude" "$TopDir/user-exclude" | sort | uniq | while read OneEx ; do echo -n ' -X '"$OneEx " ; done` `echo $2 | sed -e 's@^/@@'` `echo $3 | sed -e 's@/$@@'`
EOF

#close removed from just after the mirror

				RetVal=$?
				if [ "$RetVal" = "0" ]; then
					State='passed'
					Status "Succeeded in pull from $Source/$2 to $3"
				else
					State='failed'
					Status "Failed pull from $Source/$2 to $3"
					type -path logger >/dev/null && logger "yum-pull: Failed pull from $Source/$2 to $3"
				fi
			else
				echo 'ftp url requested, but lftp is not installed.  please install lftp' >&2
			fi
			;;
		*)
			echo "Unhandled retrieval URL $Source" >&2
			;;
		esac
		Pass=$[ $Pass + 1 ]
	done
}

PrepTree () {
	#$1 is "$TopDir" $2 is "/distro/linux/version/arch/" , $3 is $ModuleName
	mkdir -p "$1/$2/$3/packages/"
	touch "$1/$2/$3/packages/excluded-files"
#FIXME - if excluded-files doesn't exist, populate with existing file shipped with script or downloaded from ford.
#untested, not quite finished.  :-)
#	if [ -f "$1/$2/$3/packages/excluded-files" -a ! -s "$1/$2/$3/packages/excluded-files" ]; then		#If file exists and is empty
#		Status "Downloading seed excluded-files for $2/$3"
#		#FIXME - get ford's path to use /repomirror/
#		echo -e "set net:timeout 600\nopen http://ford.stearns.org/\nget /$2/$3/packages/excluded-files -o $1/$2/$3/packages/excluded-files\n" | lftp
#	fi
	touch "$1/$2/$3/packages/checked-sigs"
	( cd "$1/$2" && rm -f RPMS.$3 && ln -sf $3/packages RPMS.$3 )
	#FIXME - case on destination directory distro and add excludes like x86_64 for i386 dirs, ppc for i386/x86_64, src for all
	case "$2" in
	*/i386*)
		echo '*.ppc.*' >>"$1/$2/$3/packages/excluded-files"
		echo '*.x86_64.*' >>"$1/$2/$3/packages/excluded-files"
		;;
	*/x86_64*)
		echo '*.ppc.*' >>"$1/$2/$3/packages/excluded-files"
		;;
	esac
}

DirHash () {
	find "$1" -type f -print0 2>/dev/null \
	 | sort -z \
	 | xargs --null -r -n 20 ls -An  --time-style=long-iso {} 2>/dev/null \
	 | egrep -v '(/.dirhash$|/checked-sigs$|/excluded-files$|/filelist.html$|/base/|/headers/|/repodata/|/.oldheaders/|/.olddata/|/.repodata/|/.newheaders/)' \
	 | sed -e 's/^[^ ]* *[^ ]* *[^ ]* *[^ ]*//' \
	 | md5sum \
	 | awk '{print $1}'
}

for OneApp in createrepo freedups htmlfilelist repoview ; do
	if ! type -path $OneApp >/dev/null 2>/dev/null ; then
		echo "$OneApp program (part of $OneApp package) strongly recommended." >&2
		echo "Please install; perhaps:" >&2
		echo "yum install $OneApp" >&2
	fi
done
if ! type -path genbasedir >/dev/null 2>/dev/null ; then
	echo 'genbasedir script (part of apt package) strongly recommended.' >&2
	echo 'Please install; perhaps:' >&2
	echo 'yum install apt' >&2
fi
if ! type -path repomanage.py >/dev/null 2>/dev/null ; then
	echo 'repomanage.py script strongly recommended.  Please pull from:' >&2
	echo 'http://linux.duke.edu/projects/yum/download/misc/repomanage.py' >&2
	echo 'and place it anywhere in your path.' >&2
fi
if ! type -path yum-arch >/dev/null 2>/dev/null ; then
	echo 'yum-arch script (part of yum package) strongly recommended.' >&2
	echo 'Please install; perhaps:' >&2
	echo 'apt-get install yum' >&2
fi
if ! type -path timeout >/dev/null 2>/dev/null ; then
	echo 'timeout program (part of netatalk package) strongly recommended.' >&2
	echo 'Please install; perhaps:' >&2
	echo 'yum install netatalk' >&2
fi
requireutil awk cat chmod du egrep find grep ln md5sum mkdir mv nice renice rm rsync sed sort touch uniq xargs || exit 1


if [ -z "$1" ]; then
	Usage
	exit 1
fi

Download='enabled'
Index='enabled'
Lock='yes'

#FIXME - have variable for each module, set when requested, so we can handle dups and force order
while [ -n "$1" ]; do
	case "$1" in
#FIXME - make tests case insensitive
	--nodownload|nodownload)
		Download='disabled'
		;;
	--noindex|noindex)
		Index='disabled'
		;;
	--nolock|nolock)
		Lock='no'
		;;
	andnewerthan)
		if [ -n "$ce_34_i386$ce_34_x86_64$ce_40_i386$ce_40_x86_64$fc_1_i386$fc_2_i386$fc_3_i386$fc_4_i386$fc_5_i386$fc_1_x86_64$fc_2_x86_64$fc_3_x86_64$fc_4_x86_64$fc_5_x86_64$md_91_i386$md_92_i386$md_100_i386$md_101_i386$md_102_i386$rh_73_i386$rh_80_i386$rh_9_i386$rhel_3_i386$rhel_4_i386$su_92_i386$su_93_i386$wb_3_i386$wb_4_i386" ]; then
			echo 'Note: andnewerthan only applies to specific distributions that _follow_ it on the command line.' >&2
		fi
		AndNewerThan='andnewerthan'
		;;
	allarch|alldistro)
		ce_34_i386='centos/linux/3.4/i386'
		ce_34_x86_64='centos/linux/3.4/x86_64'
		ce_40_i386='centos/linux/4.0/i386'
		ce_40_x86_64='centos/linux/4.0/x86_64'
		fc_1_i386='fedora/linux/1/i386'
		fc_2_i386='fedora/linux/2/i386'
		fc_3_i386='fedora/linux/3/i386'
		fc_4_i386='fedora/linux/4/i386'
		fc_5_i386='fedora/linux/5/i386'
		fc_1_x86_64='fedora/linux/1/x86_64'
		fc_2_x86_64='fedora/linux/2/x86_64'
		fc_3_x86_64='fedora/linux/3/x86_64'
		fc_4_x86_64='fedora/linux/4/x86_64'
		fc_5_x86_64='fedora/linux/5/x86_64'
		md_91_i386='mandrake/linux/9.1/i386'
		md_92_i386='mandrake/linux/9.2/i386'
		md_100_i386='mandrake/linux/10.0/i386'
		md_101_i386='mandrake/linux/10.1/i386'
		md_102_i386='mandrake/linux/10.2/i386'
		rh_73_i386='redhat/linux/7.3/i386'
		rh_80_i386='redhat/linux/8.0/i386'
		rh_9_i386='redhat/linux/9/i386'
		rhel_3_i386='rhel/linux/3/i386'
		rhel_4_i386='rhel/linux/4/i386'
		su_92_i386='suse/linux/9.2/i386'
		su_93_i386='suse/linux/9.3/i386'
		wb_3_i386='whitebox/linux/3.0/i386'
		wb_4_i386='whitebox/linux/4/i386'
		DistroDirs=" $DistroDirs centos fedora mandrake redhat rhel suse whitebox "
		;;
	allmodules)
		ModList="atrpms biorpms ccrma dag dries extras freshrpms jpackage kde-redhat-stable kde-redhat-testing kde-redhat-unstable livna livna-testing livna-unstable local newrpms nrpms nrpms-testing openpkg wstearns ximian"
		Core='core'
		Updates='updates'
		#Combinedrepo='combinedrepo'	#takes too long to build
		Coreandupdates='coreandupdates'
		;;
	allmodulesbutcore)
		ModList="atrpms biorpms ccrma dag dries extras freshrpms jpackage kde-redhat-stable kde-redhat-testing kde-redhat-unstable livna livna-testing livna-unstable local newrpms nrpms nrpms-testing openpkg wstearns ximian"
		Updates='updates'
		#Combinedrepo='combinedrepo'	#takes too long to build
		Coreandupdates='coreandupdates'
		;;
	bwlimit)
		if [ -n "$2" ]; then
			BWLimit="$2"
			shift
		else
			die "Please supply a bandwidth limit number (digits only, measured in kilobytes/sec) as the parameter after 'bwlimit'."
		fi
		;;
	ce_3.4_i386|ce_34_i386)
		ce_34_i386='centos/linux/3.4/i386'
		DistroDirs=" $DistroDirs centos "
		[ -n "$AndNewerThan" ] &&	ce_40_i386='centos/linux/4.0/i386'
		;;
	ce_3.4_x86_64|ce_34_x86_64)
		ce_34_x86_64='centos/linux/3.4/x86_64'
		DistroDirs=" $DistroDirs centos "
		[ -n "$AndNewerThan" ] &&	ce_40_x86_64='centos/linux/4.0/x86_64'
		;;
	ce_4.0_i386|ce_40_i386|ce_4_i386)
		ce_40_i386='centos/linux/4.0/i386'
		DistroDirs=" $DistroDirs centos "
		;;
	ce_4.0_x86_64|ce_40_x86_64|ce_4_x86_64)
		ce_40_x86_64='centos/linux/4.0/x86_64'
		DistroDirs=" $DistroDirs centos "
		;;
	fc_1_i386)
		fc_1_i386='fedora/linux/1/i386'
		DistroDirs=" $DistroDirs fedora "
		[ -n "$AndNewerThan" ] &&	fc_2_i386='fedora/linux/2/i386'
		[ -n "$AndNewerThan" ] &&	fc_3_i386='fedora/linux/3/i386'
		[ -n "$AndNewerThan" ] &&	fc_4_i386='fedora/linux/4/i386'
		[ -n "$AndNewerThan" ] &&	fc_5_i386='fedora/linux/5/i386'
		;;
	fc_2_i386)
		fc_2_i386='fedora/linux/2/i386'
		DistroDirs=" $DistroDirs fedora "
		[ -n "$AndNewerThan" ] &&	fc_3_i386='fedora/linux/3/i386'
		[ -n "$AndNewerThan" ] &&	fc_4_i386='fedora/linux/4/i386'
		[ -n "$AndNewerThan" ] &&	fc_5_i386='fedora/linux/5/i386'
		;;
	fc_3_i386)
		fc_3_i386='fedora/linux/3/i386'
		DistroDirs=" $DistroDirs fedora "
		[ -n "$AndNewerThan" ] &&	fc_4_i386='fedora/linux/4/i386'
		[ -n "$AndNewerThan" ] &&	fc_5_i386='fedora/linux/5/i386'
		;;
	fc_4_i386)
		fc_4_i386='fedora/linux/4/i386'
		DistroDirs=" $DistroDirs fedora "
		[ -n "$AndNewerThan" ] &&	fc_5_i386='fedora/linux/5/i386'
		;;
	fc_5_i386)
		fc_5_i386='fedora/linux/5/i386'
		DistroDirs=" $DistroDirs fedora "
		;;
	fc_1_x86_64)
		fc_1_x86_64='fedora/linux/1/x86_64'
		DistroDirs=" $DistroDirs fedora "
		[ -n "$AndNewerThan" ] &&	fc_2_x86_64='fedora/linux/2/x86_64'
		[ -n "$AndNewerThan" ] &&	fc_3_x86_64='fedora/linux/3/x86_64'
		[ -n "$AndNewerThan" ] &&	fc_4_x86_64='fedora/linux/4/x86_64'
		[ -n "$AndNewerThan" ] &&	fc_5_x86_64='fedora/linux/5/x86_64'
		;;
	fc_2_x86_64)
		fc_2_x86_64='fedora/linux/2/x86_64'
		DistroDirs=" $DistroDirs fedora "
		[ -n "$AndNewerThan" ] &&	fc_3_x86_64='fedora/linux/3/x86_64'
		[ -n "$AndNewerThan" ] &&	fc_4_x86_64='fedora/linux/4/x86_64'
		[ -n "$AndNewerThan" ] &&	fc_5_x86_64='fedora/linux/5/x86_64'
		;;
	fc_3_x86_64)
		fc_3_x86_64='fedora/linux/3/x86_64'
		DistroDirs=" $DistroDirs fedora "
		[ -n "$AndNewerThan" ] &&	fc_4_x86_64='fedora/linux/4/x86_64'
		[ -n "$AndNewerThan" ] &&	fc_5_x86_64='fedora/linux/5/x86_64'
		;;
	fc_4_x86_64)
		fc_4_x86_64='fedora/linux/4/x86_64'
		DistroDirs=" $DistroDirs fedora "
		[ -n "$AndNewerThan" ] &&	fc_5_x86_64='fedora/linux/5/x86_64'
		;;
	fc_5_x86_64)
		fc_5_x86_64='fedora/linux/5/x86_64'
		DistroDirs=" $DistroDirs fedora "
		;;
	md_9.1_i386|md_9.1_i586|md_91_i386|md_91_i586)
		md_91_i386='mandrake/linux/9.1/i386'
		DistroDirs=" $DistroDirs mandrake "
		[ -n "$AndNewerThan" ] &&	md_92_i386='mandrake/linux/9.2/i386'
		[ -n "$AndNewerThan" ] &&	md_100_i386='mandrake/linux/10.0/i386'
		[ -n "$AndNewerThan" ] &&	md_101_i386='mandrake/linux/10.1/i386'
		[ -n "$AndNewerThan" ] &&	md_102_i386='mandrake/linux/10.2/i386'
		;;
	md_9.2_i386|md_9.2_i586|md_92_i386|md_92_i586)
		md_92_i386='mandrake/linux/9.2/i386'
		DistroDirs=" $DistroDirs mandrake "
		[ -n "$AndNewerThan" ] &&	md_100_i386='mandrake/linux/10.0/i386'
		[ -n "$AndNewerThan" ] &&	md_101_i386='mandrake/linux/10.1/i386'
		[ -n "$AndNewerThan" ] &&	md_102_i386='mandrake/linux/10.2/i386'
		;;
	md_10.0_i386|md_10.0_i586|md_100_i386|md_100_i586)
		md_100_i386='mandrake/linux/10.0/i386'
		DistroDirs=" $DistroDirs mandrake "
		[ -n "$AndNewerThan" ] &&	md_101_i386='mandrake/linux/10.1/i386'
		[ -n "$AndNewerThan" ] &&	md_102_i386='mandrake/linux/10.2/i386'
		;;
	md_10.1_i386|md_10.1_i586|md_101_i386|md_101_i586)
		md_101_i386='mandrake/linux/10.1/i386'
		DistroDirs=" $DistroDirs mandrake "
		[ -n "$AndNewerThan" ] &&	md_102_i386='mandrake/linux/10.2/i386'
		;;
	md_10.2_i386|md_10.2_i586|md_102_i386|md_102_i586)
		md_102_i386='mandrake/linux/10.2/i386'
		DistroDirs=" $DistroDirs mandrake "
		;;
	rh_7.3_i386|rh_73_i386)
		rh_73_i386='redhat/linux/7.3/i386'
		DistroDirs=" $DistroDirs redhat "
		[ -n "$AndNewerThan" ] &&	rh_80_i386='redhat/linux/8.0/i386'
		[ -n "$AndNewerThan" ] &&	rh_9_i386='redhat/linux/9/i386'
		;;
	rh_8.0_i386|rh_80_i386|rh_8_i386)
		rh_80_i386='redhat/linux/8.0/i386'
		DistroDirs=" $DistroDirs redhat "
		[ -n "$AndNewerThan" ] &&	rh_9_i386='redhat/linux/9/i386'
		;;
	rh_9.0_i386|rh_90_i386|rh_9_i386)
		rh_9_i386='redhat/linux/9/i386'
		DistroDirs=" $DistroDirs redhat "
		;;
	rhel_3_i386|rh_3_i386)
		rhel_3_i386='rhel/linux/3/i386'
		DistroDirs=" $DistroDirs rhel "
		[ -n "$AndNewerThan" ] &&	rhel_4_i386='rhel/linux/4/i386'
		;;
	rhel_4_i386|rh_4_i386)
		rhel_4_i386='rhel/linux/4/i386'
		DistroDirs=" $DistroDirs rhel "
		;;
	su_9.2_i386|su_92_i386)
		su_92_i386='suse/linux/9.2/i386'
		DistroDirs=" $DistroDirs suse "
		[ -n "$AndNewerThan" ] &&	su_93_i386='suse/linux/9.3/i386'
		;;
	su_9.3_i386|su_93_i386)
		su_93_i386='suse/linux/9.3/i386'
		DistroDirs=" $DistroDirs suse "
		;;
	wb_3_i386|wb_3.0_i386|wb_30_i386)
		wb_3_i386='whitebox/linux/3.0/i386'
		DistroDirs=" $DistroDirs whitebox "
		[ -n "$AndNewerThan" ] &&	wb_4_i386='whitebox/linux/4/i386'
		;;
	wb_4_i386)
		wb_4_i386='whitebox/linux/4/i386'
		DistroDirs=" $DistroDirs whitebox "
		;;
	combinedrepo)
		Combinedrepo='combinedrepo'
		;;
	coreandupdates)
		Coreandupdates='coreandupdates'
		;;
	core)
		Core='core'
		;;
	updates)
		Updates='updates'
		;;
	kde-redhat-testing|kde-redhat-unstable|livna-testing|livna-unstable|nrpms-testing)
		ModList="$ModList $1"
		UnstableMods="$UnstableMods $1"
		;;
	atrpms|biorpms|ccrma|dag|dries|extras|freshrpms|jpackage|kde-redhat-stable|livna|local|newrpms|nrpms|openpkg|wstearns|ximian)
		ModList="$ModList $1"
		;;
	centos)
		Core='core'
		Updates='updates'
		ce_34_i386='centos/linux/3.4/i386'
		ce_34_x86_64='centos/linux/3.4/x86_64'
		ce_40_i386='centos/linux/4.0/i386'
		ce_40_x86_64='centos/linux/4.0/x86_64'
		DistroDirs=" $DistroDirs centos "
		;;
	fedora)
		Core='core'
		Updates='updates'
		fc_1_i386='fedora/linux/1/i386'
		fc_2_i386='fedora/linux/2/i386'
		fc_3_i386='fedora/linux/3/i386'
		fc_4_i386='fedora/linux/4/i386'
		fc_5_i386='fedora/linux/5/i386'
		fc_1_x86_64='fedora/linux/1/x86_64'
		fc_2_x86_64='fedora/linux/2/x86_64'
		fc_3_x86_64='fedora/linux/3/x86_64'
		fc_4_x86_64='fedora/linux/4/x86_64'
		fc_5_x86_64='fedora/linux/5/x86_64'
		DistroDirs=" $DistroDirs fedora "
		;;
	mandrake)
		Core='core'
		Updates='updates'
		md_91_i386='mandrake/linux/9.1/i386'
		md_92_i386='mandrake/linux/9.2/i386'
		md_100_i386='mandrake/linux/10.0/i386'
		md_101_i386='mandrake/linux/10.1/i386'
		md_102_i386='mandrake/linux/10.2/i386'
		DistroDirs=" $DistroDirs mandrake "
		;;
	redhat)
		Core='core'
		Updates='updates'
		rh_73_i386='redhat/linux/7.3/i386'
		rh_80_i386='redhat/linux/8.0/i386'
		rh_9_i386='redhat/linux/9/i386'
		DistroDirs=" $DistroDirs redhat "
		;;
	rhel)
		Core='core'
		Updates='updates'
		rhel_3_i386='rhel/linux/3/i386'
		rhel_4_i386='rhel/linux/4/i386'
		DistroDirs=" $DistroDirs rhel "
		;;
	suse)
		Core='core'
		Updates='updates'
		su_92_i386='suse/linux/9.2/i386'
		su_93_i386='suse/linux/9.3/i386'
		DistroDirs=" $DistroDirs suse "
		;;
	whitebox)
		Core='core'
		Updates='updates'
		wb_3_i386='whitebox/linux/3.0/i386'
		wb_4_i386='whitebox/linux/4/i386'
		DistroDirs=" $DistroDirs whitebox "
		;;
	file://*|http://*|ftp://*)
		URLTop="$URLTop $1"
		;;
	/*)
		if [ -z "$TopDir" ]; then
			TopDir="$1"
		else
			die "One of \"$TopDir\" or \"$1\" is unknown, or top level directory is being defined twice."
		fi
		;;
	*)
		die "Unknown param $1."
		;;
	esac
	shift
done

if [ -z "$ce_34_i386$ce_34_x86_64$ce_40_i386$ce_40_x86_64$fc_1_i386$fc_2_i386$fc_3_i386$fc_4_i386$fc_5_i386$fc_1_x86_64$fc_2_x86_64$fc_3_x86_64$fc_4_x86_64$fc_5_x86_64$md_91_i386$md_92_i386$md_100_i386$md_101_i386$md_102_i386$rh_73_i386$rh_80_i386$rh_9_i386$rhel_3_i386$rhel_4_i386$su_92_i386$su_93_i386$wb_3_i386$wb_4_i386" ]; then
	die "No specific distribution specified.  To get all, specify \"alldistro\" on the command line."
fi

if [ -z "$TopDir" -o ! -w "$TopDir" ]; then
	die "You need to specify a writable directory with lots of free space to hold these files locally.  Please add to the command line and re-run."
fi


if [ -z "$URLTop" ]; then
	URLTop="file://$TopDir"
fi

if [ -z "$Updates$Core$ModList$Combinedrepo$Coreandupdates" ]; then
	ModList="updates core atrpms biorpms ccrma dag dries extras freshrpms jpackage kde-redhat-stable kde-redhat-testing kde-redhat-unstable livna livna-testing livna-unstable local newrpms nrpms nrpms-testing openpkg wstearns ximian coreandupdates"
	UnstableMods="kde-redhat-testing kde-redhat-unstable livna-testing livna-unstable nrpms-testing"
else
	ModList="$Updates $Core $ModList $Combinedrepo $Coreandupdates"
fi


Status "Current settings:"
echo 'Requested modules:' $ModList
echo 'Requested distributions:' $ce_34_i386 $ce_34_x86_64 $ce_40_i386 $ce_40_x86_64 $fc_1_i386 $fc_2_i386 $fc_3_i386 $fc_4_i386 $fc_5_i386 $fc_1_x86_64 $fc_2_x86_64 $fc_3_x86_64 $fc_4_x86_64 $fc_5_x86_64 $md_91_i386 $md_92_i386 $md_100_i386 $md_101_i386 $md_102_i386 $rh_73_i386 $rh_80_i386 $rh_9_i386 $rhel_3_i386 $rhel_4_i386 $su_92_i386 $su_93_i386 $wb_3_i386 $wb_4_i386
echo "Top Level directory: $TopDir (also accessible as $URLTop)"
echo "Downloads are $Download and indexing is $Index"

mkdir --parents "$TopDir"
for OneDir in $DistroDirs ; do
	mkdir --parents "$TopDir/$OneDir/"
done

if ! cd "$TopDir" ; then
	die "Failed to changed to Top Level directory $TopDir."
fi
if [ ! -L mandriva -a -d mandrake ]; then
	ln -s mandrake mandriva
fi

if [ "$Lock" = 'yes' ]; then
	LOCKFILE="$TopDir/yum-pull.lock"
	if [ -f "$LOCKFILE" ]; then
		echo "Lockfile $TopDir/yum-pull.lock exists, so a previous yum-pull may be running.  Delete the lockfile and restart if no other yum-pull is running" >&2
		exit 0
	fi
	trap "rm -f $LOCKFILE" EXIT
	touch $LOCKFILE
fi

renice +15 -p $$ >/dev/null 2>&1

#Do a little cleanup from old versions of this script
if [ -d "$TopDir/redhat/3/" ]; then
	mv -f "$TopDir/redhat/3" "$TopDir/rhel/"
	rm -f "$TopDir/redhat/3AS" "$TopDir/redhat/3ES" "$TopDir/redhat/3PW" "$TopDir/redhat/3WS" "$TopDir/redhat/3desktop"
fi
if [ -d "$TopDir/redhat/4/" ]; then
	mv -f "$TopDir/redhat/4" "$TopDir/rhel/"
	rm -f "$TopDir/redhat/4AS" "$TopDir/redhat/4ES" "$TopDir/redhat/4PW" "$TopDir/redhat/4WS" "$TopDir/redhat/4desktop"
fi
[ -d "$TopDir/redhat/linux/7.3/i386/atrpms/packages/RPMS" ] && rm -rf "$TopDir/redhat/linux/7.3/i386/atrpms/packages/RPMS"
[ -d "$TopDir/redhat/linux/9/i386/atrpms/packages/RPMS" ] && rm -rf "$TopDir/redhat/linux/9/i386/atrpms/packages/RPMS"
rm -rf "$TopDir"/*/linux/*/*/*/packages/*.src.rpm
rm -rf "$TopDir"/*/linux/*/*/*/packages/RPMS.list
rm -f `find "$TopDir"/fedora/ -type f -iname '*\.rpm\[peek*' | grep '/packages/'`
rm -f `find "$TopDir"/fedora/ -type f -iname '\[page=*' | grep '/packages/'`

Status 'Creating general-exclude'
rm -f "$TopDir/general-exclude"
(
echo '*~'
echo '\[confdisp\]'
echo '\[page=[0-9]*\]'
echo '.dirhash'
echo '.olddata'
echo '*.hdr'
echo '*.html'
echo '*.ppc.rpm'
echo '*.rpm.txt'
echo '*.src.rpm'
echo '*.rpm\[peek\]'
echo '_cache.php'
echo '00INDEX.rdf.bz2'
echo 'appindex'
echo 'checked-sigs'
echo 'comps.xml'
echo 'excluded-files'
echo 'debug/'
echo 'dosutils/'
echo 'filelist.html'
echo 'filelists.xml.gz'
echo 'footer.html'
echo 'general-exclude'
echo 'header.html'
echo 'HEADER.html'
echo 'HEADER.images'
echo 'header.info'
echo 'headers/'
echo 'images/'
echo 'isolinux/'
echo 'index.html~'
echo 'index.html?*'
echo 'master-exclude'
echo 'media_info'
echo 'other.xml.gz'
echo 'packageinfo.xml.gz'
echo 'pkglist.*'
echo 'pkglist.*.bz2'
echo 'primary.xml.gz'
echo 'reconfig.urpmi~'
echo 'release'
echo 'repodata/'
echo 'repomd.xml'
echo 'RPMS.list'
echo 'sources.addme'
echo 'sources.list.addme'
echo 'SRPMS'
echo 'TRANS.TBL'
echo 'yum.conf.addme*'
echo 'yum-newest.rpm'
) | sort | uniq >"$TopDir/general-exclude"

Status 'Touching user-exclude'
touch "$TopDir/user-exclude"

#Rsync command and parameters
RS=" rsync -a -q -L -H --timeout=600 "
#At one point this script used "$RD" (Rsync Delete, " --delete
#--delete-after ").  We don't use that any more as we delete locally old
#rpms.


for ModuleName in $ModList ; do
	Status "Working on $ModuleName"
	Changed=''
	cd "$TopDir"

	Status "Checking for signed rpms that will not need to be downloaded again"
	for OneDistro in $ce_34_i386 $ce_34_x86_64 $ce_40_i386 $ce_40_x86_64 $fc_1_i386 $fc_2_i386 $fc_3_i386 $fc_4_i386 $fc_5_i386 $fc_1_x86_64 $fc_2_x86_64 $fc_3_x86_64 $fc_4_x86_64 $fc_5_x86_64 $md_91_i386 $md_92_i386 $md_100_i386 $md_101_i386 $md_102_i386 $rh_73_i386 $rh_80_i386 $rh_9_i386 $rhel_3_i386 $rhel_4_i386 $su_92_i386 $su_93_i386 $wb_3_i386 $wb_4_i386 ; do
#FIXME - collapse distro lists like the above into $AllRequestedDistros
		Changed="$Changed $TopDir/$OneDistro/$ModuleName/"
		PrepTree "$TopDir" "$OneDistro" "$ModuleName"
		(
			cd $TopDir/$OneDistro/$ModuleName/packages/
			#Save a list (checked-sigs) of all rpms whose signatures are good, so we don't have to ask the remote servers for them any more
			#Expression in backticks is "All the rpms that haven't already been checked"
			rpm --checksig `find $TopDir/$OneDistro/$ModuleName/packages/ -name '*.rpm' | sed -e 's@.*/@@' | grep -v -F -f checked-sigs` 2>/dev/null | grep -v 'NOT OK' | sed -e 's/rpm:.*/rpm/' >>checked-sigs
			#FIXME - uniqme the checked-sigs files
		)
	done
	if [ -n "$fc_4_i386" ]; then
		cd "$TopDir"/fedora/linux/ && rm -f 3.91 3.92 && ln -sf 4 3.91 && ln -sf 4 3.92
	fi
	if [ -n "$fc_4_x86_64" ]; then
		cd "$TopDir"/fedora/linux/ && rm -f 3.91 3.92 && ln -sf 4 3.91 && ln -sf 4 3.92
	fi
	if [ -n "$fc_5_i386" ]; then
		cd "$TopDir"/fedora/linux/ && rm -f 4.90 4.91 && ln -sf 5 4.90 && ln -sf 5 4.91
	fi
	if [ -n "$fc_5_x86_64" ]; then
		cd "$TopDir"/fedora/linux/ && rm -f 4.90 4.91 && ln -sf 5 4.90 && ln -sf 5 4.91
	fi
	if [ -n "$md_91_i386" ]; then
		cd "$TopDir"/mandrake/linux/9.1/ && rm -f i586 && ln -sf i386 i586
	fi
	if [ -n "$md_92_i386" ]; then
		cd "$TopDir"/mandrake/linux/9.2/ && rm -f i586 && ln -sf i386 i586
	fi
	if [ -n "$md_100_i386" ]; then
		cd "$TopDir"/mandrake/linux/10.0/ && rm -f i586 && ln -sf i386 i586
	fi
	if [ -n "$md_101_i386" ]; then
		cd "$TopDir"/mandrake/linux/10.1/ && rm -f i586 && ln -sf i386 i586
	fi
	if [ -n "$md_102_i386" ]; then
		cd "$TopDir"/mandrake/linux/10.2/ && rm -f i586 && ln -sf i386 i586
	fi
	if [ -n "$rhel_3_i386" ]; then
		cd "$TopDir"/rhel/linux/ && rm -f 3AS 3ES 3PW 3WS 3desktop && ln -sf 3 3AS && ln -sf 3 3ES && ln -sf 3 3PW && ln -sf 3 3WS && ln -sf 3 3desktop
	fi
	if [ -n "$rhel_4_i386" ]; then
		cd "$TopDir"/rhel/linux/ && rm -f 4AS 4ES 4PW 4WS 4desktop && ln -sf 4 4AS && ln -sf 4 4ES && ln -sf 4 4PW && ln -sf 4 4WS && ln -sf 4 4desktop
	fi
	if [ -n "$su_92_i386" ]; then
		cd "$TopDir"/suse/linux/9.2/ && rm -f i586 && ln -sf i386 i586
	fi
	if [ -n "$su_93_i386" ]; then
		cd "$TopDir"/suse/linux/9.3/ && rm -f i586 && ln -sf i386 i586
	fi


	cd "$TopDir"
	Status "Downloading files for $ModuleName"
	case "$ModuleName" in
	atrpms)
		Name='DISTRONAME Linux $releasever - $basearch - atrpms'
		#I'm not pulling the "at-bleeding" or "at-testing" directories.

		#FIXME - atrpms is moving towards a different directory structure; see preferred rsync://rsync.atrpms.net/download.atrpms.net/
		Sources='rsync://rsync.hrz.tu-chemnitz.de/ftp/pub/linux/ATrpms/atrpms/ rsync://www.mirrorservice.org/download.atrpms.net/ rsync://rsync.atrpms.net/atrpms/'
#FIXME - recheck xcopys if we add rhel x86_64
		[ -n "$ce_34_i386" ] &&		XCopy	"$TopDir/$rhel_3_i386/$ModuleName/packages/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		XCopy	"$TopDir/$wb_3_i386/$ModuleName/packages/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" /rhel/3/en/i386/RPMS.at-good/	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" /rhel/3/en/i386/RPMS.at-stable/	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_x86_64" ] &&	XCopy	"$TopDir/rhel/linux/3/x86_64/$ModuleName/packages/"	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		[ -n "$ce_34_x86_64" ] &&	GoGet	"$Sources" /rhel/3/en/x86_64/RPMS.at-good/	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		[ -n "$ce_34_x86_64" ] &&	GoGet	"$Sources" /rhel/3/en/x86_64/RPMS.at-stable/	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		XCopy	"$TopDir/$rhel_4_i386/$ModuleName/packages/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		XCopy	"$TopDir/$wb_4_i386/$ModuleName/packages/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" /rhel/4/en/i386/RPMS.at-good/	"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" /rhel/4/en/i386/RPMS.at-stable/	"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_x86_64" ] &&	XCopy	"$TopDir/rhel/linux/4/x86_64/$ModuleName/packages/"	"$TopDir/$ce_40_x86_64/$ModuleName/packages/"
		[ -n "$ce_40_x86_64" ] &&	GoGet	"$Sources" /rhel/4/en/x86_64/RPMS.at-good/	"$TopDir/$ce_40_x86_64/$ModuleName/packages/"
		[ -n "$ce_40_x86_64" ] &&	GoGet	"$Sources" /rhel/4/en/x86_64/RPMS.at-stable/	"$TopDir/$ce_40_x86_64/$ModuleName/packages/"

		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" /fedora/1/en/i386/RPMS.at-good/	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" /fedora/1/en/i386/RPMS.at-stable/	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" /fedora/2/en/i386/RPMS.at-good/	"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" /fedora/2/en/i386/RPMS.at-stable/	"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" /fedora/3/en/i386/RPMS.at-good/	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" /fedora/3/en/i386/RPMS.at-stable/	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" /fedora/4/en/i386/RPMS.at-good/	"$TopDir/$fc_4_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" /fedora/4/en/i386/RPMS.at-stable/	"$TopDir/$fc_4_i386/$ModuleName/packages/"
		if [ -n "$OpteronFallback" ]; then
		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" /fedora/1/en/i386/RPMS.at-good/	"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" /fedora/1/en/i386/RPMS.at-stable/	"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		fi
		[ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" /fedora/2/en/x86_64/RPMS.at-good/	"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		[ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" /fedora/2/en/x86_64/RPMS.at-stable/	"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" /fedora/3/en/x86_64/RPMS.at-good/	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" /fedora/3/en/x86_64/RPMS.at-stable/	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		[ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" /fedora/4/en/x86_64/RPMS.at-good/	"$TopDir/$fc_4_x86_64/$ModuleName/packages/"
		[ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" /fedora/4/en/x86_64/RPMS.at-stable/	"$TopDir/$fc_4_x86_64/$ModuleName/packages/"

		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" /redhat/7.3/en/i386/RPMS.at-good/	"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" /redhat/7.3/en/i386/RPMS.at-stable/	"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" /redhat/8.0/en/i386/RPMS.at-good/	"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" /redhat/8.0/en/i386/RPMS.at-stable/	"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" /redhat/9/en/i386/RPMS.at-good/	"$TopDir/$rh_9_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" /redhat/9/en/i386/RPMS.at-stable/	"$TopDir/$rh_9_i386/$ModuleName/packages/"

		[ -n "$rhel_3_i386" ] &&	XCopy	"$TopDir/$ce_34_i386/$ModuleName/packages/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	XCopy	"$TopDir/$wb_3_i386/$ModuleName/packages/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" /rhel/3/en/i386/RPMS.at-good/	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" /rhel/3/en/i386/RPMS.at-stable/	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	XCopy	"$TopDir/$ce_40_i386/$ModuleName/packages/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	XCopy	"$TopDir/$wb_4_i386/$ModuleName/packages/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" /rhel/4/en/i386/RPMS.at-good/	"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" /rhel/4/en/i386/RPMS.at-stable/	"$TopDir/$rhel_4_i386/$ModuleName/packages/"

		[ -n "$wb_3_i386" ] &&		XCopy	"$TopDir/$ce_34_i386/$ModuleName/packages/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		XCopy	"$TopDir/$rhel_3_i386/$ModuleName/packages/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" /rhel/3/en/i386/RPMS.at-good/	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" /rhel/3/en/i386/RPMS.at-stable/	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		XCopy	"$TopDir/$ce_40_i386/$ModuleName/packages/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		XCopy	"$TopDir/$rhel_4_i386/$ModuleName/packages/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" /rhel/4/en/i386/RPMS.at-good/	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" /rhel/4/en/i386/RPMS.at-stable/	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		;;
	biorpms)
		Name='DISTRONAME Linux $releasever - $basearch - biorpms'

		Sources='ftp://rpm.pbone.net/mirror/apt.bea.ki.se/biorpms/ http://apt.bea.ki.se/biorpms/'		# rsync://rpm.pbone.net/pbone/mirror/apt.bea.ki.se/biorpms/ appears to be unreachable
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/fedora/linux/1/i386/RPMS.biorpms/"	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/fedora/linux/2/i386/RPMS.biorpms/"	"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/fedora/linux/3/i386/RPMS.biorpms/"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
	
		if [ -n "$OpteronFallback" ]; then
		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/1/i386/RPMS.biorpms/"	"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		fi	
		[ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/2/x86_64/RPMS.biorpms/" "$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/3/x86_64/RPMS.biorpms/" "$TopDir/$fc_3_x86_64/$ModuleName/packages/"

		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/8.0/i386/RPMS.biorpms/"	"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/9/i386/RPMS.biorpms/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"
		;;
	ccrma)
		Name='DISTRONAME Linux $releasever - $basearch - ccrma'

		#Old directory layout
		#Sources='rsync://ftp.upjs.sk/ftp/pub/mirrors/planet.ccrma/'
		#[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/1/i386/*"				"$TopDir/$fc_1_i386/$ModuleName/packages/"
		#[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/2/i386/*"				"$TopDir/$fc_2_i386/$ModuleName/packages/"
		#[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/3/i386/*"				"$TopDir/$fc_3_i386/$ModuleName/packages/"
		##Not there yet
		##[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/4/i386/*"			"$TopDir/$fc_4_i386/$ModuleName/packages/"
		#if [ -n "$OpteronFallback" ]; then
		#    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/1/i386/*"				"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		#    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/2/i386/*"				"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		#    [ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/3/i386/*"				"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		#    #Not there yet
		#    #[ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/4/i386/*"				"$TopDir/$fc_4_x86_64/$ModuleName/packages/"
		#fi

		#Sources='http://mirrors.ircam.fr/pub/planetccrma/yum/ http://public.planetccrma.planetmirror.com/yum/ http://planetccrma.atrpms.net/yum/ rsync://rpm.pbone.net/pbone/mirror/www-ccrma.stanford.edu/planetccrma/yum/'
		#[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/fedora/1/planetccrma/RPMS/"	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		#[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/fedora/2/planetccrma/RPMS/"	"$TopDir/$fc_2_i386/$ModuleName/packages/"
		#[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/fedora/3/planetccrma/RPMS/"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		#if [ -n "$OpteronFallback" ]; then
		#    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/fedora/1/planetccrma/RPMS/"	"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		#    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/fedora/2/planetccrma/RPMS/"	"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		#    [ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/fedora/3/planetccrma/RPMS/"	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		#fi

		#[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/9/planetccrma/RPMS/*"	"$TopDir/$rh_9_i386/$ModuleName/packages/"

		Sources='http://ccrma.stanford.edu/planetccrma/mirror/ http://public.planetccrma.planetmirror.com/mirror/ http://planetccrma.atrpms.net/mirror/ http://mirrors.ircam.fr/pub/planetccrma/mirror/ rsync://rpm.pbone.net/pbone/mirror/www-ccrma.stanford.edu/planetccrma/mirror/'
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/fedora/linux/planetccrma/1/i386/"	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/fedora/linux/planetccrma/2/i386/"	"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/fedora/linux/planetccrma/3/i386/"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/fedora/linux/planetccrma/4/i386/"	"$TopDir/$fc_4_i386/$ModuleName/packages/"
		if [ -n "$OpteronFallback" ]; then
		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/planetccrma/1/i386/"	"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/planetccrma/2/i386/"	"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		    [ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/planetccrma/3/i386/"	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		    [ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/planetccrma/4/i386/"	"$TopDir/$fc_4_x86_64/$ModuleName/packages/"
		fi

		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/redhat/linux/planetccrma/7.3/en/os/i386/"	"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/redhat/linux/planetccrma/7.3/en/os/i586/"	"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/redhat/linux/planetccrma/7.3/en/os/i686/"	"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/redhat/linux/planetccrma/7.3/en/os/noarch/" "$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/linux/planetccrma/8.0/en/os/i386/"	"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/linux/planetccrma/8.0/en/os/i586/"	"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/linux/planetccrma/8.0/en/os/i686/"	"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/linux/planetccrma/8.0/en/os/noarch/" "$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/linux/planetccrma/9/en/os/i386/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/linux/planetccrma/9/en/os/i586/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/linux/planetccrma/9/en/os/i686/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/linux/planetccrma/9/en/os/noarch/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"

		;;
	combinedrepo)
		Name='DISTRONAME Linux $releasever - $basearch - combinedrepo'
#FIXME - put in specific list of dirs to copy from, oops, no, put in a modulelist function that throws away unneeded files/dirs and returns the rest of the modules. combinedrepo discard coreandupdates and vice-versa
#{atrpms,biorpms,core,ccrma,dag,dries,extras,freshrpms,jpackage,kde-redhat-stable,kde-redhat-testing,kde-redhat-unstable,livna,livna-testing,livna-unstable,local,newrpms,nrpms,nrpms-testing,openpkg,updates,wstearns,ximian}
#FIXME - no more temps.  Hmmm, we would also need to delete all single-link inodes from combinedrepo/coreandupdates.  Even this might miss an rpm in two combined* dirs, but deleted from everywhere else.  delete all from all exclude files in this specific distribution before linking would be better.
#FIXME - grab excluded-files from each source dir and add to excluded files here first?  (also for coreandupdates)

		for OneDir in $ce_34_i386 $ce_40_i386 $ce_34_x86_64 $ce_40_x86_64 $fc_1_i386 $fc_2_i386 $fc_3_i386 $fc_4_i386 $fc_1_x86_64 $fc_2_x86_64 $fc_3_x86_64 $fc_4_x86_64 $md_91_i386 $md_92_i386 $md_100_i386 $md_101_i386 $md_102_i386 $rh_73_i386 $rh_80_i386 $rh_9_i386 $rhel_3_i386 $rhel_4_i386 $su_92_i386 $su_93_i386 $wb_3_i386 $wb_4_i386 \
		 ; do
			rm -rf "$TopDir/$OneDir/$ModuleName/temppackages/"
			mkdir "$TopDir/$OneDir/$ModuleName/temppackages/"
			mv "$TopDir/$OneDir/$ModuleName/packages/excluded-files" "$TopDir/$OneDir/$ModuleName/packages/checked-sigs" "$TopDir/$OneDir/$ModuleName/temppackages/"
			#rm -f "$TopDir/$OneDir/$ModuleName/packages/*.rpm"
			rm -rf "$TopDir/$OneDir/$ModuleName/packages/"

			#Hardlink all rpms from all other modules into this one (the grep throws away files we've already decided aren't needed)
			#can't use -print0 on find, --null on xargs because grep needs line by line to throw away known 
			find "$TopDir/$OneDir"/*/packages/ -type f -name '*.rpm' -print | \
			 grep -a -v -F -f "$TopDir/$OneDir/$ModuleName/temppackages/excluded-files" | \
			 xargs -r -n 20 ln -f --target-directory="$TopDir/$OneDir/$ModuleName/temppackages/" --backup=none

			mv "$TopDir/$OneDir/$ModuleName/temppackages/" "$TopDir/$OneDir/$ModuleName/packages/"
		done
		;;
	core)
		Name='DISTRONAME Linux $releasever - $basearch - core'

		Sources='rsync://rsync.arcticnetwork.ca/centos/ rsync://rsync.gtlib.gatech.edu/centos/ rsync://ftp.linux.ncsu.edu/centos/ rsync://mirror.trouble-free.net/centos/ rsync://mirrors.cat.pdx.edu/centos/ rsync://mirror.cs.wisc.edu/centos/ rsync://ftp.belnet.be/packages/centos/ rsync://rsync.sunsite.org.uk/sites/msync.centos.org/CentOS/ rsync://centos.crazyfrogs.org/centos/ rsync://rsync.hrz.tu-chemnitz.de/ftp/pub/linux/centos/ rsync://ftp.nluug.nl/CentOS/ rsync://rsync.cs.uu.nl/CentOS/ rsync://mirror.ii.uib.no/sites/msync.centos.org/centos/ rsync://mirror.nsc.liu.se/CentOS/ rsync://ftp.riken.jp/centos/ rsync://ftp.nara.wide.ad.jp/centos/ rsync://rsync.oss.eznetsols.org/ftp/linux/centos/ rsync://mirror.averse.net/centos/ rsync://rsync.planetmirror.com/centos/ rsync://mirrors.csol.org/CentOS/ rsync://sunsite.icm.edu.pl/pub/Linux/distributions/centos/ rsync://ftp.pbone.net/pub/centos/ rsync://rsync.arcticnetwork.ca/centos/ rsync://rsync.gtlib.gatech.edu/centos/ rsync://ftp.linux.ncsu.edu/centos/ rsync://mirror.trouble-free.net/centos/ rsync://mirrors.cat.pdx.edu/centos/ rsync://mirror.cs.wisc.edu/centos/ rsync://ftp.belnet.be/packages/centos/ rsync://rsync.sunsite.org.uk/sites/msync.centos.org/CentOS/ rsync://centos.crazyfrogs.org/centos/ rsync://rsync.hrz.tu-chemnitz.de/ftp/pub/linux/centos/ rsync://ftp.nluug.nl/CentOS/ rsync://rsync.cs.uu.nl/CentOS/ rsync://mirror.ii.uib.no/sites/msync.centos.org/centos/ rsync://mirror.nsc.liu.se/CentOS/ rsync://ftp.riken.jp/centos/ rsync://ftp.nara.wide.ad.jp/centos/ rsync://rsync.oss.eznetsols.org/ftp/linux/centos/ rsync://mirror.averse.net/centos/ rsync://rsync.planetmirror.com/centos/ rsync://mirrors.csol.org/CentOS/ rsync://sunsite.icm.edu.pl/pub/Linux/distributions/centos/ rsync://ftp.pbone.net/centos/'
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/3.4/os/i386/RedHat/RPMS/"		"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/4.0/os/i386/RedHat/RPMS/"		"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_34_x86_64" ] &&	GoGet	"$Sources" "/3.4/os/x86_64/RedHat/RPMS/"	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		[ -n "$ce_40_x86_64" ] &&	GoGet	"$Sources" "/4.0/os/x86_64/RedHat/RPMS/"	"$TopDir/$ce_40_x86_64/$ModuleName/packages/"

		#Old just-rsync list
		#Sources='rsync://mirror.linux.duke.edu/fedora-linux-core/ rsync://distro.ibiblio.org/fedora-linux-core/ rsync://mirror.hiwaay.net/fedora-linux-core/ rsync://rpmfind.net/linux/fedora/core/ rsync://rsync.gtlib.cc.gatech.edu/fedora-linux-core/'
		Sources='ftp://ftp.linux.ncsu.edu/pub/fedora/linux/core/ http://mirror.linux.duke.edu/pub/fedora/linux/core/ ftp://mirror.linux.duke.edu/pub/fedora/linux/core/ rsync://mirror.linux.duke.edu/fedora-linux-core/ ftp://mirror.cs.princeton.edu/pub/mirrors/fedora/linux/core/ http://distro.ibiblio.org/pub/linux/distributions/fedora/linux/core/ ftp://distro.ibiblio.org/pub/linux/distributions/fedora/linux/core/ rsync://distro.ibiblio.org/fedora-linux-core/ ftp://ftp.cse.buffalo.edu/pub/fedora/linux/core/ http://mirror.eas.muohio.edu/fedora/linux/core/ ftp://mirror.eas.muohio.edu/pub/fedora/linux/core/ http://mirror.hiwaay.net/redhat/fedora/linux/core/ ftp://mirror.hiwaay.net/redhat/fedora/linux/core/ rsync://mirror.hiwaay.net/fedora-linux-core/ ftp://mirrors.hpcf.upr.edu/pub/Mirrors/redhat/download.fedora.redhat.com/ ftp://ftp.net.usf.edu/pub/fedora/linux/core/ http://redhat.secsup.org/fedora/core/ ftp://redhat.secsup.org/pub/linux/redhat/fedora/core/ ftp://ftp.dc.aleron.net/pub/linux/fedora/linux/core/ ftp://mirror.newnanutilities.org/pub/fedora/linux/core/ ftp://ftp.software.umn.edu/pub/linux/fedora/core/ ftp://ftp.webtrek.com/pub/mirrors/fedora/ ftp://ftp.gtlib.cc.gatech.edu/pub/fedora.redhat/linux/core/ http://www.gtlib.cc.gatech.edu/pub/fedora.redhat/linux/core/ rsync://rsync.gtlib.cc.gatech.edu/fedora-linux-core ftp://mirror.clarkson.edu/pub/distributions/fedora/ http://mirror.clarkson.edu/pub/distributions/fedora/ ftp://fedora.mirrors.tds.net/pub/fedora-core/ http://linux.nssl.noaa.gov/fedora/core/ ftp://linux.nssl.noaa.gov/fedora/core/ rsync://linux.nssl.noaa.gov/fedora/core/ http://mirror.cs.wisc.edu/pub/mirrors/linux/download.fedora.redhat.com/pub/fedora/linux/core/ ftp://mirror.cs.wisc.edu/pub/mirrors/linux/download.fedora.redhat.com/pub/fedora/linux/core/ rsync://mirror.cs.wisc.edu/fedora-linux-core/ http://ftp.ale.org/pub/fedora/linux/core/ ftp://ftp.ale.org/mirrors/fedora/linux/core/ http://ftp.ndlug.nd.edu/pub/fedora/linux/core/ ftp://ftp.ndlug.nd.edu/pub/fedora/linux/core/ rsync://ftp.ndlug.nd.edu/fedora-linux-core/ http://fedora.server4you.net/fedora/core/ ftp://fedora.server4you.net/fedora/core/ rsync://fedora.server4you.net/fedora/ http://thales.memphis.edu/pub/fedora/linux/core/ ftp://thales.memphis.edu/fedora/linux/core/ ftp://mirrors.ptd.net/fedora/core/ ftp://fedora.bu.edu/fedora/core/ ftp://joe.ncsa.uiuc.edu/fedora/core/ ftp://mirrors.jtlnet.com/fedora/linux/core/ http://mirrors.playboy.com/fedora/ ftp://mirrors.playboy.com/fedora/ rsync://mirrors.playboy.com/fedora/ http://mirror.phy.olemiss.edu/mirror/fedora/core/ ftp://mirror.phy.olemiss.edu/fedora/core/ http://mirror.mcs.anl.gov/fedora-linux-core/ ftp://mirror.mcs.anl.gov/pub/fedora-linux-core/ rsync://mirror.mcs.anl.gov/fedora-linux-core/ http://fedora.omnispring.com/ ftp://fedora.omnispring.com/ ftp://limestone.uoregon.edu/fedora/ ftp://mirror.stanford.edu/pub/mirrors/fedora/linux/core/ http://mirrors.kernel.org/fedora/core/ ftp://mirrors.kernel.org/fedora/core/ rsync://mirrors.kernel.org/fedora/core/ http://mirror.web-ster.com/fedora/core/ ftp://mirror.web-ster.com/fedora/core/ rsync://mirror.web-ster.com/fedora/core/ ftp://fedora.cs.utah.edu/pub/fedora/linux/core/ http://fedora.cat.pdx.edu/linux/core/ ftp://fedora.cat.pdx.edu/linux/core/ rsync://fedora.cat.pdx.edu/ http://www.opensourcemirrors.org/linux/fedora/ ftp://ftp.opensourcemirrors.org/linux/fedora/ http://mirrors.xmission.com/fedora/core/ ftp://mirrors.xmission.com/fedora/core/ http://mirror.engr.sjsu.edu/pub/fedora/linux/core/ ftp://mirror.engr.sjsu.edu/pub/fedora/linux/core/ http://mirror.usu.edu/mirrors/fedora/linux/core/ ftp://mirror.usu.edu/mirrors/fedora/linux/core/ ftp://wuarchive.wustl.edu/mirrors/linux/distributions/fedora/ ftp://redhat.taygeta.com/pub/RedHat/fedora/core/ ftp://ftp.uci.edu/mirrors/fedora/linux/core/ http://mirrors.usc.edu/pub/linux/distributions/fedora/ ftp://mirrors.usc.edu/pub/linux/distributions/fedora/ rsync://mirrors.usc.edu/fedora/ ftp://mirror.colorado.edu/pub/fedora/linux/core/ http://less.cogeco.net/pub/fedora/linux/core/ ftp://less.cogeco.net/pub/fedora/linux/core/ ftp://ftp.nrc.ca/pub/systems/linux/redhat/fedora/linux/core/ ftp://ftp.telus.net/pub/fedora/linux/core/ http://gulus.usherbrooke.ca/pub/distro/fedora/linux/core/ http://mirror.cpsc.ucalgary.ca/mirror/fedora/linux/core/ ftp://mirror.cpsc.ucalgary.ca/mirror/fedora/linux/core/ http://ftp.muug.mb.ca/pub/fedora/linux/core/ ftp://ftp.muug.mb.ca/pub/fedora/linux/core/ rsync://ftp.muug.mb.ca/pub/fedora/linux/core/ http://fedora.mirrored.ca/fedora/ ftp://fedora.mirrored.ca/fedora/ rsync://rsync.mirrored.ca/fedora-linux-core/ http://fedora.arcticnetwork.ca/ ftp://mirror.arcticnetwork.ca/pub/fedora/linux/core/ http://www.las.ic.unicamp.br/pub/fedora/linux/core/ ftp://www.las.ic.unicamp.br/pub/fedora/linux/core/ rsync://www.las.ic.unicamp.br/pub/fedora/ ftp://mirror.pop-rs.rnp.br/pub/download.fedora.redhat.com/pub/fedora/linux/core/ ftp://ftp.tecnoera.com/pub/fedora/linux/ ftp://mirror.netglobalis.net/pub/fedora/ ftp://ftp.telmexchile.cl/Unix/fedora/linux/core/ http://gd.tuwien.ac.at/opsys/linux/fedora/core/ ftp://gd.tuwien.ac.at/opsys/linux/fedora/core/ rsync://gd.tuwien.ac.at/opsys/linux/fedora/core/ http://ftp.univie.ac.at/systems/linux/fedora/ ftp://ftp.univie.ac.at/systems/linux/fedora/ rsync://ftp.univie.ac.at/fedora/ ftp://ftp.tugraz.at/mirror/redhat-linux/fedora/linux/core/ ftp://ftp.uni-klu.ac.at/linux/fedora/linux/core/ ftp://ftp.scarlet.be/pub/fedora/ http://ftp.belnet.be/linux/fedora/linux/core/ ftp://ftp.belnet.be/linux/fedora/linux/core/ rsync://ftp.belnet.be/packages/fedora/ http://mirrors.evrocom.net/fedora/linux/core/ ftp://mirrors.evrocom.net/pub/fedora/linux/core/ http://mirrors.cytanet.com.cy/linux/fedora/linux/ http://sunsite.mff.cuni.cz/pub/fedora/ ftp://sunsite.mff.cuni.cz/pub/fedora/ ftp://ultra.linux.cz/pub/fedora/ rsync://sunsite.mff.cuni.cz/fedora/fedora/ ftp://ftp.fi.muni.cz/pub/linux/fedora/linux/core/ rsync://ftp.fi.muni.cz/pub/linux/fedora/linux/core/ ftp://ftp1.skynet.cz/pub/linux/fedora ftp://ftp.gin.cz/pub/fedora/core/ http://mirrors.dotsrc.org/fedora/ ftp://mirrors.dotsrc.org/fedora/ http://redhat.linux.ee/pub/fedora/linux/core/ ftp://redhat.linux.ee/pub/fedora/linux/core/ ftp://ftp.funet.fi/pub/mirrors/ftp.redhat.com/pub/fedora/linux/core/ ftp://ftp.ipv6.funet.fi/pub/mirrors/ftp.redhat.com/pub/fedora/linux/core/ http://ftp.crihan.fr/mirrors/fedora.redhat.com/fedora/linux/core/ ftp://ftp.crihan.fr/mirrors/fedora.redhat.com/fedora/linux/core/ rsync://ftp.crihan.fr/fedora-linux-core/ ftp://fr.rpmfind.net/linux/fedora/core/ http://fr2.rpmfind.net/linux/fedora/core/ ftp://fr2.rpmfind.net/linux/fedora/core/ http://rpmfind.net/linux/fedora/core/ ftp://rpmfind.net/linux/fedora/core/ rsync://rpmfind.net/linux/fedora/core/ ftp://ftp.ciril.fr/pub/linux/fedora/linux/core/ ftp://ftp.proxad.net/mirrors/fedora.redhat.com/fedora/linux/core/ ftp://ftp.univ-pau.fr/pub/mirrors/fedora/ http://ftp.inria.vthd.prd.fr/pub/linux/fedora/ ftp://ftp.inria.vthd.prd.fr/pub/linux/fedora/ ftp://ftp.cru.fr/pub/linux/fedora/core/ http://ftp.lip6.fr/ftp/pub/linux/distributions/fedora/ ftp://ftp.lip6.fr/pub/linux/distributions/fedora/ ftp://ftp.uvsq.fr/pub/fedora/ rsync://ftp.uvsq.fr/fedora/ http://wftp.tu-chemnitz.de/pub/linux/fedora-core/ ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/ ftp://ftp.uni-bayreuth.de/pub/linux/fedora/linux/core/ rsync://rsync.uni-bayreuth.de/fedora-linux-core/ ftp://ftp.stw-bonn.de/pub/mirror/fedora/linux/core/ ftp://ftp.join.uni-muenster.de/pub/linux/distributions/fedora/linux/core/ rsync://ftp.join.uni-muenster.de/fedora-linux-core/ ftp://ftp.informatik.uni-frankfurt.de/pub/linux/Mirror/ftp.redhat.com/fedora/core/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/fedora-core/ ftp://ftp.rhein-zeitung.de/mirrors/fedora.redhat.com/ ftp://ftp.uni-erlangen.de/pub/Linux/MIRROR.fedora/core http://ftp-stud.fht-esslingen.de/pub/Mirrors/fedora.redhat.com/linux/core/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/fedora.redhat.com/linux/core/ http://ftp.uni-koeln.de/mirrors/fedora/linux/core/ ftp://ftp.uni-koeln.de/mirrors/fedora/linux/core/ http://download.atrpms.net/mirrors/fedoracore/ http://ftp.ntua.gr/pub/linux/fedora/linux/core/ ftp://ftp.ntua.gr/pub/linux/fedora/linux/core/ ftp://ftp.otenet.gr/pub/linux/fedora/linux/core/ ftp://ftp.tvnet.hu/pub/fedora/linux/core/ http://mirrors.sth.sze.hu/linux/fedora/ ftp://mirrors.sth.sze.hu/linux/fedora/ http://ftp.rhnet.is/pub/fedora/ ftp://ftp.rhnet.is/pub/fedora/ rsync://ftp.rhnet.is/pub/fedora/ http://www.fedora.is/fedora/core/ ftp://ftp.fedora.is/pub/fedora/core/ http://ftp.heanet.ie/pub/fedora/linux/core/ ftp://ftp.heanet.ie/pub/fedora/linux/core/ rsync://ftp.heanet.ie/pub/fedora/linux/core/ http://ftp.esat.net/pub/linux/fedora/ ftp://ftp.esat.net/pub/linux/fedora/ rsync://ftp.esat.net/ftp/pub/linux/fedora/ ftp://ftp.edisontel.com/pub/Fedora_Mirror/ http://fedora.ngi.it/ ftp://ftp.quicknet.nl/pub/Linux/download.fedora.redhat.com/ ftp://alviss.et.tudelft.nl/pub/fedora/core/ http://ftp.surfnet.nl/ftp/pub/os/Linux/distr/fedora/ ftp://ftp.surfnet.nl/pub/os/Linux/distr/fedora/ http://ftp.nluug.nl/ftp/pub/os/Linux/distr/fedora/ ftp://ftp.nluug.nl/pub/os/Linux/distr/fedora/ rsync://ftp.nluug.nl/fedora rsync://ftp.surfnet.nl/fedora ftp://ftp.easynet.nl/mirror/fedora/ ftp://ftp.eu.uu.net/pub/linux/fedora/ ftp://ftp.uninett.no/pub/linux/Fedora/core/ ftp://tux.cprm.net/pub/ftp.redhat.com/fedora/linux/core/ http://ftp.di.fct.unl.pt/pub/linux/fedora/ ftp://ftp.di.fct.unl.pt/pub/linux/fedora/ ftp://ftp.wsisiz.edu.pl/mirror/download.fedora.redhat.com/ ftp://ftp.pbone.net/pub/fedora/pub/fedora/linux/core/ http://sunsite.icm.edu.pl/pub/Linux/fedora/linux/core/ ftp://sunsite.icm.edu.pl/pub/Linux/fedora/linux/core/ rsync://sunsite.icm.edu.pl/fedora/linux/core/ http://ftp.man.poznan.pl/pub/linux/fedora/ ftp://ftp.man.poznan.pl/pub/linux/fedora/ http://ftp.ps.pl/pub/linux/fedora-core/ ftp://ftp.ps.pl/pub/linux/fedora-core/ http://ftp.iasi.roedu.net/mirrors/fedora.redhat.com/core/ http://ftp.iasi.roedu.net/pub/mirrors/fedora.redhat.com/core/ rsync://ftp.iasi.roedu.net/fedora.redhat.com/core/ http://ftp.idilis.ro/mirrors/fedora/core/ ftp://ftp.idilis.ro/mirrors/fedora/core http://ftp.lug.ro/fedora/linux/core/ ftp://ftp.lug.ro/fedora/linux/core/ ftp://ftp.rdsor.ro/pub/Linux/Distributions/Fedora/ ftp://ftp.kappa.ro/pub/Linux/Distributions/fedora/ http://mirror.ase.ro/fedora/linux/core/ ftp://mirror.ase.ro/fedora/linux/core/ http://ftp.chg.ru/pub/Linux/fedora/linux/core/ ftp://ftp.chg.ru/pub/Linux/fedora/linux/core/ http://ftp.rhd.ru/pub/fedora/linux/core/ ftp://ftp.rhd.ru/pub/fedora/linux/core/ http://ftp.mrtech.ru/pub/mirror/fedora/linux/core/ ftp://ftp.mrtech.ru/pub/mirror/fedora/linux/core/ rsync://rsync.mrtech.ru/fedora-linux-core http://fedora.officepark.ru ftp://fedora.officepark.ru/ rsync://fedora.officepark.ru/fedora-linux-core/ http://mirror.etf.bg.ac.yu/fedora/linux/core/ ftp://mirror.etf.bg.ac.yu/fedora/linux/core/ http://ftp.upjs.sk/pub/linux/fedora/linux/core/ ftp://ftp.upjs.sk/pub/linux/fedora/linux/core/ http://mirrors.bevc.net/fedora/ ftp://ftp.bevc.net/mirrors/fedora/ http://ftp.udl.es/pub/fedora/linux/core/ ftp://ftp.udl.es/pub/fedora/linux/core/ rsync://ftp.udl.es/ http://ftp.rediris.es/mirror/fedora.redhat/ ftp://ftp.rediris.es/mirror/fedora.redhat/ ftp://ftp.cica.es/fedora/linux/core http://ftp.caliu.info/pub/distribucions/fedora/ ftp://ftp.caliu.info/pub/distribucions/fedora/ ftp://ftp.chl.chalmers.se/pub/fedora/linux/core/ ftp://mirror.switch.ch/mirror/fedora/linux/core/ ftp://ftp.solnet.ch/mirror/fedora/linux/core/ ftp://ftp.linux.org.tr/pub/fedora/linux/core/ http://mirrors.cs.hacettepe.edu.tr/fedora/linux/core/ ftp://ftp.cs.hacettepe.edu.tr/pub/mirrors/fedora/linux/core/ ftp://ftp.tlk-l.net/pub/mirrors/fedora.redhat.com/linux/core/ ftp://fedora.org.ua/pub/linux/fedora/ http://zeniiia.linux.org.uk/pub/distributions/fedora/linux/core/ ftp://zeniiia.linux.org.uk/pub/distributions/fedora/linux/core/ rsync://zeniiia.linux.org.uk/fedora-linux-core/ http://www.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/core/ ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/core/ rsync://rsync.mirrorservice.org/download.fedora.redhat.com/pub/fedora/linux/core/ http://www.mirror.ac.uk/sites/fedora.redhat.com/ ftp://ftp.mirror.ac.uk/sites/fedora.redhat.com/ rsync://rsync.mirror.ac.uk/fedora.redhat.com/ http://mirror.poundhost.com/fedora.redhat.com/ ftp://mirror.poundhost.com/pub/fedora.redhat.com/ ftp://ftp2.newnet.co.uk/pub/fedora/linux/core/ ftp://fedora.namibia.na/pub/fedora/ ftp://ftp.is.co.za/linux/distributions/fedora/linux/core/ http://ftp.isu.net.sa/pub/mirrors/fedora.redhat.com/ ftp://ftp.isu.net.sa/pub/mirrors/fedora.redhat.com/fedora/ http://planetmirror.com/pub/fedora/linux/core/ ftp://ftp.planetmirror.com/pub/fedora/linux/core/ rsync://rsync.planetmirror.com/fedora-linux-core/ ftp://ftp.netcraft.com.au/pub/fedora/linux/core/ http://mirror.pacific.net.au/linux/redhat/fedora/ ftp://mirror.pacific.net.au/linux/redhat/fedora/ http://download.stmc.edu.hk/fedora/linux/core/ ftp://download.stmc.edu.hk/fedora/linux/core/ ftp://ftp.hostrino.com/pub/fedora/linux/core/ ftp://ftp2.surplux.net/pub/fedora/ ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/ rsync://ftp.sfc.wide.ad.jp/fedora/ http://ftp.kddilabs.jp/Linux/packages/fedora/core/ ftp://ftp.kddilabs.jp/Linux/packages/fedora/core/ rsync://ftp.kddilabs.jp/fedora/ http://ftp.riken.jp/Linux/fedora/core/ ftp://ftp.riken.jp/Linux/fedora/core/ rsync://ftp.riken.jp/fedora/ http://ftp.jaist.ac.jp/pub/Linux/Fedora/core/ ftp://ftp.jaist.ac.jp/pub/Linux/Fedora/core/ ftp://ftp.nara.wide.ad.jp/pub/Linux/fedora/core/ http://ftp.nara.wide.ad.jp/pub/Linux/fedora/core/ rsync://ftp.nara.wide.ad.jp/fedora/ ftp://ftp.kreonet.re.kr/pub/Linux/fedora/core/ rsync://ftp.kreonet.re.kr/fedora/core/ ftp://mirror.hostway.co.kr/pub/fedora/ ftp://ftp.kaist.ac.kr/pub/fedora/linux/core/ http://mymirror.asiaosc.org/redhat/fedora/core/ ftp://ftp.wicks.co.nz/pub/linux/dist/fedora/ ftp://ftp.oss.eznetsols.org/linux/fedora/ rsync://rsync.oss.eznetsols.org/ftp/linux/fedora/ http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/ ftp://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/'
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/1/i386/os/Fedora/RPMS/"		"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/2/i386/os/Fedora/RPMS/"		"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/3/i386/os/Fedora/RPMS/"		"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/4/i386/os/Fedora/RPMS/"		"$TopDir/$fc_4_i386/$ModuleName/packages/"
		[ -n "$fc_5_i386" ] &&		GoGet	"$Sources" "/test/4.91/i386/os/Fedora/RPMS/"	"$TopDir/$fc_5_i386/$ModuleName/packages/"
		[ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/1/x86_64/os/Fedora/RPMS/"		"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		[ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/2/x86_64/os/Fedora/RPMS/"		"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/3/x86_64/os/Fedora/RPMS/"		"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		[ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/4/x86_64/os/Fedora/RPMS/"		"$TopDir/$fc_4_x86_64/$ModuleName/packages/"
		[ -n "$fc_5_x86_64" ] &&	GoGet	"$Sources" "/test/4.91/x86_64/os/Fedora/RPMS/"	"$TopDir/$fc_5_x86_64/$ModuleName/packages/"

		Sources='rsync://carroll.cac.psu.edu/mandrakelinux/official/ rsync://rsync.secsup.org/mandrake/ rsync://mirror.mcs.anl.gov/mandrake/official/'
		[ -n "$md_91_i386" ] &&		GoGet	"$Sources" "/9.1/i586/Mandrake/RPMS/"		"$TopDir/$md_91_i386/$ModuleName/packages/"
		[ -n "$md_92_i386" ] &&		GoGet	"$Sources" "/9.2/i586/Mandrake/RPMS/"		"$TopDir/$md_92_i386/$ModuleName/packages/"
		[ -n "$md_100_i386" ] &&	GoGet	"$Sources" "/10.0/i586/Mandrake/RPMS/"		"$TopDir/$md_100_i386/$ModuleName/packages/"
		[ -n "$md_101_i386" ] &&	GoGet	"$Sources" "/10.1/i586/media/main/"		"$TopDir/$md_101_i386/$ModuleName/packages/"
		[ -n "$md_102_i386" ] &&	GoGet	"$Sources" "/10.2/i586/media/main/"		"$TopDir/$md_102_i386/$ModuleName/packages/"

		Sources='rsync://rsync.planetmirror.com/fedoralegacy/ rsync://mirror.pacific.net.au/fedoralegacy/ rsync://mirror.cpsc.ucalgary.ca/fedoralegacy/ rsync://ftp.tecnoera.com/ftp/pub/fedora/legacy/ rsync://ftp.fi.muni.cz/pub/linux/fedora/legacy/ rsync://rsync.mirror.ac.uk/download.fedoralegacy.org/legacy/ rsync://rsync.uni-bayreuth.de/fedoralegacy/ rsync://ftp-stud.fht-esslingen.de/fedoralegacy/ rsync://ftp.heanet.ie/mirrors/download.fedoralegacy.org/ rsync://rm.mirror.garr.it/fedoralegacy/ rsync://ftp.kddilabs.jp/fedora.leagacy/ rsync://ftp.riken.go.jp/fedoralegacy/ rsync://gnu.kookel.org/mirrors/fedoralegacy/ rsync://ftp.uninett.no/linux/RedHat/fedora-legacy/ rsync://ftp.iasi.roedu.net/fedoralegacy/ rsync://sunsite.rediris.es/fedora.legacy/ rsync://mirror3.cs.wisc.edu/fedora-legacy/ rsync://rsync.gtlib.cc.gatech.edu/fedoralegacy/ rsync://mirror.physics.ncsu.edu/fedoralegacy/ rsync://limestone.uoregon.edu/ftp/fedoralegacy/'
		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/redhat/7.3/os/i386/"		"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/8.0/os/i386/"		"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/9/os/i386/"			"$TopDir/$rh_9_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	echo "WARNING - At this time this script has no access to RHEL 3 $ModuleName modules.  You need to load these yourself into $TopDir/$rhel_3_i386/$ModuleName/packages/." >&2
		[ -n "$rhel_4_i386" ] &&	echo "WARNING - At this time this script has no access to RHEL 4 $ModuleName modules.  You need to load these yourself into $TopDir/$rhel_4_i386/$ModuleName/packages/." >&2

		Sources='rsync://rpm.pbone.net/pbone/pub/suse/suse/ rsync://mirror.mcs.anl.gov/suse/ rsync://ftp.gwdg.de/SuSE/ftp.suse.com/suse/'
		[ -n "$su_92_i386" ] &&		GoGet	"$Sources" "i386/9.2/suse/*/*.rpm"		"$TopDir/$su_92_i386/$ModuleName/packages/"
		[ -n "$su_93_i386" ] &&		GoGet	"$Sources" "i386/9.3/suse/*/*.rpm"		"$TopDir/$su_93_i386/$ModuleName/packages/"

		Sources="rsync://ftp.esat.net/mirrors/whiteboxlinux.org/ rsync://rsync.gtlib.gatech.edu/whitebox/ rsync://ftp.riken.jp/whitebox/ rsync://www.mirror.ac.uk/www.whiteboxlinux.org/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/3.0/en/os/i386/RedHat/RPMS/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/4/en/os/i386/WhiteBox/RPMS/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		;;
	coreandupdates)
		Name='DISTRONAME Linux $releasever - $basearch - coreandupdates'

		for OneDir in $ce_34_i386 $ce_40_i386 $ce_34_x86_64 $ce_40_x86_64 $fc_1_i386 $fc_2_i386 $fc_3_i386 $fc_4_i386 $fc_1_x86_64 $fc_2_x86_64 $fc_3_x86_64 $fc_4_x86_64 $md_91_i386 $md_92_i386 $md_100_i386 $md_101_i386 $md_102_i386 $rh_73_i386 $rh_80_i386 $rh_9_i386 $rhel_3_i386 $rhel_4_i386 $su_92_i386 $su_93_i386 $wb_3_i386 $wb_4_i386 \
		 ; do
			rm -rf "$TopDir/$OneDir/$ModuleName/temppackages2/"
			mkdir "$TopDir/$OneDir/$ModuleName/temppackages2/"
			mv "$TopDir/$OneDir/$ModuleName/packages/excluded-files" "$TopDir/$OneDir/$ModuleName/packages/checked-sigs" "$TopDir/$OneDir/$ModuleName/temppackages2/"
			#rm -f "$TopDir/$OneDir/$ModuleName/packages/*.rpm"
			rm -rf "$TopDir/$OneDir/$ModuleName/packages/"

			#Hardlink all rpms from all other modules into this one (the grep throws away files we've already decided aren't needed)
			#can't use -print0 on find, --null on xargs because grep needs line by line to throw away known 
			find "$TopDir/$OneDir"/{core,updates}/packages/ -type f -name '*.rpm' -print | \
			 grep -a -v -F -f "$TopDir/$OneDir/$ModuleName/temppackages2/excluded-files" | \
			 xargs -r -n 20 ln -f --target-directory="$TopDir/$OneDir/$ModuleName/temppackages2/" --backup=none

			mv "$TopDir/$OneDir/$ModuleName/temppackages2/" "$TopDir/$OneDir/$ModuleName/packages/"
		done
		;;
	dag)
		Name='DISTRONAME Linux $releasever - $basearch - dag'

		Sources='rsync://apt.sw.be/pub/freshrpms/pub/dag/ rsync://ftp.heanet.ie/mirrors/ftp.freshrpms.net/pub/dag/ rsync://www.mirrorservice.org/apt.sw.be/'
		[ -n "$ce_34_i386" ] &&		XCopy	"$TopDir/$rhel_3_i386/$ModuleName/packages/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		XCopy	"$TopDir/$wb_3_i386/$ModuleName/packages/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/redhat/el3/en/i386/RPMS.dag/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_x86_64" ] &&	XCopy	"$TopDir/rhel/linux/3/x86_64/$ModuleName/packages/"	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		[ -n "$ce_34_x86_64" ] &&	GoGet	"$Sources" "/redhat/el3/en/x86_64/RPMS.dag/"	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		XCopy	"$TopDir/$rhel_4_i386/$ModuleName/packages/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		XCopy	"$TopDir/$wb_4_i386/$ModuleName/packages/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/redhat/el4/en/i386/RPMS.dag/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_x86_64" ] &&	XCopy	"$TopDir/rhel/linux/4/x86_64/$ModuleName/packages/"	"$TopDir/$ce_40_x86_64/$ModuleName/packages/"
		[ -n "$ce_40_x86_64" ] &&	GoGet	"$Sources" "/redhat/el4/en/x86_64/RPMS.dag/"	"$TopDir/$ce_40_x86_64/$ModuleName/packages/"

		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/fedora/1/en/i386/RPMS.dag/"	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/fedora/2/en/i386/RPMS.dag/"	"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/fedora/3/en/i386/RPMS.dag/"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/fedora/4/en/i386/RPMS.dag/"	"$TopDir/$fc_4_i386/$ModuleName/packages/"
		if [ -n "$OpteronFallback" ]; then
		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/fedora/1/en/i386/RPMS.dag/"	"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		fi
		[ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/fedora/2/en/x86_64/RPMS.dag/"	"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/fedora/3/en/x86_64/RPMS.dag/"	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		[ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/fedora/4/en/x86_64/RPMS.dag/"	"$TopDir/$fc_4_x86_64/$ModuleName/packages/"

		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/redhat/7.3/en/i386/RPMS.dag/"	"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/8.0/en/i386/RPMS.dag/"	"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/9/en/i386/RPMS.dag/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	XCopy	"$TopDir/$ce_34_i386/$ModuleName/packages/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	XCopy	"$TopDir/$wb_3_i386/$ModuleName/packages/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/redhat/el3/en/i386/RPMS.dag/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	XCopy	"$TopDir/$ce_40_i386/$ModuleName/packages/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	XCopy	"$TopDir/$wb_4_i386/$ModuleName/packages/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" "/redhat/el4/en/i386/RPMS.dag/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"

		[ -n "$wb_3_i386" ] &&		XCopy	"$TopDir/$ce_34_i386/$ModuleName/packages/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		XCopy	"$TopDir/$rhel_3_i386/$ModuleName/packages/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/redhat/el3/en/i386/RPMS.dag/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		XCopy	"$TopDir/$ce_40_i386/$ModuleName/packages/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		XCopy	"$TopDir/$rhel_4_i386/$ModuleName/packages/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/redhat/el4/en/i386/RPMS.dag/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		;;
	dries)
		Name='DISTRONAME Linux $releasever - $basearch - dries'

		Sources='rsync://apt.sw.be/pub/freshrpms/pub/dag/dries/ rsync://ftp.heanet.ie/mirrors/ftp.freshrpms.net/pub/dag/dries/ rsync://www.mirrorservice.org/apt.sw.be/dries/'
		[ -n "$ce_34_i386" ] &&		XCopy	"$TopDir/$rhel_3_i386/$ModuleName/packages/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		XCopy	"$TopDir/$wb_3_i386/$ModuleName/packages/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/redhat/el3/en/i386/RPMS.dries/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		XCopy	"$TopDir/$rhel_4_i386/$ModuleName/packages/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		XCopy	"$TopDir/$wb_4_i386/$ModuleName/packages/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/redhat/el4/en/i386/RPMS.dries/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"

		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/fedora/fc1/i386/RPMS.dries/"	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/fedora/fc2/i386/RPMS.dries/"	"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/fedora/fc3/i386/RPMS.dries/"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/fedora/fc4/i386/RPMS.dries/"	"$TopDir/$fc_4_i386/$ModuleName/packages/"
		if [ -n "$OpteronFallback" ]; then
		    [ -n "$ce_34_x86_64" ] &&	XCopy	"$TopDir/rhel/linux/3/x86_64/$ModuleName/packages/"	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		    [ -n "$ce_34_x86_64" ] &&	GoGet	"$Sources" "/redhat/el3/en/i386/RPMS.dries/"	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		    [ -n "$ce_40_x86_64" ] &&	XCopy	"$TopDir/rhel/linux/4/x86_64/$ModuleName/packages/"	"$TopDir/$ce_40_x86_64/$ModuleName/packages/"
		    [ -n "$ce_40_x86_64" ] &&	GoGet	"$Sources" "/redhat/el4/en/i386/RPMS.dries/"	"$TopDir/$ce_40_x86_64/$ModuleName/packages/"

		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/fedora/fc1/i386/RPMS.dries/"	"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/fedora/fc2/i386/RPMS.dries/"	"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		    [ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/fedora/fc3/i386/RPMS.dries/"	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		    [ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/fedora/fc4/i386/RPMS.dries/"	"$TopDir/$fc_4_x86_64/$ModuleName/packages/"
		fi
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/9/en/i386/RPMS.dries/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"

		[ -n "$rhel_3_i386" ] &&	XCopy	"$TopDir/$ce_34_i386/$ModuleName/packages/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	XCopy	"$TopDir/$wb_3_i386/$ModuleName/packages/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/redhat/el3/en/i386/RPMS.dries/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	XCopy	"$TopDir/$ce_40_i386/$ModuleName/packages/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	XCopy	"$TopDir/$wb_4_i386/$ModuleName/packages/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" "/redhat/el4/en/i386/RPMS.dries/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"

		[ -n "$wb_3_i386" ] &&		XCopy	"$TopDir/$ce_34_i386/$ModuleName/packages/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		XCopy	"$TopDir/$rhel_3_i386/$ModuleName/packages/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/redhat/el3/en/i386/RPMS.dries/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		XCopy	"$TopDir/$ce_40_i386/$ModuleName/packages/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		XCopy	"$TopDir/$rhel_4_i386/$ModuleName/packages/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/redhat/el4/en/i386/RPMS.dries/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		;;
	extras)
		#was http://www.fedora.us, now http://fedoraproject.org/wiki/Extras
		Name='DISTRONAME Linux $releasever - $basearch - extras'

		Sources='rsync://mirrors.kernel.org/fedora.us/fedora/ rsync://sunsite.mff.cuni.cz/fedora.us/fedora/ rsync://ftp-stud.fht-esslingen.de/fedora/ rsync://ftp.iasi.roedu.net/fedora/fedora/'
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/fedora/1/i386/RPMS.stable/"	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/fedora/2/i386/RPMS.stable/"	"$TopDir/$fc_2_i386/$ModuleName/packages/"

		if [ -n "$OpteronFallback" ]; then
		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/fedora/1/i386/RPMS.stable/"	"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/fedora/2/i386/RPMS.stable/"	"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		fi

		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/8.0/i386/RPMS.stable/"	"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/9/i386/RPMS.stable/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"

		Sources='ftp://limestone.uoregon.edu/fedora/extras/ http://limestone.uoregon.edu/fedora/extras/ ftp://fedora.bu.edu/extras/ http://mirrors.kernel.org/fedora/extras/ ftp://mirrors.kernel.org/fedora/extras/ rsync://mirrors.kernel.org/fedora/extras/ ftp://ftp.muug.mb.ca/pub/fedora/linux/extras/ http://www.muug.mb.ca/pub/fedora/linux/extras/ rsync://rsync.muug.mb.ca/fedora-linux-extras/ http://mirror.hiwaay.net/redhat/fedora/linux/extras/ ftp://mirror.hiwaay.net/redhat/fedora/linux/extras/ rsync://mirror.hiwaay.net/fedora-linux-extras/ ftp://mirror.phy.olemiss.edu/fedora/extras/ http://mirror.phy.olemiss.edu/mirror/fedora/extras/ http://fedora.mirrors.tds.net/pub/fedora-core-extras/ ftp://fedora.mirrors.tds.net/pub/fedora-core-extras/ rsync://fedora.mirrors.tds.net/fedora-core-extras/ http://mirror.cpsc.ucalgary.ca/mirror/fedora/linux/extras/ ftp://mirror.cpsc.ucalgary.ca/mirror/fedora/linux/extras/ rsync://mirror.cpsc.ucalgary.ca/fedora-linux-extras/ http://www.gtlib.gatech.edu/pub/fedora.redhat/linux/extras/ ftp://ftp.gtlib.gatech.edu/pub/fedora.redhat/linux/extras/ rsync://rsync.gtlib.gatech.edu/fedora-linux-extras/ http://sunsite.mff.cuni.cz/pub/fedora-extras/ ftp://sunsite.mff.cuni.cz/pub/fedora-extras/ rsync://sunsite.mff.cuni.cz/fedora/extras/ ftp://alviss.et.tudelft.nl/pub/fedora/ http://ftp.lug.ro/fedora/linux/extras/ ftp://ftp.lug.ro/fedora/linux/extras/ http://ftp.uni-bayreuth.de/linux/fedora/linux/extras/ ftp://ftp.uni-bayreuth.de/pub/linux/fedora/linux/extras/ rsync://rsync.uni-bayreuth.de/fedora-linux-extras/ http://ftp1.skynet.cz/pub/linux/fedora/extras/ ftp://ftp1.skynet.cz/pub/linux/fedora/extras/ ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core-extras/ http://wftp.tu-chemnitz.de/pub/linux/fedora-core-extras/ ftp://ftp.chl.chalmers.se/pub/fedora/linux/extras/ ftp://ftp.udl.es/pub/fedora/linux/extras/ http://ftp.udl.es/pub/fedora/linux/extras/ rsync://ftp.udl.es/pub/fedora/linux/extras/ ftp://gd.tuwien.ac.at/opsys/linux/fedora/extras/ http://gd.tuwien.ac.at/opsys/linux/fedora/extras/ rsync://gd.tuwien.ac.at/opsys/linux/fedora/extras/ http://fr.rpmfind.net/linux/fedora/extras/ ftp://fr.rpmfind.net/linux/fedora/extras/ rsync://fr.rpmfind.net/linux/fedora/extras/ http://mirror.etf.bg.ac.yu/fedora/linux/extras/ ftp://mirror.etf.bg.ac.yu/fedora/linux/extras/ rsync://mirror.etf.bg.ac.yu/fedora/linux/extras/ http://mirror2.etf.bg.ac.yu/fedora/linux/extras/ ftp://mirror2.etf.bg.ac.yu/fedora/linux/extras/ rsync://mirror2.etf.bg.ac.yu/fedora/linux/extras/ ftp://klid.dk/fedora/linux/extras/ http://klid.dk/homeftp/fedora/linux/extras/ http://ftp.rhd.ru/pub/fedora/linux/extras/ ftp://ftp.rhd.ru/pub/fedora/linux/extras/ ftp://ftp.chg.ru/pub/Linux/fedora/linux/extras/ http://ftp.chg.ru/pub/Linux/fedora/linux/extras/ rsync://ftp.chg.ru/fedora/linux/extras/ http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/extras/ ftp://ftp.isu.edu.tw/pub/Linux/Fedora/linux/extras/ http://planetmirror.com/pub/fedora/linux/extras/ fttp://ftp.planetmirror.com/pub/fedora/linux/extras/ rsync://rsync.planetmirror.com/fedora/linux/extras/'
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/3/i386/"				"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/4/i386/"				"$TopDir/$fc_4_i386/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/3/x86_64/"				"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		[ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/4/x86_64/"				"$TopDir/$fc_4_x86_64/$ModuleName/packages/"
		;;
	freshrpms)
		Name='DISTRONAME Linux $releasever - $basearch - freshrpms'

		Sources='rsync://rsync.freshrpms.net/freshrpms/ rsync://apt.sw.be/pub/freshrpms/pub/freshrpms/ rsync://ftp.heanet.ie/mirrors/ftp.freshrpms.net/pub/freshrpms/ rsync://www.mirrorservice.org/ftp.freshrpms.net/pub/freshrpms/'
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/fedora/linux/1/*/*.rpm"		"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/fedora/linux/2/*/*.rpm"		"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/fedora/linux/3/*/*.rpm"		"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/fedora/linux/4/*/*.rpm"		"$TopDir/$fc_4_i386/$ModuleName/packages/"
		[ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/1/*/*.rpm"		"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		[ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/2/*/*.rpm"		"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/3/*/*.rpm"		"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		[ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/4/*/*.rpm"		"$TopDir/$fc_4_x86_64/$ModuleName/packages/"

		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/redhat/7.3/*/*.rpm"		"$TopDir/fedora/linux/7.3/i386/$ModuleName/packages/"	
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/8.0/*/*.rpm"		"$TopDir/fedora/linux/8.0/i386/$ModuleName/packages/"	
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/9/*/*.rpm"			"$TopDir/fedora/linux/9/i386/$ModuleName/packages/"	
		;;
	jpackage)
		#http://www.jpackage.org/
		Name='DISTRONAME Linux $releasever - $basearch - jpackage'

#FIXME - do XCopys between wb and centos too from here down
		Sources='rsync://rsync.mirrors.dotsrc.org/jpackage/ rsync://sunsite.dk/jpackage/ rsync://rsync.planetmirror.com/jpackage/ rsync://rpm.pbone.net/pbone/pub/jpackage/ http://mirrors.dotsrc.org/jpackage/ ftp://mirrors.dotsrc.org/jpackage/ http://planetmirror.com/pub/jpackage/ ftp://ftp.planetmirror.com/pub/jpackage/ http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/jpackage/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/jpackage/ ftp://ftp.pbone.net/pub/jpackage/ http://sunsite.rediris.es/mirror/jpackage/ ftp://ftp.rediris.es/mirror/jpackage/ ftp://gsa10.eps.cdf.udc.es/jpackage/ ftp://jpackage.hmdc.harvard.edu/JPackage/'
		[ -n "$ce_34_i386" ] &&		XCopy	"$TopDir/$rhel_3_i386/$ModuleName/packages/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/1.6/redhat-el-3.0/RPMS.free/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/1.6/redhat-el-3.0/RPMS.devel/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		XCopy	"$TopDir/$rhel_4_i386/$ModuleName/packages/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/1.6/redhat-el-4.0/RPMS.free/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/1.6/redhat-el-4.0/RPMS.devel/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"

		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/1.6/fedora-1/RPMS.free/"		"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/1.6/fedora-2/RPMS.free/"		"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/1.6/fedora-3/RPMS.free/"		"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$fc_4_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/1.6/fedora-4/RPMS.free/"		"$TopDir/$fc_4_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$fc_4_i386/$ModuleName/packages/"

		if [ -n "$OpteronFallback" ]; then
		    [ -n "$ce_34_x86_64" ] &&	XCopy	"$TopDir/rhel/linux/3/x86_64/$ModuleName/packages/"	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		    [ -n "$ce_34_x86_64" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		    [ -n "$ce_34_x86_64" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		    [ -n "$ce_34_x86_64" ] &&	GoGet	"$Sources" "/1.6/redhat-el-3.0/RPMS.free/"	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		    [ -n "$ce_34_x86_64" ] &&	GoGet	"$Sources" "/1.6/redhat-el-3.0/RPMS.devel/"	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		    [ -n "$ce_40_x86_64" ] &&	XCopy	"$TopDir/rhel/linux/4/x86_64/$ModuleName/packages/"	"$TopDir/$ce_40_x86_64/$ModuleName/packages/"
		    [ -n "$ce_40_x86_64" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$ce_40_x86_64/$ModuleName/packages/"
		    [ -n "$ce_40_x86_64" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$ce_40_x86_64/$ModuleName/packages/"
		    [ -n "$ce_40_x86_64" ] &&	GoGet	"$Sources" "/1.6/redhat-el-4.0/RPMS.free/"	"$TopDir/$ce_40_x86_64/$ModuleName/packages/"
		    [ -n "$ce_40_x86_64" ] &&	GoGet	"$Sources" "/1.6/redhat-el-4.0/RPMS.devel/"	"$TopDir/$ce_40_x86_64/$ModuleName/packages/"

		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/1.6/fedora-1/RPMS.free/"		"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/1.6/fedora-2/RPMS.free/"		"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		    [ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		    [ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/1.6/fedora-3/RPMS.free/"		"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		    [ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		    [ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$fc_4_x86_64/$ModuleName/packages/"
		    [ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/1.6/fedora-4/RPMS.free/"		"$TopDir/$fc_4_x86_64/$ModuleName/packages/"
		    [ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$fc_4_x86_64/$ModuleName/packages/"
		fi

		[ -n "$md_91_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$md_91_i386/$ModuleName/packages/"
		[ -n "$md_91_i386" ] &&		GoGet	"$Sources" "/1.6/mandrake-9.1/RPMS.free/"	"$TopDir/$md_91_i386/$ModuleName/packages/"
		[ -n "$md_91_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$md_91_i386/$ModuleName/packages/"
		[ -n "$md_92_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$md_92_i386/$ModuleName/packages/"
		[ -n "$md_92_i386" ] &&		GoGet	"$Sources" "/1.6/mandrake-9.2/RPMS.free/"	"$TopDir/$md_92_i386/$ModuleName/packages/"
		[ -n "$md_92_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$md_92_i386/$ModuleName/packages/"
		[ -n "$md_100_i386" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$md_100_i386/$ModuleName/packages/"
		[ -n "$md_100_i386" ] &&	GoGet	"$Sources" "/1.6/mandrake-10.0/RPMS.free/"	"$TopDir/$md_100_i386/$ModuleName/packages/"
		[ -n "$md_100_i386" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$md_100_i386/$ModuleName/packages/"
		[ -n "$md_101_i386" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$md_101_i386/$ModuleName/packages/"
		[ -n "$md_101_i386" ] &&	GoGet	"$Sources" "/1.6/mandrake-10.1/RPMS.free/"	"$TopDir/$md_101_i386/$ModuleName/packages/"
		[ -n "$md_101_i386" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$md_101_i386/$ModuleName/packages/"

		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/1.6/redhat-7.3/RPMS.free/"		"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/1.6/redhat-7.3/RPMS.devel/"	"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/1.6/redhat-8.0/RPMS.free/"		"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/1.6/redhat-8.0/RPMS.devel/"	"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$rh_9_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$rh_9_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/1.6/redhat-9/RPMS.free/"		"$TopDir/$rh_9_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/1.6/redhat-9/RPMS.devel/"		"$TopDir/$rh_9_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	XCopy	"$TopDir/$ce_34_i386/$ModuleName/packages/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/1.6/redhat-el-3.0/RPMS.free/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/1.6/redhat-el-3.0/RPMS.devel/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	XCopy	"$TopDir/$ce_40_i386/$ModuleName/packages/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" "/1.6/redhat-el-4.0/RPMS.free/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" "/1.6/redhat-el-4.0/RPMS.devel/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"

		[ -n "$wb_3_i386" ] &&		XCopy	"$TopDir/$rhel_3_i386/$ModuleName/packages/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/1.6/redhat-el-3.0/RPMS.free/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/1.6/redhat-el-3.0/RPMS.devel/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		XCopy	"$TopDir/$rhel_4_i386/$ModuleName/packages/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.free/"		"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/1.6/generic/RPMS.devel/"		"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/1.6/redhat-el-4.0/RPMS.free/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/1.6/redhat-el-4.0/RPMS.devel/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		;;

	kde-redhat-stable)
		#William Haller was kind enough to contribute the work for the kde-redhat repositories - thanks!
#FIXME - add in the other distributions for these three modules as well.
		#http://kde-redhat.sourceforge.net/ , http://apt.kde-redhat.org/
		Name='DISTRONAME Linux $releasever - $basearch - kde-redhat-stable'

		#Not available for fc1, fc2, fc4_x86_64 as of 20051022
		Sources='ftp://apt.us.kde-redhat.org/linux/kde-redhat/apt/kde-redhat/ ftp://apt.uk.kde-redhat.org/pub/apt/kde-redhat/ ftp://apt.kde-redhat.org/apt/kde-redhat/ http://apt.kde-redhat.org/apt/kde-redhat/'
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/all/stable/RPMS/"			"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/fedora/3/i386/stable/RPMS/"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/all/stable/RPMS/"			"$TopDir/$fc_4_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/fedora/4/i386/stable/RPMS/"	"$TopDir/$fc_4_i386/$ModuleName/packages/"

		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/all/stable/RPMS/"			"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/fedora/3/x86_64/stable/RPMS/"	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"

		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/all/stable/RPMS/"			"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/redhat/el3/i386/stable/RPMS/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/all/stable/RPMS/"			"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/redhat/el4/i386/stable/RPMS/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"

		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/all/stable/RPMS/"			"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/redhat/7.3/i386/stable/RPMS/"	"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/all/stable/RPMS/"			"$TopDir/$rh_9_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/9/i386/stable/RPMS/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"

		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/all/stable/RPMS/"			"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/redhat/el3/i386/stable/RPMS/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" "/all/stable/RPMS/"			"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" "/redhat/el4/i386/stable/RPMS/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"

		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/all/stable/RPMS/"			"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/redhat/el3/i386/stable/RPMS/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/all/stable/RPMS/"			"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/redhat/el4/i386/stable/RPMS/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		;;
	kde-redhat-testing)
		#http://kde-redhat.sourceforge.net/ , http://apt.kde-redhat.org/
		Name='DISTRONAME Linux $releasever - $basearch - kde-redhat-testing'

		#Not available for fc1, fc2 as of 20051022
		Sources='ftp://apt.us.kde-redhat.org/linux/kde-redhat/apt/kde-redhat/ ftp://apt.uk.kde-redhat.org/pub/apt/kde-redhat/ ftp://apt.kde-redhat.org/apt/kde-redhat/ http://apt.kde-redhat.org/apt/kde-redhat/'
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/all/testing/RPMS/"			"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/fedora/3/i386/testing/RPMS/"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/all/testing/RPMS/"			"$TopDir/$fc_4_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/fedora/4/i386/testing/RPMS/"	"$TopDir/$fc_4_i386/$ModuleName/packages/"

		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/all/testing/RPMS/"			"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/fedora/3/x86_64/testing/RPMS/"	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"

		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/all/testing/RPMS/"			"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/redhat/el3/i386/testing/RPMS/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/all/testing/RPMS/"			"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/redhat/el4/i386/testing/RPMS/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"

		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/all/testing/RPMS/"			"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/redhat/7.3/i386/testing/RPMS/"	"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/all/testing/RPMS/"			"$TopDir/$rh_9_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/9/i386/testing/RPMS/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"

		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/all/testing/RPMS/"			"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/redhat/el3/i386/testing/RPMS/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" "/all/testing/RPMS/"			"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" "/redhat/el4/i386/testing/RPMS/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"

		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/all/testing/RPMS/"			"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/redhat/el3/i386/testing/RPMS/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/all/testing/RPMS/"			"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/redhat/el4/i386/testing/RPMS/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		;;
	kde-redhat-unstable)
		#http://kde-redhat.sourceforge.net/ , http://apt.kde-redhat.org/
		Name='DISTRONAME Linux $releasever - $basearch - kde-redhat-unstable'

		#Not available for fc1, fc2 as of 20051022
		Sources='ftp://apt.us.kde-redhat.org/linux/kde-redhat/apt/kde-redhat/ ftp://apt.uk.kde-redhat.org/pub/apt/kde-redhat/ ftp://apt.kde-redhat.org/apt/kde-redhat/ http://apt.kde-redhat.org/apt/kde-redhat/'
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/all/unstable/RPMS/"		"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/fedora/3/i386/unstable/RPMS/"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/all/unstable/RPMS/"		"$TopDir/$fc_4_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/fedora/4/i386/unstable/RPMS/"	"$TopDir/$fc_4_i386/$ModuleName/packages/"

		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/all/unstable/RPMS/"		"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/fedora/3/x86_64/unstable/RPMS/"	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"

		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/all/unstable/RPMS/"		"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/redhat/el3/i386/unstable/RPMS/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/all/unstable/RPMS/"		"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/redhat/el4/i386/unstable/RPMS/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"

		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/all/unstable/RPMS/"		"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/redhat/7.3/i386/unstable/RPMS/"	"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/all/unstable/RPMS/"		"$TopDir/$rh_9_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/9/i386/unstable/RPMS/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"

		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/all/unstable/RPMS/"		"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/redhat/el3/i386/unstable/RPMS/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" "/all/unstable/RPMS/"		"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" "/redhat/el4/i386/unstable/RPMS/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"

		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/all/unstable/RPMS/"		"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/redhat/el3/i386/unstable/RPMS/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/all/unstable/RPMS/"		"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/redhat/el4/i386/unstable/RPMS/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		;;
	livna)
		Name='DISTRONAME Linux $releasever - $basearch - livna'

		Sources='rsync://rpm.livna.org/rlo/ http://rpm.livna.org/ http://livna.cat.pdx.edu/ http://wftp.tu-chemnitz.de/pub/linux/livna/'
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/fedora/1/i386/RPMS.stable/"	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/fedora/2/i386/RPMS.stable/"	"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/fedora/3/i386/RPMS.stable/"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/fedora/4/i386/RPMS.lvn/"		"$TopDir/$fc_4_i386/$ModuleName/packages/"
		if [ -n "$OpteronFallback" ]; then
		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/fedora/1/i386/RPMS.stable/"	"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		fi
		[ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/fedora/2/x86_64/RPMS.stable/"	"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/fedora/3/x86_64/RPMS.stable/"	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		[ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/fedora/4/x86_64/RPMS.lvn/"		"$TopDir/$fc_4_x86_64/$ModuleName/packages/"

		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/8.0/i386/RPMS.stable/"	"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/9/i386/RPMS.stable/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"
		;;
	livna-testing)
		#Bob Jensen was kind enough to provide livna-testing and livna-unstable - thanks!
		Name='DISTRONAME Linux $releasever - $basearch - livna-testing'

		Sources='rsync://rpm.livna.org/rlo/ http://rpm.livna.org/ http://livna.cat.pdx.edu/ http://wftp.tu-chemnitz.de/pub/linux/livna/'
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "fedora/1/i386/RPMS.testing/"	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "fedora/2/i386/RPMS.testing/"	"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "fedora/3/i386/RPMS.testing/"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "fedora/4/i386/RPMS.lvn-testing/"	"$TopDir/$fc_4_i386/$ModuleName/packages/"
		if [ -n "$OpteronFallback" ]; then
		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "fedora/1/i386/RPMS.testing/"	"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		fi
		[ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "fedora/2/x86_64/RPMS.testing/"	"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "fedora/3/x86_64/RPMS.testing/"	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		[ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "fedora/4/x86_64/RPMS.lvn-testing/"	"$TopDir/$fc_4_x86_64/$ModuleName/packages/"

		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/8.0/i386/RPMS.testing/"	"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/9/i386/RPMS.testing/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"
		;;
	livna-unstable)
		Name='DISTRONAME Linux $releasever - $basearch - livna-unstable'

		Sources='rsync://rpm.livna.org/rlo/'
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "fedora/1/i386/RPMS.unstable/"	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "fedora/2/i386/RPMS.unstable/"	"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "fedora/3/i386/RPMS.unstable/"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		if [ -n "$OpteronFallback" ]; then
		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "fedora/1/i386/RPMS.unstable/"	"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		fi
		[ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "fedora/2/x86_64/RPMS.unstable/"	"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "fedora/3/x86_64/RPMS.unstable/"	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"

		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/8.0/i386/RPMS.unstable/"	"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/9/i386/RPMS.unstable/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"
		;;
	local)
		Name='DISTRONAME Linux $releasever - $basearch - local'
		#Nothing to download, just reindex
		;;
	newrpms)
		Name='DISTRONAME Linux $releasever - $basearch - newrpms'

		Sources='rsync://newrpms.sunsite.dk/projects/newrpms/www/htdocs/apt/ http://newrpms.sunsite.dk/apt/ http://mirrors.ftp.sciences.univ-nantes.fr/mirrors/newrpms.sunsite.dk/'
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/redhat/en/i386/fc1/RPMS.newrpms/"	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/redhat/en/i386/fc2/RPMS.newrpms/"	"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/redhat/en/i386/fc3/RPMS.newrpms/"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/redhat/en/i386/fc4/RPMS.newrpms/"	"$TopDir/$fc_4_i386/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/redhat/en/x86_64/fc3/RPMS.newrpms/" "$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		[ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/redhat/en/x86_64/fc4/RPMS.newrpms/" "$TopDir/$fc_4_x86_64/$ModuleName/packages/"
		if [ -n "$OpteronFallback" ]; then
		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/redhat/en/i386/fc1/RPMS.newrpms/"	"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/redhat/en/i386/fc2/RPMS.newrpms/"	"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		fi

		Sources='rsync://newrpms.sunsite.dk/projects/newrpms/www/htdocs/apt/'
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/en/i386/8.0/RPMS.newrpms/"	"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/en/i386/9.0/RPMS.newrpms/"	"$TopDir/$rh_9_i386/$ModuleName/packages/"
		;;
	nrpms)
		Name='DISTRONAME Linux $releasever - $basearch - nrpms'
		#Sources='rsync://ftp.pbone.net/pbone/mirror/apt.nrpms.net/'	#FIXME - more sources?
		#Nice idea, but ftp.pbone.net has broken symlinks back to /rpms/ directory.  Just get them directly, see below a few lines.
		#symlink has no referent: "mirror/apt.nrpms.net/apt/fedora-3-i386/RPMS.production/libgda-devel-1.2.0-1.1.fc3.nr.i386.rpm" (in pbone)
		#symlink has no referent: "mirror/apt.nrpms.net/apt/fedora-3-i386/RPMS.production/ggv-2.8.3-1.1.fc3.nr.i386.rpm" (in pbone), etc.
		#[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/apt/fedora-2-i386/RPMS.production/" "$TopDir/$fc_2_i386/$ModuleName/packages/"
		#[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/apt/fedora-3-i386/RPMS.production/" "$TopDir/$fc_3_i386/$ModuleName/packages/"
		#if [ -n "$OpteronFallback" ]; then
		#    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/apt/fedora-2-i386/RPMS.production/" "$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		#    [ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/apt/fedora-3-i386/RPMS.production/" "$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		#fi

		#This needs to have .ppc.rpm's excluded, but the general-exclude handles this for us.
		#[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/rpms/*/*/RPMS/*.fc2.*.rpm"		"$TopDir/$fc_2_i386/$ModuleName/packages/"
		#[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/rpms/*/*/RPMS/*.fc3.*.rpm"		"$TopDir/$fc_3_i386/$ModuleName/packages/"
		#[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/rpms/*/*/RPMS/*.fc4.*.rpm"		"$TopDir/$fc_4_i386/$ModuleName/packages/"
		#if [ -n "$OpteronFallback" ]; then
		#    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/rpms/*/*/RPMS/*.fc2.*.rpm"		"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		#    [ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/rpms/*/*/RPMS/*.fc3.*.rpm"		"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		#    [ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/rpms/*/*/RPMS/*.fc4.*.rpm"		"$TopDir/$fc_4_x86_64/$ModuleName/packages/"
		#fi

		Sources='ftp://mirrors.ftp.sciences.univ-nantes.fr/mirrors/www.nrpms.net/apt/ ftp://ftp.planetmirror.net/pub/nrpms/apt/ http://ipi.fi/work/pablo/matt/downloads/apt/'
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/fedora-1-i386/RPMS.production/"	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/fedora-2-i386/RPMS.production/"	"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/fedora-3-i386/RPMS.production/"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/fedora-4-i386/RPMS.production/"	"$TopDir/$fc_4_i386/$ModuleName/packages/"
		[ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/fedora-4-x86_64/RPMS.production/"	"$TopDir/$fc_4_x86_64/$ModuleName/packages/"
		if [ -n "$OpteronFallback" ]; then
		    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/fedora-2-i386/RPMS.production/"	"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		    [ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/fedora-3-i386/RPMS.production/"	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		fi
		;;
	nrpms-testing)
		Name='DISTRONAME Linux $releasever - $basearch - nrpms-testing'

		Sources='ftp://mirrors.ftp.sciences.univ-nantes.fr/mirrors/www.nrpms.net/apt/ ftp://ftp.planetmirror.net/pub/nrpms/apt/ http://ipi.fi/work/pablo/matt/downloads/apt/'
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/fedora-1-i386/RPMS.testing/"	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/fedora-2-i386/RPMS.testing/"	"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/fedora-3-i386/RPMS.testing/"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/fedora-4-i386/RPMS.testing/"	"$TopDir/$fc_4_i386/$ModuleName/packages/"
		[ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/fedora-4-x86_64/RPMS.testing/"	"$TopDir/$fc_4_x86_64/$ModuleName/packages/"
		if [ -n "$OpteronFallback" ]; then
		    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/fedora-2-i386/RPMS.testing/"	"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		    [ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/fedora-3-i386/RPMS.testing/"	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		fi
		;;
	openpkg)
		Name='DISTRONAME Linux $releasever - $basearch - openpkg'

		Sources='rsync://rsync.openpkg.org/openpkg-ftp/release/ ftp://ftp.openpkg.org/release/ ftp://ftp.de.cw.net/pub/openpkg/release/ ftp://rpmfind.net/linux/OpenPKG/release/ ftp://at.rpmfind.net/linux/OpenPKG/release/ ftp://fr2.rpmfind.net/linux/OpenPKG/release/ ftp://ftp.icm.edu.pl/site/openpkg/release/ ftp://ftp.ntua.gr/pub/linux/openpkg/release/ ftp://sunsite.icm.edu.pl/pub/linux/openpkg/release/ ftp://ftp.gwdg.de/pub/linux/openpkg/release/'
		[ -n "$ce_34_i386" ] &&		XCopy	"$TopDir/$rhel_3_i386/$ModuleName/packages/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/2.3/BIN/ix86-rhel3/"		"$TopDir/$ce_34_i386/$ModuleName/packages/"	

		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/2.2/BIN/ix86-fedora2/"		"$TopDir/$fc_2_i386/$ModuleName/packages/"	
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/2.4/BIN/ix86-fedora3/"		"$TopDir/$fc_3_i386/$ModuleName/packages/"	
		#Hmmm.  Are updates to openpkg source only?
		#[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/2.2/UPD/ix86-fedora2/"		"$TopDir/$fc_2_i386/$ModuleName/packages/"	
		#[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/2.2/UPD/ix86-fedora3/"		"$TopDir/$fc_3_i386/$ModuleName/packages/"	
		if [ -n "$OpteronFallback" ]; then
		    [ -n "$ce_34_x86_64" ] &&	XCopy	"$TopDir/rhel/linux/3/x86_64/$ModuleName/packages/"	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		    [ -n "$ce_34_x86_64" ] &&	GoGet	"$Sources" "/2.3/BIN/ix86-rhel3/"		"$TopDir/$ce_34_x86_64/$ModuleName/packages/"	

		    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/2.2/BIN/ix86-fedora2/"		"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		    #[ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/2.2/UPD/ix86-fedora2/"		"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		    [ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/2.3/BIN/ix86-fedora3/"		"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		    [ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/2.3/UPD/ix86-fedora3/"		"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		fi

		[ -n "$md_100_i386" ] &&	GoGet	"$Sources" "/2.2/BIN/ix86-mandrake10.0/"	"$TopDir/$md_100_i386/$ModuleName/packages/"	
		[ -n "$md_101_i386" ] &&	GoGet	"$Sources" "/2.3/BIN/ix86-mandrake10.1/"	"$TopDir/$md_101_i386/$ModuleName/packages/"	
		[ -n "$md_102_i386" ] &&	GoGet	"$Sources" "/2.4/BIN/ix86-mandrake10.2/"	"$TopDir/$md_102_i386/$ModuleName/packages/"

		[ -n "$rhel_3_i386" ] &&	XCopy	"$TopDir/$ce_34_i386/$ModuleName/packages/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/2.4/BIN/ix86-rhel3/"		"$TopDir/$rhel_3_i386/$ModuleName/packages/"	

		[ -n "$su_92_i386" ] &&		GoGet	"$Sources" "/2.3/BIN/ix86-suse9.2/"		"$TopDir/$su_92_i386/$ModuleName/packages/"	
		[ -n "$su_93_i386" ] &&		GoGet	"$Sources" "/2.4/BIN/ix86-suse9.3/"		"$TopDir/$su_93_i386/$ModuleName/packages/"	

		[ -n "$wb_3_i386" ] &&		XCopy	"$TopDir/$rhel_3_i386/$ModuleName/packages/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/2.3/BIN/ix86-rhel3/"		"$TopDir/$wb_3_i386/$ModuleName/packages/"	
		;;
	updates)
		Name='DISTRONAME Linux $releasever - $basearch - updates'

		Sources='rsync://rsync.arcticnetwork.ca/centos/ rsync://rsync.gtlib.gatech.edu/centos/ rsync://ftp.linux.ncsu.edu/centos/ rsync://mirror.trouble-free.net/centos/ rsync://mirrors.cat.pdx.edu/centos/ rsync://mirror.cs.wisc.edu/centos/ rsync://ftp.belnet.be/packages/centos/ rsync://rsync.sunsite.org.uk/sites/msync.centos.org/CentOS/ rsync://centos.crazyfrogs.org/centos/ rsync://rsync.hrz.tu-chemnitz.de/ftp/pub/linux/centos/ rsync://ftp.nluug.nl/CentOS/ rsync://rsync.cs.uu.nl/CentOS/ rsync://mirror.ii.uib.no/sites/msync.centos.org/centos/ rsync://mirror.nsc.liu.se/CentOS/ rsync://ftp.riken.jp/centos/ rsync://ftp.nara.wide.ad.jp/centos/ rsync://rsync.oss.eznetsols.org/ftp/linux/centos/ rsync://mirror.averse.net/centos/ rsync://rsync.planetmirror.com/centos/ rsync://mirrors.csol.org/CentOS/ rsync://sunsite.icm.edu.pl/pub/Linux/distributions/centos/ rsync://ftp.pbone.net/pub/centos/ rsync://rsync.arcticnetwork.ca/centos/ rsync://rsync.gtlib.gatech.edu/centos/ rsync://ftp.linux.ncsu.edu/centos/ rsync://mirror.trouble-free.net/centos/ rsync://mirrors.cat.pdx.edu/centos/ rsync://mirror.cs.wisc.edu/centos/ rsync://ftp.belnet.be/packages/centos/ rsync://rsync.sunsite.org.uk/sites/msync.centos.org/CentOS/ rsync://centos.crazyfrogs.org/centos/ rsync://rsync.hrz.tu-chemnitz.de/ftp/pub/linux/centos/ rsync://ftp.nluug.nl/CentOS/ rsync://rsync.cs.uu.nl/CentOS/ rsync://mirror.ii.uib.no/sites/msync.centos.org/centos/ rsync://mirror.nsc.liu.se/CentOS/ rsync://ftp.riken.jp/centos/ rsync://ftp.nara.wide.ad.jp/centos/ rsync://rsync.oss.eznetsols.org/ftp/linux/centos/ rsync://mirror.averse.net/centos/ rsync://rsync.planetmirror.com/centos/ rsync://mirrors.csol.org/CentOS/ rsync://sunsite.icm.edu.pl/pub/Linux/distributions/centos/ rsync://ftp.pbone.net/centos/'
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/3.4/updates/i386/RPMS/"		"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/4.0/updates/i386/RPMS/"		"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_34_x86_64" ] &&	GoGet	"$Sources" "/3.4/updates/x86_64/RPMS/"		"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		[ -n "$ce_40_x86_64" ] &&	GoGet	"$Sources" "/4.0/updates/x86_64/RPMS/"		"$TopDir/$ce_40_x86_64/$ModuleName/packages/"

		Sources='rsync://rsync.planetmirror.com/fedoralegacy/ rsync://mirror.pacific.net.au/fedoralegacy/ rsync://mirror.cpsc.ucalgary.ca/fedoralegacy/ rsync://ftp.tecnoera.com/ftp/pub/fedora/legacy/ rsync://ftp.fi.muni.cz/pub/linux/fedora/legacy/ rsync://rsync.mirror.ac.uk/download.fedoralegacy.org/legacy/ rsync://rsync.uni-bayreuth.de/fedoralegacy/ rsync://ftp-stud.fht-esslingen.de/fedoralegacy/ rsync://ftp.heanet.ie/mirrors/download.fedoralegacy.org/ rsync://rm.mirror.garr.it/fedoralegacy/ rsync://ftp.kddilabs.jp/fedora.leagacy/ rsync://ftp.riken.go.jp/fedoralegacy/ rsync://gnu.kookel.org/mirrors/fedoralegacy/ rsync://ftp.uninett.no/linux/RedHat/fedora-legacy/ rsync://ftp.iasi.roedu.net/fedoralegacy/ rsync://sunsite.rediris.es/fedora.legacy/ rsync://mirror3.cs.wisc.edu/fedora-legacy/ rsync://rsync.gtlib.cc.gatech.edu/fedoralegacy/ rsync://mirror.physics.ncsu.edu/fedoralegacy/ rsync://limestone.uoregon.edu/ftp/fedoralegacy/'
		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/fedora/1/updates/i386/"		"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/fedora/1/updates/x86_64/"		"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/fedora/2/updates/i386/"		"$TopDir/$fc_2_i386/$ModuleName/packages/" 
		[ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/fedora/2/updates/x86_64/"		"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		#Sources='rsync://mirror.linux.duke.edu/fedora-linux-core/ rsync://distro.ibiblio.org/fedora-linux-core/ rsync://mirror.hiwaay.net/fedora-linux-core/ rsync://rpmfind.net/linux/fedora/core/ rsync://rsync.gtlib.cc.gatech.edu/fedora-linux-core/'
		Sources='ftp://ftp.linux.ncsu.edu/pub/fedora/linux/core/ http://mirror.linux.duke.edu/pub/fedora/linux/core/ ftp://mirror.linux.duke.edu/pub/fedora/linux/core/ rsync://mirror.linux.duke.edu/fedora-linux-core/ ftp://mirror.cs.princeton.edu/pub/mirrors/fedora/linux/core/ http://distro.ibiblio.org/pub/linux/distributions/fedora/linux/core/ ftp://distro.ibiblio.org/pub/linux/distributions/fedora/linux/core/ rsync://distro.ibiblio.org/fedora-linux-core/ ftp://ftp.cse.buffalo.edu/pub/fedora/linux/core/ http://mirror.eas.muohio.edu/fedora/linux/core/ ftp://mirror.eas.muohio.edu/pub/fedora/linux/core/ http://mirror.hiwaay.net/redhat/fedora/linux/core/ ftp://mirror.hiwaay.net/redhat/fedora/linux/core/ rsync://mirror.hiwaay.net/fedora-linux-core/ ftp://mirrors.hpcf.upr.edu/pub/Mirrors/redhat/download.fedora.redhat.com/ ftp://ftp.net.usf.edu/pub/fedora/linux/core/ http://redhat.secsup.org/fedora/core/ ftp://redhat.secsup.org/pub/linux/redhat/fedora/core/ ftp://ftp.dc.aleron.net/pub/linux/fedora/linux/core/ ftp://mirror.newnanutilities.org/pub/fedora/linux/core/ ftp://ftp.software.umn.edu/pub/linux/fedora/core/ ftp://ftp.webtrek.com/pub/mirrors/fedora/ ftp://ftp.gtlib.cc.gatech.edu/pub/fedora.redhat/linux/core/ http://www.gtlib.cc.gatech.edu/pub/fedora.redhat/linux/core/ rsync://rsync.gtlib.cc.gatech.edu/fedora-linux-core ftp://mirror.clarkson.edu/pub/distributions/fedora/ http://mirror.clarkson.edu/pub/distributions/fedora/ ftp://fedora.mirrors.tds.net/pub/fedora-core/ http://linux.nssl.noaa.gov/fedora/core/ ftp://linux.nssl.noaa.gov/fedora/core/ rsync://linux.nssl.noaa.gov/fedora/core/ http://mirror.cs.wisc.edu/pub/mirrors/linux/download.fedora.redhat.com/pub/fedora/linux/core/ ftp://mirror.cs.wisc.edu/pub/mirrors/linux/download.fedora.redhat.com/pub/fedora/linux/core/ rsync://mirror.cs.wisc.edu/fedora-linux-core/ http://ftp.ale.org/pub/fedora/linux/core/ ftp://ftp.ale.org/mirrors/fedora/linux/core/ http://ftp.ndlug.nd.edu/pub/fedora/linux/core/ ftp://ftp.ndlug.nd.edu/pub/fedora/linux/core/ rsync://ftp.ndlug.nd.edu/fedora-linux-core/ http://fedora.server4you.net/fedora/core/ ftp://fedora.server4you.net/fedora/core/ rsync://fedora.server4you.net/fedora/ http://thales.memphis.edu/pub/fedora/linux/core/ ftp://thales.memphis.edu/fedora/linux/core/ ftp://mirrors.ptd.net/fedora/core/ ftp://fedora.bu.edu/fedora/core/ ftp://joe.ncsa.uiuc.edu/fedora/core/ ftp://mirrors.jtlnet.com/fedora/linux/core/ http://mirrors.playboy.com/fedora/ ftp://mirrors.playboy.com/fedora/ rsync://mirrors.playboy.com/fedora/ http://mirror.phy.olemiss.edu/mirror/fedora/core/ ftp://mirror.phy.olemiss.edu/fedora/core/ http://mirror.mcs.anl.gov/fedora-linux-core/ ftp://mirror.mcs.anl.gov/pub/fedora-linux-core/ rsync://mirror.mcs.anl.gov/fedora-linux-core/ http://fedora.omnispring.com/ ftp://fedora.omnispring.com/ ftp://limestone.uoregon.edu/fedora/ ftp://mirror.stanford.edu/pub/mirrors/fedora/linux/core/ http://mirrors.kernel.org/fedora/core/ ftp://mirrors.kernel.org/fedora/core/ rsync://mirrors.kernel.org/fedora/core/ http://mirror.web-ster.com/fedora/core/ ftp://mirror.web-ster.com/fedora/core/ rsync://mirror.web-ster.com/fedora/core/ ftp://fedora.cs.utah.edu/pub/fedora/linux/core/ http://fedora.cat.pdx.edu/linux/core/ ftp://fedora.cat.pdx.edu/linux/core/ rsync://fedora.cat.pdx.edu/ http://www.opensourcemirrors.org/linux/fedora/ ftp://ftp.opensourcemirrors.org/linux/fedora/ http://mirrors.xmission.com/fedora/core/ ftp://mirrors.xmission.com/fedora/core/ http://mirror.engr.sjsu.edu/pub/fedora/linux/core/ ftp://mirror.engr.sjsu.edu/pub/fedora/linux/core/ http://mirror.usu.edu/mirrors/fedora/linux/core/ ftp://mirror.usu.edu/mirrors/fedora/linux/core/ ftp://wuarchive.wustl.edu/mirrors/linux/distributions/fedora/ ftp://redhat.taygeta.com/pub/RedHat/fedora/core/ ftp://ftp.uci.edu/mirrors/fedora/linux/core/ http://mirrors.usc.edu/pub/linux/distributions/fedora/ ftp://mirrors.usc.edu/pub/linux/distributions/fedora/ rsync://mirrors.usc.edu/fedora/ ftp://mirror.colorado.edu/pub/fedora/linux/core/ http://less.cogeco.net/pub/fedora/linux/core/ ftp://less.cogeco.net/pub/fedora/linux/core/ ftp://ftp.nrc.ca/pub/systems/linux/redhat/fedora/linux/core/ ftp://ftp.telus.net/pub/fedora/linux/core/ http://gulus.usherbrooke.ca/pub/distro/fedora/linux/core/ http://mirror.cpsc.ucalgary.ca/mirror/fedora/linux/core/ ftp://mirror.cpsc.ucalgary.ca/mirror/fedora/linux/core/ http://ftp.muug.mb.ca/pub/fedora/linux/core/ ftp://ftp.muug.mb.ca/pub/fedora/linux/core/ rsync://ftp.muug.mb.ca/pub/fedora/linux/core/ http://fedora.mirrored.ca/fedora/ ftp://fedora.mirrored.ca/fedora/ rsync://rsync.mirrored.ca/fedora-linux-core/ http://fedora.arcticnetwork.ca/ ftp://mirror.arcticnetwork.ca/pub/fedora/linux/core/ http://www.las.ic.unicamp.br/pub/fedora/linux/core/ ftp://www.las.ic.unicamp.br/pub/fedora/linux/core/ rsync://www.las.ic.unicamp.br/pub/fedora/ ftp://mirror.pop-rs.rnp.br/pub/download.fedora.redhat.com/pub/fedora/linux/core/ ftp://ftp.tecnoera.com/pub/fedora/linux/ ftp://mirror.netglobalis.net/pub/fedora/ ftp://ftp.telmexchile.cl/Unix/fedora/linux/core/ http://gd.tuwien.ac.at/opsys/linux/fedora/core/ ftp://gd.tuwien.ac.at/opsys/linux/fedora/core/ rsync://gd.tuwien.ac.at/opsys/linux/fedora/core/ http://ftp.univie.ac.at/systems/linux/fedora/ ftp://ftp.univie.ac.at/systems/linux/fedora/ rsync://ftp.univie.ac.at/fedora/ ftp://ftp.tugraz.at/mirror/redhat-linux/fedora/linux/core/ ftp://ftp.uni-klu.ac.at/linux/fedora/linux/core/ ftp://ftp.scarlet.be/pub/fedora/ http://ftp.belnet.be/linux/fedora/linux/core/ ftp://ftp.belnet.be/linux/fedora/linux/core/ rsync://ftp.belnet.be/packages/fedora/ http://mirrors.evrocom.net/fedora/linux/core/ ftp://mirrors.evrocom.net/pub/fedora/linux/core/ http://mirrors.cytanet.com.cy/linux/fedora/linux/ http://sunsite.mff.cuni.cz/pub/fedora/ ftp://sunsite.mff.cuni.cz/pub/fedora/ ftp://ultra.linux.cz/pub/fedora/ rsync://sunsite.mff.cuni.cz/fedora/fedora/ ftp://ftp.fi.muni.cz/pub/linux/fedora/linux/core/ rsync://ftp.fi.muni.cz/pub/linux/fedora/linux/core/ ftp://ftp1.skynet.cz/pub/linux/fedora ftp://ftp.gin.cz/pub/fedora/core/ http://mirrors.dotsrc.org/fedora/ ftp://mirrors.dotsrc.org/fedora/ http://redhat.linux.ee/pub/fedora/linux/core/ ftp://redhat.linux.ee/pub/fedora/linux/core/ ftp://ftp.funet.fi/pub/mirrors/ftp.redhat.com/pub/fedora/linux/core/ ftp://ftp.ipv6.funet.fi/pub/mirrors/ftp.redhat.com/pub/fedora/linux/core/ http://ftp.crihan.fr/mirrors/fedora.redhat.com/fedora/linux/core/ ftp://ftp.crihan.fr/mirrors/fedora.redhat.com/fedora/linux/core/ rsync://ftp.crihan.fr/fedora-linux-core/ ftp://fr.rpmfind.net/linux/fedora/core/ http://fr2.rpmfind.net/linux/fedora/core/ ftp://fr2.rpmfind.net/linux/fedora/core/ http://rpmfind.net/linux/fedora/core/ ftp://rpmfind.net/linux/fedora/core/ rsync://rpmfind.net/linux/fedora/core/ ftp://ftp.ciril.fr/pub/linux/fedora/linux/core/ ftp://ftp.proxad.net/mirrors/fedora.redhat.com/fedora/linux/core/ ftp://ftp.univ-pau.fr/pub/mirrors/fedora/ http://ftp.inria.vthd.prd.fr/pub/linux/fedora/ ftp://ftp.inria.vthd.prd.fr/pub/linux/fedora/ ftp://ftp.cru.fr/pub/linux/fedora/core/ http://ftp.lip6.fr/ftp/pub/linux/distributions/fedora/ ftp://ftp.lip6.fr/pub/linux/distributions/fedora/ ftp://ftp.uvsq.fr/pub/fedora/ rsync://ftp.uvsq.fr/fedora/ http://wftp.tu-chemnitz.de/pub/linux/fedora-core/ ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/ ftp://ftp.uni-bayreuth.de/pub/linux/fedora/linux/core/ rsync://rsync.uni-bayreuth.de/fedora-linux-core/ ftp://ftp.stw-bonn.de/pub/mirror/fedora/linux/core/ ftp://ftp.join.uni-muenster.de/pub/linux/distributions/fedora/linux/core/ rsync://ftp.join.uni-muenster.de/fedora-linux-core/ ftp://ftp.informatik.uni-frankfurt.de/pub/linux/Mirror/ftp.redhat.com/fedora/core/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/fedora-core/ ftp://ftp.rhein-zeitung.de/mirrors/fedora.redhat.com/ ftp://ftp.uni-erlangen.de/pub/Linux/MIRROR.fedora/core http://ftp-stud.fht-esslingen.de/pub/Mirrors/fedora.redhat.com/linux/core/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/fedora.redhat.com/linux/core/ http://ftp.uni-koeln.de/mirrors/fedora/linux/core/ ftp://ftp.uni-koeln.de/mirrors/fedora/linux/core/ http://download.atrpms.net/mirrors/fedoracore/ http://ftp.ntua.gr/pub/linux/fedora/linux/core/ ftp://ftp.ntua.gr/pub/linux/fedora/linux/core/ ftp://ftp.otenet.gr/pub/linux/fedora/linux/core/ ftp://ftp.tvnet.hu/pub/fedora/linux/core/ http://mirrors.sth.sze.hu/linux/fedora/ ftp://mirrors.sth.sze.hu/linux/fedora/ http://ftp.rhnet.is/pub/fedora/ ftp://ftp.rhnet.is/pub/fedora/ rsync://ftp.rhnet.is/pub/fedora/ http://www.fedora.is/fedora/core/ ftp://ftp.fedora.is/pub/fedora/core/ http://ftp.heanet.ie/pub/fedora/linux/core/ ftp://ftp.heanet.ie/pub/fedora/linux/core/ rsync://ftp.heanet.ie/pub/fedora/linux/core/ http://ftp.esat.net/pub/linux/fedora/ ftp://ftp.esat.net/pub/linux/fedora/ rsync://ftp.esat.net/ftp/pub/linux/fedora/ ftp://ftp.edisontel.com/pub/Fedora_Mirror/ http://fedora.ngi.it/ ftp://ftp.quicknet.nl/pub/Linux/download.fedora.redhat.com/ ftp://alviss.et.tudelft.nl/pub/fedora/core/ http://ftp.surfnet.nl/ftp/pub/os/Linux/distr/fedora/ ftp://ftp.surfnet.nl/pub/os/Linux/distr/fedora/ http://ftp.nluug.nl/ftp/pub/os/Linux/distr/fedora/ ftp://ftp.nluug.nl/pub/os/Linux/distr/fedora/ rsync://ftp.nluug.nl/fedora rsync://ftp.surfnet.nl/fedora ftp://ftp.easynet.nl/mirror/fedora/ ftp://ftp.eu.uu.net/pub/linux/fedora/ ftp://ftp.uninett.no/pub/linux/Fedora/core/ ftp://tux.cprm.net/pub/ftp.redhat.com/fedora/linux/core/ http://ftp.di.fct.unl.pt/pub/linux/fedora/ ftp://ftp.di.fct.unl.pt/pub/linux/fedora/ ftp://ftp.wsisiz.edu.pl/mirror/download.fedora.redhat.com/ ftp://ftp.pbone.net/pub/fedora/pub/fedora/linux/core/ http://sunsite.icm.edu.pl/pub/Linux/fedora/linux/core/ ftp://sunsite.icm.edu.pl/pub/Linux/fedora/linux/core/ rsync://sunsite.icm.edu.pl/fedora/linux/core/ http://ftp.man.poznan.pl/pub/linux/fedora/ ftp://ftp.man.poznan.pl/pub/linux/fedora/ http://ftp.ps.pl/pub/linux/fedora-core/ ftp://ftp.ps.pl/pub/linux/fedora-core/ http://ftp.iasi.roedu.net/mirrors/fedora.redhat.com/core/ http://ftp.iasi.roedu.net/pub/mirrors/fedora.redhat.com/core/ rsync://ftp.iasi.roedu.net/fedora.redhat.com/core/ http://ftp.idilis.ro/mirrors/fedora/core/ ftp://ftp.idilis.ro/mirrors/fedora/core http://ftp.lug.ro/fedora/linux/core/ ftp://ftp.lug.ro/fedora/linux/core/ ftp://ftp.rdsor.ro/pub/Linux/Distributions/Fedora/ ftp://ftp.kappa.ro/pub/Linux/Distributions/fedora/ http://mirror.ase.ro/fedora/linux/core/ ftp://mirror.ase.ro/fedora/linux/core/ http://ftp.chg.ru/pub/Linux/fedora/linux/core/ ftp://ftp.chg.ru/pub/Linux/fedora/linux/core/ http://ftp.rhd.ru/pub/fedora/linux/core/ ftp://ftp.rhd.ru/pub/fedora/linux/core/ http://ftp.mrtech.ru/pub/mirror/fedora/linux/core/ ftp://ftp.mrtech.ru/pub/mirror/fedora/linux/core/ rsync://rsync.mrtech.ru/fedora-linux-core http://fedora.officepark.ru ftp://fedora.officepark.ru/ rsync://fedora.officepark.ru/fedora-linux-core/ http://mirror.etf.bg.ac.yu/fedora/linux/core/ ftp://mirror.etf.bg.ac.yu/fedora/linux/core/ http://ftp.upjs.sk/pub/linux/fedora/linux/core/ ftp://ftp.upjs.sk/pub/linux/fedora/linux/core/ http://mirrors.bevc.net/fedora/ ftp://ftp.bevc.net/mirrors/fedora/ http://ftp.udl.es/pub/fedora/linux/core/ ftp://ftp.udl.es/pub/fedora/linux/core/ http://ftp.rediris.es/mirror/fedora.redhat/ ftp://ftp.rediris.es/mirror/fedora.redhat/ ftp://ftp.cica.es/fedora/linux/core http://ftp.caliu.info/pub/distribucions/fedora/ ftp://ftp.caliu.info/pub/distribucions/fedora/ ftp://ftp.chl.chalmers.se/pub/fedora/linux/core/ ftp://mirror.switch.ch/mirror/fedora/linux/core/ ftp://ftp.solnet.ch/mirror/fedora/linux/core/ ftp://ftp.linux.org.tr/pub/fedora/linux/core/ http://mirrors.cs.hacettepe.edu.tr/fedora/linux/core/ ftp://ftp.cs.hacettepe.edu.tr/pub/mirrors/fedora/linux/core/ ftp://ftp.tlk-l.net/pub/mirrors/fedora.redhat.com/linux/core/ ftp://fedora.org.ua/pub/linux/fedora/ http://zeniiia.linux.org.uk/pub/distributions/fedora/linux/core/ ftp://zeniiia.linux.org.uk/pub/distributions/fedora/linux/core/ rsync://zeniiia.linux.org.uk/fedora-linux-core/ http://www.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/core/ ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/core/ rsync://rsync.mirrorservice.org/download.fedora.redhat.com/pub/fedora/linux/core/ http://www.mirror.ac.uk/sites/fedora.redhat.com/ ftp://ftp.mirror.ac.uk/sites/fedora.redhat.com/ rsync://rsync.mirror.ac.uk/fedora.redhat.com/ http://mirror.poundhost.com/fedora.redhat.com/ ftp://mirror.poundhost.com/pub/fedora.redhat.com/ ftp://ftp2.newnet.co.uk/pub/fedora/linux/core/ ftp://fedora.namibia.na/pub/fedora/ ftp://ftp.is.co.za/linux/distributions/fedora/linux/core/ http://ftp.isu.net.sa/pub/mirrors/fedora.redhat.com/ ftp://ftp.isu.net.sa/pub/mirrors/fedora.redhat.com/fedora/ http://planetmirror.com/pub/fedora/linux/core/ ftp://ftp.planetmirror.com/pub/fedora/linux/core/ rsync://rsync.planetmirror.com/fedora-linux-core/ ftp://ftp.netcraft.com.au/pub/fedora/linux/core/ http://mirror.pacific.net.au/linux/redhat/fedora/ ftp://mirror.pacific.net.au/linux/redhat/fedora/ http://download.stmc.edu.hk/fedora/linux/core/ ftp://download.stmc.edu.hk/fedora/linux/core/ ftp://ftp.hostrino.com/pub/fedora/linux/core/ ftp://ftp2.surplux.net/pub/fedora/ ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/ rsync://ftp.sfc.wide.ad.jp/fedora/ http://ftp.kddilabs.jp/Linux/packages/fedora/core/ ftp://ftp.kddilabs.jp/Linux/packages/fedora/core/ rsync://ftp.kddilabs.jp/fedora/ http://ftp.riken.jp/Linux/fedora/core/ ftp://ftp.riken.jp/Linux/fedora/core/ rsync://ftp.riken.jp/fedora/ http://ftp.jaist.ac.jp/pub/Linux/Fedora/core/ ftp://ftp.jaist.ac.jp/pub/Linux/Fedora/core/ ftp://ftp.nara.wide.ad.jp/pub/Linux/fedora/core/ http://ftp.nara.wide.ad.jp/pub/Linux/fedora/core/ rsync://ftp.nara.wide.ad.jp/fedora/ ftp://ftp.kreonet.re.kr/pub/Linux/fedora/core/ rsync://ftp.kreonet.re.kr/fedora/core/ ftp://mirror.hostway.co.kr/pub/fedora/ ftp://ftp.kaist.ac.kr/pub/fedora/linux/core/ http://mymirror.asiaosc.org/redhat/fedora/core/ ftp://ftp.wicks.co.nz/pub/linux/dist/fedora/ ftp://ftp.oss.eznetsols.org/linux/fedora/ rsync://rsync.oss.eznetsols.org/ftp/linux/fedora/ http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/ ftp://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/'
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/updates/3/i386/"			"$TopDir/$fc_3_i386/$ModuleName/packages/" 
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/updates/3/x86_64/"			"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/updates/4/i386/"			"$TopDir/$fc_4_i386/$ModuleName/packages/" 
		[ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/updates/4/x86_64/"			"$TopDir/$fc_4_x86_64/$ModuleName/packages/"

		Sources='rsync://rsync.secsup.org/mandrake-old/'
		[ -n "$md_91_i386" ] &&		GoGet	"$Sources" "/updates/9.1/RPMS/"			"$TopDir/$md_91_i386/$ModuleName/packages/"
		Sources='rsync://carroll.cac.psu.edu/mandrakelinux/official/ rsync://rsync.secsup.org/mandrake/ rsync://mirror.mcs.anl.gov/mandrake/official/'
		[ -n "$md_92_i386" ] &&		GoGet	"$Sources" "/updates/9.2/RPMS/"			"$TopDir/$md_92_i386/$ModuleName/packages/"
		[ -n "$md_100_i386" ] &&	GoGet	"$Sources" "/updates/10.0/RPMS/"		"$TopDir/$md_100_i386/$ModuleName/packages/"
		[ -n "$md_101_i386" ] &&	GoGet	"$Sources" "/updates/10.1/RPMS/"		"$TopDir/$md_101_i386/$ModuleName/packages/"
		[ -n "$md_102_i386" ] &&	GoGet	"$Sources" "/updates/10.2/RPMS/"		"$TopDir/$md_102_i386/$ModuleName/packages/"

		Sources='rsync://rsync.planetmirror.com/fedoralegacy/ rsync://mirror.pacific.net.au/fedoralegacy/ rsync://mirror.cpsc.ucalgary.ca/fedoralegacy/ rsync://ftp.tecnoera.com/ftp/pub/fedora/legacy/ rsync://ftp.fi.muni.cz/pub/linux/fedora/legacy/ rsync://rsync.mirror.ac.uk/download.fedoralegacy.org/legacy/ rsync://rsync.uni-bayreuth.de/fedoralegacy/ rsync://ftp-stud.fht-esslingen.de/fedoralegacy/ rsync://ftp.heanet.ie/mirrors/download.fedoralegacy.org/ rsync://rm.mirror.garr.it/fedoralegacy/ rsync://ftp.kddilabs.jp/fedora.leagacy/ rsync://ftp.riken.go.jp/fedoralegacy/ rsync://gnu.kookel.org/mirrors/fedoralegacy/ rsync://ftp.uninett.no/linux/RedHat/fedora-legacy/ rsync://ftp.iasi.roedu.net/fedoralegacy/ rsync://sunsite.rediris.es/fedora.legacy/ rsync://mirror3.cs.wisc.edu/fedora-legacy/ rsync://rsync.gtlib.cc.gatech.edu/fedoralegacy/ rsync://mirror.physics.ncsu.edu/fedoralegacy/ rsync://limestone.uoregon.edu/ftp/fedoralegacy/'
		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/redhat/7.3/updates/i386/"		"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/8.0/updates/i386/"		"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/9/updates/i386/"		"$TopDir/$rh_9_i386/$ModuleName/packages/"

		[ -n "$rhel_3_i386" ] &&	echo "WARNING - At this time this script has no access to RHEL 3 $ModuleName modules.  You need to load these yourself into $TopDir/$rhel_3_i386/$ModuleName/packages/." >&2
		[ -n "$rhel_4_i386" ] &&	echo "WARNING - At this time this script has no access to RHEL 4 $ModuleName modules.  You need to load these yourself into $TopDir/$rhel_4_i386/$ModuleName/packages/." >&2

		Sources='rsync://rpm.pbone.net/pbone/pub/suse/suse/ rsync://mirror.mcs.anl.gov/suse/ rsync://ftp.gwdg.de/SuSE/ftp.suse.com/suse/'
		[ -n "$su_92_i386" ] &&		GoGet	"$Sources" "i386/update/9.2/rpm/*/*.rpm"	"$TopDir/$su_92_i386/$ModuleName/packages/"
		[ -n "$su_93_i386" ] &&		GoGet	"$Sources" "i386/update/9.3/rpm/*/*.rpm"	"$TopDir/$su_93_i386/$ModuleName/packages/"

		Sources="rsync://ftp.esat.net/mirrors/whiteboxlinux.org/ rsync://rsync.gtlib.gatech.edu/whitebox/ rsync://ftp.riken.jp/whitebox/ rsync://www.mirror.ac.uk/www.whiteboxlinux.org/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/3.0/en/updates/athlon/"		"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/3.0/en/updates/i386/"		"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/3.0/en/updates/i586/"		"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/3.0/en/updates/i686/"		"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/3.0/en/updates/noarch/"		"$TopDir/$wb_3_i386/$ModuleName/packages/"
		#[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/4/en/updates/athlon/"		"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/4/en/updates/i386/"		"$TopDir/$wb_4_i386/$ModuleName/packages/"
		#[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/4/en/updates/i586/"		"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/4/en/updates/i686/"		"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/4/en/updates/noarch/"		"$TopDir/$wb_4_i386/$ModuleName/packages/"
		;;
	wstearns)
		Name='DISTRONAME Linux $releasever - $basearch - wstearns'
		Sources='rsync://zaphod.stearns.org/wstearns/yum/'
		[ -n "$ce_34_i386" ] &&		XCopy	"$TopDir/$rhel_3_i386/$ModuleName/packages/"			"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/centos/linux/3.4/i386/wstearns/packages/*.rpm"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_x86_64" ] &&	XCopy	"$TopDir/rhel/linux/3/x86_64/$ModuleName/packages/"		"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		[ -n "$ce_34_x86_64" ] &&	GoGet	"$Sources" "/centos/linux/3.4/x86_64/wstearns/packages/*.rpm"	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		XCopy	"$TopDir/$rhel_4_i386/$ModuleName/packages/"			"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/centos/linux/4.0/i386/wstearns/packages/*.rpm"	"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_x86_64" ] &&	XCopy	"$TopDir/rhel/linux/4/x86_64/$ModuleName/packages/"		"$TopDir/$ce_40_x86_64/$ModuleName/packages/"
		[ -n "$ce_40_x86_64" ] &&	GoGet	"$Sources" "/centos/linux/4.0/x86_64/wstearns/packages/*.rpm"	"$TopDir/$ce_40_x86_64/$ModuleName/packages/"

		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/fedora/linux/1/i386/wstearns/packages/*.rpm"	"$TopDir/$fc_1_i386/$ModuleName/packages/"
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/fedora/linux/2/i386/wstearns/packages/*.rpm"	"$TopDir/$fc_2_i386/$ModuleName/packages/"
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/fedora/linux/3/i386/wstearns/packages/*.rpm"	"$TopDir/$fc_3_i386/$ModuleName/packages/"
		[ -n "$fc_4_i386" ] &&		GoGet	"$Sources" "/fedora/linux/4/i386/wstearns/packages/*.rpm"	"$TopDir/$fc_4_i386/$ModuleName/packages/"
		[ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/1/x86_64/wstearns/packages/*.rpm"	"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		[ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/2/x86_64/wstearns/packages/*.rpm"	"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		[ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/3/x86_64/wstearns/packages/*.rpm"	"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		[ -n "$fc_4_x86_64" ] &&	GoGet	"$Sources" "/fedora/linux/4/x86_64/wstearns/packages/*.rpm"	"$TopDir/$fc_4_x86_64/$ModuleName/packages/"

		[ -n "$md_91_i386" ] &&		GoGet	"$Sources" "/mandrake/linux/9.1/i386/wstearns/packages/*.rpm"	"$TopDir/$md_91_i386/$ModuleName/packages/"
		[ -n "$md_92_i386" ] &&		GoGet	"$Sources" "/mandrake/linux/9.2/i386/wstearns/packages/*.rpm"	"$TopDir/$md_92_i386/$ModuleName/packages/"
		[ -n "$md_100_i386" ] &&	GoGet	"$Sources" "/mandrake/linux/10.0/i386/wstearns/packages/*.rpm"	"$TopDir/$md_100_i386/$ModuleName/packages/"
		[ -n "$md_101_i386" ] &&	GoGet	"$Sources" "/mandrake/linux/10.1/i386/wstearns/packages/*.rpm"	"$TopDir/$md_101_i386/$ModuleName/packages/"
		[ -n "$md_102_i386" ] &&	GoGet	"$Sources" "/mandrake/linux/10.2/i386/wstearns/packages/*.rpm"	"$TopDir/$md_102_i386/$ModuleName/packages/"

		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/redhat/linux/7.3/i386/wstearns/packages/*.rpm"	"$TopDir/$rh_73_i386/$ModuleName/packages/"
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redhat/linux/8.0/i386/wstearns/packages/*.rpm"	"$TopDir/$rh_80_i386/$ModuleName/packages/"
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redhat/linux/9/i386/wstearns/packages/*.rpm"	"$TopDir/$rh_9_i386/$ModuleName/packages/"

		[ -n "$rhel_3_i386" ] &&	XCopy	"$TopDir/$ce_34_i386/$ModuleName/packages/"			"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/rhel/linux/3/i386/wstearns/packages/*.rpm"		"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	XCopy	"$TopDir/$ce_40_i386/$ModuleName/packages/"			"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" "/rhel/linux/4/i386/wstearns/packages/*.rpm"		"$TopDir/$rhel_4_i386/$ModuleName/packages/"

		[ -n "$su_92_i386" ] &&		GoGet	"$Sources" "/suse/linux/9.2/i386/wstearns/packages/*.rpm"	"$TopDir/$su_92_i386/$ModuleName/packages/"
		[ -n "$su_93_i386" ] &&		GoGet	"$Sources" "/suse/linux/9.3/i386/wstearns/packages/*.rpm"	"$TopDir/$su_93_i386/$ModuleName/packages/"

#FIXME - whitebox enable stearns.org
		[ -n "$wb_3_i386" ] &&		XCopy	"$TopDir/$rhel_3_i386/$ModuleName/packages/"			"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/whitebox/linux/3.0/i386/wstearns/packages/*.rpm"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		XCopy	"$TopDir/$rhel_4_i386/$ModuleName/packages/"			"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/whitebox/linux/4/i386/wstearns/packages/*.rpm"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		;;
	ximian)
		Name='DISTRONAME Linux $releasever - $basearch - ximian'

		Sources='rsync://rsync.secsup.org/ximian/ rsync://www.mirrorservice.org/ftp.ximian.com/pub/'
		[ -n "$ce_34_i386" ] &&		XCopy	"$TopDir/$rhel_3_i386/$ModuleName/packages/"	"$TopDir/$ce_34_i386/$ModuleName/packages/"
		[ -n "$ce_34_i386" ] &&		GoGet	"$Sources" "/redcarpet2/rhel-3as-i386/"		"$TopDir/$ce_34_i386/$ModuleName/packages/"	
		[ -n "$ce_34_x86_64" ] &&	XCopy	"$TopDir/rhel/linux/3/x86_64/$ModuleName/packages/"	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"
		[ -n "$ce_34_x86_64" ] &&	GoGet	"$Sources" "/redcarpet2/rhel-3as-x86_64/"	"$TopDir/$ce_34_x86_64/$ModuleName/packages/"	
		[ -n "$ce_40_i386" ] &&		XCopy	"$TopDir/$rhel_4_i386/$ModuleName/packages/"	"$TopDir/$ce_40_i386/$ModuleName/packages/"
		[ -n "$ce_40_i386" ] &&		GoGet	"$Sources" "/redcarpet2/rhel-4as-i386/"		"$TopDir/$ce_40_i386/$ModuleName/packages/"	
		[ -n "$ce_40_x86_64" ] &&	XCopy	"$TopDir/rhel/linux/4/x86_64/$ModuleName/packages/"	"$TopDir/$ce_40_x86_64/$ModuleName/packages/"
		[ -n "$ce_40_x86_64" ] &&	GoGet	"$Sources" "/redcarpet2/rhel-4as-x86_64/"	"$TopDir/$ce_40_x86_64/$ModuleName/packages/"	

		[ -n "$fc_1_i386" ] &&		GoGet	"$Sources" "/redcarpet2/fedora-1-i386/"		"$TopDir/$fc_1_i386/$ModuleName/packages/"	
		[ -n "$fc_2_i386" ] &&		GoGet	"$Sources" "/redcarpet2/fedora-2-i386/"		"$TopDir/$fc_2_i386/$ModuleName/packages/"	
		[ -n "$fc_3_i386" ] &&		GoGet	"$Sources" "/redcarpet2/fedora-3-i386/"		"$TopDir/$fc_3_i386/$ModuleName/packages/"	
		if [ -n "$OpteronFallback" ]; then
		    [ -n "$fc_1_x86_64" ] &&	GoGet	"$Sources" "/redcarpet2/fedora-1-i386/"		"$TopDir/$fc_1_x86_64/$ModuleName/packages/"
		    [ -n "$fc_2_x86_64" ] &&	GoGet	"$Sources" "/redcarpet2/fedora-2-i386/"		"$TopDir/$fc_2_x86_64/$ModuleName/packages/"
		    [ -n "$fc_3_x86_64" ] &&	GoGet	"$Sources" "/redcarpet2/fedora-3-i386/"		"$TopDir/$fc_3_x86_64/$ModuleName/packages/"
		fi

		[ -n "$md_91_i386" ] &&		GoGet	"$Sources" "/redcarpet2/mandrake-91-i586/"	"$TopDir/$md_91_i386/$ModuleName/packages/"	
		[ -n "$md_92_i386" ] &&		GoGet	"$Sources" "/redcarpet2/mandrake-92-i586/"	"$TopDir/$md_92_i386/$ModuleName/packages/"	

		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/xd2/redhat-73-i386/"		"$TopDir/$rh_73_i386/$ModuleName/packages/"	
		[ -n "$rh_73_i386" ] &&		GoGet	"$Sources" "/redcarpet2/redhat-73-i386/"	"$TopDir/$rh_73_i386/$ModuleName/packages/"	
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/xd2/redhat-80-i386/"		"$TopDir/$rh_80_i386/$ModuleName/packages/"	
		[ -n "$rh_80_i386" ] &&		GoGet	"$Sources" "/redcarpet2/redhat-80-i386/"	"$TopDir/$rh_80_i386/$ModuleName/packages/"	
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/xd2/redhat-9-i386/"		"$TopDir/$rh_9_i386/$ModuleName/packages/"	
		[ -n "$rh_9_i386" ] &&		GoGet	"$Sources" "/redcarpet2/redhat-9-i386/"		"$TopDir/$rh_9_i386/$ModuleName/packages/"	
		[ -n "$rhel_3_i386" ] &&	XCopy	"$TopDir/$ce_34_i386/$ModuleName/packages/"	"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_3_i386" ] &&	GoGet	"$Sources" "/redcarpet2/rhel-3as-i386/"		"$TopDir/$rhel_3_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	XCopy	"$TopDir/$ce_40_i386/$ModuleName/packages/"	"$TopDir/$rhel_4_i386/$ModuleName/packages/"
		[ -n "$rhel_4_i386" ] &&	GoGet	"$Sources" "/redcarpet2/rhel-4as-i386/"		"$TopDir/$rhel_4_i386/$ModuleName/packages/"

		[ -n "$su_92_i386" ] &&		GoGet	"$Sources" "/redcarpet2/suse-92-i586/"		"$TopDir/$su_92_i386/$ModuleName/packages/"

		[ -n "$wb_3_i386" ] &&		XCopy	"$TopDir/$rhel_3_i386/$ModuleName/packages/"	"$TopDir/$wb_3_i386/$ModuleName/packages/"
		[ -n "$wb_3_i386" ] &&		GoGet	"$Sources" "/redcarpet2/rhel-3as-i386/"		"$TopDir/$wb_3_i386/$ModuleName/packages/"	
		[ -n "$wb_4_i386" ] &&		XCopy	"$TopDir/$rhel_4_i386/$ModuleName/packages/"	"$TopDir/$wb_4_i386/$ModuleName/packages/"
		[ -n "$wb_4_i386" ] &&		GoGet	"$Sources" "/redcarpet2/rhel-4as-i386/"		"$TopDir/$wb_4_i386/$ModuleName/packages/"	
		;;
	*)
		echo "Unknown module $ModuleName"
		;;
	esac

	if [ "$Index" = 'enabled' ]; then
		Status 'Removing 0 byte files'
		rm -f `find "$TopDir"/{centos,fedora,mandrake,redhat,rhel,suse,whitebox}/*/*/*/$ModuleName/packages/ -name '*.rpm' -type f -size 0c 2>/dev/null`

		if type -path repomanage.py >/dev/null 2>/dev/null ; then
			Status "Deleting old rpms from $ModuleName"
			cd "$TopDir"
			#Used to use the wildcard   */linux/*/*/$ModuleName/packages/    but this redid all distros, even if they're not currently being worked on.
			#Now we case by requested distros so we don't repomanage every distro
			for OneDir in $ce_34_i386 $ce_40_i386 $ce_34_x86_64 $ce_40_x86_64 $fc_1_i386 $fc_2_i386 $fc_3_i386 $fc_4_i386 $fc_5_i386 $fc_1_x86_64 $fc_2_x86_64 $fc_3_x86_64 $fc_4_x86_64 $fc_5_x86_64 $md_91_i386 $md_92_i386 $md_100_i386 $md_101_i386 $md_102_i386 $rh_73_i386 $rh_80_i386 $rh_9_i386 $rhel_3_i386 $rhel_4_i386 $su_92_i386 $su_93_i386 $wb_3_i386 $wb_4_i386 \
			 ; do
				cd "$OneDir/$ModuleName/packages/"
				TFile=`mktemp -q /tmp/yum-pull.XXXXXX` || die "Cannot make temp file in /tmp"

				if [ "$KeepOldKernels" = 'yes' ]; then
					( cat excluded-files 2>/dev/null ; repomanage.py --old "$TopDir/$OneDir/$ModuleName/packages/" 2>/dev/null | sed -e 's@.*/@@' | grep -v '^kernel' ) | sort | uniq >>"$TFile"
				else
					( cat excluded-files 2>/dev/null ; repomanage.py --old "$TopDir/$OneDir/$ModuleName/packages/" 2>/dev/null | sed -e 's@.*/@@' ) | sort | uniq >>"$TFile"
				fi
				mv -f "$TFile" "$TopDir/$OneDir/$ModuleName/packages/excluded-files"
				chmod ugo+r "$TopDir/$OneDir/$ModuleName/packages/excluded-files"
				#FIXME - we also need to remove headers, html, repoview, etc.
				for OneFile in `cat excluded-files "$TopDir/user-exclude"` ; do
					rm -f "$TopDir/$OneDir/$ModuleName/packages/$OneFile"
				done
				cd ../../../../../..
			done
		fi


		cd "$TopDir"
		Status "Module $ModuleName pulled, creating repository information."
		for OneDir in $Changed ; do
			#echo "checking headers for $OneDir"
			if [ -d "$OneDir" ]; then
				rm -rf "$OneDir/.oldheaders" "$OneDir/.olddata" "$OneDir/.repodata" "$OneDir/.newheaders"		#"$OneDir/headers" "$OneDir/newheaders"
				#FIXME - check that appropriate target files exist and are non-empty as well as checking .dirhash
				if [ ! -s "$OneDir/.dirhash" ] || [ "`DirHash $OneDir`" != "`cat $OneDir/.dirhash 2>/dev/null`" ]; then
					Status "$OneDir has changed, recreating indexes."
					UpdateDirHashes="$UpdateDirHashes $OneDir"
					type -path yum-arch >/dev/null 2>/dev/null &&	( while [ `cat /proc/loadavg | sed -e 's/\..*//'` -ge $MaxLoad ]; do sleep $[ $RANDOM / 512 ] ; done ; nice yum-arch -q "$OneDir" 2>/dev/null ) &
					#Createrepo complains when it goes to delete repodata and the repoview subdirectory is still there, so we have to move
					#repoview out of the way just before createrepo is run, and move it back just after (so the old version is still there
					#when repoview is run again, hopefully saving cpu time).
					type -path createrepo >/dev/null 2>/dev/null &&	\
					(
					while [ `cat /proc/loadavg | sed -e 's/\..*//'` -ge $MaxLoad ]; do
						sleep $[ $RANDOM / 512 ]
					done
					if [ -d "$OneDir/repodata/repoview" ]; then
						TDir=`mktemp -d -q $OneDir/yum-pull.XXXXXX` || die "Cannot make temporary directory in /tmp/"
						mv "$OneDir"/repodata/repoview "$TDir/"
						nice createrepo -q "$OneDir"
						mv "$TDir/repoview" "$OneDir/repodata/"
						rmdir "$TDir"
					else
						nice createrepo -q "$OneDir"
					fi
					) &
				else
					Status "$OneDir has not changed, leaving indexes as they are."
				fi
			fi
		done


		Status "Creating yum.conf.addme."
		if [ -n "$ce_34_i386$ce_40_i386$ce_34_x86_64$ce_40_x86_64" ]; then
			URLBottom='centos/linux/$releasever/$basearch/'"$ModuleName"
			rm -f "$TopDir/centos/yum.conf.addme.$ModuleName"
			echo										>>"$TopDir/centos/yum.conf.addme.$ModuleName"
			echo "[$ModuleName]"								>>"$TopDir/centos/yum.conf.addme.$ModuleName"
			echo "name=$Name" | sed -e 's/DISTRONAME/Centos/'				>>"$TopDir/centos/yum.conf.addme.$ModuleName"
			if [ "$ModuleName" = 'combinedrepo' -o "$ModuleName" = 'coreandupdates' ]; then
				echo "enabled=0"							>>"$TopDir/centos/yum.conf.addme.$ModuleName"
			fi
			echo -n "baseurl="								>>"$TopDir/centos/yum.conf.addme.$ModuleName"
			for OneTop in $URLTop ; do
				echo "$OneTop/$URLBottom"						>>"$TopDir/centos/yum.conf.addme.$ModuleName"
			done
			echo										>>"$TopDir/centos/yum.conf.addme.$ModuleName"
		fi
		if [ -n "$fc_1_i386$fc_2_i386$fc_3_i386$fc_4_i386$fc_5_i386$fc_1_x86_64$fc_2_x86_64$fc_3_x86_64$fc_4_x86_64$fc_5_x86_64" ]; then
			URLBottom='fedora/linux/$releasever/$basearch/'"$ModuleName"
			rm -f "$TopDir/fedora/yum.conf.addme.$ModuleName"
			echo										>>"$TopDir/fedora/yum.conf.addme.$ModuleName"
			echo "[$ModuleName]"								>>"$TopDir/fedora/yum.conf.addme.$ModuleName"
			echo "name=$Name" | sed -e 's/DISTRONAME/Fedora/'				>>"$TopDir/fedora/yum.conf.addme.$ModuleName"
			if [ "$ModuleName" = 'combinedrepo' -o "$ModuleName" = 'coreandupdates' ]; then
				echo "enabled=0"							>>"$TopDir/fedora/yum.conf.addme.$ModuleName"
			fi
			case "$ModuleName" in
			kde-redhat*)
				echo 'gpgkey=http://apt.kde-redhat.org/apt/kde-redhat/kde-redhat.RPM-GPG-KEY'	>>"$TopDir/fedora/yum.conf.addme.$ModuleName"
				;;
			esac
			echo -n "baseurl="								>>"$TopDir/fedora/yum.conf.addme.$ModuleName"
			for OneTop in $URLTop ; do
				echo "$OneTop/$URLBottom"						>>"$TopDir/fedora/yum.conf.addme.$ModuleName"
			done
			echo										>>"$TopDir/fedora/yum.conf.addme.$ModuleName"
		fi
		if [ -n "$md_91_i386$md_92_i386$md_100_i386$md_101_i386$md_102_i386" ]; then
			URLBottom='mandrake/linux/$releasever/$basearch/'"$ModuleName"
			rm -f "$TopDir/mandrake/yum.conf.addme.$ModuleName"
			echo										>>"$TopDir/mandrake/yum.conf.addme.$ModuleName"
			echo "[$ModuleName]"								>>"$TopDir/mandrake/yum.conf.addme.$ModuleName"
			echo "name=$Name" | sed -e 's/DISTRONAME/Mandrake/'				>>"$TopDir/mandrake/yum.conf.addme.$ModuleName"
			if [ "$ModuleName" = 'combinedrepo' -o "$ModuleName" = 'coreandupdates' ]; then
				echo "enabled=0"							>>"$TopDir/mandrake/yum.conf.addme.$ModuleName"
			fi
			echo -n "baseurl="								>>"$TopDir/mandrake/yum.conf.addme.$ModuleName"
			for OneTop in $URLTop ; do
				echo "$OneTop/$URLBottom"						>>"$TopDir/mandrake/yum.conf.addme.$ModuleName"
			done
			echo										>>"$TopDir/mandrake/yum.conf.addme.$ModuleName"
		fi
		if [ -n "$rh_73_i386$rh_80_i386$rh_9_i386" ]; then
			URLBottom='redhat/linux/$releasever/$basearch/'"$ModuleName"
			rm -f "$TopDir/redhat/yum.conf.addme.$ModuleName"
			echo										>>"$TopDir/redhat/yum.conf.addme.$ModuleName"
			echo "[$ModuleName]"								>>"$TopDir/redhat/yum.conf.addme.$ModuleName"
			echo "name=$Name" | sed -e 's/DISTRONAME/Redhat/'				>>"$TopDir/redhat/yum.conf.addme.$ModuleName"
			if [ "$ModuleName" = 'combinedrepo' -o "$ModuleName" = 'coreandupdates' ]; then
				echo "enabled=0"							>>"$TopDir/redhat/yum.conf.addme.$ModuleName"
			fi
			echo -n "baseurl="								>>"$TopDir/redhat/yum.conf.addme.$ModuleName"
			for OneTop in $URLTop ; do
				echo "$OneTop/$URLBottom"						>>"$TopDir/redhat/yum.conf.addme.$ModuleName"
			done
			echo										>>"$TopDir/redhat/yum.conf.addme.$ModuleName"
		fi
		if [ -n "$rhel_3_i386$rhel_4_i386" ]; then
			URLBottom='rhel/linux/$releasever/$basearch/'"$ModuleName"
			rm -f "$TopDir/rhel/yum.conf.addme.$ModuleName"
			echo										>>"$TopDir/rhel/yum.conf.addme.$ModuleName"
			echo "[$ModuleName]"								>>"$TopDir/rhel/yum.conf.addme.$ModuleName"
			echo "name=$Name" | sed -e 's/DISTRONAME/Redhat EL/'				>>"$TopDir/rhel/yum.conf.addme.$ModuleName"
			if [ "$ModuleName" = 'combinedrepo' -o "$ModuleName" = 'coreandupdates' ]; then
				echo "enabled=0"							>>"$TopDir/rhel/yum.conf.addme.$ModuleName"
			fi
			echo -n "baseurl="								>>"$TopDir/rhel/yum.conf.addme.$ModuleName"
			for OneTop in $URLTop ; do
				echo "$OneTop/$URLBottom"						>>"$TopDir/rhel/yum.conf.addme.$ModuleName"
			done
			echo										>>"$TopDir/rhel/yum.conf.addme.$ModuleName"
		fi
		if [ -n "$su_92_i386$su_93_i386" ]; then
			URLBottom='suse/linux/$releasever/$basearch/'"$ModuleName"
			rm -f "$TopDir/suse/yum.conf.addme.$ModuleName"
			echo										>>"$TopDir/suse/yum.conf.addme.$ModuleName"
			echo "[$ModuleName]"								>>"$TopDir/suse/yum.conf.addme.$ModuleName"
			echo "name=$Name" | sed -e 's/DISTRONAME/Suse/'					>>"$TopDir/suse/yum.conf.addme.$ModuleName"
			if [ "$ModuleName" = 'combinedrepo' -o "$ModuleName" = 'coreandupdates' ]; then
				echo "enabled=0"							>>"$TopDir/suse/yum.conf.addme.$ModuleName"
			fi
			echo -n "baseurl="								>>"$TopDir/suse/yum.conf.addme.$ModuleName"
			for OneTop in $URLTop ; do
				echo "$OneTop/$URLBottom"						>>"$TopDir/suse/yum.conf.addme.$ModuleName"
			done
			echo										>>"$TopDir/suse/yum.conf.addme.$ModuleName"
		fi
		if [ -n "$wb_3_i386$wb_4_i386" ]; then
			URLBottom='whitebox/linux/$releasever/$basearch/'"$ModuleName"
			rm -f "$TopDir/whitebox/yum.conf.addme.$ModuleName"
			echo										>>"$TopDir/whitebox/yum.conf.addme.$ModuleName"
			echo "[$ModuleName]"								>>"$TopDir/whitebox/yum.conf.addme.$ModuleName"
			echo "name=$Name" | sed -e 's/DISTRONAME/Whitebox/'				>>"$TopDir/whitebox/yum.conf.addme.$ModuleName"
			if [ "$ModuleName" = 'combinedrepo' -o "$ModuleName" = 'coreandupdates' ]; then
				echo "enabled=0"							>>"$TopDir/whitebox/yum.conf.addme.$ModuleName"
			fi
			echo -n "baseurl="								>>"$TopDir/whitebox/yum.conf.addme.$ModuleName"
			for OneTop in $URLTop ; do
				echo "$OneTop/$URLBottom"						>>"$TopDir/whitebox/yum.conf.addme.$ModuleName"
			done
			echo										>>"$TopDir/whitebox/yum.conf.addme.$ModuleName"
		fi


		Status "Yum.conf.addme created for $ModuleName"
	else
		Status "Skipping all indexing steps for $ModuleName"
	fi
done

if [ "$Index" = 'disabled' ]; then
	Status "Skipping all remaining indexing steps."
	exit 0
fi
																								    

Status 'Creating master-exclude'
rm -f "$TopDir/master-exclude"
cat $TopDir/*/*/*/*/RPMS*/excluded-files | grep -v '\*' | sort | uniq >"$TopDir/master-exclude"


cd "$TopDir"
Status "Creating apt sources.list files"
for OneDir in $ce_34_i386 $ce_40_i386 $ce_34_x86_64 $ce_40_x86_64 $fc_1_i386 $fc_2_i386 $fc_3_i386 $fc_4_i386 $fc_5_i386 $fc_1_x86_64 $fc_2_x86_64 $fc_3_x86_64 $fc_4_x86_64 $fc_5_x86_64 $md_91_i386 $md_92_i386 $md_100_i386 $md_101_i386 $md_102_i386 $rh_73_i386 $rh_80_i386 $rh_9_i386 $rhel_3_i386 $rhel_4_i386 $su_92_i386 $su_93_i386 $wb_3_i386 $wb_4_i386 ; do
	cd "$OneDir"
	rm -f sources.list sources.list.addme
	case "$OneDir" in
	redhat*|fedora*)
		if [ -n "$UnstableMods" ]; then
			cat <<EOWARNING >>sources.list.addme
#WARNING!  This module collection includes the following unstable or
#testing modules: $UnstableMods .  If these are not appropriate for this
#system, please remove them from the following lines.
#
EOWARNING
		fi
		;;
	esac
	echo '#The following apt-rpm configuration lines may be added to /etc/apt/sources.list on client machines' >>sources.list.addme
	echo >>sources.list.addme
	for OneTop in $URLTop ; do
		echo "rpm $OneTop/`echo $OneDir | sed -e 's@/linux/@/linux @'`" `ls -A1d RPMS.* | sed -e 's/RPMS\.//' | egrep -v '(combinedrepo|coreandupdates)'` >>sources.list.addme
	done
	cd ../../../..
done


cd "$TopDir"
Status "Creating up2date sources files"
for OneDir in $ce_34_i386 $ce_40_i386 $ce_34_x86_64 $ce_40_x86_64 $fc_1_i386 $fc_2_i386 $fc_3_i386 $fc_4_i386 $fc_5_i386 $fc_1_x86_64 $fc_2_x86_64 $fc_3_x86_64 $fc_4_x86_64 $fc_5_x86_64 $md_91_i386 $md_92_i386 $md_100_i386 $md_101_i386 $md_102_i386 $rh_73_i386 $rh_80_i386 $rh_9_i386 $rhel_3_i386 $rhel_4_i386 $su_92_i386 $su_93_i386 $wb_3_i386 $wb_4_i386 ; do
	cd "$OneDir"
	rm -f sources.addme
	case "$OneDir" in
	redhat*|fedora*)
		if [ -n "$UnstableMods" ]; then
			cat <<EOWARNING >>sources.addme
#WARNING!  This module collection includes the following unstable or
#testing modules: $UnstableMods .  If these are not appropriate for this
#system, please remove them from the following lines.
#
EOWARNING
		fi
		;;
	esac
	echo '#The following up2date configuration lines may be added to /etc/sysconfig/rhn/sources on client machines' >>sources.addme
	echo >>sources.addme
	ModuleList="`ls -a1d [a-z]* | egrep -v '(^base$|^combinedrepo|^coreandupdates|^RPMS.|filelist.html|yum-newest.rpm|.dirhash|sources.list.addme|sources.addme)'`"
	for OneModule in $ModuleList ; do
		for OneTop in $URLTop ; do
			case "$OneTop" in
			file://*)
				echo "dir $OneModule `echo $OneTop | sed -e 's@file:/*@/@'`/$OneDir/$OneModule/" >>sources.addme
				;;
			*)
				echo "yum $OneModule $OneTop/$OneDir/$OneModule/" >>sources.addme
				;;
			esac
		done
	done
	cd ../../../..
done


#FIXME:  RESTOREME once htmlfilelist can handle the load
#if type -path htmlfilelist >/dev/null 2>/dev/null ; then
if /bin/false ; then
	Status "Creating directory indexes"
	cd "$TopDir"
	#FIXME - make directory indexes for all tree levels, starting at the lowest
	for OneDir in */linux/*/*/ ; do
		cd "$OneDir"
		#Build new htmlfilelist if: there's no .dirhash, there's no filelist.html, dirhash has changed.
		if [ ! -s "$OneDir/.dirhash" ] || [ ! -s "$OneDir/filelist.html" ] || [ "`DirHash $OneDir`" != "`cat $OneDir/.dirhash 2>/dev/null`" ]; then
			UpdateDirHashes="$UpdateDirHashes $TopDir/$OneDir"
			echo "$OneDir has changed, updating htmlfilelist"
			TFile=`mktemp -q /tmp/yum-pull.XXXXXX` || die "Cannot make temp file in /tmp"
			( while [ `cat /proc/loadavg | sed -e 's/\..*//'` -ge $MaxLoad ]; do sleep $[ $RANDOM / 512 ] ; done ; nice htmlfilelist --fullpage --coalesce archives --coalesce icons --coalesce headers --coalesce repodata  --coalesce .oldheaders  --coalesce .olddata  --coalesce .repodata  --coalesce .newheaders >$TFile ; if ! diff -q $TFile filelist.html >/dev/null 2>/dev/null ; then echo updating filelist.html ; rm -f filelist.html ; mv $TFile filelist.html ; else rm -f $TFile ; fi ) &
		else
			echo "$OneDir has not changed, leaving htmlfilelist as is"
		fi
		cd ../../../..
	done
fi

#FIXME - only do this for distros we're working with.
if type -path repomanage.py >/dev/null 2>/dev/null ; then
	Status "Finding newest yum binaries for each distribution"
	cd "$TopDir"
	for OneDir in */linux/*/*/   ; do
		YumRpmList=''
		if [ -n "`find "$OneDir" -iname 'yum-*.noarch.rpm' | grep -v 'yum-updateonboot' | grep -v 'yum-utils'`" ]; then
			YumRpmList=`find "$OneDir" -iname 'yum-*.noarch.rpm' | grep -v 'yum-updateonboot' | grep -v 'yum-utils'`
		elif [ -n "`find "$OneDir" -iname 'yum-*.i386.rpm' | grep -v 'yum-updateonboot' | grep -v 'yum-utils'`" ]; then
			YumRpmList=`find "$OneDir" -iname 'yum-*.i386.rpm' | grep -v 'yum-updateonboot' | grep -v 'yum-utils'`
		else
			#echo "$OneDir has no yum rpms at all" >&2
			rm -f "$OneDir/yum-newest.rpm"
		fi

		if [ -n "$YumRpmList" ]; then
			TDir=`mktemp -d -q /tmp/yum-pull.XXXXXX` || die "Cannot make temporary directory in /tmp"
			cp -p --reply=no $YumRpmList "$TDir" 2>/dev/null
			BestYum="`repomanage.py --new $TDir 2>/dev/null`"
			#FIXME - removeme once known good
			if [ -z "$BestYum" ]; then
				echo "For $OneDir, BestYum is empty" >&2
			elif [ `echo "$BestYum" | wc -l` -eq 1 ]; then
				rm -f "$OneDir/yum-newest.rpm"
				cp -p "$BestYum" "$OneDir/yum-newest.rpm"
			else
				echo "Too many best yums in $OneDir, please check:" >&2
				echo "$BestYum" >&2 
			fi
			rm -rf "$TDir"
		fi
	done
fi

if type -path genbasedir >/dev/null 2>/dev/null ; then
	Status "Creating apt indexes"
	for RepDir in $ce_34_i386 $ce_40_i386 $ce_34_x86_64 $ce_40_x86_64 $fc_1_i386 $fc_2_i386 $fc_3_i386 $fc_4_i386 $fc_5_i386 $fc_1_x86_64 $fc_2_x86_64 $fc_3_x86_64 $fc_4_x86_64 $fc_5_x86_64 $md_91_i386 $md_92_i386 $md_100_i386 $md_101_i386 $md_102_i386 $rh_73_i386 $rh_80_i386 $rh_9_i386 $rhel_3_i386 $rhel_4_i386 $su_92_i386 $su_93_i386 $wb_3_i386 $wb_4_i386 ; do
		if [ -d "$TopDir/$RepDir" ]; then
			cd "$TopDir/$RepDir"
			#FIXME - check that appropriate target files exist and are non-empty as well as checking .dirhash
			if [ ! -s "$TopDir/$RepDir/.dirhash" ] || [ "`DirHash $TopDir/$RepDir`" != "`cat $TopDir/$RepDir/.dirhash 2>/dev/null`" ]; then
				echo "$TopDir/$RepDir has changed, updating apt database"
				ModuleList="`ls -a1d [a-z]* | egrep -v '(^base$|^RPMS.|filelist.html|yum-newest.rpm|.dirhash|sources.addme|sources.list)'`"
				ThisDistro=`echo $RepDir/ | sed -e 's@.*/\([^/]*\)/@\1@' -e 's@/@ @'`
				ThisArch=`echo $RepDir/ | sed -e 's@/[^/]*/@@'`
				ThisVersion=`echo $RepDir/ | sed -e 's@.*/\([^/]*\)/[^/]*/@\1@'`

				mkdir -p base
				rm -f base/release.filelist.html base/release.yum-newest.rpm base/release.sources.list
				rm -f base/release
				cat >base/release <<EORELEASE
Origin: Multiple Internet repositories
Label: $ThisDistro
Suite: $ThisDistro
Architectures: $ThisArch
Components: $ModuleList
Description: Apt/Yum Repository of $ThisDistro with multiple components
EORELEASE
				for OneModule in $ModuleList ; do
					rm -f base/release.$OneModule
					cat >base/release.$OneModule <<EORELEASE
Archive: stable
Component: $OneModule
Version: $ThisVersion
Origin: Multiple Internet repositories
Label: $ThisDistro
Architecture: $ThisArch
EORELEASE
				done
				UpdateDirHashes="$UpdateDirHashes $TopDir/$RepDir"
				( while [ `cat /proc/loadavg | sed -e 's/\..*//'` -ge $MaxLoad ]; do sleep $[ $RANDOM / 512 ] ; done ; nice genbasedir --flat --bloat --bz2only --partial "$TopDir/$RepDir" $ModuleList >/dev/null ) &
			else
				echo "$TopDir/$RepDir has not changed, leaving apt database as is"
			fi
		fi
	done
fi


Status Waiting for last directory indexes to finish.
wait
for OneDir in $Changed ; do
	rm -rf "$OneDir/.oldheaders" "$OneDir/.olddata" "$OneDir/.repodata" "$OneDir/.newheaders"
done

#We need to do this after the other indexes are done since repoview needs an up-to-date repomd.xml.  Doesn't take too long.
if type -path repoview >/dev/null 2>/dev/null ; then
	Status "Creating repoview indexes"
	cd "$TopDir"
	for OneDir in $Changed ; do
		if [ -f "$OneDir/repodata/repomd.xml" ]; then
			#Repoview changed command line params.  "-l Title" is now "-t Title".  old "-t ." to specify toplevel is removed
			( while [ `cat /proc/loadavg | sed -e 's/\..*//'` -ge $MaxLoad ]; do sleep $[ $RANDOM / 512 ] ; done ; cd "$OneDir" ; repoview -q -i '*debuginfo*' -t "`echo $OneDir | sed -e 's@.*\(/[a-z]*/linux/\)@\1@'`" . ) &
		fi
	done
fi

Status "Creating master yum.conf.addme files for each distribution"
rm -f "$TopDir"/yum.conf.addme*

rm -f "$TopDir"/centos/yum.conf.addme
rm -f "$TopDir"/fedora/yum.conf.addme
rm -f "$TopDir"/mandrake/yum.conf.addme
rm -f "$TopDir"/redhat/yum.conf.addme
rm -f "$TopDir"/rhel/yum.conf.addme
rm -f "$TopDir"/suse/yum.conf.addme
rm -f "$TopDir"/whitebox/yum.conf.addme


if [ -n "$UnstableMods" ]; then
	cat <<EOWARNING >>"$TopDir"/fedora/yum.conf.addme
#WARNING!  This module collection includes the following unstable or
#testing modules: $UnstableMods .  If these are not appropriate for this
#system, their lines can either be commented out with '#' at the
#beginning or by adding 'enabled=0' to the repository block.

EOWARNING
	cp -p "$TopDir"/fedora/yum.conf.addme "$TopDir"/redhat/yum.conf.addme
fi

cat "$TopDir"/centos/yum.conf.addme.* >>"$TopDir"/centos/yum.conf.addme 2>/dev/null
cat "$TopDir"/fedora/yum.conf.addme.* >>"$TopDir"/fedora/yum.conf.addme 2>/dev/null
cat "$TopDir"/mandrake/yum.conf.addme.* >>"$TopDir"/mandrake/yum.conf.addme 2>/dev/null
cat "$TopDir"/redhat/yum.conf.addme.* >>"$TopDir"/redhat/yum.conf.addme 2>/dev/null
cat "$TopDir"/rhel/yum.conf.addme.* >>"$TopDir"/rhel/yum.conf.addme 2>/dev/null
cat "$TopDir"/suse/yum.conf.addme.* >>"$TopDir"/suse/yum.conf.addme 2>/dev/null
cat "$TopDir"/whitebox/yum.conf.addme.* >>"$TopDir"/whitebox/yum.conf.addme 2>/dev/null

#FIXME - do a find on all .rpm, .hdr, indexes.
Status "Making sure all files are world readable"
chmod ugo+r -R "$TopDir/centos/" "$TopDir/fedora/" "$TopDir/mandrake/" "$TopDir/redhat/" "$TopDir/rhel/" "$TopDir/suse/" "$TopDir/whitebox/"  "$TopDir"/*-exclude "$TopDir/module-disk-usage"

Status "Waiting for repoviews to finish"
wait

Status "Updating directory hashes"
for OneDir in $UpdateDirHashes ; do
	rm -f "$OneDir/.dirhash"
	DirHash "$OneDir" >"$OneDir/.dirhash"
done

if type -path freedups >/dev/null 2>/dev/null ; then
	Status "Hardlinking duplicate files to save space."
	#This saves 2.7G on a fc 1/2 i386/x86_64 full mirror of all modules
	freedups -a -d "$TopDir"
else
	Status "No freedups found, install freedups rpm to save disk space."
fi

Status 'Calculating disk usage for each module'
cd "$TopDir"
rm -f "$TopDir"/module-disk-usage
du -s -B 1048576 */linux/*/*/[a-z]* | egrep -v '(RPMS\.|filelist.html|yum-newest-rpm|sources\.addme|sources\.list\.addme)' | sed -e 's/^\([0-9]*\)/\1M/' >"$TopDir"/module-disk-usage