#!/bin/bash # Makefusion based on Compiz/fusion makeccc # Copyright (c) 2007 Franz Rogar # Based on get-git script by Kristian Lyngstøl # Copyright (c) 2007 Kristian Lyngstøl # function git_pull_check based on makefusiondebs Treviño - 3v1n0 # 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/ # -----------------------------------------------------------------