[pacman-dev] [PATCH] rankmirrors: Add a --repo option to target a specific repo
Daenyth
daenyth at gmail.com
Sat May 15 10:27:50 EDT 2010
Signed-off-by: Daenyth <Daenyth+Arch at gmail.com>
---
scripts/rankmirrors.sh.in | 19 ++++++++++++++-----
1 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/scripts/rankmirrors.sh.in b/scripts/rankmirrors.sh.in
index d5cbadd..9b4e973 100644
--- a/scripts/rankmirrors.sh.in
+++ b/scripts/rankmirrors.sh.in
@@ -35,6 +35,7 @@ usage() {
echo " -t, --times only output mirrors and their response times"
echo " -u, --url test a specific url"
echo " -v, --verbose be verbose in ouptut"
+ echo " -r, --repo specify a specific repo name instead of guessing"
exit 0
}
@@ -69,13 +70,18 @@ ARCH="$(uname -m)"
getfetchurl() {
local strippedurl="${1%/}"
- local replacedurl="${strippedurl//'$repo'/core}"
- replacedurl="${replacedurl//'$arch'/$ARCH}"
+ local replacedurl="${replacedurl//'$arch'/$ARCH}"
+ if [[ ! $TARGETREPO ]]; then
+ replacedurl="${strippedurl//'$repo'/core}"
+ local tmp="${replacedurl%/*}"
+ tmp="${tmp%/*}"
- local tmp="${replacedurl%/*}"
- tmp="${tmp%/*}"
+ local reponame="${tmp##*/}"
+ else
+ replacedurl="${strippedurl//'$repo'/$TARGETREPO}"
+ local reponame="$TARGETREPO"
+ fi
- local reponame="${tmp##*/}"
if [[ -z $reponame || $reponame = $replacedurl ]]; then
echo "fail"
else
@@ -119,6 +125,7 @@ while [[ $1 ]]; do
times) TIMESONLY=1 ; shift ;;
verbose) VERBOSE=1 ; shift ;;
url) CHECKURL=1; [[ $2 ]] || err "Must specify url."; URL="$2"; shift 2;;
+ repo) [[ $2 ]] || err "Must specify repo name."; TARGETREPO="$2"; shift 2;;
*) err "\`$1' is an invalid argument."
esac
elif [[ ${1:0:1} = - ]]; then
@@ -136,6 +143,7 @@ while [[ $1 ]]; do
t) TIMESONLY=1 ;;
v) VERBOSE=1 ;;
u) CHECKURL=1; [[ $2 ]] || err "Must specify url."; URL="$2"; snum=2;;
+ r) [[ $2 ]] || err "Must specify repo name."; TARGETREPO="$2"; snum=2;;
n) [[ $2 ]] || err "Must specify number." ; NUM="$2" ; snum=2;;
*) err "\`-$1' is an invald argument." ;;
esac
@@ -182,6 +190,7 @@ for line in "${linearray[@]}"; do
# Getting values and times and such
server="${line#*= }"
+ server="${server%%#*}"
url="$(getfetchurl "$server")"
[[ $url = fail ]] && err "url \`$URL' is malformed."
time=$(gettime "$url")
--
1.7.1
More information about the pacman-dev
mailing list