All pastes #750322 Raw Edit

Anonymous

public text v1 · immutable
#750322 ·published 2007-10-26 12:47 UTC
rendered paste body
#!/bin/bash
# Makefusion based on Compiz/fusion makeccc
# Copyright (c) 2007 Franz Rogar <franzrogar@gmail.com>
# Based on get-git script by Kristian Lyngstøl
# Copyright (c) 2007 Kristian Lyngstøl <kristian@bohemians.org>
# function git_pull_check based on makefusiondebs Treviño - 3v1n0 <trevi55@gmail.com>
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
# -------------------------------------------------------------------------------

# INSERIRE LA DISTRIBUZIONE CHE USATE ESATTAMENTE
# COME QUELLE SUPPORTATE, ALTRIMENTI NON SARA' POSSIBILE 
# INSTALLARE I PACCHETTI DELLE DIPENDENZE
#
# Supported distibutios:
#
# DISTRO=

# "ubuntu-gutsy"	: Ubuntu Gutsy Gibbon 7.10 Gnome (tested ok)
# "kubuntu-gutsy"	: Kubuntu Gutsy Gibbon 7.10 Kde (tested ok)
# "ubuntu-feisty"	: Ubuntu Feisty Fawn 7.04 Gnome (tested ok)
# "kubuntu-feisty"	: KUbuntu Feisty Fawn 7.04 Kde (tested ok)
# "ubuntu-edgy"		: Ubuntu Edgy 6.10 Gnome (tested ok)
# "kubuntu-edgy"	: Kubuntu Edgy 6.10 Kde (tested ok)
# "sid-gnome"		: Debian "unstable" Sid Gnome DE (tested ok)
# "sid-kde"		: Debian "unstable" Sid Kde DE (tested ok by imu)
# "lenny-gnome"		: Debian "testing" Lenny Gnome DE (tested ok)
# "lenny-kde"		: Debian "testing" Lenny Kde DE (tested by fede)
# "arch-gnome"		: Archlinux Gnome DE (ok)	

DISTRO="ubuntu-gutsy"

# Attenzione lo script di default è settato per gnome.
# Se usate gnome dovete solo selezionare la DISTRO=
# Se usate kde dvete cambiare anche le righe PACKAGES= e COMPIZREMOVE=
# come specificato nelle note.

COMPIZ_MANAGER_DEFAULT_DECORATOR="gtk-window-decorator"

# per chi usa compiz-manager
# "emerald"	= emerald (default)
# "de"		= gtk-window-decorator(gnome) or kde-window-decorator(kde) auto 

# -------------------------------------------------------------------------------

# Select packages you want compile/install from the following list:
# NOTES:
# 1 - Compiz will be installed by default, so no need to select it.
# 2 - Packages list order must follow the order you see them listed.
#
# fusion : bcop, emerald, ccsm & configurators
# ccs-gconf : select if you want gconf backend (optional)
# ccs-kconfig : select if you want kconfig backend (optional)
#

PACKAGES="fusion ccs-gconf"

# suggeriti:
# per gnome: PACKAGES="fusion ccs-gconf"
# per kde: PACKAGES="fusion ccs-kconfig"

# -------------------------------------------------------------------------------

# Compiz autogen.sh arguments. You may not need them.
# Select plugins you DO NOT want to install.
#
# gnome: deactivate gnome support and activate kde one (for KDE users) 
# gnome-kde: deactivate gnome support no kde-wd build (for KDE users, no kde-wd build)
# kde 	: deactivate kde support and activate gnome one (for Gnome and other DE users)
# kde-gtk : deactivate kde support and activate gnome (for Gnome, no gwd-wd)
# inotify : deactivate inotify
# fuse : deactivate fuse

COMPIZREMOVE="kde fuse kconfig"

# suggeriti:
# per gnome: ..........................	COMPIZREMOVE="kde fuse kconfig"	  (default)
# per kde ............................. COMPIZREMOVE="gnome fuse kconfig" (se avete kde)

# altre combinazioni suggerite:
# per gnome senza gwd-window-decorator. COMPIZREMOVE="kde-gtk fuse kconfig"
# per kde senza kde-window-decoorator.. COMPIZREMOVE="gnome-kde fuse kconfig"
# Se usate solo Emerald potete non compilare
# compiz gwd-window-decorator o kde-window-decorato
# -------------------------------------------------------------------------------

# Plugin unofficial unsupported work in progress.
# Select plugins you want compile/install from the following list.
#
# Plugin supplementari disponibili per la compilazione
# aggiungete o togliete dalla riga CCPLUGINS= sotto.
#
# Plugin disponibili: available:
# wallpaper screensaver 
#

CCPLUGINS="wallpaper screensaver "

# -------------------------------------------------------------------------------

# Compiz/fusion install directory
# If you're not sure, keep it as it's.
#

PREFIX="/usr/local"

# -------------------------------------------------------------------------------

BUILD_FUSION_ICON="YES"
# compila fusion-icon manager "YES" or "NO" (default "YES")

# -------------------------------------------------------------------------------

#  version of Compiz to build

COMPIZ_VERSION="master"

# COMPIZ_VERSION="0.6.0"		= Compiz release 0.6.0 core 0.6.2 no xcb (DEFAULT) (SAFE)
# COMPIZ_VERSION="0.5.2"		= Compiz-0.5.2 release (SAFE)
# COMPIZ_VERSION="master" 		= Compiz 0.5.x Git --> Richiede libx11-xcb installato (RISK)
# COMPIZ_VERSION="master-noxcb"		= Compiz 0.5.x Git con patch no xcb (experimental) (RISK)

# after change NEED ./mafefusion7 clone - se cambiate dovete fare ./mafefusion7 clone

# -------------------------------------------------------------------------------

###############################################
# YOU SHOULD NOT EDIT SCRIPT BEFORE THIS LINE
# non editate lo script dopo questa linea
###############################################

# versione e tipo ##############################
VERSION="8.050"
TIPO="MINOR"
# "MINOR" "MAJOR" for maintenance. Don't change!
# ##############################################

_commit_wallpaper="466ce647f43cd11b585fc0a60d71e4e483c656b1"
_commit_screensaver="6565001eb389fb0d18cfead6030054cc8edc6c5f"
_commit_compiz_scripts="e6eaabc9cdd8eccf6350de4402e7a10898a22608"
#########################################################

### patch no-xcb ########################################

#_patch_git="users/3v1n0/compiz-fusion-debian"
_patch_git="users/3v1n0/compiz-patches"

_patch_name="*disable-libx11-xcb*.patch"

if [ $_patch_git = "users/3v1n0/compiz-fusion-debian" ]; then
	_patch_path="compiz-fusion-debian/compiz/debian/patches"
	_patch_dir="compiz-fusion-debian"
fi

if [ $_patch_git = "users/3v1n0/compiz-patches" ]; then
	_patch_path="compiz-patches"
	_patch_dir="compiz-patches"
	#_patch_dir="NONE"
	#_patch_name="nuova-noxcb.patch"
fi

###########################################################

if [ $DISTRO = "arch-gnome" ]; then
	PREFIX="/usr"		#non cambiare
fi

COMPIZ_PATCHED="NO"
if [ $COMPIZ_VERSION = "master-noxcb" ]; then 
	COMPIZ_VERSION="master"	
	COMPIZ_PATCHED="YES"
fi


_PATCH_CAMBIATO="YES"
if [  $COMPIZ_PATCHED = "YES" ] && [ -f .COMPIZ_PATCHED ]; then
	_PATCH_CAMBIATO="NO"
elif [  $COMPIZ_PATCHED = "NO" ] && [ -f .COMPIZ_UNPATCHED ]; then
	_PATCH_CAMBIATO="NO"
else
	_PATCH_CAMBIATO="YES"
fi

###
# Initial configurations
###

