#!/bin/bash #Copyright 2004, William Stearns #Released under the GPL #Version 1.5 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.' echo echo 'arch is one of fc_1_i386, fc_2_i386, fc_1_x86_64, fc_2_x86_64, ' echo 'rh_7.3_i386, rh_9_i386, or allarch.' echo echo 'module is one of atrpms, ccrma, core, dag, dries, freshrpms,' echo 'jpackage, livna, updates, wstearns, or allmodules.' 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 directory immediately inside it. Multiple entries are fine; ' echo 'the most preferred url should come first and continue to less preferred' echo '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 requireutil cat createrepo genbasedir mkdir rm rsync yum-arch || 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_1_x86_64='fc_1_x86_64' fc_2_x86_64='fc_2_x86_64' rh_73_i386='rh_73_i386' rh_9_i386='rh_9_i386' ;; allmodules) ModList="atrpms ccrma core dag dries freshrpms jpackage livna updates wstearns" ;; fc_1_i386) fc_1_i386='fc_1_i386' ;; fc_2_i386) fc_2_i386='fc_2_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' ;; rh_7.3_i386) rh_73_i386='rh_73_i386' ;; rh_9_i386) rh_9_i386='rh_9_i386' ;; atrpms|ccrma|core|dag|dries|freshrpms|jpackage|livna|updates|wstearns) ModList="$ModList $1" ;; fedora) ModList="$ModList core updates" fc_1_i386='fc_1_i386' fc_2_i386='fc_2_i386' fc_1_x86_64='fc_1_x86_64' fc_2_x86_64='fc_2_x86_64' ;; redhat) ModList="$ModList core updates" rh_73_i386='rh_73_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_1_x86_64$fc_2_x86_64$rh_73_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="atrpms ccrma core dag dries freshrpms jpackage livna updates wstearns" fi echo "Requested modules: $ModList" echo "Requested architectures:" "$fc_1_i386" "$fc_2_i386" "$fc_1_x86_64" "$fc_2_x86_64" "$rh_73_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 RsyncParams=" -a -q -L -H --exclude='*.src.rpm' --exclude=debug/ --exclude=headers/ --exclude=repodata/ --exclude=SRPMS " RsyncDelete=" --delete --delete-after " for ModuleName in $ModList ; do Changed='' cd "$TopDir" 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/ ( cd "$TopDir"/redhat/linux/7.3/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/ ( cd "$TopDir"/redhat/linux/9/i386/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi if [ -n "$fc_1_i386" ]; then Changed="$Changed $TopDir/fedora/linux/1/i386/$ModuleName/" mkdir -p "$TopDir"/fedora/linux/1/i386/$ModuleName/packages/ ( 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/ ( cd "$TopDir"/fedora/linux/2/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/ ( 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/ ( cd "$TopDir"/fedora/linux/2/x86_64/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi echo "Downloading files for $ModuleName" case "$ModuleName" in atrpms) Name='Fedora Linux $releasever - $basearch - atrpms' Source=`randomof 'rsync.hrz.tu-chemnitz.de::ftp/pub/linux/ATrpms/'` echo "Pulling from $Source" #It appears x86_64 is only available on fc2. Note, don't add $RsyncDelete since we have two rsync pulls down into the same directory. Each wipes out the other if you use delete. [ -n "$rh_73_i386" ] && rsync $RsyncParams $Source/redhat/7.3/en/i386/at-good/* "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_73_i386" ] && rsync $RsyncParams $Source/redhat/7.3/en/i386/at-stable/* "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" # [ -n "$rh_73_i386" ] && rsync $RsyncParams $Source/redhat/7.3/en/i386/at-bleeding/* "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" # [ -n "$rh_73_i386" ] && rsync $RsyncParams $Source/redhat/7.3/en/i386/at-testing/* "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && rsync $RsyncParams $Source/redhat/9/en/i386/at-good/* "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && rsync $RsyncParams $Source/redhat/9/en/i386/at-stable/* "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" # [ -n "$rh_9_i386" ] && rsync $RsyncParams $Source/redhat/9/en/i386/at-bleeding/* "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" # [ -n "$rh_9_i386" ] && rsync $RsyncParams $Source/redhat/9/en/i386/at-testing/* "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$fc_1_i386" ] && rsync $RsyncParams $Source/fedora/1/en/i386/RPMS.at-good/* "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_i386" ] && rsync $RsyncParams $Source/fedora/1/en/i386/RPMS.at-stable/* "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" # [ -n "$fc_1_i386" ] && rsync $RsyncParams $Source/fedora/1/en/i386/RPMS.at-bleeding/* "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" # [ -n "$fc_1_i386" ] && rsync $RsyncParams $Source/fedora/1/en/i386/RPMS.at-testing/* "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && rsync $RsyncParams $Source/fedora/2/en/i386/RPMS.at-good/* "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && rsync $RsyncParams $Source/fedora/2/en/i386/RPMS.at-stable/* "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" # [ -n "$fc_2_i386" ] && rsync $RsyncParams $Source/fedora/2/en/i386/RPMS.at-bleeding/* "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" # [ -n "$fc_2_i386" ] && rsync $RsyncParams $Source/fedora/2/en/i386/RPMS.at-testing/* "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && rsync $RsyncParams $Source/fedora/2/en/x86_64/RPMS.at-good/* "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && rsync $RsyncParams $Source/fedora/2/en/x86_64/RPMS.at-stable/* "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" # [ -n "$fc_2_x86_64" ] && rsync $RsyncParams $Source/fedora/2/en/x86_64/RPMS.at-bleeding/* "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" # [ -n "$fc_2_x86_64" ] && rsync $RsyncParams $Source/fedora/2/en/x86_64/RPMS.at-testing/* "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" ;; ccrma) Name='Fedora Linux $releasever - $basearch - ccrma' #No apparent x86_64 at the moment, no rh Source=`randomof 'ftp.upjs.sk::ftp/pub/mirrors/planet.ccrma/'` echo "Pulling from $Source" [ -n "$fc_1_i386" ] && rsync $RsyncParams "$Source/1/i386/*" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_2_i386" ] && rsync $RsyncParams "$Source/2/i386/*" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" $RsyncDelete ;; core) Name='Fedora Linux $releasever - $basearch - core' Source=`randomof '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/'` echo "Pulling from $Source" [ -n "$rh_73_i386" ] && rsync $RsyncParams "$Source/redhat/7.3/os/i386/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" $RsyncDelete [ -n "$rh_9_i386" ] && rsync $RsyncParams "$Source/redhat/9/os/i386/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" $RsyncDelete Source=`randomof 'mirror.linux.duke.edu::fedora-linux-core/' 'distro.ibiblio.org::fedora-linux-core/' 'mirror.hiwaay.net::fedora-linux-core/' 'rpmfind.net::linux/fedora/core/' 'rsync.gtlib.cc.gatech.edu::fedora-linux-core/'` echo "Pulling from $Source" [ -n "$fc_1_i386" ] && rsync $RsyncParams "$Source/1/i386/os/Fedora/RPMS/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_2_i386" ] && rsync $RsyncParams "$Source/2/i386/os/Fedora/RPMS/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_1_x86_64" ] && rsync $RsyncParams "$Source/1/x86_64/os/Fedora/RPMS/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" $RsyncDelete [ -n "$fc_2_x86_64" ] && rsync $RsyncParams "$Source/2/x86_64/os/Fedora/RPMS/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" $RsyncDelete ;; dag) Name='Fedora Linux $releasever - $basearch - dag' #x86_64 is fc2 only Source=`randomof 'apt.sw.be::pub/freshrpms/pub/dag/' 'ftp.heanet.ie::mirrors/ftp.freshrpms.net/pub/dag/'` echo "Pulling from $Source" [ -n "$rh_73_i386" ] && rsync $RsyncParams "$Source/redhat/7.3/en/i386/RPMS.dag/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" $RsyncDelete [ -n "$rh_9_i386" ] && rsync $RsyncParams "$Source/redhat/9/en/i386/RPMS.dag/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_1_i386" ] && rsync $RsyncParams "$Source/fedora/1/en/i386/RPMS.dag/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_2_i386" ] && rsync $RsyncParams "$Source/fedora/2/en/i386/RPMS.dag/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_2_x86_64" ] && rsync $RsyncParams "$Source/fedora/2/en/x86_64/RPMS.dag/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" $RsyncDelete ;; dries) Name='Fedora Linux $releasever - $basearch - dries' Source=`randomof 'rsync://apt.sw.be/pub/freshrpms/pub/dag/dries/' 'ftp.heanet.ie::mirrors/ftp.freshrpms.net/pub/dag/dries/'` echo "Pulling from $Source" [ -n "$rh_9_i386" ] && rsync $RsyncParams "$Source/redhat/9/en/i386/RPMS.dries/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_1_i386" ] && rsync $RsyncParams "$Source/fedora/fc1/i386/RPMS.dries/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_2_i386" ] && rsync $RsyncParams "$Source/fedora/fc2/i386/RPMS.dries/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" $RsyncDelete ;; freshrpms) Name='Fedora Linux $releasever - $basearch - freshrpms' Source=`randomof 'rsync.freshrpms.net::freshrpms/' 'apt.sw.be::pub/freshrpms/pub/freshrpms/' 'ftp.heanet.ie::mirrors/ftp.freshrpms.net/pub/freshrpms/'` echo "Pulling from $Source" [ -n "$rh_73_i386" ] && rsync $RsyncParams "$Source/redhat/7.3/*/*.rpm" "$TopDir/fedora/linux/7.3/i386/$ModuleName/packages/" $RsyncDelete --exclude='*.x86_64.*' [ -n "$rh_9_i386" ] && rsync $RsyncParams "$Source/redhat/9/*/*.rpm" "$TopDir/fedora/linux/9/i386/$ModuleName/packages/" $RsyncDelete --exclude='*.x86_64.*' [ -n "$fc_1_i386" ] && rsync $RsyncParams "$Source/fedora/linux/1/*/*.rpm" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" $RsyncDelete --exclude='*.x86_64.*' [ -n "$fc_2_i386" ] && rsync $RsyncParams "$Source/fedora/linux/2/*/*.rpm" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" $RsyncDelete --exclude='*.x86_64.*' [ -n "$fc_1_x86_64" ] && rsync $RsyncParams "$Source/fedora/linux/1/*/*.rpm" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" $RsyncDelete --exclude='*.i386.*' [ -n "$fc_2_x86_64" ] && rsync $RsyncParams "$Source/fedora/linux/2/*/*.rpm" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" $RsyncDelete --exclude='*.i386.*' ;; jpackage) Name='Fedora Linux $releasever - $basearch - jpackage' Source=`randomof 'rsync://sunsite.dk/jpackage/' 'rsync://rsync.planetmirror.com/jpackage/' 'rsync://rpm.pbone.net/pbone/pub/jpackage/'` echo "Pulling from $Source" [ -n "$rh_73_i386" ] && rsync $RsyncParams "$Source/1.0/generic/RPMS.free/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_73_i386" ] && rsync $RsyncParams "$Source/1.5/redhat-7.3/RPMS.free/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_73_i386" ] && rsync $RsyncParams "$Source/1.5/generic/RPMS.devel/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && rsync $RsyncParams "$Source/1.0/generic/RPMS.free/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && rsync $RsyncParams "$Source/1.5/redhat-9/RPMS.free/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && rsync $RsyncParams "$Source/1.5/generic/RPMS.devel/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$fc_1_i386" ] && rsync $RsyncParams "$Source/1.0/generic/RPMS.free/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_i386" ] && rsync $RsyncParams "$Source/1.5/fedora-1/RPMS.free/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_i386" ] && rsync $RsyncParams "$Source/1.5/generic/RPMS.devel/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && rsync $RsyncParams "$Source/1.0/generic/RPMS.free/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && rsync $RsyncParams "$Source/1.5/fedora-2/RPMS.free/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && rsync $RsyncParams "$Source/1.5/generic/RPMS.devel/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" ;; livna) Name='Fedora Linux $releasever - $basearch - livna' Source=`randomof 'rsync://rpm.livna.org/rlo/'` echo "Pulling from $Source" [ -n "$rh_9_i386" ] && rsync $RsyncParams "$Source/redhat/9/i386/RPMS.stable/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_1_i386" ] && rsync $RsyncParams "$Source/fedora/1/i386/RPMS.stable/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_2_i386" ] && rsync $RsyncParams "$Source/fedora/2/i386/RPMS.stable/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_2_x86_64" ] && rsync $RsyncParams "$Source/fedora/2/x86_64/RPMS.stable/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" $RsyncDelete ;; updates) Name='Fedora Linux $releasever - $basearch - updates' Source=`randomof '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/'` echo "Pulling from $Source" [ -n "$rh_73_i386" ] && rsync $RsyncParams "$Source/redhat/7.3/updates/i386/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" $RsyncDelete [ -n "$rh_9_i386" ] && rsync $RsyncParams "$Source/redhat/9/updates/i386/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_1_i386" ] && rsync $RsyncParams "$Source/fedora/1/updates/i386/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_1_x86_64" ] && rsync $RsyncParams "$Source/fedora/1/updates/x86_64/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" $RsyncDelete Source=`randomof 'mirror.linux.duke.edu::fedora-linux-core/' 'distro.ibiblio.org::fedora-linux-core/' 'mirror.hiwaay.net::fedora-linux-core/' 'rpmfind.net::linux/fedora/core/' 'rsync.gtlib.cc.gatech.edu::fedora-linux-core/'` echo "Pulling from $Source" [ -n "$fc_2_i386" ] && rsync $RsyncParams "$Source/updates/2/i386/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_2_x86_64" ] && rsync $RsyncParams "$Source/updates/2/x86_64/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" $RsyncDelete ;; wstearns) Name='Fedora Linux $releasever - $basearch - wstearns' Source=`randomof 'zaphod.stearns.org::wstearns/yum/'` echo "Pulling from $Source" [ -n "$rh_73_i386" ] && rsync $RsyncParams "$Source/redhat/linux/7.3/i386/wstearns/packages/*.rpm" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" $RsyncDelete [ -n "$rh_9_i386" ] && rsync $RsyncParams "$Source/redhat/linux/9/i386/wstearns/packages/*.rpm" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_1_i386" ] && rsync $RsyncParams "$Source/fedora/linux/1/i386/wstearns/packages/*.rpm" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_2_i386" ] && rsync $RsyncParams "$Source/fedora/linux/2/i386/wstearns/packages/*.rpm" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" $RsyncDelete [ -n "$fc_1_x86_64" ] && rsync $RsyncParams "$Source/fedora/linux/1/x86_64/wstearns/packages/*.rpm" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" $RsyncDelete [ -n "$fc_2_x86_64" ] && rsync $RsyncParams "$Source/fedora/linux/2/x86_64/wstearns/packages/*.rpm" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" $RsyncDelete ;; *) echo "Unknown module $ModuleName" ;; esac 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" nice yum-arch -q "$OneDir" & nice createrepo -q "$OneDir" & fi done echo "Repository headers created for $ModuleName, creating yum.conf.addme." URLBottom='fedora/linux/$releasever/$basearch/'"$ModuleName" echo >"$TopDir/yum.conf.addme.$ModuleName" echo "#Please change fedora to redhat if upgrading redhat." >>"$TopDir/yum.conf.addme.$ModuleName" echo "[$ModuleName]" >>"$TopDir/yum.conf.addme.$ModuleName" echo "name=$Name" >>"$TopDir/yum.conf.addme.$ModuleName" echo -n "baseurl=" >>"$TopDir/yum.conf.addme.$ModuleName" for OneTop in $URLTop ; do echo "$URLTop/$URLBottom" >>"$TopDir/yum.conf.addme.$ModuleName" done echo >>"$TopDir/yum.conf.addme.$ModuleName" echo "Yum.conf.addme created for $ModuleName" done for RepDir in \ `[ -n "$rh_73_i386" ] && echo "$TopDir/redhat/linux/7.3/i386/"` \ `[ -n "$rh_9_i386" ] && echo "$TopDir/redhat/linux/9/i386/"` \ `[ -n "$fc_1_i386" ] && echo "$TopDir/fedora/linux/1/i386/"` \ `[ -n "$fc_2_i386" ] && echo "$TopDir/fedora/linux/2/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/"` \ ; 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 echo Waiting for last directory indexes to finish. wait cat "$TopDir"/yum.conf.addme.* >"$TopDir"/yum.conf.addme if [ -x /usr/bin/freedups ]; 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 #No access allowed to fedora mirror 'linux.nssl.noaa.gov::fedora/core/' #mirror.physics.ncsu.edu::whitebox/ #mirror.dulug.duke.edu #Fedora mirrors #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 #rsync://linux.nssl.noaa.gov/fedora/core/ #rsync://mirror.cs.wisc.edu/pub/mirrors/linux/download.fedora.redhat.com/pub/fedora/linux/core/ #rsync://mirrors.kernel.org/fedora/core/ #rsync://ftp.muug.mb.ca/pub/fedora/linux/core/ #rsync://www.las.ic.unicamp.br/pub/fedora/ #rsync://ftp.univie.ac.at/fedora/ #rsync://ftp.belnet.be/packages/fedora/ #rsync://sunsite.mff.cuni.cz/fedora/fedora/ #rsync://ftp.fi.muni.cz/pub/linux/fedora/linux/core/ #rsync://ftp.crihan.fr::fedora-linux-core/ #rsync://rsync.uni-bayreuth.de/fedora-linux-core/ #rsync://ftp.join.uni-muenster.de/fedora-linux-core/ #rsync://ftp.rhnet.is/pub/fedora/ #rsync://ftp.heanet.ie/pub/fedora/linux/core/ #rsync://ftp.esat.net/ftp/pub/linux/fedora/ #rsync://ftp.nluug.nl/fedora #rsync://ftp.surfnet.nl/fedora #rsync://sunsite.icm.edu.pl/fedora/linux/core/ #rsync://ftp.iasi.roedu.net/fedora.redhat.com/core/ #rsync://ftp.udl.es/ #rsync://zeniiia.linux.org.uk/fedora-linux-core/ #rsync://rsync.mirrorservice.org/download.fedora.redhat.com/pub/fedora/linux/core/ #rsync://ftp.sfc.wide.ad.jp/fedora/ #rsync://ftp.kddilabs.jp/fedora/ #rsync://ftp.kreonet.re.kr/fedora/core/ #rsync://rsync.oss.eznetsols.org/ftp/linux/fedora/