#!/bin/bash

# Copy  a Makefile into a directory and then
# use it to create some headers for each RPM

Genheaders() {
   DIRECTORY=$1
   MAKEFILE=/opt/local/linux/Makefile-Genheaders
   cd $DIRECTORY
   if [ ! -f Makefile ]
   then 
     cp $MAKEFILE Makefile
   fi
   make
   cd $CURRENT

}


# Mirror subroutine  expects two arguments
# the directory to put the files into and the directory URL 
# to get them from.
Mirror() {

    DIRECTORY=$1
    URL="$2 $3 $4 $5 $6"

    if [ ! -d $DIRECTORY ]
    then
      mkdir -p $DIRECTORY
    fi
    cd  $DIRECTORY
    wget --timeout=30   -r -nc -nd --no-parent --quiet \
         --reject='\[page=0\],*.rpm\[peek\],textonly=1,=true,.tar.gz,.sdd,.sh,.csh,.TBL,.link,=A,=D,*.gif,*.jpg' \
           $URL 
    rm -rf *.gif *.txt *.html *=* *.php *.tar.gz *.htm README_new *.jpg README
    DATE=`date`
    cat > README.txt <<EOF
    This repository was last updated
    $DATE
    from 
    $URL

EOF


    cd $CURRENT

    Genheaders $DIRECTORY

}


# Need the current working direcotry as wget cannot create files
# anywhere other than . as far as I can tell.
CURRENT=`pwd`
RPMDIR=/opt/local/linux/6.2/RPMS


Mirror     $RPMDIR/updates         http://www.mirror.ac.uk/sites/ftp.redhat.com/pub/redhat/linux/updates/6.2/en/os/i386/[page=0]

Mirror     $RPMDIR/security        http://datagrid.in2p3.fr/distribution/datagrid/security/RPMS/

Mirror     $RPMDIR/globus2_beta21  http://datagrid.in2p3.fr/distribution/globus/beta-21/RPMS/

Mirror     $RPMDIR/globus2_release23 http://datagrid.in2p3.fr/distribution/globus/release-23/RPMS/

Mirror     $RPMDIR/globus2_config  http://datagrid.in2p3.fr/distribution/globus/edgconfig/0.14/RPMS/
Mirror     $RPMDIR/globus2_config  http://datagrid.in2p3.fr/distribution/globus/edgconfig/0.15/RPMS/
Mirror     $RPMDIR/globus2_config  http://datagrid.in2p3.fr/distribution/globus/edgconfig/0.16/RPMS/
Mirror     $RPMDIR/globus2_config  http://datagrid.in2p3.fr/distribution/globus/edgconfig/0.17/RPMS/

Mirror     $RPMDIR/apps_common     http://datagrid.in2p3.fr/distribution/applications/common/RPMS/

Mirror     $RPMDIR/external        http://datagrid.in2p3.fr/distribution/external/RPMS/
Mirror     $RPMDIR/external        http://gppnm.gridpp.rl.ac.uk/rpms/ssh/RPMS/

Mirror     $RPMDIR/WP1             http://datagrid.in2p3.fr/distribution/datagrid/wp1/RPMS/

Mirror     $RPMDIR/WP2             http://datagrid.in2p3.fr/distribution/datagrid/wp2/RPMS/

Mirror     $RPMDIR/WP3             http://datagrid.in2p3.fr/distribution/datagrid/wp3/RPMS/

Mirror     $RPMDIR/WP4             http://datagrid.in2p3.fr/distribution/datagrid/wp4/resource_mgt/RPMS/
Mirror     $RPMDIR/WP4             http://datagrid.in2p3.fr/distribution/datagrid/wp4/gridification/RPMS/

Mirror     $RPMDIR/WP5             http://datagrid.in2p3.fr/distribution/datagrid/wp5/RPMS/

Mirror     $RPMDIR/WP6             http://datagrid.in2p3.fr/distribution/datagrid/wp6/RPMS/

Mirror     $RPMDIR/WP7             http://datagrid.in2p3.fr/distribution/datagrid/wp7/RPMS/

Mirror     $RPMDIR/WP8/Alice       http://www.to.infn.it/activities/experiments/alice-grid/software/

Mirror     $RPMDIR/WP8/Atlas       http://datagrid.in2p3.fr/pkgs/raw/applications/wp8/atlas/ 

#Mirror     $RPMDIR/WP8/CMS         http://pcaleph6.pi.infn.it:8080/rpm/CMS-1.0.2/ http://pcaleph6.pi.infn.it:8080/rpm/

Mirror      $RPMDIR/WP8/LHCb        http://datagrid.in2p3.fr/distribution/applications/wp8/lhcb/

#Mirror     $RPMDIR/ral-extras      http://gpplcfg.gridpp.rl.ac.uk/ral-extras/RPM/

Mirror     $RPMDIR/WP9     http://datagrid.in2p3.fr/distribution/applications/wp9/RPMS/

#Mirror     $RPMDIR/WP10

Mirror      $RPMDIR/LCFG http://datagrid.in2p3.fr/distribution/datagrid/wp4/installation/RPMS/LCFG/

exit 0

