dl-latest-src.sh revision 6474
6474N/A#!/bin/bash
6474N/A
6474N/Aif [ -z $1 ]; then
6474N/A echo "usage: $0 <specfile1> [specfile2 ...]"
6474N/A exit 1
6474N/Afi
6474N/A
6474N/Aexport http_proxy="webcache.uk.sun.com:8080"
6474N/APULL_NEW_TARBALLS=1
6474N/A
6474N/Awhile [ $# -ne 0 ]
6474N/Ado
6474N/A specfile=$1
6474N/A
6474N/A if [ -f $specfile ]; then
6474N/A NAME=$(grep "^Name:" $specfile | sed -e "s/Name:[\t ]*//")
6474N/A CURRENT=$(grep "^Version:" $specfile | sed -e "s/Version:[\t ]*//")
6474N/A SOURCE=$(grep "^Source:" $specfile | sed -e "s/Source:[\t ]*//")
6474N/A # Replace '%{Name}' with $NAME.
6474N/A SOURCE=$(echo $SOURCE | sed -e "s/\%{*[Nn]ame}*/${NAME}/g")
6474N/A SOURCE=$(dirname $SOURCE)
6474N/A
6474N/A proto=$(echo $SOURCE | cut -d ":" -f 1)
6474N/A if [ $proto != "http" -a $proto != "ftp" ]; then
6474N/A echo "Not fetching latest version for $NAME - can't use \"$SOURCE\""
6474N/A else
6474N/A LATEST=$(wget $SOURCE -O - 2>/dev/null | grep "LATEST-IS" | sed -e "s/.*LATEST-IS-\([0-9][0-9\.]*\).*/\1/")
6474N/A if [ -z $LATEST ]; then
6474N/A echo "Cannot get latest version of $NAME from \"$SOURCE/LATEST-IS*\""
6474N/A else
6474N/A if [ $LATEST = $CURRENT ]; then
6474N/A echo "Okay with $NAME-$LATEST"
6474N/A else if [ -z $PULL_NEW_TARBALLS ]; then
6474N/A echo "Need to update to $NAME-$LATEST from $CURRENT"
6474N/A else
6474N/A# TODO: It may not be bz2!
6474N/A wget --non-verbose --no-clobber $SOURCE/$NAME-$LATEST.tar.bz2
6474N/A if [ $? -eq 0 ]; then
6474N/A echo "Update $specfile to $LATEST"
6474N/A fi
6474N/A fi
6474N/A fi
6474N/A fi
6474N/A fi
6474N/A else
6474N/A echo "WARNING: $specfile does not exist."
6474N/A fi
6474N/A
6474N/A shift
6474N/Adone
6474N/A