# Packages selector
for q in $PACKAGES ; do
	if [ $q = "fusion" ]; then
		ITEMS="$ITEMS fusion/libraries/bcop"
		ITEMS="$ITEMS fusion/compizconfig/libcompizconfig"
		ITEMS="$ITEMS fusion/compizconfig/compizconfig-python"
		ITEMS="$ITEMS fusion/compizconfig/ccsm"
		ITEMS="$ITEMS users/kristian/compiz-scripts"
		if [ $BUILD_FUSION_ICON = "YES" ]; then
			ITEMS="$ITEMS users/crdlb/fusion-icon"
			BUILD_FUSION_ICON="GTK"
		fi
		ITEMS="$ITEMS fusion/decorators/emerald"
		ITEMS="$ITEMS fusion/decorators/emerald-themes"
	elif [ $q = "ccs-gconf" ]; then
		ITEMS="$ITEMS fusion/compizconfig/compizconfig-backend-gconf"
		ITEMS="$ITEMS fusion/plugins-main" 
		ITEMS="$ITEMS fusion/plugins-extra" 
		ITEMS="$ITEMS fusion/plugins-unsupported" 
	elif [ $q = "ccs-kconfig" ]; then
		ITEMS="$ITEMS fusion/compizconfig/compizconfig-backend-kconfig"
		ITEMS="$ITEMS fusion/plugins-main"
		ITEMS="$ITEMS fusion/plugins-extra" 
		ITEMS="$ITEMS fusion/plugins-unsupported" 
	fi
		
done   

# fusion plugins selector
for w in $CCPLUGINS ; do
	if [ $w = "cubecaps" ]; then
		ITEMS="$ITEMS users/guillaume/$w"
	elif [ $w = "screensaver" ]; then	### add for screensaver ######
		ITEMS="$ITEMS users/pafy/$w"	### add for screensaver ######
	else
		ITEMS="$ITEMS fusion/plugins/$w"
	fi
done

if [ $COMPIZ_PATCHED = "YES" ]; then
		ITEMS="$ITEMS $_patch_git"	### patch git ######
fi



# Compiz autogen.sh arguments selector
CM_DECORATOR="GTK"
for p in $COMPIZREMOVE ; do
	if [ $p = "gnome" ]; then
		COMPIZARGS="$COMPIZARGS --enable-kde --disable-gtk --enable-librsvg"
		if [ $DISTRO = "sid-kde" ] || [ $DISTRO = "kubuntu-feisty" ] || [ $DISTRO = "kubuntu-edgy" ] || [ $DISTRO = "lenny-kde" ] || [ $DISTRO = "kubuntu-gutsy" ];then
			if [ -f /bin/moc ]; then
				sudo rm /bin/moc
			fi
			export QTDIR=/usr
			BUILD_FUSION_ICON="QT"
			CM_DECORATOR="KDE"
		fi
		# fix by imu
	elif [ $p = "gnome-kde" ]; then
		COMPIZARGS="$COMPIZARGS --disable-kde --disable-gtk --enable-librsvg --disable-gnome --disable-schemas-install"
	elif [ $p = "kde" ]; then
		COMPIZARGS="$COMPIZARGS --enable-gtk --disable-kde --enable-librsvg"
	elif [ $p = "kde-gtk" ]; then
		COMPIZARGS="$COMPIZARGS --disable-gtk --disable-kde --enable-librsvg"
	elif [ $p = "inotify" ]; then
		COMPIZARGS="$COMPIZARGS --disable-inotify"
	elif [ $p = "fuse" ]; then
		COMPIZARGS="$COMPIZARGS --disable-fuse"
	elif [ $p = "kconfig" ]; then
		COMPIZARGS="$COMPIZARGS --disable-kconfig"
	fi
done

# Repositories
REPO="git://annongit.opencompositing.org/"
COMPIZ="git://git.freedesktop.org/git/xorg/app/"

##
# Funciones necesarias para el correcto funcionamiento del script
##

# Check for git
if [ -z "$(which git-clone)" ]; then
	echo "You must have GIT installed in order to run this script. Install git-core package."
	exit 1;
fi

# Check for sudo
if [ -z "$(which sudo)" ]; then
	echo "You must have sudo installed in order to run this script. Install sudo package."
	exit 1;
fi


# If $1 directory is present, pull repo. If not, clone it.
function clone
{
	pkgName=`echo $1 | sed 's/.*\///g'`
	OLDPWD=$PWD
	ERROREFATALE="NO"

	if [ $pkgName = "compiz" ]; then
		rm -f .COMPIZ_VERSION_*
	fi

	if [ $pkgName = "compiz" ]; then
		rm -f .versione_*
		touch .versione_$VERSION	
	fi



	# controllo eventuali versioni Compiz da sorgenti tar.gz
	if [ $pkgName = "compiz" ] && [ -f compiz/autogen.sh ]; then
		echo "Compiz da Git. Ok."
	elif [ $pkgName = "compiz" ] && [ ! -f compiz/autogen.sh ]; then
		echo "Compiz da sorgenti o non corretto. Rimuovo."
		rm -rf compiz
#		rm -rf ccsm
#		rm -rf bcop
#		rm -rf plugins-main 
#		rm -rf plugins-extra
#		rm -rf plugins-unsupported  
#		rm -rf compizconfig-backend-gconf 
#		rm -rf compizconfig-backend-kconfig 
#		rm -rf compizconfig-python
#		rm -rf libcompizconfig
#		rm -rf emerald
#		rm -rf emerald-themes
#		rm -rf wallpaper 	
#		rm -rf 3d 		
#		rm -rf screensaver 	
#		rm -rf atlantis  
		rm -f .COMPIZ_PATCHED
		rm -f .COMPIZ_UNPATCHED
	fi




	if [ -d $pkgName ]; then
		cd $pkgName
		echo -e "\nUpdating $pkgName";
		
		if [ $pkgName = "compiz" ] && [ -f ../.COMPIZ_PATCHED ]; then
			telp_unpatch
		fi

		_git_checkout_master="$(LC_ALL=en_US git checkout master &> /dev/stdout)"

          	echo "$_git_checkout_master" 						#check users/3v1n0

 		if (echo "$_git_checkout_master" | grep -qi "^fatal:"); then
 			echo "errore fatale cancello la cartella e clono"	#check routine 			
 			cd $OLDPWD						#check adapted here
 			rm -rf $pkgName						#check
 			echo -e "\nCloning $pkgName";				#check
			telp_clone $2$1
		

 			ERROREFATALE="SI"	
		
		else
 			git_pull="$(LC_ALL=en_US git-pull &> /dev/stdout)"		#check for fatal on git-pull
          		echo "$git_pull" | tee 	$OLDPWD/.logs/$pkgName.pull.log		#check users/3v1n0

 			if (echo "$git_pull" | grep -qi "^Already"); then
				echo -e "\nNessun aggiornamento disponibile per $pkgName\n"

				if [ $pkgName = "compiz" ]; then
					touch $OLDPWD/.COMPIZ_VERSION_$COMPIZ_VERSION
				fi	
			else
 				echo -e "\nAggiornamenti: clono $pkgName"	#check routine 			
 				cd $OLDPWD						#check adapted here
 				rm -rf $pkgName						#check
 				echo -e "\nCloning $pkgName";				#check
				telp_clone $2$1
		

 				ERROREFATALE="SI"					#check
 			fi								#check
		fi
 		if [ $ERROREFATALE = "NO" ]; then


			if [ $pkgName = "compiz" ] && [ $COMPIZ_PATCHED = "YES" ]; then
				telp_patch
			fi

			if [ $COMPIZ_VERSION = "0.6.0" ] && [ $pkgName = "compiz" ]; then
				#git checkout compiz-0.6
				git checkout 0.6.2	
				git branch			
			elif [ $pkgName != "fusion-icon" ] && [ $pkgName != $_patch_dir ]; then
				
				if  [ $pkgName = "plugins-main" ] && [ $COMPIZ_VERSION = "0.6.0" ]; then		# 0.6fix
					#_git_checkout_version="$(LC_ALL=en_US git checkout 0.6.fix &> /dev/stdout)"
					_git_checkout_version="$(LC_ALL=en_US git checkout $COMPIZ_VERSION &> /dev/stdout)"
				else
					_git_checkout_version="$(LC_ALL=en_US git checkout $COMPIZ_VERSION &> /dev/stdout)"
				fi

          			echo "$_git_checkout_version" 			

 				if (echo "$_git_checkout_version" | grep -qi "^fatal:"); then
 					echo "errore fatale cancello la cartella e clono" 			
 					cd $OLDPWD
 					rm -rf $pkgName	
 					echo -e "\nCloning $pkgName";
					telp_clone $2$1
				else
					git branch
				fi

			fi

			rm -f .versione_* 	# correzione
			
 			cd $OLDPWD
 			touch .versione_$VERSION
 		fi

	else
		telp_clone $2$1 
	fi

}


