#!/bin/bash #Copyright 2004, William Stearns #Released under the GPL #Version 1.10 #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 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 (or dir+spec) that holds the rpms #$3 Dest dir on local system #$4 Additional rsync params Source=`randomof $1` $RS "$Source/$2" "$3" --exclude-from="$3/excluded-files" $4 || debug "Failed pull from $Source/$2 to $3" } 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 freedups >/dev/null 2>/dev/null ; then echo 'freedups script (part of freedups 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 if ! type -path htmlfilelist >/dev/null 2>/dev/null ; then echo 'htmlfilelist script (part of htmlfilelist package) strongly recommended,' >&2 echo 'please install.' >&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.' >&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_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='DISTRONAME 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" #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='DISTRONAME Linux $releasever - $basearch - ccrma' 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='DISTRONAME 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='DISTRONAME 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='DISTRONAME 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='DISTRONAME 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" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" fi ;; freshrpms) Name='DISTRONAME 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='DISTRONAME 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='DISTRONAME 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='DISTRONAME 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='DISTRONAME 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='DISTRONAME 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='DISTRONAME 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='DISTRONAME 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" 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." #FIXME - make distro specific files in each distro dir if [ -n "$rh_73_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 if [ -n "$fc_1_i386$fc_2_i386$fc_1_x86_64$fc_2_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 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 "$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 fi echo Waiting for last directory indexes to finish. wait cat "$TopDir"/yum.conf.addme.* >"$TopDir"/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