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/
# -----------------------------------------------------------------