#!/bin/bash

# Don't continue after an error
set -e

HOMEXORGDIR="$HOME/xorg-src-releases"
HISTORYDIR="xxx-history"

BASEURL="http://xorg.freedesktop.org/releases/individual"
SEDURL="http:\/\/xorg.freedesktop.org\/releases\/individual"

mkdir -p $HOMEXORGDIR/$HISTORYDIR

cd $HOMEXORGDIR
DATE=`date +%Y%m%d%H%M`

for i in app data doc driver font lib proto util xserver ; do
  REMOVEURL="-e s/$SEDURL\/$i\//$i\//g"
  ADDURL="-e s/.*href=\"/$SEDURL\/$i\//g -e s/\".*//g"

  mkdir -p $i/old
  wget -q -T 60 -t 3 -O $i.html $BASEURL/$i/

  grep bz2 $i.html >$i.tmp
  sed $ADDURL $i.tmp | sort -r >$i.txt

  BASENAME=$(sed -e 's/.*\///g' -e 's/-[0-9].*//g' $i.txt | uniq)

  for j in $BASENAME ; do
    LATEST=$(grep -m1 $j $i.txt)
    LOCALFILE=$(echo $LATEST | sed $REMOVEURL)
    if ! [ -e $LOCALFILE ]; then
      if [ -e $i/$j* ]; then
        mv $i/$j* $i/old
      fi
      wget -q -T 60 -t 3 -nc -P $i $LATEST
      echo $LOCALFILE >>$HISTORYDIR/files-retrieved-$DATE
      sleep 1s
    fi
  done

  rm -f $i.*
done

