#!/bin/sh
# Mirrorea debian 
#
# Version 1.5 - 06.feb.2006
# 	* Eliminado repositorio non-US
#	* Control de sincronizacion y reintentos
# Version  1.0 - 17.ene.2005
#	* Primer version

# 0 corre en modo consola con feedback a stdout
# 1 corre en modo batch con feedback a /var/log/syslog
SILENT=0

# Cantidad de reintentos en sincronizar antes de abortar
REINTENTOS=10

DEBMIRROR=/usr/bin/debmirror

function bajo_mirror {
	if [ $SILENT -eq 1 ]; then 
        	/usr/bin/logger "Inicio actualizacion mirror $DISTRO"
		PROGRESO=""
	else
		echo Distro:     $DISTRO
        	echo Section:    $SECTION
        	echo Server:     $HOST
		echo Mirror en:  $LOCATION
		PROGRESO="-p -v"
	fi
	BUCLES=1
	run_debmirror
	if [ $SILENT -eq 1 ]; then
		/usr/bin/logger "Final actualizacion mirror $DISTRO"
	else
		echo "========================================================================================"
	fi
}

function run_debmirror {
	if [ $BUCLES -gt $REINTENTOS ]; then return; fi
	# TEST="--dry-run"
	$DEBMIRROR $TEST $PROGRESO -h $HOST -d $DISTRO $REPOSIT --nosource -s $SECTION $LOCATION
	if [ $? -ne 0 ]; then
		if [ $SILENT -eq 1 ]; then
			/usr/bin/logger "Error al sincronizar repositorio, intento $BUCLES"
		else
			echo "Error al sincronizar repositorio, intento $BUCLES"
		fi
		BUCLES=$(($BUCLES+1))
		run_debmirror
	fi
}


#DISTRO=sid,sarge
DISTRO=sid
SECTION=main,contrib,non-free,main/debian-installer
LOCATION=/mirror/debmirror
HOST=ftp.us.debian.org
bajo_mirror

# Para hacer una replica de otro repositorio, agregar bloques como el siguiente
#
#DISTRO=sid/non-US
#SECTION=main,contrib,non-free
#LOCATION=/mirror/debmirror_non-US
#HOST=non-us.debian.org
#REPOSIT="-r /debian-non-US"
# bajo_mirror

exit 0

