#!/bin/bash #Copyright 2004, William Stearns #Released under the GPL #Version 1.9 #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.' 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, extras, freshrpms,' echo 'jpackage, livna, newrpms, openpkg, updates, wstearns, ximian, or' echo '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 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 createrepo >/dev/null 2>/dev/null ; then echo 'createrepo script (part of createrepo package) strongly recommended,' >&2 echo 'please install.' >&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.' >&2 fi requireutil cat 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 extras freshrpms jpackage livna newrpms openpkg updates wstearns ximian" ;; 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|extras|freshrpms|jpackage|livna|newrpms|openpkg|updates|wstearns|ximian) 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 extras freshrpms jpackage livna newrpms openpkg updates wstearns ximian" 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 #Rsync command and parameters RS=' rsync -a -q -L -H --timeout=240 --exclude .src.rpm --exclude debug/ --exclude headers/ --exclude repodata/ --exclude SRPMS ' #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 "$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_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 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_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 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/' 'rsync://www.mirrorservice.org/download.atrpms.net/'` echo "Pulling from $Source" #It appears x86_64 is only available on fc2. 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. [ -n "$rh_73_i386" ] && $RS $Source/redhat/7.3/en/i386/at-good/* "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/excluded-files" [ -n "$rh_73_i386" ] && $RS $Source/redhat/7.3/en/i386/at-stable/* "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/excluded-files" [ -n "$rh_9_i386" ] && $RS $Source/redhat/9/en/i386/at-good/* "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$rh_9_i386" ] && $RS $Source/redhat/9/en/i386/at-stable/* "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_i386" ] && $RS $Source/fedora/1/en/i386/RPMS.at-good/* "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_i386" ] && $RS $Source/fedora/1/en/i386/RPMS.at-stable/* "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS $Source/fedora/2/en/i386/RPMS.at-good/* "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS $Source/fedora/2/en/i386/RPMS.at-stable/* "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && $RS $Source/fedora/1/en/i386/RPMS.at-good/* "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_x86_64" ] && $RS $Source/fedora/1/en/i386/RPMS.at-stable/* "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" fi [ -n "$fc_2_x86_64" ] && $RS $Source/fedora/2/en/x86_64/RPMS.at-good/* "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" [ -n "$fc_2_x86_64" ] && $RS $Source/fedora/2/en/x86_64/RPMS.at-stable/* "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" ;; 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" ] && $RS $RD "$Source/1/i386/*" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS $RD "$Source/2/i386/*" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && $RS $RD "$Source/1/i386/*" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && $RS $RD "$Source/2/i386/*" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" fi ;; 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" ] && $RS $RD "$Source/redhat/7.3/os/i386/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/excluded-files" [ -n "$rh_9_i386" ] && $RS $RD "$Source/redhat/9/os/i386/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" 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" ] && $RS $RD "$Source/1/i386/os/Fedora/RPMS/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS $RD "$Source/2/i386/os/Fedora/RPMS/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_x86_64" ] && $RS $RD "$Source/1/x86_64/os/Fedora/RPMS/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" [ -n "$fc_2_x86_64" ] && $RS $RD "$Source/2/x86_64/os/Fedora/RPMS/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" ;; dag) Name='Fedora Linux $releasever - $basearch - dag' Source=`randomof 'apt.sw.be::pub/freshrpms/pub/dag/' 'ftp.heanet.ie::mirrors/ftp.freshrpms.net/pub/dag/' 'rsync://www.mirrorservice.org/apt.sw.be/'` echo "Pulling from $Source" [ -n "$rh_73_i386" ] && $RS $RD "$Source/redhat/7.3/en/i386/RPMS.dag/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/excluded-files" [ -n "$rh_9_i386" ] && $RS $RD "$Source/redhat/9/en/i386/RPMS.dag/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_i386" ] && $RS $RD "$Source/fedora/1/en/i386/RPMS.dag/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS $RD "$Source/fedora/2/en/i386/RPMS.dag/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && $RS $RD "$Source/fedora/1/en/i386/RPMS.dag/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" fi [ -n "$fc_2_x86_64" ] && $RS $RD "$Source/fedora/2/en/x86_64/RPMS.dag/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" ;; 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/' 'rsync://www.mirrorservice.org/apt.sw.be/dries/'` echo "Pulling from $Source" [ -n "$rh_9_i386" ] && $RS $RD "$Source/redhat/9/en/i386/RPMS.dries/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_i386" ] && $RS $RD "$Source/fedora/fc1/i386/RPMS.dries/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS $RD "$Source/fedora/fc2/i386/RPMS.dries/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && $RS $RD "$Source/fedora/fc1/i386/RPMS.dries/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && $RS $RD "$Source/fedora/fc2/i386/RPMS.dries/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" fi ;; extras) #http://www.fedora.us Name='Fedora Linux $releasever - $basearch - extras' Source=`randomof '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/'` echo "Pulling from $Source" [ -n "$rh_9_i386" ] && $RS $RD "$Source/redhat/9/i386/RPMS.stable/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_i386" ] && $RS $RD "$Source/fedora/1/i386/RPMS.stable/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS $RD "$Source/fedora/2/i386/RPMS.stable/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && $RS $RD "$Source/fedora/1/i386/RPMS.stable/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && $RS $RD "$Source/fedora/2/i386/RPMS.stable/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" fi ;; 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/' 'rsync://www.mirrorservice.org/ftp.freshrpms.net/pub/freshrpms/'` echo "Pulling from $Source" [ -n "$rh_73_i386" ] && $RS $RD "$Source/redhat/7.3/*/*.rpm" "$TopDir/fedora/linux/7.3/i386/$ModuleName/packages/" --exclude='*.x86_64.*' --exclude-from="$TopDir/fedora/linux/7.3/i386/$ModuleName/packages/excluded-files" [ -n "$rh_9_i386" ] && $RS $RD "$Source/redhat/9/*/*.rpm" "$TopDir/fedora/linux/9/i386/$ModuleName/packages/" --exclude='*.x86_64.*' --exclude-from="$TopDir/fedora/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_i386" ] && $RS $RD "$Source/fedora/linux/1/*/*.rpm" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude='*.x86_64.*' --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS $RD "$Source/fedora/linux/2/*/*.rpm" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude='*.x86_64.*' --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_x86_64" ] && $RS $RD "$Source/fedora/linux/1/*/*.rpm" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude='*.i386.*' --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" [ -n "$fc_2_x86_64" ] && $RS $RD "$Source/fedora/linux/2/*/*.rpm" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude='*.i386.*' --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" ;; 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" ] && $RS "$Source/1.0/generic/RPMS.free/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/excluded-files" [ -n "$rh_73_i386" ] && $RS "$Source/1.5/redhat-7.3/RPMS.free/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/excluded-files" [ -n "$rh_73_i386" ] && $RS "$Source/1.5/generic/RPMS.devel/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/excluded-files" [ -n "$rh_9_i386" ] && $RS "$Source/1.0/generic/RPMS.free/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$rh_9_i386" ] && $RS "$Source/1.5/redhat-9/RPMS.free/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$rh_9_i386" ] && $RS "$Source/1.5/generic/RPMS.devel/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_i386" ] && $RS "$Source/1.0/generic/RPMS.free/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_i386" ] && $RS "$Source/1.5/fedora-1/RPMS.free/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_i386" ] && $RS "$Source/1.5/generic/RPMS.devel/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS "$Source/1.0/generic/RPMS.free/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS "$Source/1.5/fedora-2/RPMS.free/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS "$Source/1.5/generic/RPMS.devel/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && $RS "$Source/1.0/generic/RPMS.free/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_x86_64" ] && $RS "$Source/1.5/fedora-1/RPMS.free/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_x86_64" ] && $RS "$Source/1.5/generic/RPMS.devel/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && $RS "$Source/1.0/generic/RPMS.free/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && $RS "$Source/1.5/fedora-2/RPMS.free/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && $RS "$Source/1.5/generic/RPMS.devel/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" fi ;; livna) Name='Fedora Linux $releasever - $basearch - livna' Source=`randomof 'rsync://rpm.livna.org/rlo/'` echo "Pulling from $Source" [ -n "$rh_9_i386" ] && $RS $RD "$Source/redhat/9/i386/RPMS.stable/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_i386" ] && $RS $RD "$Source/fedora/1/i386/RPMS.stable/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS $RD "$Source/fedora/2/i386/RPMS.stable/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && $RS $RD "$Source/fedora/1/i386/RPMS.stable/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" fi [ -n "$fc_2_x86_64" ] && $RS $RD "$Source/fedora/2/x86_64/RPMS.stable/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" ;; newrpms) Name='Fedora Linux $releasever - $basearch - newrpms' Source=`randomof 'rsync://newrpms.sunsite.dk/projects/newrpms/www/htdocs/apt/'` echo "Pulling from $Source" [ -n "$rh_9_i386" ] && $RS $RD "$Source/redhat/en/i386/9.0/RPMS.newrpms/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_i386" ] && $RS $RD "$Source/redhat/en/i386/fc1/RPMS.newrpms//" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS $RD "$Source/redhat/en/i386/fc2/RPMS.newrpms//" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && $RS $RD "$Source/redhat/en/i386/fc1/RPMS.newrpms//" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && $RS $RD "$Source/redhat/en/i386/fc2/RPMS.newrpms//" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" fi ;; openpkg) Name='Fedora Linux $releasever - $basearch - openpkg' Source=`randomof 'rsync://rsync.openpkg.org/openpkg-ftp/release/'` echo "Pulling from $Source" [ -n "$fc_2_i386" ] && $RS "$Source/2.2/BIN/ix86-fedora2/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" #Hmmm. Are updates to openpkg source only? [ -n "$fc_2_i386" ] && $RS "$Source/2.2/UPD/ix86-fedora2/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" if [ -n "$OpteronFallback" ]; then [ -n "$fc_2_x86_64" ] && $RS "$Source/2.2/BIN/ix86-fedora2/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && $RS "$Source/2.2/UPD/ix86-fedora2/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" fi ;; 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" ] && $RS $RD "$Source/redhat/7.3/updates/i386/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/excluded-files" [ -n "$rh_9_i386" ] && $RS $RD "$Source/redhat/9/updates/i386/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_i386" ] && $RS $RD "$Source/fedora/1/updates/i386/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_x86_64" ] && $RS $RD "$Source/fedora/1/updates/x86_64/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" 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" ] && $RS $RD "$Source/updates/2/i386/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_x86_64" ] && $RS $RD "$Source/updates/2/x86_64/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" ;; wstearns) Name='Fedora Linux $releasever - $basearch - wstearns' Source=`randomof 'zaphod.stearns.org::wstearns/yum/'` echo "Pulling from $Source" [ -n "$rh_73_i386" ] && $RS $RD "$Source/redhat/linux/7.3/i386/wstearns/packages/*.rpm" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/excluded-files" [ -n "$rh_9_i386" ] && $RS $RD "$Source/redhat/linux/9/i386/wstearns/packages/*.rpm" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_i386" ] && $RS $RD "$Source/fedora/linux/1/i386/wstearns/packages/*.rpm" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS $RD "$Source/fedora/linux/2/i386/wstearns/packages/*.rpm" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_x86_64" ] && $RS $RD "$Source/fedora/linux/1/x86_64/wstearns/packages/*.rpm" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" [ -n "$fc_2_x86_64" ] && $RS $RD "$Source/fedora/linux/2/x86_64/wstearns/packages/*.rpm" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" ;; ximian) Name='Fedora Linux $releasever - $basearch - ximian' Source=`randomof 'rsync://rsync.secsup.org/ximian/' 'rsync://www.mirrorservice.org/ftp.ximian.com/pub/'` echo "Pulling from $Source" [ -n "$rh_73_i386" ] && $RS "$Source/xd2/redhat-73-i386/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/excluded-files" [ -n "$rh_73_i386" ] && $RS "$Source/redcarpet22/redhat-73-i386/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/excluded-files" [ -n "$rh_9_i386" ] && $RS "$Source/xd2/redhat-9-i386/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$rh_9_i386" ] && $RS "$Source/redcarpet2/redhat-9-i386/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" --exclude-from="$TopDir/redhat/linux/9/i386/$ModuleName/packages/excluded-files" [ -n "$fc_1_i386" ] && $RS "$Source/redcarpet2/fedora-1-i386/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/i386/$ModuleName/packages/excluded-files" [ -n "$fc_2_i386" ] && $RS "$Source/redcarpet2/fedora-2-i386/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/i386/$ModuleName/packages/excluded-files" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && $RS "$Source/redcarpet2/fedora-1-i386/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && $RS "$Source/redcarpet2/fedora-2-i386/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --exclude-from="$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" fi ;; *) echo "Unknown module $ModuleName" ;; esac if type -path repomanage.py >/dev/null 2>/dev/null ; then #Remove old RPMS cd "$TopDir" for OneDir in */linux/*/*/$ModuleName/packages/ ; do cd "$OneDir" TFile=`mktemp -q /tmp/yum-pull.XXXXXX` || exit 1 ( cat excluded-files 2>/dev/null ; nice 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" 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" #FIXME 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 "$OneTop/$URLBottom" >>"$TopDir/yum.conf.addme.$ModuleName" done echo >>"$TopDir/yum.conf.addme.$ModuleName" 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 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