All pastes #592631 Raw Edit

Anonymous

public text v1 · immutable
#592631 ·published 2007-06-27 21:29 UTC
rendered paste body
#!/bin/bash
PACKAGES="fusion ccs-gconf"
COMPIZREMOVE="kde fuse"

PREFIX="/usr/local"

DISTRO="ubuntu-edgy"

ITEMS="$ITEMS fusion/libraries/bcop";
ITEMS="$ITEMS compiz";
ITEMS="$ITEMS fusion/compizconfig/libcompizconfig";
ITEMS="$ITEMS fusion/compizconfig/compizconfig-python";
ITEMS="$ITEMS fusion/compizconfig/compizconfig-backend-gconf";
ITEMS="$ITEMS fusion/compizconfig/compizconfig-backend-kconfig";
ITEMS="$ITEMS fusion/compizconfig/ccsm";
#ITEMS="$ITEMS fusion/plugins/3d";
ITEMS="$ITEMS fusion/plugins-main";
ITEMS="$ITEMS fusion/plugins-extra";
ITEMS="$ITEMS fusion/plugins-unsupported";
ITEMS="$ITEMS users/kristian/zoom";
#ITEMS="$ITEMS fusion/plugins/thumbnail";
#ITEMS="$ITEMS fusion/plugins/ring";
#ITEMS="$ITEMS fusion/plugins/showdesktop";
#ITEMS="$ITEMS fusion/plugins/group";
#ITEMS="$ITEMS fusion/plugins/expo";
#ITEMS="$ITEMS users/raof/radial-switcher";
#ITEMS="$ITEMS fusion/plugins/gears";
#ITEMS="$ITEMS fusion/plugins/vpswitch";
#ITEMS="$ITEMS fusion/plugins/wall";
#ITEMS="$ITEMS fusion/plugins/resizeinfo";
#ITEMS="$ITEMS fusion/plugins/animation";
#ITEMS="$ITEMS fusion/plugins/cubereflex";
#ITEMS="$ITEMS fusion/misc/yags";
#ITEMS="$ITEMS users/maniac/scalefilter";
#ITEMS="$ITEMS fusion/plugins/goto-viewport";
ITEMS="$ITEMS fusion/decorators/emerald";
#ITEMS="$ITEMS fusion/plugins/mswitch";
ITEMS="$ITEMS fusion/plugins-unsupported";
#ITEMS="$ITEMS fusion/plugins/wallpaper";
#ITEMS="$ITEMS fusion/plugins/scaleaddon";
#ITEMS="$ITEMS fusion/plugins/reflex";
#ITEMS="$ITEMS fusion/plugins/splash";
#ITEMS="$ITEMS fusion/plugins/snow";
#ITEMS="$ITEMS fusion/plugins/text";
#ITEMS="$ITEMS fusion/plugins/trailfocus";
#ITEMS="$ITEMS fusion/plugins/tile";
#ITEMS="$ITEMS fusion/plugins/snap";
#ITEMS="$ITEMS fusion/plugins/put";
#ITEMS="$ITEMS fusion/plugins/opacify";
#ITEMS="$ITEMS fusion/plugins/neg";
#ITEMS="$ITEMS fusion/plugins/mblur";
#ITEMS="$ITEMS fusion/plugins/jpeg";
#ITEMS="$ITEMS fusion/plugins/fakeargb";
#ITEMS="$ITEMS fusion/plugins/fadedesktop";
#ITEMS="$ITEMS fusion/plugins/extrawm";
#ITEMS="$ITEMS fusion/plugins/crashhandler";
#ITEMS="$ITEMS fusion/plugins/bench";
#ITEMS="$ITEMS fusion/plugins/addhelper";
#ITEMS="$ITEMS fusion/plugins/firepaint";
#ITEMS="$ITEMS fusion/plugins/winrules";
#ITEMS="$ITEMS fusion/misc/makefile";
ITEMS="$ITEMS fusion/plugins-wip";
ITEMS="$ITEMS fusion/plugins/compiz-scheme";
#ITEMS="$ITEMS fusion/plugins/screencasting";
#ITEMS="$ITEMS users/keeguon/compiz-icon";
#ITEMS="$ITEMS fusion/plugins/viewport-switcher";
#ITEMS="$ITEMS users/kristian/compiz-scripts";
ITEMS="$ITEMS fusion/decorators/emerald-themes";
ITEMS="$ITEMS users/3v1n0/compiz-fusion-debian";



# Compiz autogen.sh arguments selector
for p in $COMPIZREMOVE ; do
	if [ $p = "gnome" ]; then
		COMPIZARGS="$COMPIZARGS --enable-kde --disable-gtk --enable-librsvg"
	elif [ $p = "kde" ]; then
		COMPIZARGS="$COMPIZARGS --enable-gtk --disable-kde --enable-librsvg"
	fi
done

		COMPIZARGS="$COMPIZARGS --disable-inotify"
		COMPIZARGS="$COMPIZARGS --disable-fuse"


# Repositories
REPO="git://annongit.opencompositing.org/"


