#!/bin/bash
# $Id: maintain.sh 71 2008-06-29 01:34:39Z shtrom $

UPDSCRIPT=metadata_update.sh
BASE=/data/reinstcd/slackware_packages
SUBDIRS="slackware-12.1"

FTPUSER=shtrom
FTP=ftpperso.free.fr
FTPDIR=slackware

UPDSCRIPT=${BASE}/${UPDSCRIPT}

function sign_package() {
	PKG=${1}
	if [ -e ${PKG}.asc ]; then
		gpg --verify ${PKG}.asc ${PKG} > /dev/null 2>&1 && return
		echo "*** WARNING: failed signature check for ${PKG} !"
		rm ${PKG}.asc
	fi
	echo "Signing ${PKG}..."
	gpg -a -b ${PKG}
}

case $1 in
	update)
	echo -n "updating directories in ${BASE}:"
	cd ${BASE}
	#echo -n " ."
	#${UPDSCRIPT} all 2>/dev/null

	for dir in $SUBDIRS ; do
		echo -n " ${dir}"
		pushd ${dir} >/dev/null
		${UPDSCRIPT} all 2>/dev/null
		popd >/dev/null
	done
	echo " done."
	;;
	
	upload)
	echo "uploading to ftp://${FTP}:/${FTPDIR} as ${FTPUSER}..."
	lftp ${FTPUSER}@${FTP} -e "cd ${FTPDIR} ; set net:connection-limit 1 ; set ftp:passive-mode true ; mirror -R -L -e ; exit"
	;;

	sign)
	if [ ! -z "$2" ]; then
		sign_package "$2"
	else
		find -type f -name *.tgz -exec "$0" sign \{\} \;
	fi
	;;
	
	all)
	$0 update
	$0 sign
	$0 upload
	;;
	
	*)
	echo "usage: $0 update|upload|all"
	;;
esac