function telp_patch
{
rm -f ../.COMPIZ_PATCHED
rm -f ../.COMPIZ_UNPATCHED

if [ $_patch_path != "NONE" ]; then
	cat $OLDPWD/$_patch_path/$_patch_name | patch -p1 > $OLDPWD/.logs/compiz.patch.log
else
	cat $OLDPWD/$_patch_name | patch -p1 > $OLDPWD/.logs/compiz.patch.log
fi

	echo "Compiz is patched"

touch ../.COMPIZ_PATCHED	

}

function telp_unpatch
{

if [ -f ../.COMPIZ_PATCHED ]; then
	rm -f ../.COMPIZ_PATCHED
	rm -f ../.COMPIZ_UNPATCHED
	if [ $_patch_path != "NONE" ]; then
		cat $OLDPWD/$_patch_path/$_patch_name | patch -p1 -R > $OLDPWD/.logs/compiz.unpatch.log
	else
		cat $OLDPWD/$_patch_name | patch -p1 -R > $OLDPWD/.logs/compiz.unpatch.log
	fi
	echo "Compiz is unpatched"
	touch ../.COMPIZ_UNPATCHED
else
	echo "Compiz is not patched"	
	touch ../.COMPIZ_UNPATCHED
fi

}


function telp_clone
{

		rm -f .versione_*

		echo -e "\nCloning $pkgName";
		git-clone $2$1 

		if [ $pkgName = "compiz" ]; then 
			rm -f .versione_*
			cd $pkgName
			git checkout master
			git checkout -b 0.5.2 compiz-0.5.2
			git checkout master
			git checkout -b 0.6.2 compiz-0.6.2
			git checkout master
			git branch compiz-0.6 origin/compiz-0.6
			if [ $COMPIZ_VERSION != "0.6.0" ]; then
				git checkout $COMPIZ_VERSION
			else
				git checkout 0.6.2
				#git checkout compiz-0.6
				#git checkout $COMPIZ_VERSION
			fi
			git branch
			touch ../.COMPIZ_UNPATCHED
			
			if [  $COMPIZ_PATCHED = "YES" ]; then
				telp_patch
			fi	
			
			cd $OLDPWD
			touch .versione_$VERSION
			touch .COMPIZ_VERSION_$COMPIZ_VERSION
		elif [ $pkgName = "bcop" ] || [ $pkgName = "ccsm" ] || [ $pkgName = "plugins-main" ] || [ $pkgName = "plugins-extra" ] || [ $pkgName = "plugins-unsupported" ] || [ $pkgName = "compizconfig-backend-gconf" ] || [ $pkgName = "compizconfig-backend-kconfig" ] || [ $pkgName = "compizconfig-python" ] || [ $pkgName = "libcompizconfig" ]; then
			cd $pkgName
			git checkout master
			git checkout -b 0.5.2 0.5.2
			#git branch 0.6.0 origin/0.6.0
			git checkout -b 0.6.0 0.6.0
			git checkout $COMPIZ_VERSION

			git branch
			cd $OLDPWD
			touch .versione_$VERSION
		elif [ $pkgName = "emerald" ] || [ $pkgName = "emerald-themes" ]; then
			cd $pkgName
			git checkout master
			git checkout -b 0.5.2 0.5.2
			git branch 0.6.0 origin/0.6.0

			git checkout $COMPIZ_VERSION
			
			git branch
			cd $OLDPWD
			touch .versione_$VERSION
		elif [ $pkgName = "wallpaper" ]; then
			cd $pkgName
			git checkout master
			git branch 0.5.2 $_commit_wallpaper
			git branch 0.6.0 $_commit_wallpaper
			git checkout $COMPIZ_VERSION
			git branch
			cd $OLDPWD
 			touch .versione_$VERSION
		elif [ $pkgName = "screensaver" ]; then
			cd $pkgName
			git checkout master
			git branch 0.5.2 $_commit_screensaver
			git branch 0.6.0 $_commit_screensaver
			git checkout $COMPIZ_VERSION
			git branch
			cd $OLDPWD
 			touch .versione_$VERSION
		elif [ $pkgName = "compiz-scripts" ]; then
			cd $pkgName
			git checkout master
			git branch sc_fix $_commit_compiz_scripts
			git checkout sc_fix
			git branch
			cd $OLDPWD
 			touch .versione_$VERSION
		else
			touch .versione_$VERSION
		fi


}

# If autogen.sh exist, configure installation
function do_autogen 
{
	if [ $1 = "compiz" ]; then
		AUTOGEN_OPTIONS="$COMPIZARGS"
	else
		AUTOGEN_OPTIONS=""
	fi

	OLDPWD=$PWD
	if [ -f $1/autogen.sh ]; then
		echo -e "\nConfiguring $1..."
		cd $1
		echo -e "\nExecuting autogen.sh --prefix=$PREFIX $AUTOGEN_OPTIONS in $1..."
		if [ -x configure ]; then
			rm -f configure
			rm -rf autom4te.cache
		fi
		if [ -e Makefile ]; then
			rm -f Makefile
		fi
		./autogen.sh --prefix=$PREFIX $AUTOGEN_OPTIONS > $OLDPWD/.logs/$1.autogen.log
		###########################################################
		####### FIX: commpizconfig-backend-kconfig 
		#######	need ./configure
		#
		#
		if [ $1 = "compizconfig-backend-kconfig" ]; then
			./configure >> $OLDPWD/.logs/$1.configure.log
		fi
		#
		# END commpizconfig-backend-kconfig FIX
		###########################################################
		cd $OLDPWD
	fi
}