# 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

# If $1 directory is present, pull repo. If not, clone it.
function clone
{
	pkgName=`echo $1 | sed 's/.*\///g'`
	OLDPWD=$PWD
	if [ -d $pkgName ]; then
		cd $pkgName
		echo -e "\nUpdating $pkgName";
		git-pull > $OLDPWD/.logs/$pkgName.pull.log
		cd $OLDPWD
	else
		echo -e "\nCloning $pkgName";
		git-clone $2$1
	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 "\tConfiguring $1..."
		cd $1
		echo -e "\tExecuting autogen.sh --prefix=$PREFIX $AUTOGEN_OPTIONS in $1..."
		if [ -x configure ]; then
			sudo rm -f configure
			sudo rm -rf autom4te.cache
		fi
		if [ -e Makefile ]; then
			sudo rm -f Makefile
		fi
		./autogen.sh --prefix=$PREFIX $AUTOGEN_OPTIONS
		cd $OLDPWD
	else
		echo $1/autogen.sh  not found ! bye ...
		exit
	fi
}

# Call make on each $1
function do_make
{
	OLDPWD=$PWD
	cd $1 
	case "$2" in
		install)
			echo -e "\tInstalling $1..."
			echo -e "\tExecuting make"
			make 
			if [ -e autogen.sh ]; then
				echo -e "\tExecuting sudo make $2"
				sudo make $2 
			else
				echo -e "\tExecuting make $2"
				make $2 
			fi
			;;
		uninstall)
			echo -e "\tUninstalling $1..."
			if [ -e autogen.sh ]; then
				echo -e "\tExecuting sudo make $2"
				sudo make $2 
			else
				echo -e "\tExecuting make $2"
				make $2 
			fi
			echo -e "\tExecuting make clean"
			make clean 
	esac
	cd $OLDPWD  
}

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




# makeccc action selector
case "$1" in
	all)
		reset
		
		

		echo -en "\n***************Cloning\n"
		
		for a in $ITEMS ; do
			echo -en ", "`echo $a | sed 's/.*\///g'`
			clone $a $REPO  
			echo -en "... done"
		done

		echo -en "\n\n***************Install\n"


		for a in $ITEMS; do
			pkgName=`echo $a | sed 's/.*\///g'`
#			if [ $SpkgName = "screencasting" ]; then
#				do_make $a/player $1
#				do_make $a/rsc2raw $1
#				do_make $a/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;

#				OLDPWD=$PWD
#				echo -en "\n[$pkgName]\n"
#				do_autogen $pkgName
#				cd $pkgName  >/dev/null
#				cp -r $OLDPWD/compiz-fusion-debian/$pkgName/debian ./
#				sudo dpkg-buildpackage -d -rfakeroot 
#				echo result :$?
#				cd $OLDPWD >/dev/null
#				find -name \*$pkgName\*.deb -exec sudo dpkg -i {} \;
				do_autogen $pkgName
				do_make $pkgName "install"

		done


		;;
		
		
	clone)
		clear

		# Clone Compiz
		clone compiz $REPO

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

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

		echo -e "\n"
		;;
	install)
		clear
		
		sudo echo "Welcome to Compiz/CompComm"

		# Distro specific fixes
		if [ $DISTRO = "ubuntu-feisty" ] || [ $DISTRO = "kubuntu-feisty" ]; 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 CompComm
		for a in $ITEMS; do
			pkgName=`echo $a | sed 's/.*\///g'`
				echo $pkgName
			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;
			fi
			if [ $pkgName = "plugins-main" ]; then
				do_autogen $pkgName
				exit
			else
echo rien
#				do_autogen $pkgName
#				do_make $pkgName $1
			fi
		done

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

			# Fix for libccs library
		#	if [ ! -h /usr/lib/libccs.so.0 ]; then
		#		sudo ln -s /usr/local/lib/libccs.so.0 /usr/lib/libccs.so.0
		#	fi
#
			# Fix for cube sides number
#			gconftool-2 --type int --set /app/compiz/general/screen0/options/hsize 4
#		fi

		# 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
#		sudo cp $ARCHIVE /usr/bin/

		# Version notes
		echo -e "\nRun compiz-manager to load Compiz/CompComm."
		echo " "
		echo "Run ccs-settings o ccsm (preffered) to configure"
		;;
	uninstall)
		# Uninstall Compiz
		do_make compiz $1

		# Uninstall CompComm
		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
			else
				do_make $b $1
			fi
		done

		# Uninstalling compiz-manager
		sudo rm /usr/bin/compiz-manager
		sudo rm -f ~/.config/compiz-managerrc
		sudo rm -rf ~/.compiz
		;;

	packages)
		if [ $DISTRO = "ubuntu-feisty" ]; then
			sudo aptitude install git gitweb 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
		elif [ $DISTRO = "kubuntu-feisty" ]; then
			sudo aptitude install git gitweb 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
		fi
		;;
	*)
		echo "Usage: $0 packages | clone | instal | uninstall"
		exit 1
esac