Report abuse

#!/bin/bash

echo "==> CKIT - Construction KIT"

#account ftp
foo=""
bar=""



# CONTROLLO AZIONE
if test -z "$1"
then
	echo "==> SOMARO! Devi darmi un'azione!"
	echo "==> Scegli tra build, add o remove."
	exit 0
else
	touch ~/pkg/CKIT/lista
	echo "==> Ok, azione scelta $1."
fi


# BUILD
if [ "$1" == "build" ]
then
	# CONTROLLO GLI ARGOMENTI DEL BUILD
	if test -z "$2" || test -z "$3" || test -z "$4"
	then
		echo "==> Per il build mi servono [pacchetto] [flag1] [flag2]"
		echo "==> flag1=1 per prendere da AUR il PKGBUILD"
		echo "==> flag2=1 per compilare da root"
		exit 0
	else
		echo "==> Compilo senza uppare. Preparativi per il PKGBUILD."
		cd ~/pkg/yaourtbuild

		# PKGBUILD
		if [ "$3" == "1" ]
		then
			echo "==> Tiro il pacco da aur"
			wget http://aur.archlinux.org/packages/$2/$2.tar.gz
			tar -xf "$2.tar.gz"
			rm ~/pkg/yaourtbuild/$2.tar.gz
		else
			echo "==> Uso il PKGBUILD locale"
		fi

		cd $2

		# makepkg
		if [ "$4" == "1" ]
		then
			echo "==> Compilo da root!"
			sudo makepkg -i --asroot
		else
			echo "==> Compilo da comune mortale!"
			makepkg -i
		fi

		if [ -f $2*-i686.pkg.tar.gz ]
		then
			echo "==> Ok," $2 "fatto :)"
			cd ~/pkg/CKIT
			mv ~/pkg/yaourtbuild/$2/$2*-i686.pkg.tar.gz ~/pkg/CKIT
			echo $2 >> /tmp/CKIT
			cat /tmp/CKIT lista > /tmp/lista
			rm /tmp/CKIT
			mv /tmp/lista lista
			echo "==> Attualmente ci sono questi pacchetti da aggiungere al repo:"
			cat lista
		else
			echo "==> Spiacente, il pacco" $2 "non compila :("
		fi
	
	fi # CONTROLLO ARGOMENTI DEL BUILD

fi # BUILD



# ADD
if [ "$1" == "add" ]
then

	echo "==> Non compilo un cacchio, aggiungo al repo tutti pacchetti presenti nel workspace."
	cd ~/pkg/CKIT
	
	# CONTROLLO SE ESISTONO PACCHETTI COMPILATI
	if [ `stat -c%s lista` == 0 ]
	then
		echo "==> Non c'è niente da aggiungere, fai qualche pacco prima!"
		exit 0
	fi
	
	if [ -f deelab.db.tar.gz ]
	then
		rm deelab.db.tar.gz
	fi
	wget http://www.deelab.org/arch/i686/deelab.db.tar.gz

	#aggiungo al repo
	echo "==> Aggiungo al repo."
	for file in *i686.pkg.tar.gz; do 
		repo-add deelab.db.tar.gz $file
	done
	
	#db
	echo "==> Invio il db."
	lftp -u "$foo,$bar" ftp.deelab.org/arch/i686 -e "set ftp:ssl-protect-data true; put deelab.db.tar.gz; exit"
	
	#sego i vecchi
	echo "==> Sego i vecchi pacchetti."
	for riga in `cat lista`; do
		lftp -u "$foo,$bar" ftp.deelab.org/arch/i686 -e "set ftp:ssl-protect-data true; glob rm -f $riga-*-*-i686.pkg.tar.gz; exit"
	done
	rm lista	
	
	#invio i nuovi
	echo "==> Invio i nuovi pacchetti."
	for file in *i686.pkg.tar.gz; do 
		lftp -u "$foo,$bar" ftp.deelab.org/arch/i686 -e "set ftp:ssl-protect-data true; put $file; exit"
		mv $file ~/pkg/cache
	done
	
	echo "==> Fine aggiornamento repository."

fi # ADD



# REMOVE
if [ "$1" == "remove" ]
then

	# CONTROLLO GLI ARGOMENTI DEL REMOVE
	if test -z "$2"
	then
		echo "==> Dammi anche un pacchetto da cavare però!"
		exit 0
	else
	
		cd ~/pkg/CKIT
	
		if [ -f deelab.db.tar.gz ]
		then
			rm deelab.db.tar.gz
		fi
		wget http://www.deelab.org/arch/i686/deelab.db.tar.gz
		
		repo-remove deelab.db.tar.gz $2
		echo "==> Segato dal DB!"
		
		echo "==> Invio il DB."
		lftp -u "$foo,$bar" ftp.deelab.org/arch/i686 -e "set ftp:ssl-protect-data true; put deelab.db.tar.gz; exit"
   
		echo "==> Cancello il pacco."
		lftp -u "$foo,$bar" ftp.deelab.org/arch/i686 -e "set ftp:ssl-protect-data true; glob rm -f $2-*-*-i686.pkg.tar.gz; exit"
		
	fi

fi # REMOVE



# AZIONE NON VALIDA
if [ "$1" != "build" ] && [ "$1" != "add" ] && [ "$1" != "remove" ]
then
	echo "==> CAPRA! $1 non è un'azione valida!!!"
	exit 0
fi




cd ~
echo "==> Fine esecuzione CKIT!"