# Call make on each $1
function do_make
{
	OLDPWD=$PWD
	cd $1
	case "$2" in
		install)

			echo -e "\nInstalling $1..."
			echo -e "\nExecuting make"

			make > ../.logs/$1.make.log

			if [ -e autogen.sh ]; then
				echo -e "\nExecuting sudo make $2"
				sudo make $2 > $OLDPWD/.logs/$1.make.$2.log
			else	
				if [ $1 = "ccsm" ]; then # add ccsm
					# Nota:
					# gli install da python ccsm e fusion-icon devo essere installati 2 volte
					# altrimenti le icone non si vedono. Mistero.	
					./setup.py build
						if [ $PREFIX = "/usr/local" ]; then	
							sudo ./setup.py install	
							installa_ccsm="$(LC_ALL=en_US  sudo .\/setup.py install &> /dev/stdout)"
							echo "$installa_ccsm" | tee $OLDPWD/.logs/$1.$2.log	
						elif [ $PREFIX = "/usr" ]; then 
							sudo ./setup.py install --prefix=/usr	
							installa_ccsm="$(LC_ALL=en_US  sudo .\/setup.py install --prefix=\/usr &> /dev/stdout)"
							echo "$installa_ccsm" | tee $OLDPWD/.logs/$1.$2.log	
						else
							installa_ccsm="$(LC_ALL=en_US  sudo .\/setup.py install --prefix=$PREFIX &> /dev/stdout)"
							echo "$installa_ccsm" | tee $OLDPWD/.logs/$1.$2.log
						fi

				elif [ $1 = "fusion-icon" ]; then		# fusion-icon install

						if [ $BUILD_FUSION_ICON = "GTK" ]; then
							installa_fuig="$(LC_ALL=en_US sudo make interfaces=gtk install &> /dev/stdout)"
							echo "$installa_fuig" | tee $OLDPWD/.logs/$1.$2.log	
						elif [ $BUILD_FUSION_ICON = "QT" ]; then
							installa_fuik="$(LC_ALL=en_US sudo make install &> /dev/stdout)"
							echo "$installa_fuik" | tee $OLDPWD/.logs/$1.$2.log	
						fi
						
				else	# add ccsm
					if [ $1 != "compiz-scripts" ] && [ $1 != $_patch_dir ]; then	# add rimuove inutili errori compiz-scripts
						echo -e "\nExecuting make $2"
						make $2 > $OLDPWD/.logs/$1.$2.log
					fi					# add rimuove inutili errori compiz-scripts
				fi 	# add ccsm
			fi
			;;
		uninstall)
			echo -e "\nUninstalling $1..."

			if [ -e autogen.sh ]; then
				echo -e "Executing sudo make $2"
				sudo make $2 > $OLDPWD/.logs/$1.make.$2.log
			else
				if [ $1 = "ccsm" ]; then			# add ccsm	
						sudo ./setup.py uninstall --prefix=$PREFIX > $OLDPWD/.logs/$1.make.$2.log  	#add ccsm

				elif [ $1 = "fusion-icon" ]; then		# fusion-icon uninistall
					sudo make uninstall > $OLDPWD/.logs/$1.make.uninstall.log	

				else						# add ccsm
					if [ $1 != "compiz-scripts" ]; then	# add rimuove inutili errori compiz-scripts
						echo -e "Executing make $2"
						make $2 > $OLDPWD/.logs/$1.$2.log
					fi					# add rimuove inutili errori compiz-scripts				
				fi						# add ccsm
			fi
			echo -e "\nExecuting make clean"
			if [ $1 = "ccsm" ]; then	# add ccsm
				sudo make clean		# add ccsm
			else				# add ccsm
				make clean > $OLDPWD/.logs/$1.make.clean.log
			fi				# add ccsm
	esac
	cd $OLDPWD
}

# Create a clean logs folder for each time makefusion is executed
if [ -d .logs ]; then
	rm -rf .logs
fi
mkdir .logs

# makefusion action selector
case "$1" in
	clone)

		#if [ -z "$(which compiz)" ]; then
		#	echo ""
		#else
		#	echo "Run \"$0 uninstall\" before." 
		#	exit 1;
		#fi

		clear

		#if [ -d $_patch_dir ] && [ $COMPIZ_PATCHED = "YES" ]; then
		#	echo "patch file: ok"
		if [ $COMPIZ_PATCHED = "YES" ]; then
			clone $_patch_git $REPO
			echo "patch file: ok"
		fi

		# Clone Compiz
		clone compiz $COMPIZ

		# Delete compiz-script folder because of fixes applied on this script
		rm -rf compiz-scripts

		# Clone fusion
		for a in $ITEMS ; do
			#echo $a
			clone $a $REPO
		done


		echo -e "\n"
		echo "Now you can run \"$0 install\"" 
		;;

	restore)
		if [ $COMPIZ_PATCHED = "YES" ] && [ -d $_patch_dir ] && [ -f .COMPIZ_VERSION_master ] && [ -f .COMPIZ_VERSION_master ] && [ -f .COMPIZ_UNPATCHED ]; then
			OLDPWD=$PWD
			cd compiz
			#telp_patch
			rm -f ../.COMPIZ_PATCHED
			rm -f ../.COMPIZ_UNPATCHED
			if [ $_patch_path != "NONE" ]; then
				cat $OLDPWD/$_patch_path/$_patch_name | patch -p1 > $OLDPWD/.logs/compiz.patch.log
			else
				cat $OLDPWD/$_patch_name | patch -p1 > $OLDPWD/.logs/compiz.patch.log
			fi
			echo "Compiz is patched"
			touch ../.COMPIZ_PATCHED	
			cd ..
		fi
		;;

	install)
		# clear


		if [ -f .COMPIZ_VERSION_$COMPIZ_VERSION ] && [ 	$_PATCH_CAMBIATO = "NO" ]; then
			echo ""
		else
			echo ""	
			if [ $COMPIZ_VERSION = "master" ]; then
				echo "COMPIZ_VERSION changed to \"$COMPIZ_VERSION\" no-xcb patch=$COMPIZ_PATCHED"
			else
				echo "COMPIZ_VERSION changed to \"$COMPIZ_VERSION\""
			fi
 			echo "Warning, before install execute:" 
 			echo "$0 clone or $0 restore (to patch a backup)"
			exit 1;
		fi		
		

		echo -e "\nCompiz Fusion build and install.\n"	
		sudo echo -e "\n....."


		# Distro specific fixes
		if [ $DISTRO = "ubuntu-feisty" ] || [ $DISTRO = "ubuntu-gutsy" ] || [ $DISTRO = "kubuntu-feisty" ] || [ $DISTRO = "kubuntu-gutsy" ]; then
			# bash fix
			sudo ln -sf /bin/bash /bin/sh
		fi


		# Configure and install Compiz
		do_autogen compiz
		do_make compiz $1

		# Configure and install fusion
		for a in $ITEMS; do
			pkgName=`echo $a | sed 's/.*\///g'`
			if [ $pkgName = "screencasting" ]; then
				#do_make $pkgName/player $1
				#do_make $pkgName/rsc2raw $1
				#do_make $pkgName/plugin $1
				#NEED HACK ON LINE 122
