#!/bin/bash #Copyright 2004, William Stearns #Released under the GPL #Version 1.11 #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_3_i386, fc_1_x86_64, fc_2_x86_64, ' echo 'fc_3_x86_64, 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, local, newrpms, openpkg, updates, wstearns, ximian, or' echo 'allmodules.' echo echo 'Optional param: "bwlimit NNNNN" specifies the maximum bandwidth to ' echo 'use, measured in kilobytes/sec. NNNNN should be digits only.' echo echo 'urltop is the start of the URL clients would need to type in to get to' echo 'these files, such as ftp://ftp.server/pub/ , http://web.server/mirror/ ,' echo 'or file:///mnt/nfsmirror/yum/ . Whatever you specify should have the' echo 'fedora 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 on rsync source (or dir+spec) that holds the rpms #$3 Dest dir on local system #$4 Additional rsync params State='' Pass=1 while [ "$State" != "passed" -a $Pass -le 3 ]; do Source=`randomof $1` echo "Pulling from $Source" case "$Source" in rsync://*) if $RS $4 `[ -n "$BWLimit" ] && echo "--bwlimit=$BWLimit"` "$Source/$2" "$3" --exclude-from="$3/excluded-files" ; then State='passed' debug "Succeeded in pull from $Source/$2 to $3" else State='failed' debug "Failed pull from $Source/$2 to $3" fi ;; #ftp://*) # wget --mirror ......... `[ -n "$BWLimit ] && echo '--limit-rate='"$BWLimit"'k'` ......................... # ;; *) echo "Unhandled retrieval URL $Source" >&2 ;; esac Pass=$[ $Pass + 1 ] done } if ! type -path createrepo >/dev/null 2>/dev/null ; then echo 'createrepo script (part of createrepo package) strongly recommended,' >&2 echo 'please install; perhaps:' >&2 echo 'yum install createrepo' >&2 fi if ! type -path freedups >/dev/null 2>/dev/null ; then echo 'freedups script (part of freedups package) strongly recommended,' >&2 echo 'please install; perhaps:' >&2 echo 'yum install freedups' >&2 fi if ! type -path genbasedir >/dev/null 2>/dev/null ; then echo 'genbasedir script (part of apt package) strongly recommended,' >&2 echo 'please install; perhaps:' >&2 echo 'yum install apt' >&2 fi if ! type -path htmlfilelist >/dev/null 2>/dev/null ; then echo 'htmlfilelist script (part of htmlfilelist package) strongly recommended,' >&2 echo 'please install; perhaps:' >&2 echo 'yum install htmlfilelist' >&2 fi if ! type -path repomanage.py >/dev/null 2>/dev/null ; then echo 'repomanage.py script strongly recommended; please pull from:' >&2 echo 'http://linux.duke.edu/projects/yum/download/misc/repomanage.py' >&2 fi if ! type -path yum-arch >/dev/null 2>/dev/null ; then echo 'yum-arch script (part of yum package) strongly recommended,' >&2 echo 'please install; perhaps:' >&2 echo 'apt-get install yum' >&2 fi requireutil cat grep ln mkdir mv nice renice rm rsync sed sort touch uniq || exit 1 if [ -z "$1" ]; then Usage exit 1 fi while [ -n "$1" ]; do case "$1" in allarch) fc_1_i386='fc_1_i386' fc_2_i386='fc_2_i386' fc_3_i386='fc_3_i386' fc_1_x86_64='fc_1_x86_64' fc_2_x86_64='fc_2_x86_64' fc_3_x86_64='fc_3_x86_64' rh_73_i386='rh_73_i386' rh_9_i386='rh_9_i386' ;; allmodules) ModList="updates core atrpms ccrma dag dries extras freshrpms jpackage livna local newrpms openpkg wstearns ximian" ;; bwlimit) if [ -n "$2" ]; then BWLimit="$2" shift else echo "Please supply a bandwidth limit number (digits only, measured in kilobytes/sec) as the parameter after 'bwlimit', exiting." >&2 exit 1 fi ;; fc_1_i386) fc_1_i386='fc_1_i386' ;; fc_2_i386) fc_2_i386='fc_2_i386' ;; fc_3_i386) fc_3_i386='fc_3_i386' ;; fc_1_x86_64) fc_1_x86_64='fc_1_x86_64' ;; fc_2_x86_64) fc_2_x86_64='fc_2_x86_64' ;; fc_3_x86_64) fc_3_x86_64='fc_3_x86_64' ;; 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|local|newrpms|openpkg|updates|wstearns|ximian) ModList="$ModList $1" ;; fedora) ModList="$ModList updates core" fc_1_i386='fc_1_i386' fc_2_i386='fc_2_i386' fc_3_i386='fc_3_i386' fc_1_x86_64='fc_1_x86_64' fc_2_x86_64='fc_2_x86_64' fc_3_x86_64='fc_3_x86_64' ;; redhat) ModList="$ModList updates core" rh_73_i386='rh_73_i386' rh_9_i386='rh_9_i386' ;; file://*|http://*|ftp://*) URLTop="$URLTop $1" ;; /*) if [ -z "$TopDir" ]; then TopDir="$1" else echo "One of \"$TopDir\" or \"$1\" is unknown, or top level directory" echo "is being defined twice. Exiting." exit 1 fi ;; *) echo "Unknown param $1. Exiting" exit 1 ;; esac shift done if [ -z "$fc_1_i386$fc_2_i386$fc_3_i386$fc_1_x86_64$fc_2_x86_64$fc_3_x86_64$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="updates core atrpms ccrma dag dries extras freshrpms jpackage livna local newrpms openpkg wstearns ximian" fi echo "Requested modules: $ModList" echo "Requested architectures:" "$fc_1_i386" "$fc_2_i386" "$fc_3_i386" "$fc_1_x86_64" "$fc_2_x86_64" "$fc_3_x86_64" "$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 .html --exclude debug/ --exclude headers/ --exclude repodata/ --exclude SRPMS --exclude dosutils/ --exclude images/ --exclude isolinux/' #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_3_i386" ]; then Changed="$Changed $TopDir/fedora/linux/3/i386/$ModuleName/" mkdir -p "$TopDir"/fedora/linux/3/i386/$ModuleName/packages/ touch "$TopDir"/fedora/linux/3/i386/$ModuleName/packages/excluded-files ( cd "$TopDir"/fedora/linux/3/i386/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi if [ -n "$fc_1_x86_64" ]; then Changed="$Changed $TopDir/fedora/linux/1/x86_64/$ModuleName/" mkdir -p "$TopDir"/fedora/linux/1/x86_64/$ModuleName/packages/ touch "$TopDir"/fedora/linux/1/x86_64/$ModuleName/packages/excluded-files ( cd "$TopDir"/fedora/linux/1/x86_64/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi if [ -n "$fc_2_x86_64" ]; then Changed="$Changed $TopDir/fedora/linux/2/x86_64/$ModuleName/" mkdir -p "$TopDir"/fedora/linux/2/x86_64/$ModuleName/packages/ touch "$TopDir"/fedora/linux/2/x86_64/$ModuleName/packages/excluded-files ( cd "$TopDir"/fedora/linux/2/x86_64/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi if [ -n "$fc_3_x86_64" ]; then Changed="$Changed $TopDir/fedora/linux/3/x86_64/$ModuleName/" mkdir -p "$TopDir"/fedora/linux/3/x86_64/$ModuleName/packages/ touch "$TopDir"/fedora/linux/3/x86_64/$ModuleName/packages/excluded-files ( cd "$TopDir"/fedora/linux/3/x86_64/ && rm -f RPMS.$ModuleName && ln -sf $ModuleName/packages RPMS.$ModuleName ) fi echo "Downloading files for $ModuleName" case "$ModuleName" in atrpms) Name='DISTRONAME Linux $releasever - $basearch - atrpms' Sources='rsync://rsync.hrz.tu-chemnitz.de/ftp/pub/linux/ATrpms/ rsync://www.mirrorservice.org/download.atrpms.net/' #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" ] && GoGet "$Sources" /redhat/7.3/en/i386/at-good/ "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_73_i386" ] && GoGet "$Sources" /redhat/7.3/en/i386/at-stable/ "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && GoGet "$Sources" /redhat/9/en/i386/at-good/ "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && GoGet "$Sources" /redhat/9/en/i386/at-stable/ "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$fc_1_i386" ] && GoGet "$Sources" /fedora/1/en/i386/RPMS.at-good/ "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_i386" ] && GoGet "$Sources" /fedora/1/en/i386/RPMS.at-stable/ "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && GoGet "$Sources" /fedora/2/en/i386/RPMS.at-good/ "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && GoGet "$Sources" /fedora/2/en/i386/RPMS.at-stable/ "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" /fedora/3/en/i386/RPMS.at-good/ "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" /fedora/3/en/i386/RPMS.at-stable/ "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" /fedora/1/en/i386/RPMS.at-good/ "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_x86_64" ] && GoGet "$Sources" /fedora/1/en/i386/RPMS.at-stable/ "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" fi [ -n "$fc_2_x86_64" ] && GoGet "$Sources" /fedora/2/en/x86_64/RPMS.at-good/ "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" /fedora/2/en/x86_64/RPMS.at-stable/ "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" /fedora/3/en/x86_64/RPMS.at-good/ "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" /fedora/3/en/x86_64/RPMS.at-stable/ "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" ;; ccrma) Name='DISTRONAME Linux $releasever - $basearch - ccrma' Sources='rsync://ftp.upjs.sk/ftp/pub/mirrors/planet.ccrma/' [ -n "$fc_1_i386" ] && GoGet "$Sources" "/1/i386/*" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/2/i386/*" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/3/i386/*" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/1/i386/*" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/2/i386/*" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/3/i386/*" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/3/i386/$ModuleName/packages/" fi ;; core) Name='DISTRONAME Linux $releasever - $basearch - core' Sources='rsync://rsync.planetmirror.com/fedoralegacy/ rsync://mirror.pacific.net.au/fedoralegacy/ rsync://mirror.cpsc.ucalgary.ca/fedoralegacy/ rsync://ftp.tecnoera.com/ftp/pub/fedora/legacy/ rsync://ftp.fi.muni.cz/pub/linux/fedora/legacy/ rsync://rsync.mirror.ac.uk/download.fedoralegacy.org/legacy/ rsync://rsync.uni-bayreuth.de/fedoralegacy/ rsync://ftp-stud.fht-esslingen.de/fedoralegacy/ rsync://ftp.heanet.ie/mirrors/download.fedoralegacy.org/ rsync://rm.mirror.garr.it/fedoralegacy/ rsync://ftp.kddilabs.jp/fedora.leagacy/ rsync://ftp.riken.go.jp/fedoralegacy/ rsync://gnu.kookel.org/mirrors/fedoralegacy/ rsync://ftp.uninett.no/linux/RedHat/fedora-legacy/ rsync://ftp.iasi.roedu.net/fedoralegacy/ rsync://sunsite.rediris.es/fedora.legacy/ rsync://mirror3.cs.wisc.edu/pub/mirrors/linux/download.fedoralegacy.org/ rsync://rsync.gtlib.cc.gatech.edu/fedoralegacy/ rsync://mirror.physics.ncsu.edu/fedoralegacy/ rsync://limestone.uoregon.edu/ftp/fedoralegacy/' [ -n "$rh_73_i386" ] && GoGet "$Sources" "/redhat/7.3/os/i386/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" "$RD" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/9/os/i386/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" Sources='rsync://mirror.linux.duke.edu/fedora-linux-core/ rsync://distro.ibiblio.org/fedora-linux-core/ rsync://mirror.hiwaay.net/fedora-linux-core/ rsync://rpmfind.net/linux/fedora/core/ rsync://rsync.gtlib.cc.gatech.edu/fedora-linux-core/' [ -n "$fc_1_i386" ] && GoGet "$Sources" "/1/i386/os/Fedora/RPMS/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/2/i386/os/Fedora/RPMS/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/3/i386/os/Fedora/RPMS/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/1/x86_64/os/Fedora/RPMS/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/2/x86_64/os/Fedora/RPMS/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/3/x86_64/os/Fedora/RPMS/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD" ;; dag) Name='DISTRONAME Linux $releasever - $basearch - dag' Sources='rsync://apt.sw.be/pub/freshrpms/pub/dag/ rsync://ftp.heanet.ie/mirrors/ftp.freshrpms.net/pub/dag/ rsync://www.mirrorservice.org/apt.sw.be/' [ -n "$rh_73_i386" ] && GoGet "$Sources" "/redhat/7.3/en/i386/RPMS.dag/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" "$RD" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/9/en/i386/RPMS.dag/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/fedora/1/en/i386/RPMS.dag/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/fedora/2/en/i386/RPMS.dag/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/fedora/3/en/i386/RPMS.dag/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/fedora/1/en/i386/RPMS.dag/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/1/i386/$ModuleName/packages/" fi [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/fedora/2/en/x86_64/RPMS.dag/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/fedora/3/en/x86_64/RPMS.dag/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD" ;; dries) Name='DISTRONAME Linux $releasever - $basearch - dries' Sources='rsync://apt.sw.be/pub/freshrpms/pub/dag/dries/ rsync://ftp.heanet.ie/mirrors/ftp.freshrpms.net/pub/dag/dries/ rsync://www.mirrorservice.org/apt.sw.be/dries/' [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/9/en/i386/RPMS.dries/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/fedora/fc1/i386/RPMS.dries/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/fedora/fc2/i386/RPMS.dries/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/fedora/fc3/i386/RPMS.dries/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/fedora/fc1/i386/RPMS.dries/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/fedora/fc2/i386/RPMS.dries/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/fedora/fc3/i386/RPMS.dries/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/3/i386/$ModuleName/packages/" fi ;; extras) #http://www.fedora.us Name='DISTRONAME Linux $releasever - $basearch - extras' Sources='rsync://mirrors.kernel.org/fedora.us/fedora/ rsync://sunsite.mff.cuni.cz/fedora.us/fedora/ rsync://ftp-stud.fht-esslingen.de/fedora/ rsync://ftp.iasi.roedu.net/fedora/fedora/' [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/9/i386/RPMS.stable/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/fedora/1/i386/RPMS.stable/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/fedora/2/i386/RPMS.stable/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/fedora/3/i386/RPMS.stable/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/fedora/1/i386/RPMS.stable/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/fedora/2/i386/RPMS.stable/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/fedora/3/i386/RPMS.stable/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/3/i386/$ModuleName/packages/" fi ;; freshrpms) Name='DISTRONAME Linux $releasever - $basearch - freshrpms' Sources='rsync://rsync.freshrpms.net/freshrpms/ rsync://apt.sw.be/pub/freshrpms/pub/freshrpms/ rsync://ftp.heanet.ie/mirrors/ftp.freshrpms.net/pub/freshrpms/ rsync://www.mirrorservice.org/ftp.freshrpms.net/pub/freshrpms/' [ -n "$rh_73_i386" ] && GoGet "$Sources" "/redhat/7.3/*/*.rpm" "$TopDir/fedora/linux/7.3/i386/$ModuleName/packages/" "$RD --exclude='*.x86_64.*'" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/9/*/*.rpm" "$TopDir/fedora/linux/9/i386/$ModuleName/packages/" "$RD --exclude='*.x86_64.*'" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/fedora/linux/1/*/*.rpm" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD --exclude='*.x86_64.*'" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/fedora/linux/2/*/*.rpm" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD --exclude='*.x86_64.*'" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/fedora/linux/3/*/*.rpm" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD --exclude='*.x86_64.*'" [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/fedora/linux/1/*/*.rpm" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD --exclude='*.i386.*'" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/fedora/linux/2/*/*.rpm" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD --exclude='*.i386.*'" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/fedora/linux/3/*/*.rpm" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD --exclude='*.i386.*'" ;; jpackage) Name='DISTRONAME Linux $releasever - $basearch - jpackage' Sources='rsync://sunsite.dk/jpackage/ rsync://rsync.planetmirror.com/jpackage/ rsync://rpm.pbone.net/pbone/pub/jpackage/' [ -n "$rh_73_i386" ] && GoGet "$Sources" "/1.0/generic/RPMS.free/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_73_i386" ] && GoGet "$Sources" "/1.5/redhat-7.3/RPMS.free/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_73_i386" ] && GoGet "$Sources" "/1.5/generic/RPMS.devel/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/1.0/generic/RPMS.free/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/1.5/redhat-9/RPMS.free/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/1.5/generic/RPMS.devel/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/1.0/generic/RPMS.free/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/1.5/fedora-1/RPMS.free/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/1.5/generic/RPMS.devel/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/1.0/generic/RPMS.free/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/1.5/fedora-2/RPMS.free/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/1.5/generic/RPMS.devel/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/1.0/generic/RPMS.free/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/1.5/fedora-3/RPMS.free/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/1.5/generic/RPMS.devel/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/1.0/generic/RPMS.free/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/1.5/fedora-1/RPMS.free/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/1.5/generic/RPMS.devel/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/1.0/generic/RPMS.free/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/1.5/fedora-2/RPMS.free/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/1.5/generic/RPMS.devel/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/1.0/generic/RPMS.free/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/3/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/1.5/fedora-3/RPMS.free/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/3/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/1.5/generic/RPMS.devel/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/3/i386/$ModuleName/packages/" fi ;; livna) Name='DISTRONAME Linux $releasever - $basearch - livna' Sources='rsync://rpm.livna.org/rlo/' [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/9/i386/RPMS.stable/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/fedora/1/i386/RPMS.stable/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/fedora/2/i386/RPMS.stable/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/fedora/3/i386/RPMS.stable/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/fedora/1/i386/RPMS.stable/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/1/i386/$ModuleName/packages/" fi [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/fedora/2/x86_64/RPMS.stable/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/fedora/3/x86_64/RPMS.stable/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD" ;; local) Name='DISTRONAME Linux $releasever - $basearch - local' #Nothing to download, just reindex ;; newrpms) Name='DISTRONAME Linux $releasever - $basearch - newrpms' Sources='rsync://newrpms.sunsite.dk/projects/newrpms/www/htdocs/apt/' [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/en/i386/9.0/RPMS.newrpms/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/redhat/en/i386/fc1/RPMS.newrpms//" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/redhat/en/i386/fc2/RPMS.newrpms//" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/redhat/en/i386/fc3/RPMS.newrpms//" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/redhat/en/i386/fc1/RPMS.newrpms//" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/redhat/en/i386/fc2/RPMS.newrpms//" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/redhat/en/i386/fc3/RPMS.newrpms//" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD --compare-dest=$TopDir/fedora/linux/3/i386/$ModuleName/packages/" fi ;; openpkg) Name='DISTRONAME Linux $releasever - $basearch - openpkg' Sources='rsync://rsync.openpkg.org/openpkg-ftp/release/' [ -n "$fc_2_i386" ] && GoGet "$Sources" "/2.2/BIN/ix86-fedora2/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/2.2/BIN/ix86-fedora3/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" #Hmmm. Are updates to openpkg source only? [ -n "$fc_2_i386" ] && GoGet "$Sources" "/2.2/UPD/ix86-fedora2/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/2.2/UPD/ix86-fedora3/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" if [ -n "$OpteronFallback" ]; then [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/2.2/BIN/ix86-fedora2/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/2.2/UPD/ix86-fedora2/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/2.2/BIN/ix86-fedora3/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/3/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/2.2/UPD/ix86-fedora3/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/3/i386/$ModuleName/packages/" fi ;; updates) Name='DISTRONAME Linux $releasever - $basearch - updates' Sources='rsync://rsync.planetmirror.com/fedoralegacy/ rsync://mirror.pacific.net.au/fedoralegacy/ rsync://mirror.cpsc.ucalgary.ca/fedoralegacy/ rsync://ftp.tecnoera.com/ftp/pub/fedora/legacy/ rsync://ftp.fi.muni.cz/pub/linux/fedora/legacy/ rsync://rsync.mirror.ac.uk/download.fedoralegacy.org/legacy/ rsync://rsync.uni-bayreuth.de/fedoralegacy/ rsync://ftp-stud.fht-esslingen.de/fedoralegacy/ rsync://ftp.heanet.ie/mirrors/download.fedoralegacy.org/ rsync://rm.mirror.garr.it/fedoralegacy/ rsync://ftp.kddilabs.jp/fedora.leagacy/ rsync://ftp.riken.go.jp/fedoralegacy/ rsync://gnu.kookel.org/mirrors/fedoralegacy/ rsync://ftp.uninett.no/linux/RedHat/fedora-legacy/ rsync://ftp.iasi.roedu.net/fedoralegacy/ rsync://sunsite.rediris.es/fedora.legacy/ rsync://mirror3.cs.wisc.edu/pub/mirrors/linux/download.fedoralegacy.org/ rsync://rsync.gtlib.cc.gatech.edu/fedoralegacy/ rsync://mirror.physics.ncsu.edu/fedoralegacy/ rsync://limestone.uoregon.edu/ftp/fedoralegacy/' [ -n "$rh_73_i386" ] && GoGet "$Sources" "/redhat/7.3/updates/i386/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" "$RD" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/9/updates/i386/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/fedora/1/updates/i386/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/fedora/1/updates/x86_64/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD" Sources='rsync://mirror.linux.duke.edu/fedora-linux-core/ rsync://distro.ibiblio.org/fedora-linux-core/ rsync://mirror.hiwaay.net/fedora-linux-core/ rsync://rpmfind.net/linux/fedora/core/ rsync://rsync.gtlib.cc.gatech.edu/fedora-linux-core/' [ -n "$fc_2_i386" ] && GoGet "$Sources" "/updates/2/i386/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/updates/2/x86_64/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/updates/3/i386/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/updates/3/x86_64/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD" ;; wstearns) Name='DISTRONAME Linux $releasever - $basearch - wstearns' Sources='rsync://zaphod.stearns.org/wstearns/yum/' [ -n "$rh_73_i386" ] && GoGet "$Sources" "/redhat/linux/7.3/i386/wstearns/packages/*.rpm" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" "$RD" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redhat/linux/9/i386/wstearns/packages/*.rpm" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" "$RD" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/fedora/linux/1/i386/wstearns/packages/*.rpm" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" "$RD" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/fedora/linux/2/i386/wstearns/packages/*.rpm" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" "$RD" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/fedora/linux/3/i386/wstearns/packages/*.rpm" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" "$RD" [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/fedora/linux/1/x86_64/wstearns/packages/*.rpm" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" "$RD" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/fedora/linux/2/x86_64/wstearns/packages/*.rpm" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" "$RD" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/fedora/linux/3/x86_64/wstearns/packages/*.rpm" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" "$RD" ;; ximian) Name='DISTRONAME Linux $releasever - $basearch - ximian' Sources='rsync://rsync.secsup.org/ximian/ rsync://www.mirrorservice.org/ftp.ximian.com/pub/' [ -n "$rh_73_i386" ] && GoGet "$Sources" "/xd2/redhat-73-i386/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_73_i386" ] && GoGet "$Sources" "/redcarpet22/redhat-73-i386/" "$TopDir/redhat/linux/7.3/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/xd2/redhat-9-i386/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$rh_9_i386" ] && GoGet "$Sources" "/redcarpet2/redhat-9-i386/" "$TopDir/redhat/linux/9/i386/$ModuleName/packages/" [ -n "$fc_1_i386" ] && GoGet "$Sources" "/redcarpet2/fedora-1-i386/" "$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_i386" ] && GoGet "$Sources" "/redcarpet2/fedora-2-i386/" "$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_i386" ] && GoGet "$Sources" "/redcarpet2/fedora-3-i386/" "$TopDir/fedora/linux/3/i386/$ModuleName/packages/" if [ -n "$OpteronFallback" ]; then [ -n "$fc_1_x86_64" ] && GoGet "$Sources" "/redcarpet2/fedora-1-i386/" "$TopDir/fedora/linux/1/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/1/i386/$ModuleName/packages/" [ -n "$fc_2_x86_64" ] && GoGet "$Sources" "/redcarpet2/fedora-2-i386/" "$TopDir/fedora/linux/2/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/2/i386/$ModuleName/packages/" [ -n "$fc_3_x86_64" ] && GoGet "$Sources" "/redcarpet2/fedora-3-i386/" "$TopDir/fedora/linux/3/x86_64/$ModuleName/packages/" --compare-dest="$TopDir/fedora/linux/3/i386/$ModuleName/packages/" fi ;; *) echo "Unknown module $ModuleName" ;; esac if type -path repomanage.py >/dev/null 2>/dev/null ; then #Remove old RPMS cd "$TopDir" #FIXME - Perhaps case by requested architectures so we don't repomanage every distro? for OneDir in */linux/*/*/$ModuleName/packages/ ; do cd "$OneDir" TFile=`mktemp -q /tmp/yum-pull.XXXXXX` || exit 1 ( cat excluded-files 2>/dev/null ; repomanage.py --old . | sed -e 's@.*/@@' | grep -v '^kernel' ) | sort | uniq >>"$TFile" mv -f "$TFile" excluded-files for OneFile in `cat excluded-files` ; do rm -f "$TopDir/$OneDir/$OneFile" done cd ../../../../../.. done fi cd "$TopDir" echo "Module $ModuleName pulled, creating repository information." for OneDir in $Changed ; do #echo "checking headers for $OneDir" if [ -d "$OneDir" ]; then rm -rf "$OneDir/.oldheaders" "$OneDir/.olddata" "$OneDir/.repodata" "$OneDir/.newheaders" #"$OneDir/headers" "$OneDir/newheaders" type -path yum-arch >/dev/null 2>/dev/null && nice yum-arch -q "$OneDir" & type -path createrepo >/dev/null 2>/dev/null && nice createrepo -q "$OneDir" & fi done echo "Repository headers created for $ModuleName, creating yum.conf.addme." if [ -n "$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_3_i386$fc_1_x86_64$fc_2_x86_64$fc_3_x86_64" ]; then URLBottom='fedora/linux/$releasever/$basearch/'"$ModuleName" echo >"$TopDir/fedora/yum.conf.addme.$ModuleName" echo "[$ModuleName]" >>"$TopDir/fedora/yum.conf.addme.$ModuleName" echo "name=$Name" | sed -e 's/DISTRONAME/Fedora/' >>"$TopDir/fedora/yum.conf.addme.$ModuleName" echo -n "baseurl=" >>"$TopDir/fedora/yum.conf.addme.$ModuleName" for OneTop in $URLTop ; do echo "$OneTop/$URLBottom" >>"$TopDir/fedora/yum.conf.addme.$ModuleName" done echo >>"$TopDir/fedora/yum.conf.addme.$ModuleName" fi 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_3_i386" ] && echo "$TopDir/fedora/linux/3/i386/"` \ `[ -n "$fc_1_x86_64" ] && echo "$TopDir/fedora/linux/1/x86_64/"` \ `[ -n "$fc_2_x86_64" ] && echo "$TopDir/fedora/linux/2/x86_64/"` \ `[ -n "$fc_3_x86_64" ] && echo "$TopDir/fedora/linux/3/x86_64/"` \ ; 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