#!/bin/bash #Copyright 2004, William Stearns #Released under the GPL #Version 1.12 #If a given module doesn't have x86_64 rpms, do we grab the i386 versions instead? #OpteronFallback='' #No OpteronFallback='yes' #Yes Usage () { echo "Usage:" echo "$0 /full/path/to/top/level/yum/ arch [arch]... [module]... [urltop]..." echo echo '/full/path/to/top/level/yum/ is the top level, writable, directory' echo 'where all files will live. You can only specify one storage directory,' echo 'it should have around (5GB * number of archictectures) free, and be' echo 'writable by the user running this script.' echo echo 'arch is one or more of fc_1_i386, fc_2_i386, fc_3_i386, fc_1_x86_64,' echo 'fc_2_x86_64, fc_3_x86_64, md_9.1_i386, md_9.2_i386, md_10.0_i386,' echo 'md_10.1_i386, rh_7.3_i386, rh_8.0_i386, rh_9_i386, allarch, fedora, ' echo 'mandrake, or redhat. These last four respectively grab everything, ' echo 'all fedoras, all mandrakes, and all redhats. Each arch uses 2GB-8GB.' echo echo 'module is one or more of atrpms, ccrma, core, dag, dries, extras, freshrpms,' echo 'jpackage, livna, local, newrpms, openpkg, updates, wstearns, ximian, or' echo 'allmodules.' echo echo 'Optional param: "bwlimit NNNNN" specifies the maximum bandwidth to ' echo 'use, measured in kilobytes/sec. NNNNN should be digits only.' echo echo 'urltop is the start of the URL clients would need to type in to get to' echo 'these files, such as ftp://ftp.server/pub/ , http://web.server/mirror/ ,' echo 'or file:///mnt/nfsmirror/yum/ . Whatever you specify should have the' echo 'fedora/mandrake/redhat directories immediately inside it. Multiple' echo 'entries are fine; the most preferred url should come first and continue' echo 'to less preferred urls.' } 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 while [ "$State" != "passed" -a $Pass -le 3 ]; do Source=`randomof $1` echo "Pulling from $Source" case "$Source" in rsync://*) if $RS $4 `[ -n "$BWLimit" ] && echo "--bwlimit=$BWLimit"` "$Source/$2" "$3" --exclude-from="$3/excluded-files" ; then State='passed' debug "Succeeded in pull from $Source/$2 to $3" else State='failed' debug "Failed pull from $Source/$2 to $3" fi ;; #ftp://*) # wget --mirror ......... `[ -n "$BWLimit ] && echo '--limit-rate='"$BWLimit"'k'` ......................... # ;; *) echo "Unhandled retrieval URL $Source" >&2 ;; esac Pass=$[ $Pass + 1 ] done } if ! type -path createrepo >/dev/null 2>/dev/null ; then echo 'createrepo script (part of createrepo package) strongly recommended,' >&2 echo 'please install; perhaps:' >&2 echo 'yum install createrepo' >&2 fi if ! type -path freedups >/dev/null 2>/dev/null ; then echo 'freedups script (part of freedups package) strongly recommended,' >&2 echo 'please install; perhaps:' >&2 echo 'yum install freedups' >&2 fi 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 htmlfilelist >/dev/null 2>/dev/null ; then echo 'htmlfilelist script (part of htmlfilelist package) strongly recommended,' >&2 echo 'please install; perhaps:' >&2 echo 'yum install htmlfilelist' >&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 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 requireutil cat grep ln mkdir mv nice renice rm rsync sed sort touch uniq || exit 1 if [ -z "$1" ]; then Usage exit 1 fi while [ -n "$1" ]; do case "$1" in allarch) fc_1_i386='fc_1_i386' fc_2_i386='fc_2_i386' fc_3_i386='fc_3_i386' fc_1_x86_64='fc_1_x86_64' fc_2_x86_64='fc_2_x86_64' fc_3_x86_64='fc_3_x86_64' md_91_i386='md_91_i386' md_92_i386='md_92_i386' md_100_i386='md_100_i386' md_101_i386='md_101_i386' rh_73_i386='rh_73_i386' rh_80_i386='rh_80_i386' rh_9_i386='rh_9_i386' ;; allmodules) ModList="updates core atrpms ccrma dag dries extras freshrpms jpackage livna local newrpms openpkg wstearns ximian" ;; bwlimit) if [ -n "$2" ]; then BWLimit="$2" shift else echo "Please supply a bandwidth limit number (digits only, measured in kilobytes/sec) as the parameter after 'bwlimit', exiting." >&2 exit 1 fi ;; fc_1_i386) fc_1_i386='fc_1_i386' ;; fc_2_i386) fc_2_i386='fc_2_i386' ;; fc_3_i386) fc_3_i386='fc_3_i386' ;; fc_1_x86_64) fc_1_x86_64='fc_1_x86_64' ;; fc_2_x86_64) fc_2_x86_64='fc_2_x86_64' ;; fc_3_x86_64) fc_3_x86_64='fc_3_x86_64' ;; md_9.1_i386|md_9.1_i586) md_91_i386='md_91_i386' ;; md_9.2_i386|md_9.2_i586) md_92_i386='md_92_i386' ;; md_10.0_i386|md_10.0_i586) md_100_i386='md_100_i386' ;; md_10.1_i386|md_10.1_i586) md_101_i386='md_101_i386' ;; rh_7.3_i386) rh_73_i386='rh_73_i386' ;; rh_80_i386) rh_80_i386='rh_80_i386' ;; rh_9_i386) rh_9_i386='rh_9_i386' ;; atrpms|ccrma|core|dag|dries|extras|freshrpms|jpackage|livna|local|newrpms|openpkg|updates|wstearns|ximian) ModList="$ModList $1" ;; mandrake) md_91_i386='md_91_i386' md_92_i386='md_92_i386' md_100_i386='md_100_i386' md_101_i386='md_101_i386' ;; fedora) ModList="$ModList updates core" fc_1_i386='fc_1_i386' fc_2_i386='fc_2_i386' fc_3_i386='fc_3_i386' fc_1_x86_64='fc_1_x86_64' fc_2_x86_64='fc_2_x86_64' fc_3_x86_64='fc_3_x86_64' ;; redhat) ModList="$ModList updates core" rh_73_i386='rh_73_i386' rh_80_i386='rh_80_i386' rh_9_i386='rh_9_i386' ;; file://*|http://*|ftp://*) URLTop="$URLTop $1" ;; /*) if [ -z "$TopDir" ]; then TopDir="$1" else echo "One of \"$TopDir\" or \"$1\" is unknown, or top level directory" echo "is being defined twice. Exiting." exit 1 fi ;; *) echo "Unknown param $1. Exiting" exit 1 ;; esac shift done if [ -z "$fc_1_i386$fc_2_i386$fc_3_i386$fc_1_x86_64$fc_2_x86_64$fc_3_x86_64$md_91_i386$md_92_i386$md_100_i386$md_101_i386$rh_73_i386$rh_80_i386$rh_9_i386" ]; then echo "No architecture specified. To get all, specify \"allarch\" on the command line. Exiting." exit 1 fi if [ -z "$URLTop" ]; then URLTop="file://$TopDir" fi if [ -z "$ModList" ]; then ModList="updates core atrpms ccrma dag dries extras freshrpms jpackage livna local newrpms openpkg wstearns ximian" fi echo "Requested modules: $ModList" echo "Requested architectures:" "$fc_1_i386" "$fc_2_i386" "$fc_3_i386" "$fc_1_x86_64" "$fc_2_x86_64" "$fc_3_x86_64" "$md_91_i386" "$md_92_i386" "$md_100_i386" "$md_101_i386" "$rh_73_i386" "$rh_80_i386" "$rh_9_i386" echo "Top Level directory: $TopDir (also accessible as $URLTop)" if [ ! -d $TopDir ]; then mkdir --parents "$TopDir" fi if ! cd "$TopDir" ; then echo "Failed to changed to Top Level directory $TopDir. Exiting." exit 1 fi LOCKFILE=$TopDir/yum-pull.lock [ -f "$LOCKFILE" ] && exit 0 trap "rm -f $LOCKFILE" EXIT touch $LOCKFILE renice +15 -p $$ >/dev/null 2>&1 #Rsync command and parameters RS=' rsync -a -q -L -H --timeout=240 --exclude .src.rpm --exclude .html --exclude debug/ --exclude headers/ --exclude repodata/ --exclude SRPMS --exclude dosutils/ --exclude images/ --exclude isolinux/ --exclude media_info' #Rsync Delete #RD=" --delete --delete-after " #now that we have oldrpms to yank old files, strongly suggest not using $RsyncDelete for ModuleName in $ModList ; do Changed='' cd "$TopDir" if [ -n "$fc_1_i386" ]; then Changed="$Changed $TopDir/fedora/linux/1/i386/$ModuleName/" mkdir -p "$TopDir"/fedora/linux/1/i386/$ModuleName/packages/ touch "$TopDir"/fedora/linux/1/i386/$ModuleName/packages/excluded-files ( cd "$TopDir"/fedora/linux/1/i386/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi if [ -n "$fc_2_i386" ]; then Changed="$Changed $TopDir/fedora/linux/2/i386/$ModuleName/" mkdir -p "$TopDir"/fedora/linux/2/i386/$ModuleName/packages/ touch "$TopDir"/fedora/linux/2/i386/$ModuleName/packages/excluded-files ( cd "$TopDir"/fedora/linux/2/i386/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi if [ -n "$fc_3_i386" ]; then Changed="$Changed $TopDir/fedora/linux/3/i386/$ModuleName/" mkdir -p "$TopDir"/fedora/linux/3/i386/$ModuleName/packages/ touch "$TopDir"/fedora/linux/3/i386/$ModuleName/packages/excluded-files ( cd "$TopDir"/fedora/linux/3/i386/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi if [ -n "$fc_1_x86_64" ]; then Changed="$Changed $TopDir/fedora/linux/1/x86_64/$ModuleName/" mkdir -p "$TopDir"/fedora/linux/1/x86_64/$ModuleName/packages/ touch "$TopDir"/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files ( cd "$TopDir"/fedora/linux/1/x86_64/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi if [ -n "$fc_2_x86_64" ]; then Changed="$Changed $TopDir/fedora/linux/2/x86_64/$ModuleName/" mkdir -p "$TopDir"/fedora/linux/2/x86_64/$ModuleName/packages/ touch "$TopDir"/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files ( cd "$TopDir"/fedora/linux/2/x86_64/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi if [ -n "$fc_3_x86_64" ]; then Changed="$Changed $TopDir/fedora/linux/3/x86_64/$ModuleName/" mkdir -p "$TopDir"/fedora/linux/3/x86_64/$ModuleName/packages/ touch "$TopDir"/fedora/linux/3/x86_64/$ModuleName/packages/excluded-files ( cd "$TopDir"/fedora/linux/3/x86_64/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi if [ -n "$md_91_i386" ]; then Changed="$Changed $TopDir/mandrake/linux/9.1/i386/$ModuleName/" mkdir -p "$TopDir"/mandrake/linux/9.1/i386/$ModuleName/packages/ touch "$TopDir"/mandrake/linux/9.1/i386/$ModuleName/packages/excluded-files ( cd "$TopDir"/mandrake/linux/9.1/i386/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) ( cd "$TopDir"/mandrake/linux/9.1/ && rm -f i586 && ln -sf i386 i586 ) fi if [ -n "$md_92_i386" ]; then Changed="$Changed $TopDir/mandrake/linux/9.2/i386/$ModuleName/" mkdir -p "$TopDir"/mandrake/linux/9.2/i386/$ModuleName/packages/ touch "$TopDir"/mandrake/linux/9.2/i386/$ModuleName/packages/excluded-files ( cd "$TopDir"/mandrake/linux/9.2/i386/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) ( cd "$TopDir"/mandrake/linux/9.2/ && rm -f i586 && ln -sf i386 i586 ) fi if [ -n "$md_100_i386" ]; then Changed="$Changed $TopDir/mandrake/linux/10.0/i386/$ModuleName/" mkdir -p "$TopDir"/mandrake/linux/10.0/i386/$ModuleName/packages/ touch "$TopDir"/mandrake/linux/10.0/i386/$ModuleName/packages/excluded-files ( cd "$TopDir"/mandrake/linux/10.0/i386/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) ( cd "$TopDir"/mandrake/linux/10.0/ && rm -f i586 && ln -sf i386 i586 ) fi if [ -n "$md_101_i386" ]; then Changed="$Changed $TopDir/mandrake/linux/10.1/i386/$ModuleName/" mkdir -p "$TopDir"/mandrake/linux/10.1/i386/$ModuleName/packages/ touch "$TopDir"/mandrake/linux/10.1/i386/$ModuleName/packages/excluded-files ( cd "$TopDir"/mandrake/linux/10.1/i386/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) ( cd "$TopDir"/mandrake/linux/10.1/ && rm -f i586 && ln -sf i386 i586 ) fi if [ -n "$rh_73_i386" ]; then Changed="$Changed $TopDir/redhat/linux/7.3/i386/$ModuleName/" mkdir -p "$TopDir"/redhat/linux/7.3/i386/$ModuleName/packages/ touch "$TopDir"/redhat/linux/7.3/i386/$ModuleName/packages/excluded-files ( cd "$TopDir"/redhat/linux/7.3/i386/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi if [ -n "$rh_80_i386" ]; then Changed="$Changed $TopDir/redhat/linux/8.0/i386/$ModuleName/" mkdir -p "$TopDir"/redhat/linux/8.0/i386/$ModuleName/packages/ touch "$TopDir"/redhat/linux/8.0/i386/$ModuleName/packages/excluded-files ( cd "$TopDir"/redhat/linux/8.0/i386/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi if [ -n "$rh_9_i386" ]; then Changed="$Changed $TopDir/redhat/linux/9/i386/$ModuleName/" mkdir -p "$TopDir"/redhat/linux/9/i386/$ModuleName/packages/ touch "$TopDir"/redhat/linux/9/i386/$ModuleName/packages/excluded-files ( cd "$TopDir"/redhat/linux/9/i386/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi echo "Downloading files for $ModuleName" case "$ModuleName" in atrpms) Name='DISTRONAME Linux $releasever - $basearch - atrpms' #Note, don't add $RD since we have two rsync pulls down into the same directory. Each wipes out the other if you use delete. #I'm not pulling the "at-bleeding" or "at-testing" directories. Sources='rsync://rsync.hrz.tu-chemnitz.de/ftp/pub/linux/ATrpms/ rsync://www.mirrorservice.org/download.atrpms.net/' [ -n "$fc_1_i386" ] && GoGet "$Sources" /fedora/1/en/i386/RPMS.at-good/ "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_i386" ] && GoGet "$Sources" /fedora/1/en/i386/RPMS.at-stable/ "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && GoGet "$Sources" /fedora/2/en/i386/RPMS.at-good/ "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && GoGet "$Sources" /fedora/2/en/i386/RPMS.at-stable/ "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" /fedora/3/en/i386/RPMS.at-good/ "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" /fedora/3/en/i386/RPMS.at-stable/ "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" /fedora/1/en/i386/RPMS.at-good/ "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_x86_64" ] && GoGet "$Sources" /fedora/1/en/i386/RPMS.at-stable/ "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" fi [ -n "$fc_2_x86_64" ] && GoGet "$Sources" /fedora/2/en/x86_64/RPMS.at-good/ "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" /fedora/2/en/x86_64/RPMS.at-stable/ "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" /fedora/3/en/x86_64/RPMS.at-good/ "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" /fedora/3/en/x86_64/RPMS.at-stable/ "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" Sources='rsync://rsync.hrz.tu-chemnitz.de/ftp/pub/linux/ATrpms/ rsync://www.mirrorservice.org/download.atrpms.net/' [ -n "$rh_73_i386" ] && GoGet "$Sources" /redhat/7.3/en/i386/at-good/ "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_73_i386" ] && GoGet "$Sources" /redhat/7.3/en/i386/at-stable/ "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_80_i386" ] && GoGet "$Sources" /redhat/8.0/en/i386/at-good/ "$TopDir/redhat/linux/8.0/i386/$ModuleName/packages/" [ -n "$rh_80_i386" ] && GoGet "$Sources" /redhat/8.0/en/i386/at-stable/ "$TopDir/redhat/linux/8.0/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && GoGet "$Sources" /redhat/9/en/i386/at-good/ "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && GoGet "$Sources" /redhat/9/en/i386/at-stable/ "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" ;; ccrma) Name='DISTRONAME Linux $releasever - $basearch - ccrma' Sources='rsync://ftp.upjs.sk/ftp/pub/mirrors/planet.ccrma/' [ -n "$fc_1_i386" ] && GoGet "$Sources" "/1/i386/*" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/2/i386/*" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/3/i386/*" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/1/i386/*" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/2/i386/*" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/3/i386/*" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/3/i386/$ModuleName/packages/" fi ;; core) Name='DISTRONAME Linux $releasever - $basearch - core' 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/' [ -n "$fc_1_i386" ] && GoGet "$Sources" "/1/i386/os/Fedora/RPMS/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/2/i386/os/Fedora/RPMS/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/3/i386/os/Fedora/RPMS/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/1/x86_64/os/Fedora/RPMS/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/2/x86_64/os/Fedora/RPMS/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/3/x86_64/os/Fedora/RPMS/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD" Sources='rsync://carroll.cac.psu.edu/mandrakelinux/official/ rsync://rsync.secsup.org/mandrake/' [ -n "$md_91_i386" ] && GoGet "$Sources" "/9.1/i586/Mandrake/RPMS/" "$TopDir/mandrake/linux/9.1/i386/$ModuleName/packages/" "$RD" [ -n "$md_92_i386" ] && GoGet "$Sources" "/9.2/i586/Mandrake/RPMS/" "$TopDir/mandrake/linux/9.2/i386/$ModuleName/packages/" "$RD" [ -n "$md_100_i386" ] && GoGet "$Sources" "/10.0/i586/Mandrake/RPMS/" "$TopDir/mandrake/linux/10.0/i386/$ModuleName/packages/" "$RD" [ -n "$md_101_i386" ] && GoGet "$Sources" "/10.1/i586/media/main/" "$TopDir/mandrake/linux/10.1/i386/$ModuleName/packages/" "$RD" 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/pub/mirrors/linux/download.fedoralegacy.org/ 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/redhat/linux/7.3/i386/$ModuleName/packages/" "$RD" [ -n "$rh_80_i386" ] && GoGet "$Sources" "/redhat/8.0/os/i386/" "$TopDir/redhat/linux/8.0/i386/$ModuleName/packages/" "$RD" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/9/os/i386/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" ;; 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 "$fc_1_i386" ] && GoGet "$Sources" "/fedora/1/en/i386/RPMS.dag/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/fedora/2/en/i386/RPMS.dag/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/fedora/3/en/i386/RPMS.dag/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/fedora/1/en/i386/RPMS.dag/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/1/i386/$ModuleName/packages/" fi [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/fedora/2/en/x86_64/RPMS.dag/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/fedora/3/en/x86_64/RPMS.dag/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD" 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 "$rh_73_i386" ] && GoGet "$Sources" "/redhat/7.3/en/i386/RPMS.dag/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" "$RD" [ -n "$rh_80_i386" ] && GoGet "$Sources" "/redhat/8.0/en/i386/RPMS.dag/" "$TopDir/redhat/linux/8.0/i386/$ModuleName/packages/" "$RD" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/9/en/i386/RPMS.dag/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" ;; 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 "$rh_9_i386" ] && GoGet "$Sources" "/redhat/9/en/i386/RPMS.dries/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/fedora/fc1/i386/RPMS.dries/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/fedora/fc2/i386/RPMS.dries/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/fedora/fc3/i386/RPMS.dries/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/fedora/fc1/i386/RPMS.dries/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/fedora/fc2/i386/RPMS.dries/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/fedora/fc3/i386/RPMS.dries/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/3/i386/$ModuleName/packages/" fi ;; extras) #http://www.fedora.us 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/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/fedora/2/i386/RPMS.stable/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/fedora/3/i386/RPMS.stable/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/fedora/1/i386/RPMS.stable/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/fedora/2/i386/RPMS.stable/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/fedora/3/i386/RPMS.stable/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/3/i386/$ModuleName/packages/" fi 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 "$rh_80_i386" ] && GoGet "$Sources" "/redhat/8.0/i386/RPMS.stable/" "$TopDir/redhat/linux/8.0/i386/$ModuleName/packages/" "$RD" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/9/i386/RPMS.stable/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" ;; 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 "$rh_73_i386" ] && GoGet "$Sources" "/redhat/7.3/*/*.rpm" "$TopDir/fedora/linux/7.3/i386/$ModuleName/packages/" "$RD --exclude='*.x86_64.*'" [ -n "$rh_80_i386" ] && GoGet "$Sources" "/redhat/8.0/*/*.rpm" "$TopDir/fedora/linux/8.0/i386/$ModuleName/packages/" "$RD --exclude='*.x86_64.*'" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/9/*/*.rpm" "$TopDir/fedora/linux/9/i386/$ModuleName/packages/" "$RD --exclude='*.x86_64.*'" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/fedora/linux/1/*/*.rpm" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD --exclude='*.x86_64.*'" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/fedora/linux/2/*/*.rpm" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD --exclude='*.x86_64.*'" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/fedora/linux/3/*/*.rpm" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD --exclude='*.x86_64.*'" [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/fedora/linux/1/*/*.rpm" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD --exclude='*.i386.*'" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/fedora/linux/2/*/*.rpm" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD --exclude='*.i386.*'" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/fedora/linux/3/*/*.rpm" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD --exclude='*.i386.*'" ;; jpackage) Name='DISTRONAME Linux $releasever - $basearch - jpackage' Sources='rsync://sunsite.dk/jpackage/ rsync://rsync.planetmirror.com/jpackage/ rsync://rpm.pbone.net/pbone/pub/jpackage/' [ -n "$fc_1_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.free/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/1.6/fedora-1/RPMS.free/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.devel/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.free/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/1.6/fedora-2/RPMS.free/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.devel/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.free/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/1.6/fedora-3/RPMS.free/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.devel/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/1.6/generic/RPMS.free/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/1.6/fedora-1/RPMS.free/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/1.6/generic/RPMS.devel/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/1.6/generic/RPMS.free/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/1.6/fedora-2/RPMS.free/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/1.6/generic/RPMS.devel/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/1.6/generic/RPMS.free/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/3/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/1.6/fedora-3/RPMS.free/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/3/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/1.6/generic/RPMS.devel/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/3/i386/$ModuleName/packages/" fi Sources='rsync://sunsite.dk/jpackage/ rsync://rsync.planetmirror.com/jpackage/ rsync://rpm.pbone.net/pbone/pub/jpackage/' [ -n "$md_91_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.free/" "$TopDir/mandrake/linux/9.1/i386/$ModuleName/packages/" [ -n "$md_91_i386" ] && GoGet "$Sources" "/1.6/mandrake-9.1/RPMS.free/" "$TopDir/mandrake/linux/9.1/i386/$ModuleName/packages/" [ -n "$md_91_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.devel/" "$TopDir/mandrake/linux/9.1/i386/$ModuleName/packages/" [ -n "$md_92_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.free/" "$TopDir/mandrake/linux/9.2/i386/$ModuleName/packages/" [ -n "$md_92_i386" ] && GoGet "$Sources" "/1.6/mandrake-9.2/RPMS.free/" "$TopDir/mandrake/linux/9.2/i386/$ModuleName/packages/" [ -n "$md_92_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.devel/" "$TopDir/mandrake/linux/9.2/i386/$ModuleName/packages/" [ -n "$md_100_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.free/" "$TopDir/mandrake/linux/10.0/i386/$ModuleName/packages/" [ -n "$md_100_i386" ] && GoGet "$Sources" "/1.6/mandrake-10.0/RPMS.free/" "$TopDir/mandrake/linux/10.0/i386/$ModuleName/packages/" [ -n "$md_100_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.devel/" "$TopDir/mandrake/linux/10.0/i386/$ModuleName/packages/" [ -n "$md_101_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.free/" "$TopDir/mandrake/linux/10.1/i386/$ModuleName/packages/" [ -n "$md_101_i386" ] && GoGet "$Sources" "/1.6/mandrake-10.1/RPMS.free/" "$TopDir/mandrake/linux/10.1/i386/$ModuleName/packages/" [ -n "$md_101_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.devel/" "$TopDir/mandrake/linux/10.1/i386/$ModuleName/packages/" Sources='rsync://sunsite.dk/jpackage/ rsync://rsync.planetmirror.com/jpackage/ rsync://rpm.pbone.net/pbone/pub/jpackage/' [ -n "$rh_73_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.free/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_73_i386" ] && GoGet "$Sources" "/1.6/redhat-7.3/RPMS.free/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_73_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.devel/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_80_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.free/" "$TopDir/redhat/linux/8.0/i386/$ModuleName/packages/" [ -n "$rh_80_i386" ] && GoGet "$Sources" "/1.6/redhat-8.0/RPMS.free/" "$TopDir/redhat/linux/8.0/i386/$ModuleName/packages/" [ -n "$rh_80_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.devel/" "$TopDir/redhat/linux/8.0/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.free/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/1.6/redhat-9/RPMS.free/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/1.6/generic/RPMS.devel/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" ;; livna) Name='DISTRONAME Linux $releasever - $basearch - livna' Sources='rsync://rpm.livna.org/rlo/' [ -n "$fc_1_i386" ] && GoGet "$Sources" "/fedora/1/i386/RPMS.stable/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/fedora/2/i386/RPMS.stable/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/fedora/3/i386/RPMS.stable/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/fedora/1/i386/RPMS.stable/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/1/i386/$ModuleName/packages/" fi [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/fedora/2/x86_64/RPMS.stable/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/fedora/3/x86_64/RPMS.stable/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD" Sources='rsync://rpm.livna.org/rlo/' [ -n "$rh_80_i386" ] && GoGet "$Sources" "/redhat/8.0/i386/RPMS.stable/" "$TopDir/redhat/linux/8.0/i386/$ModuleName/packages/" "$RD" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/9/i386/RPMS.stable/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" ;; 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/' [ -n "$fc_1_i386" ] && GoGet "$Sources" "/redhat/en/i386/fc1/RPMS.newrpms//" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/redhat/en/i386/fc2/RPMS.newrpms//" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/redhat/en/i386/fc3/RPMS.newrpms//" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/redhat/en/i386/fc1/RPMS.newrpms//" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/redhat/en/i386/fc2/RPMS.newrpms//" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/redhat/en/i386/fc3/RPMS.newrpms//" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/3/i386/$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/redhat/linux/8.0/i386/$ModuleName/packages/" "$RD" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/en/i386/9.0/RPMS.newrpms/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" ;; openpkg) Name='DISTRONAME Linux $releasever - $basearch - openpkg' Sources='rsync://rsync.openpkg.org/openpkg-ftp/release/' [ -n "$fc_2_i386" ] && GoGet "$Sources" "/2.2/BIN/ix86-fedora2/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/2.2/BIN/ix86-fedora3/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" #Hmmm. Are updates to openpkg source only? [ -n "$fc_2_i386" ] && GoGet "$Sources" "/2.2/UPD/ix86-fedora2/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/2.2/UPD/ix86-fedora3/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" if [ -n "$OpteronFallback" ]; then [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/2.2/BIN/ix86-fedora2/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/2.2/UPD/ix86-fedora2/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/2.2/BIN/ix86-fedora3/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/3/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/2.2/UPD/ix86-fedora3/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/3/i386/$ModuleName/packages/" fi Sources='rsync://rsync.openpkg.org/openpkg-ftp/release/' [ -n "$md_100_i386" ] && GoGet "$Sources" "/2.2/BIN/ix86-mandrake10.0/" "$TopDir/mandrake/linux/10.0/i386/$ModuleName/packages/" ;; updates) Name='DISTRONAME Linux $releasever - $basearch - updates' 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/pub/mirrors/linux/download.fedoralegacy.org/ 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/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/fedora/1/updates/x86_64/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD" 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/' [ -n "$fc_2_i386" ] && GoGet "$Sources" "/updates/2/i386/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/updates/2/x86_64/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/updates/3/i386/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/updates/3/x86_64/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD" Sources='rsync://rsync.secsup.org/mandrake-old/' [ -n "$md_91_i386" ] && GoGet "$Sources" "/updates/9.1/RPMS/" "$TopDir/mandrake/linux/9.1/i386/$ModuleName/packages/" "$RD" Sources='rsync://carroll.cac.psu.edu/mandrakelinux/official/ rsync://rsync.secsup.org/mandrake/' [ -n "$md_92_i386" ] && GoGet "$Sources" "/updates/9.2/RPMS/" "$TopDir/mandrake/linux/9.2/i386/$ModuleName/packages/" "$RD" [ -n "$md_100_i386" ] && GoGet "$Sources" "/updates/10.0/RPMS/" "$TopDir/mandrake/linux/10.0/i386/$ModuleName/packages/" "$RD" [ -n "$md_101_i386" ] && GoGet "$Sources" "/updates/10.1/RPMS/" "$TopDir/mandrake/linux/10.1/i386/$ModuleName/packages/" "$RD" 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/pub/mirrors/linux/download.fedoralegacy.org/ 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/redhat/linux/7.3/i386/$ModuleName/packages/" "$RD" [ -n "$rh_80_i386" ] && GoGet "$Sources" "/redhat/8.0/updates/i386/" "$TopDir/redhat/linux/8.0/i386/$ModuleName/packages/" "$RD" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/9/updates/i386/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" ;; wstearns) Name='DISTRONAME Linux $releasever - $basearch - wstearns' Sources='rsync://zaphod.stearns.org/wstearns/yum/' [ -n "$fc_1_i386" ] && GoGet "$Sources" "/fedora/linux/1/i386/wstearns/packages/*.rpm" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/fedora/linux/2/i386/wstearns/packages/*.rpm" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/fedora/linux/3/i386/wstearns/packages/*.rpm" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/fedora/linux/1/x86_64/wstearns/packages/*.rpm" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/fedora/linux/2/x86_64/wstearns/packages/*.rpm" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/fedora/linux/3/x86_64/wstearns/packages/*.rpm" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD" Sources='rsync://zaphod.stearns.org/wstearns/yum/' [ -n "$md_91_i386" ] && GoGet "$Sources" "/mandrake/linux/9.1/i386/wstearns/packages/*.rpm" "$TopDir/mandrake/linux/9.1/i386/$ModuleName/packages/" "$RD" [ -n "$md_92_i386" ] && GoGet "$Sources" "/mandrake/linux/9.2/i386/wstearns/packages/*.rpm" "$TopDir/mandrake/linux/9.2/i386/$ModuleName/packages/" "$RD" [ -n "$md_100_i386" ] && GoGet "$Sources" "/mandrake/linux/10.0/i386/wstearns/packages/*.rpm" "$TopDir/mandrake/linux/10.0/i386/$ModuleName/packages/" "$RD" [ -n "$md_101_i386" ] && GoGet "$Sources" "/mandrake/linux/10.1/i386/wstearns/packages/*.rpm" "$TopDir/mandrake/linux/10.1/i386/$ModuleName/packages/" "$RD" Sources='rsync://zaphod.stearns.org/wstearns/yum/' [ -n "$rh_73_i386" ] && GoGet "$Sources" "/redhat/linux/7.3/i386/wstearns/packages/*.rpm" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" "$RD" [ -n "$rh_80_i386" ] && GoGet "$Sources" "/redhat/linux/8.0/i386/wstearns/packages/*.rpm" "$TopDir/redhat/linux/8.0/i386/$ModuleName/packages/" "$RD" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/linux/9/i386/wstearns/packages/*.rpm" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" ;; ximian) Name='DISTRONAME Linux $releasever - $basearch - ximian' Sources='rsync://rsync.secsup.org/ximian/ rsync://www.mirrorservice.org/ftp.ximian.com/pub/' [ -n "$fc_1_i386" ] && GoGet "$Sources" "/redcarpet2/fedora-1-i386/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/redcarpet2/fedora-2-i386/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/redcarpet2/fedora-3-i386/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/redcarpet2/fedora-1-i386/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/redcarpet2/fedora-2-i386/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/redcarpet2/fedora-3-i386/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/3/i386/$ModuleName/packages/" fi [ -n "$md_91_i386" ] && GoGet "$Sources" "/redcarpet2/mandrake-91-i586/" "$TopDir/mandrake/linux/9.1/i386/$ModuleName/packages/" [ -n "$md_92_i386" ] && GoGet "$Sources" "/redcarpet2/mandrake-92-i586/" "$TopDir/mandrake/linux/9.2/i386/$ModuleName/packages/" [ -n "$rh_73_i386" ] && GoGet "$Sources" "/xd2/redhat-73-i386/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_73_i386" ] && GoGet "$Sources" "/redcarpet2/redhat-73-i386/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_80_i386" ] && GoGet "$Sources" "/xd2/redhat-80-i386/" "$TopDir/redhat/linux/8.0/i386/$ModuleName/packages/" [ -n "$rh_80_i386" ] && GoGet "$Sources" "/redcarpet2/redhat-80-i386/" "$TopDir/redhat/linux/8.0/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/xd2/redhat-9-i386/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redcarpet2/redhat-9-i386/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" ;; *) echo "Unknown module $ModuleName" ;; esac if type -path repomanage.py >/dev/null 2>/dev/null ; then #Remove old RPMS cd "$TopDir" #FIXME - Perhaps case by requested architectures so we don't repomanage every distro? for OneDir in */linux/*/*/$ModuleName/packages/ ; do cd "$OneDir" TFile=`mktemp -q /tmp/yum-pull.XXXXXX` || exit 1 ( cat excluded-files 2>/dev/null ; repomanage.py --old . | sed -e 's@.*/@@' | grep -v '^kernel' ) | sort | uniq >>"$TFile" mv -f "$TFile" excluded-files for OneFile in `cat excluded-files` ; do rm -f "$TopDir/$OneDir/$OneFile" done cd ../../../../../.. done fi cd "$TopDir" echo "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" type -path yum-arch >/dev/null 2>/dev/null && nice yum-arch -q "$OneDir" & type -path createrepo >/dev/null 2>/dev/null && nice createrepo -q "$OneDir" & fi done echo "Repository headers created for $ModuleName, creating yum.conf.addme." if [ -n "$fc_1_i386$fc_2_i386$fc_3_i386$fc_1_x86_64$fc_2_x86_64$fc_3_x86_64" ]; then URLBottom='fedora/linux/$releasever/$basearch/'"$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" 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" ]; then URLBottom='mandrake/linux/$releasever/$basearch/'"$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" 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" 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" 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 #FIXME - rh8 from here down echo "Yum.conf.addme created for $ModuleName" done if type -path htmlfilelist >/dev/null 2>/dev/null ; then cd "$TopDir" for OneDir in */linux/*/*/ ; do cd "$OneDir" nice htmlfilelist --fullpage --coalesce archives --coalesce icons --coalesce headers --coalesce repodata --coalesce .oldheaders --coalesce .olddata --coalesce .repodata --coalesce .newheaders >filelist.html & cd ../../../.. done fi if type -path genbasedir >/dev/null 2>/dev/null ; then for RepDir in \ `[ -n "$fc_1_i386" ] && echo "$TopDir/fedora/linux/1/i386/"` \ `[ -n "$fc_2_i386" ] && echo "$TopDir/fedora/linux/2/i386/"` \ `[ -n "$fc_3_i386" ] && echo "$TopDir/fedora/linux/3/i386/"` \ `[ -n "$fc_1_x86_64" ] && echo "$TopDir/fedora/linux/1/x86_64/"` \ `[ -n "$fc_2_x86_64" ] && echo "$TopDir/fedora/linux/2/x86_64/"` \ `[ -n "$fc_3_x86_64" ] && echo "$TopDir/fedora/linux/3/x86_64/"` \ `[ -n "$md_91_i386" ] && echo "$TopDir/mandrake/linux/9.1/i386/"` \ `[ -n "$md_92_i386" ] && echo "$TopDir/mandrake/linux/9.2/i386/"` \ `[ -n "$md_100_i386" ] && echo "$TopDir/mandrake/linux/10.0/i386/"` \ `[ -n "$md_101_i386" ] && echo "$TopDir/mandrake/linux/10.1/i386/"` \ `[ -n "$rh_73_i386" ] && echo "$TopDir/redhat/linux/7.3/i386/"` \ `[ -n "$rh_80_i386" ] && echo "$TopDir/redhat/linux/8.0/i386/"` \ `[ -n "$rh_9_i386" ] && echo "$TopDir/redhat/linux/9/i386/"` \ ; do if [ -d "$RepDir" ]; then #echo "apt-ing $RepDir" cd "$RepDir" nice genbasedir --flat --bloat --bz2only --partial "$RepDir" `ls -a1d [a-z]* | egrep -v '(^base$|^RPMS.)'` >/dev/null & fi done fi echo Waiting for last directory indexes to finish. wait rm -f "$TopDir"/yum.conf.addme* cat "$TopDir"/fedora/yum.conf.addme.* >"$TopDir"/fedora/yum.conf.addme cat "$TopDir"/mandrake/yum.conf.addme.* >"$TopDir"/mandrake/yum.conf.addme cat "$TopDir"/redhat/yum.conf.addme.* >"$TopDir"/redhat/yum.conf.addme if type -path freedups >/dev/null 2>/dev/null ; then echo 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 echo No freedups found, install freedups rpm to save disk space. fi