#				ARCHIVE="$pkgName/plugin/screencasting.c"
#				sed -i -e 's/fopen("/home/roico/screencast.rsc"/fopen("/home/$USER/screencast.rsc"/g' $ARCHIVE;
				echo "yo"
			elif [ $pkgName = "compiz-scripts" ]; then		# cartelle senza makefile
				echo ""
			elif [ $pkgName = $_patch_dir ]; then
				echo ""							
			else
				do_autogen $pkgName
				do_make $pkgName $1
			fi
		done

		# Distro specific fixes
		if [ $DISTRO = "ubuntu-feisty" ] || [ $DISTRO = "ubuntu-gutsy" ] || [ $DISTRO = "kubuntu-feisty" ] || [ $DISTRO = "kubuntu-gutsy" ]; then
			# Undo bash fix
			sudo ln -sf /bin/dash /bin/sh
			# Fix for cube sides number
			# gconftool-2 --type int --set /apps/compiz/general/screen0/options/hsize 4
		fi

		# Fix for libcompizconfig library (for ccsm)
		if [ ! -h /usr/lib/libcompizconfig.so.0 ]; then
			sudo ln -s /usr/local/lib/libcompizconfig.so.0 /usr/lib/libcompizconfig.so.0
		fi
		# Fix for libdecoration library
		if [ ! -h /usr/lib/libdecoration.so.0 ]; then
			sudo ln -s /usr/local/lib/libdecoration.so.0 /usr/lib/libdecoration.so.0
		fi
		# Fix for libemeraldengine library
		if [ ! -h /usr/lib/libemeraldengine.so.0 ]; then
			sudo ln -s /usr/local/lib/libemeraldengine.so.0 /usr/lib/libemeraldengine.so.0
		fi


		if [ -f compiz-scripts/manager/compiz-manager ]; then
			echo "configuro compiz-manager"
			# Install and patch Kristian compiz wrapper
			ARCHIVE="compiz-scripts/manager/compiz-manager"
			sed -i -e 's/VERBOSE="no"/VERBOSE="yes"/g' $ARCHIVE
			sed -i -e 's/DELAY="5"/DELAY="1"/g' $ARCHIVE
			# setta il decoratore di default compiz-manager come da impostazione
			if [ $COMPIZ_MANAGER_DEFAULT_DECORATOR != "emerald" ]; then
				if [ $CM_DECORATOR = "GTK" ]; then
					sed -i -e 's/DECORATOR="emerald"/DECORATOR="gtk-window-decorator"/g' $ARCHIVE
					echo -e "\ncompiz-manager default decorator is \"gtk-window-decorator\""
				elif [ $CM_DECORATOR = "GTK" ]; then
					sed -i -e 's/DECORATOR="emerald"/DECORATOR="kde-window-decorator"/g' $ARCHIVE
					echo -e "\ncompiz-manager default decorator is \"kde-window-decorator\""
				fi
			else
				echo -e "\ncompiz-manager default decorator is \"emerald\""
			fi
			sudo cp $ARCHIVE /usr/bin/
		fi

		# Version notes

		if [ $BUILD_FUSION_ICON != "NO" ]; then
			echo -e "\nRun compiz-manager or fusion-icon to load Compiz/Fusion."
			echo ""	
			if [ $BUILD_FUSION_ICON = "QT" ]; then	
				echo ""
				#echo "If fusion-icon don't appear in tray icons"
				#echo "try with \"fusion-icon --gtk\""
				#echo ""
			fi
			echo "Run ccsm or setting manager in fusion-icon to configure"
			echo "Compiz/Fusion"
		else
			echo -e "\nRun compiz-manager to load Compiz/Fusion."
			echo ""
			echo "Run ccsm to configure"
			echo "Compiz/Fusion"
		fi

		;;
	uninstall)
		# Uninstall Compiz
		
		do_make compiz $1

		if [ -d $_patch_dir ] && [ $COMPIZ_PATCHED = "YES" ]; then
			echo "patch file: ok"
		elif [ $COMPIZ_PATCHED = "YES" ]; then
			clone $_patch_git $REPO
			echo "patch file: ok"
		fi

		if [ -d "compiz" ] && [ -f .COMPIZ_PATCHED ]; then
			cd compiz
			git checkout master	
			telp_unpatch
			cd $OLDPWD
		fi


		# Uninstall fusion
		for a in $ITEMS; do
			b=`echo $a | sed 's/.*\///g'`
			if [ $b = "screencasting" ]; then
				sudo rm ~/.compiz/plugins/screencasting.so
				sudo rm ~/.compiz/metadata/screencasting.xml
			elif [ $b = "compiz-scripts" ]; then		# cartelle senza makefile
				echo ""
			elif [ $b = $_patch_dir ]; then
				echo ""							
			else
				do_make $b $1
			fi
		done


		# Uninstalling compiz-manager
		sudo rm -f /usr/bin/compiz-manager
		sudo rm -f ~/.config/compiz-managerrc
		sudo rm -rf ~/.compiz
		# remove previous kde fix if exist ###########################
		if [ $DISTRO = "sid-kde" ] || [ $DISTRO = "kubuntu-feisty" ] || [ $DISTRO = "lenny-kde" ] || [ $DISTRO = "kubuntu-gutsy" ];then
			if [ -f /bin/moc ]; then
				sudo rm /bin/moc
			fi
		fi
		# remove old (and new) symbolic link
		if [ $DISTRO = "ubuntu-feisty" ] || [ $DISTRO = "kubuntu-feisty" ];then
			if [ -h /usr/lib/libccs.so.0 ]; then
				sudo rm /usr/lib/libccs.so.0
			fi
		fi
		# se esistono rimuovo link simbolici		
		if [ -h /usr/lib/libcompizconfig.so.0 ]; then
			sudo rm /usr/lib/libcompizconfig.so.0
		fi
		if [ -h /usr/lib/libdecoration.so.0 ]; then
			sudo rm /usr/lib/libdecoration.so.0
		fi
		# Check for other emerald (like Beryl) installed
		if [ -z "$(which /usr/bin/emerald)" ]; then
			sudo rm -f /usr/lib/libemeraldengine.so.0
		fi


		# ###########################################################
		;;

	info)
		# echo ""
		echo ""
		echo "---------------------------------------"
		echo " $0 "
		echo "VERSION=\"$VERSION\""
		echo "---------------------------------------"
		echo ""
		echo "current settings:"
		echo ""
		echo "DISTRO=\"$DISTRO\""
		echo ""
		if [ $BUILD_FUSION_ICON != "NO" ]; then
			echo "MANAGER = fusion-icon compiz-manager"
		else
			echo "MANAGER = compiz-manager"
		fi

		if [ $COMPIZ_MANAGER_DEFAULT_DECORATOR != "emerald" ]; then
			echo "compiz-manager default decorator: \"DE (gtk-wd or kde-wd)\""
		else
			echo "compiz-manager default decorator: \"emerald\""
		fi
		echo ""
		echo "PREFIX=\"$PREFIX\""
		echo "PACKAGES=\"$PACKAGES\""
		echo "COMPIZREMOVE=\"$COMPIZREMOVE\""
		echo "CCPLUGINS=\"$CCPLUGINS\""
		echo ""	

		VERSIONEUSATA=""

		if [ $COMPIZ_VERSION = "0.6.0" ] ; then
			VERSIONEUSATA="0.6.0 core 0.6.2 (default)"
		elif [ $COMPIZ_VERSION = "0.5.2" ] ; then
			VERSIONEUSATA="relesase 0.5.2"
		elif [ $COMPIZ_VERSION = "master" ] && [  $COMPIZ_PATCHED = "YES" ]; then
			VERSIONEUSATA="0.5.x Git (disable-x11-xcb patch applied)"
		elif [ $COMPIZ_VERSION = "master" ] && [  $COMPIZ_PATCHED != "YES" ]; then
			VERSIONEUSATA="0.5.x Git (WARNING: Need libx11-xcb)"
		fi 

		echo "Compiz: $VERSIONEUSATA"	
		echo ""
		echo "Current Compiz build options:"
		echo ""
		echo "./autogen.sh --prefix=$PREFIX $COMPIZARGS"	
		echo ""	
		;;
	packages)
		#
		# cambiato aptitude in apt-get
		# aptitude vuole sempre cancellare troppi file che "esso"
		# considera inutili ma che a volte non lo sono.
		#
		#
		if [ $DISTRO = "sid-gnome" ]; then
			sudo apt-get install git-core automake intltool libtool libfuse-dev python-pyrex libxslt1-dev build-essential comerr-dev debhelper diffstat dpkg-dev enscript g++ g++-4.1 gawk hspell html2text intltool-debian libacl1-dev libart-2.0-dev libasound2-dev libaspell-dev libatk1.0-dev libattr1-dev libaudio-dev libaudiofile-dev libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd1 libavahi-glib-dev libbonobo2-dev libbonoboui2-dev libbz2-dev libcairo2-dev libcroco3-dev libcupsys2-dev libdbus-1-dev libdbus-glib-1-dev libesd0-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgconf2-dev libgcrypt11-dev libgl1-mesa-dev libglade2-dev libglib2.0-dev libglu1-mesa-dev libgnome-desktop-dev libgnome-keyring-dev libgnome-window-settings-dev libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomevfs2-dev libgnutls-dev libgpg-error-dev libgsf-1-dev libgtk2.0-dev libice-dev libidl-dev libidn11-dev libjasper-dev libjpeg62-dev liblcms1-dev liblua50 liblua50-dev liblualib50 liblualib50-dev liblzo-dev libmetacity-dev libmng-dev libogg-dev libopencdk10-dev libopenexr-dev libopenexr2ldbl liborbit2-dev libpango1.0-dev libpcre3 libpcre3-dev libpcrecpp0 libpng12-dev libpopt-dev librsvg2-dev libsasl2-dev libselinux1-dev libsepol1-dev libsm-dev libssl-dev libstartup-notification0-dev libstdc++6-4.1-dev libtasn1-3-dev libtiff4-dev libtiffxx0c2 libvorbis-dev libwnck-dev libx11-dev libxau-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev libxmu-headers libxrandr-dev libxrender-dev libxres-dev libxt-dev lua50 mesa-common-dev po-debconf poster psutils quilt x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-resource-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev python-all-dev xsltproc libxss1 libxss-dev x11proto-scrnsaver-dev coreutils mesa-utils
		elif [ $DISTRO = "lenny-gnome" ]; then
			sudo apt-get install git-core automake intltool libtool libfuse-dev python-pyrex libxslt1-dev build-essential comerr-dev debhelper diffstat dpkg-dev enscript g++ g++-4.1 gawk hspell html2text intltool-debian libacl1-dev libart-2.0-dev libasound2-dev libaspell-dev libatk1.0-dev libattr1-dev libaudio-dev libaudiofile-dev libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd1 libavahi-glib-dev libbonobo2-dev libbonoboui2-dev libbz2-dev libcairo2-dev libcroco3-dev libcupsys2-dev libdbus-1-dev libdbus-glib-1-dev libesd0-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgconf2-dev libgcrypt11-dev libgl1-mesa-dev libglade2-dev libglib2.0-dev libglu1-mesa-dev libgnome-desktop-dev libgnome-keyring-dev libgnome-window-settings-dev libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomevfs2-dev libgnutls-dev libgpg-error-dev libgsf-1-dev libgtk2.0-dev libice-dev libidl-dev libidn11-dev libjasper-dev libjpeg62-dev liblcms1-dev liblua50 liblua50-dev liblualib50 liblualib50-dev liblzo-dev libmetacity-dev libmng-dev libogg-dev libopencdk10-dev libopenexr-dev libopenexr2ldbl liborbit2-dev libpango1.0-dev libpcre3 libpcre3-dev libpcrecpp0 libpng12-dev libpopt-dev librsvg2-dev libsasl2-dev libselinux1-dev libsepol1-dev libsm-dev libssl-dev libstartup-notification0-dev libstdc++6-4.1-dev libtasn1-3-dev libtiff4-dev libtiffxx0c2 libvorbis-dev libwnck-dev libx11-dev libxau-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev libxmu-headers libxrandr-dev libxrender-dev libxres-dev libxt-dev lua50 mesa-common-dev po-debconf poster psutils quilt x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-resource-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev python-all-dev xsltproc libxss1 libxss-dev x11proto-scrnsaver-dev coreutils mesa-utils
		elif [ $DISTRO = "ubuntu-feisty" ]; then
			sudo apt-get install git-core automake intltool libtool libfuse-dev python-pyrex libxslt1-dev build-essential comerr-dev debhelper diffstat dpkg-dev enscript g++ g++-4.1 gawk hspell html2text intltool-debian libacl1-dev libart-2.0-dev libasound2-dev libaspell-dev libatk1.0-dev libattr1-dev libaudio-dev libaudiofile-dev libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd1 libavahi-glib-dev libbonobo2-dev libbonoboui2-dev libbz2-dev libcairo2-dev libcroco3-dev libcupsys2-dev libdbus-1-dev libdbus-glib-1-dev libesd0-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgconf2-dev libgcrypt11-dev libgl1-mesa-dev libglade2-dev libglib2.0-dev libglu1-mesa-dev libgnome-desktop-dev libgnome-keyring-dev libgnome-window-settings-dev libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomevfs2-dev libgnutls-dev libgpg-error-dev libgsf-1-dev libgtk2.0-dev libice-dev libidl-dev libidn11-dev libjasper-1.701-dev libjpeg62-dev liblcms1-dev liblua50 liblua50-dev liblualib50 liblualib50-dev liblzo-dev libmetacity-dev libmng-dev libogg-dev libopencdk8-dev libopenexr-dev libopenexr2c2a liborbit2-dev libpango1.0-dev libpcre3 libpcre3-dev libpcrecpp0 libpng12-dev libpopt-dev librsvg2-dev libsasl2-dev libselinux1-dev libsepol1-dev libsm-dev libssl-dev libstartup-notification0-dev libstdc++6-4.1-dev libtasn1-3-dev libtiff4-dev libtiffxx0c2 libvorbis-dev libwnck-dev libx11-dev libxau-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev libxmu-headers libxrandr-dev libxrender-dev libxres-dev libxt-dev lua50 mesa-common-dev po-debconf poster psutils quilt x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-resource-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev python-all-dev xsltproc libxss1 libxss-dev x11proto-scrnsaver-dev coreutils
		elif [ $DISTRO = "ubuntu-edgy" ]; then
			sudo apt-get install git-core automake1.9 intltool libtool libfuse-dev python-pyrex libxslt1-dev build-essential comerr-dev debhelper diffstat dpkg-dev enscript g++ g++-4.1 gawk hspell html2text intltool-debian libacl1-dev libart-2.0-dev libasound2-dev libaspell-dev libatk1.0-dev libattr1-dev libaudio-dev libaudiofile-dev libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd1 libavahi-glib-dev libbonobo2-dev libbonoboui2-dev libbz2-dev libcairo2-dev libcroco3-dev libcupsys2-dev libdbus-1-dev libdbus-glib-1-dev libesd0-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgconf2-dev libgcrypt11-dev libgl1-mesa-dev libglade2-dev libglib2.0-dev libglu1-mesa-dev libgnome-desktop-dev libgnome-keyring-dev libgnome-window-settings-dev libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomevfs2-dev libgnutls-dev libgpg-error-dev libgsf-1-dev libgtk2.0-dev libice-dev libidl-dev libidn11-dev libjasper-1.701-dev libjpeg62-dev liblcms1-dev liblua50 liblua50-dev liblualib50 liblualib50-dev liblzo-dev libmetacity-dev libmng-dev libogg-dev libopencdk8-dev libopenexr-dev libopenexr2c2a liborbit2-dev libpango1.0-dev libpcre3 libpcre3-dev libpcrecpp0 libpng12-dev libpopt-dev librsvg2-dev libsasl2-dev libselinux1-dev libsepol1-dev libsm-dev libssl-dev libstartup-notification0-dev libstdc++6-4.1-dev libtasn1-3-dev libtiff4-dev libtiffxx0c2 libvorbis-dev libwnck-dev libx11-dev libxau-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev libxmu-headers libxrandr-dev libxrender-dev libxres-dev libxt-dev lua50 mesa-common-dev po-debconf poster psutils quilt x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-resource-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev python-all-dev xsltproc libxss1 libxss-dev x11proto-scrnsaver-dev coreutils
		elif [ $DISTRO = "kubuntu-feisty" ]; then
			sudo apt-get install git-core automake intltool libtool libfuse-dev python-pyrex libxslt1-dev build-essential comerr-dev debhelper diffstat dpkg-dev enscript g++ g++-4.1 gawk hspell html2text intltool-debian libacl1-dev libart-2.0-dev libasound2-dev libaspell-dev libatk1.0-dev libattr1-dev libaudio-dev libaudiofile-dev libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd1 libavahi-glib-dev libbonobo2-dev libbonoboui2-dev libbz2-dev libcairo2-dev libcroco3-dev libcupsys2-dev libdbus-1-dev libdbus-glib-1-dev libesd0-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgconf2-dev libgcrypt11-dev libgl1-mesa-dev libglade2-dev libglib2.0-dev libglu1-mesa-dev libgnome-desktop-dev libgnome-keyring-dev libgnome-window-settings-dev libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomevfs2-dev libgnutls-dev libgpg-error-dev libgsf-1-dev libgtk2.0-dev libice-dev libidl-dev libidn11-dev libjasper-1.701-dev libjpeg62-dev liblcms1-dev liblua50 liblua50-dev liblualib50 liblualib50-dev liblzo-dev libmetacity-dev libmng-dev libogg-dev libopencdk8-dev libopenexr-dev libopenexr2c2a liborbit2-dev libpango1.0-dev libpcre3 libpcre3-dev libpcrecpp0 libpng12-dev libpopt-dev librsvg2-dev libsasl2-dev libselinux1-dev libsepol1-dev libsm-dev libssl-dev libstartup-notification0-dev libstdc++6-4.1-dev libtasn1-3-dev libtiff4-dev libtiffxx0c2 libvorbis-dev libwnck-dev libx11-dev libxau-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev libxmu-headers libxrandr-dev libxrender-dev libxres-dev libxt-dev lua50 mesa-common-dev po-debconf poster psutils quilt x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-resource-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev kate kcontrol kdebase-bin kdebase-data kdebase-dev kdebase-kio-plugins kdelibs-data kdelibs4-dev kdelibs4c2a kdeprint kdesdk-scripts kdesktop kfind khelpcenter kicker klipper kmenuedit konqueror konqueror-nsplugins konsole ksmserver ksplash ksysguard ksysguardd kwin gettext-kde libavahi-qt3-1 libavahi-qt3-dev libkadm55 libkonq4 libkrb5-dev libqt3-headers libqt3-mt libqt3-mt-dev qt3-dev-tools libdbus-qt-1-1c2 libdbus-qt-1-dev libarts1-dev libarts1c2a libartsc0 libartsc0-dev python-all-dev moc xsltproc libxss1 libxss-dev x11proto-scrnsaver-dev coreutils
		elif [ $DISTRO = "kubuntu-edgy" ]; then
			sudo apt-get install git-core automake1.9 intltool libtool libfuse-dev python-pyrex libxslt1-dev build-essential comerr-dev debhelper diffstat dpkg-dev enscript g++ g++-4.1 gawk hspell html2text intltool-debian libacl1-dev libart-2.0-dev libasound2-dev libaspell-dev libatk1.0-dev libattr1-dev libaudio-dev libaudiofile-dev libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd1 libavahi-glib-dev libbonobo2-dev libbonoboui2-dev libbz2-dev libcairo2-dev libcroco3-dev libcupsys2-dev libdbus-1-dev libdbus-glib-1-dev libesd0-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgconf2-dev libgcrypt11-dev libgl1-mesa-dev libglade2-dev libglib2.0-dev libglu1-mesa-dev libgnome-desktop-dev libgnome-keyring-dev libgnome-window-settings-dev libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomevfs2-dev libgnutls-dev libgpg-error-dev libgsf-1-dev libgtk2.0-dev libice-dev libidl-dev libidn11-dev libjasper-1.701-dev libjpeg62-dev liblcms1-dev liblua50 liblua50-dev liblualib50 liblualib50-dev liblzo-dev libmetacity-dev libmng-dev libogg-dev libopencdk8-dev libopenexr-dev libopenexr2c2a liborbit2-dev libpango1.0-dev libpcre3 libpcre3-dev libpcrecpp0 libpng12-dev libpopt-dev librsvg2-dev libsasl2-dev libselinux1-dev libsepol1-dev libsm-dev libssl-dev libstartup-notification0-dev libstdc++6-4.1-dev libtasn1-3-dev libtiff4-dev libtiffxx0c2 libvorbis-dev libwnck-dev libx11-dev libxau-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev libxmu-headers libxrandr-dev libxrender-dev libxres-dev libxt-dev lua50 mesa-common-dev po-debconf poster psutils quilt x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-resource-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev kate kcontrol kdebase-bin kdebase-data kdebase-dev kdebase-kio-plugins kdelibs-data kdelibs4-dev kdelibs4c2a kdeprint kdesdk-scripts kdesktop kfind khelpcenter kicker klipper kmenuedit konqueror konqueror-nsplugins konsole ksmserver ksplash ksysguard ksysguardd kwin gettext-kde libavahi-qt3-1 libavahi-qt3-dev libkadm55 libkonq4 libkrb5-dev libqt3-headers libqt3-mt libqt3-mt-dev qt3-dev-tools libdbus-qt-1-1c2 libdbus-qt-1-dev libarts1-dev libarts1c2a libartsc0 libartsc0-dev python-all-dev moc xsltproc libxss1 libxss-dev x11proto-scrnsaver-dev coreutils
		elif [ $DISTRO = "sid-kde" ]; then
			sudo apt-get install  moc git-core automake intltool libtool libfuse-dev python-pyrex libxslt1-dev build-essential comerr-dev debhelper diffstat dpkg-dev enscript g++ g++-4.1 gawk hspell html2text intltool-debian libacl1-dev libart-2.0-dev libasound2-dev libaspell-dev libatk1.0-dev libattr1-dev libaudio-dev libaudiofile-dev libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd1 libavahi-glib-dev libbonobo2-dev libbonoboui2-dev libbz2-dev libcairo2-dev libcroco3-dev libcupsys2-dev libdbus-1-dev libdbus-glib-1-dev libesd0-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgconf2-dev libgcrypt11-dev libgl1-mesa-dev libglade2-dev libglib2.0-dev libglu1-mesa-dev libgnome-desktop-dev libgnome-keyring-dev libgnome-window-settings-dev libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomevfs2-dev libgnutls-dev libgpg-error-dev libgsf-1-dev libgtk2.0-dev libice-dev libidl-dev libidn11-dev libjasper-dev libjpeg62-dev liblcms1-dev liblua50 liblua50-dev liblualib50 liblualib50-dev liblzo-dev libmetacity-dev libmng-dev libogg-dev libopencdk10-dev libopenexr-dev libopenexr2ldbl liborbit2-dev libpango1.0-dev libpcre3 libpcre3-dev libpcrecpp0 libpng12-dev libpopt-dev librsvg2-dev libsasl2-dev libselinux1-dev libsepol1-dev libsm-dev libssl-dev libstartup-notification0-dev libstdc++6-4.1-dev libtasn1-3-dev libtiff4-dev libtiffxx0c2 libvorbis-dev libwnck-dev libx11-dev libxau-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev libxmu-headers libxrandr-dev libxrender-dev libxres-dev libxt-dev lua50 mesa-common-dev po-debconf poster psutils quilt x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-resource-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev kate kcontrol kdebase-bin kdebase-data kdebase-dev kdebase-kio-plugins kdelibs-data kdelibs4-dev kdelibs4c2a kdeprint kdesdk-scripts kdesktop kfind khelpcenter kicker klipper kmenuedit konqueror konqueror-nsplugins konsole ksmserver ksplash ksysguard ksysguardd kwin gettext libavahi-qt3-1 libavahi-qt3-dev libkadm55 libkonq4 libkrb5-dev libqt3-headers libqt3-mt libqt3-mt-dev qt3-dev-tools libdbus-qt-1-1c2 libdbus-qt-1-dev libarts1-dev libarts1c2a libartsc0 libartsc0-dev python-all-dev xsltproc libxss1 libxss-dev x11proto-scrnsaver-dev coreutils mesa-utils
		elif [ $DISTRO = "ubuntu-gutsy" ]; then
			sudo apt-get install git-core automake intltool libtool libfuse-dev python-pyrex libxslt1-dev build-essential comerr-dev debhelper diffstat dpkg-dev enscript g++ g++-4.1 gawk hspell html2text intltool-debian libacl1-dev libart-2.0-dev libasound2-dev libaspell-dev libatk1.0-dev libattr1-dev libaudio-dev libaudiofile-dev libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd1 libavahi-glib-dev libbonobo2-dev libbonoboui2-dev libbz2-dev libcairo2-dev libcroco3-dev libcupsys2-dev libdbus-1-dev libdbus-glib-1-dev libesd0-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgconf2-dev libgcrypt11-dev libgl1-mesa-dev libglade2-dev libglib2.0-dev libglu1-mesa-dev libgnome-desktop-dev libgnome-keyring-dev libgnome-window-settings-dev libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomevfs2-dev libgnutls-dev libgpg-error-dev libgsf-1-dev libgtk2.0-dev libice-dev libidl-dev libidn11-dev libjasper-dev libjpeg62-dev liblcms1-dev liblua50 liblua50-dev liblualib50 liblualib50-dev liblzo-dev libmetacity-dev libmng-dev libogg-dev libopencdk8-dev libopenexr-dev libopenexr2c2a liborbit2-dev libpango1.0-dev libpcre3 libpcre3-dev libpcrecpp0 libpng12-dev libpopt-dev librsvg2-dev libsasl2-dev libselinux1-dev libsepol1-dev libsm-dev libssl-dev libstartup-notification0-dev libstdc++6-4.1-dev libtasn1-3-dev libtiff4-dev libtiffxx0c2 libvorbis-dev libwnck-dev libx11-dev libxau-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev libxmu-headers libxrandr-dev libxrender-dev libxres-dev libxt-dev lua50 mesa-common-dev po-debconf poster psutils quilt x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-resource-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev python-all-dev xsltproc libxss1 libxss-dev x11proto-scrnsaver-dev coreutils
		elif [ $DISTRO = "kubuntu-gutsy" ]; then
			sudo apt-get install git-core automake1.9 intltool libtool libfuse-dev python-pyrex libxslt1-dev build-essential comerr-dev debhelper diffstat dpkg-dev enscript g++ g++-4.1 gawk hspell html2text intltool-debian libacl1-dev libart-2.0-dev libasound2-dev libaspell-dev libatk1.0-dev libattr1-dev libaudio-dev libaudiofile-dev libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd1 libavahi-glib-dev libbonobo2-dev libbonoboui2-dev libbz2-dev libcairo2-dev libcroco3-dev libcupsys2-dev libdbus-1-dev libdbus-glib-1-dev libesd0-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgconf2-dev libgcrypt11-dev libgl1-mesa-dev libglade2-dev libglib2.0-dev libglu1-mesa-dev libgnome-desktop-dev libgnome-keyring-dev libgnome-window-settings-dev libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomevfs2-dev libgnutls-dev libgpg-error-dev libgsf-1-dev libgtk2.0-dev libice-dev libidl-dev libidn11-dev libjasper-dev libjpeg62-dev liblcms1-dev liblua50 liblua50-dev liblualib50 liblualib50-dev liblzo-dev libmetacity-dev libmng-dev libogg-dev libopencdk8-dev libopenexr-dev libopenexr2c2a liborbit2-dev libpango1.0-dev libpcre3 libpcre3-dev libpcrecpp0 libpng12-dev libpopt-dev librsvg2-dev libsasl2-dev libselinux1-dev libsepol1-dev libsm-dev libssl-dev libstartup-notification0-dev libstdc++6-4.1-dev libtasn1-3-dev libtiff4-dev libtiffxx0c2 libvorbis-dev libwnck-dev libx11-dev libxau-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev libxmu-headers libxrandr-dev libxrender-dev libxres-dev libxt-dev lua50 mesa-common-dev po-debconf poster psutils quilt x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-resource-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev kate kcontrol kdebase-bin kdebase-data kdebase-dev kdebase-kio-plugins kdelibs-data kdelibs4-dev kdelibs4c2a kdeprint kdesdk-scripts kdesktop kfind khelpcenter kicker klipper kmenuedit konqueror konqueror-nsplugins konsole ksmserver ksplash ksysguard ksysguardd kwin gettext-kde libavahi-qt3-1 libavahi-qt3-dev libkadm55 libkonq4 libkrb5-dev libqt3-headers libqt3-mt libqt3-mt-dev qt3-dev-tools libdbus-qt-1-1c2 libdbus-qt-1-dev libarts1-dev libarts1c2a libartsc0 libartsc0-dev python-all-dev moc xsltproc libxss1 libxss-dev x11proto-scrnsaver-dev coreutils python-gtk2-dev libgtk2.0-bin
		elif [ $DISTRO = "lenny-kde" ]; then
			sudo apt-get install  moc git-core automake intltool libtool libfuse-dev python-pyrex libxslt1-dev build-essential comerr-dev debhelper diffstat dpkg-dev enscript g++ g++-4.1 gawk hspell html2text intltool-debian libacl1-dev libart-2.0-dev libasound2-dev libaspell-dev libatk1.0-dev libattr1-dev libaudio-dev libaudiofile-dev libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd1 libavahi-glib-dev libbonobo2-dev libbonoboui2-dev libbz2-dev libcairo2-dev libcroco3-dev libcupsys2-dev libdbus-1-dev libdbus-glib-1-dev libesd0-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgconf2-dev libgcrypt11-dev libgl1-mesa-dev libglade2-dev libglib2.0-dev libglu1-mesa-dev libgnome-desktop-dev libgnome-keyring-dev libgnome-window-settings-dev libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomevfs2-dev libgnutls-dev libgpg-error-dev libgsf-1-dev libgtk2.0-dev libice-dev libidl-dev libidn11-dev libjasper-dev libjpeg62-dev liblcms1-dev liblua50 liblua50-dev liblualib50 liblualib50-dev liblzo-dev libmetacity-dev libmng-dev libogg-dev libopencdk10-dev libopenexr-dev libopenexr2ldbl liborbit2-dev libpango1.0-dev libpcre3 libpcre3-dev libpcrecpp0 libpng12-dev libpopt-dev librsvg2-dev libsasl2-dev libselinux1-dev libsepol1-dev libsm-dev libssl-dev libstartup-notification0-dev libstdc++6-4.1-dev libtasn1-3-dev libtiff4-dev libtiffxx0c2 libvorbis-dev libwnck-dev libx11-dev libxau-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev libxmu-headers libxrandr-dev libxrender-dev libxres-dev libxt-dev lua50 mesa-common-dev po-debconf poster psutils quilt x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-resource-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev kate kcontrol kdebase-bin kdebase-data kdebase-dev kdebase-kio-plugins kdelibs-data kdelibs4-dev kdelibs4c2a kdeprint kdesdk-scripts kdesktop kfind khelpcenter kicker klipper kmenuedit konqueror konqueror-nsplugins konsole ksmserver ksplash ksysguard ksysguardd kwin gettext libavahi-qt3-1 libavahi-qt3-dev libkadm55 libkonq4 libkrb5-dev libqt3-headers libqt3-mt libqt3-mt-dev qt3-dev-tools libdbus-qt-1-1c2 libdbus-qt-1-dev libarts1-dev libarts1c2a libartsc0 libartsc0-dev python-all-dev xsltproc libxss1 libxss-dev x11proto-scrnsaver-dev coreutils mesa-utils
		elif [ $DISTRO = "arch-gnome" ]; then
			echo "Per il corretto funzionamento installate sudo"
			echo "pacman -S sudo"
			echo ""
			echo "ATTENZIONE potrebbe mancare qualche dipendenza"
			echo "Verificate nella cartella .log eventuali configure e make"
			echo "che segnalano la mancanza di qualche pacchetto" 
			echo "-------------------------------------------------------------"
			echo "Se la versione installata è aggiornata, rispondete N e INVIO"
 			echo ""
			sudo pacman -S  git intltool libx11 python pycairo pygobject pygtk pyrex pyxml dbus desktop-file-utils gconf librsvg libxcomposite libxdamage  scrollkeeper startup-notification libjpeg librsvg gtk2 libwnck glib2 libxslt libsexy coreutils mesa pkgconfig
		fi
		;;
	*)
		echo ""
		echo ""
		echo "Usage: $0 packages | clone | install | uninstall | restore | help | info"
		echo ""
		echo "Edit this script with  DISTRO=\"right-name\""
		echo ""
		echo "At first run install build packages:"
		echo "$0 packages"
		echo ""
		echo "Then clone the Git with:"
		echo "$0 clone "
		echo ""
		echo "Install Compiz Git and Fusion with:"
		echo "$0 install"
		echo ""
		echo "To update Compiz-Fusion:"
		echo "$0 uninstall "
		echo "$0 clone "
		echo "$0 install "
		echo ""
		echo "To uninstall Compiz-Fusion:"
		echo "$0 uninstall "
		echo ""
		echo "To view te current script settings"
		echo "$0 info"
		echo ""
		echo "To view this help"
		echo "$0 help"
		echo "$0"
		echo ""
		echo ""
		echo ""
		exit 1
esac

# -----------------------------------------------------------------
# gli autori originali in testa al file.
#
# Modificato alla meno peggio da Telperion.
#
# per aggiornamenti:
# http:telperion.wordpress.com
# categoria: fusion
# Buon divertimento.
# Cosulenza sid-kde:
# imu 
# http://osrevolution.wordpress.com/
# -----------------------------------------------------------------