1 #!/bin/bash 2 3 old_IFS=$IFS; 4 IFS=":" 5 6 for product in *.spec; do 7 IFS=$old_IFS 8 9 NAME=$(grep "^Name:" $product | sed -e "s/Name: *//" ) 10 NAME=$( echo $NAME ) # Gets rid of spaces and tabs that sed didn't. 11 CURRENT=$(grep "^Version:" $product | sed -e "s/Version:[\t ]*//") 12 SOURCE=$(grep "^Source:" $product | sed -e "s/Source:[\t ]*//") 13 SOURCE=$(echo $SOURCE | sed -e "s/\%{*[Nn]ame}*/${NAME}/g") 14 15 IS_GNOME=$(echo $SOURCE | grep GNOME) 16 if [ $IS_GNOME ]; then 17 if [ $SOURCE ]; then 18 LOCATION=$(dirname $SOURCE) 19 fi 20 21 echo "===== $product =====" 22 23 proto=$(echo $LOCATION | cut -d ":" -f 1) 24 if [ $proto != "http" ]; then 25 echo "Not fetching latest version for $product - can't use \"$LOCATION\"" 26 else 27 LATEST=$(wget $LOCATION -O - 2>/dev/null | grep "LATEST-IS" | sed -e "s/.*LATEST-IS-\([0-9][0-9\.]*\).*/\1/") 28 if [ -z $LATEST ]; then 29 echo "Cannot get latest version of $product from \"$LOCATION/LATEST-IS*\"" 30 else 31 if [ $LATEST = $CURRENT ]; then 32 echo "Okay with $product-$LATEST" 33 else if [ -z $PULL_NEW_TARBALLS ]; then 34 echo "Need to update to $product-$LATEST from $CURRENT" 35 else 36 wget $LOCATION/$product-$LATEST.tar.bz2 37 fi fi 38 fi 39 fi 40 echo; 41 fi 42 43 IFS=":" 44 done 45 46 IFS=$old_IFS 47 48