Repository 32bit  Forum
Repository 64bit  Wiki

Compiz-git: differenze tra le versioni

Da Slacky.eu.
(News)
Riga 16: Riga 16:
= Download =
= Download =
http://www.slacky.eu/wikislack/script/get-compiz-v2.1.sh
+
http://www.slacky.eu/wikislack/script/get-compiz-v2.2.sh
= Script =
= Script =

Versione delle 22:49, 16 feb 2008

Indice

Descrizione

Questo script esegue il download dell'ultima versione GIT di compiz-fusion, lo compila e lo installa (il prefix di default è lo stesso usato da Patrik --> /usr/local). Oltre a compiz vengono scaricati i rami del progetto di cui necessita per il suo corretto funzionamento (libcompizconfig, ccsm, emerald,...) e tutti i plugins disponibili :-)

Attualmente non viene creato né un pacchetto ".tgz", né uno Slack.build per il semplice motivo che non saprei da che parte cominciare :-\

Requisiti

GIT --> home

PYTHON --> python-italia // sito_ufficiale

CONNESSIONE A INTERNET ATTIVA --> per scaricare i vari componenti

ACCELERAZIONE 3D ATTIVATA --> per poter avviare compiz e godersi al meglio tutte le meraviglie di questo window-manager

Download

http://www.slacky.eu/wikislack/script/get-compiz-v2.2.sh

Script

Di seguito è riportato il codice dello script. Versione 2.2

#!/bin/bash
# Script che scarica, compila e installa compiz-fusion versione git
#
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0
# :-)
#
# Script creato il 16/2/2008 da Ansa89 (avrei dovuto studiare i DBMS...)

HERE=$(pwd)
COMPIZ="git://git.freedesktop.org/git/xorg/app/compiz"
REPO="git://anongit.compiz-fusion.org/fusion/"
ITEMS="libraries/bcop"
ITEMS="$ITEMS plugins-main plugins-extra plugins-unsupported plugins-wip"
ITEMS="$ITEMS decorators/emerald decorators/emerald-themes"
ITEMS="$ITEMS compizconfig/libcompizconfig"
ITEMS="$ITEMS compizconfig/compizconfig-python"
ITEMS="$ITEMS compizconfig/ccsm"
ITEMS="$ITEMS i18n"
EXTRA="git://anongit.compiz-fusion.org/users/crdlb/fusion-icon"

# Gli argomenti da passare a "autogen.sh di compiz"
ARGS=" --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local"

# Controllo se git è installato
if [ -z "$(which git-clone)" ]; then
        echo "Devi avere GIT installato per usare questo script!"
        exit 1;
fi
if [ -z "$(which git-pull)" ]; then
        echo "Devi avere GIT installato per usare questo script!"
        exit 1;
fi

# Controllo se python è installato
if [ -z "$(which python)" ]; then
	echo "Devi avere PYTHON installato per usare questo script!"
	exit 1;
fi

# Controllo se hai internet
if ! ping -c 5 www.slacky.eu &> /dev/null; then
	echo "Devi poter accedere a internet per scaricare i sorgenti!"
	exit 1;
fi

# Scarico e installo due pacchetti che servono
wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.0/network/gizmo/3.1.0.79/gconf-2.20.1-i686-6as.tgz
su -c "upgradepkg --install-new gconf-2.20.1-i686-6as.tgz"
wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.0/network/gizmo/3.1.0.79/orbit2-2.14.10-i686-6as.tgz
su -c "upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz"
rm gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz

# Path dove si vuole scaricare i sorgenti
echo "Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)"
echo "Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)"
echo -n "($HERE)  "
read dir
echo -n "Vuoi anche installare compiz? (s/n)  "
read inst
if [ "$dir" == "" ]; then
	dir=$HERE
fi
if [ ! -e $dir/compiz-git ]; then
	mkdir -p $dir/compiz-git
fi
if [ "$inst" == "" ]; then
	inst="n"
fi
COMPIZDIR=$dir/compiz-git

# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)
cd $COMPIZDIR
COMPIZDIR=$(pwd)
DIR=$(ls)
if [ ! -e compiz ]; then
	echo "Scarico compiz..."
	git-clone $COMPIZ
	echo
else
	cd compiz
	echo "Sto aggiornando compiz..."
	git-pull
	cd ../
	echo
fi
for z in $ITEMS; do
	if [ ! -e $(echo $z | cut -d "/" -f 2) ]; then
		echo "Scarico il ramo $z..."
		git-clone $REPO$z
		echo
	else
		cd $(echo $z | cut -d "/" -f 2)
		echo "Sto aggiornando il ramo $z..."
		git-pull
		cd ../
		echo
	fi
done

# Compilo compiz per primo (è una dipendenza degli altri pacchetti)
cd compiz
echo -n "Per primo compilo compiz con i seguenti flags: "
echo $ARGS
sleep 2
./autogen.sh $ARGS
sleep 2
make
if [ "$(echo $?)" == "0" ] && [ "$inst" == "s" ]; then
	echo "Inserisci la password di root per installare compiz"
	su -c "make install"
	cd ../
else
	echo
	echo "Qualcosa non è andato bene..."
	echo "Esco"
	echo
	exit 1
fi

# Entro in tutte le cartelle, compilo e installo se trovo "autogen.sh"
cd $COMPIZDIR
for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do
	cd $COMPIZDIR
	cd $i
	if [ -e autogen.sh ]; then
		echo
		echo "Compilo $i"
		./autogen.sh
		./configure
		make clean
		make
		if [ "$(echo $?)" == "0" ]; then
			echo "Inserisci la password di root per installare $i"
			su -c "make install"
			cd ../
			if [ "$i" == "bcop" ] && [ ! -e /usr/local/lib/pkgconfig/ ]; then
				echo "Reinserisci la password di root"
				su -c "ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/"
			fi
		else
			echo
			echo "Non sono riuscito ad installare $i"
			echo "Mi fermo"
			echo
			cd ../
			exit 1
		fi
	fi
done

# Adesso compilo CCSM perchè devo usare python
cd $COMPIZDIR
cd ccsm
python setup.py clean
python setup.py build
if [ "$(echo $?)" == "0" ]; then
	echo "Inserisci la password di root per installare ccsm"
	su -c "python setup.py install"
	cd ../
	echo "Reinserisci la password di root"
	su -c "ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/"
else
	echo
	echo "Non sono riuscito ad installare ccsm"
	echo "Mi fermo"
	cd ../
	exit 1
fi

# Chiedo se vuoi anche la fusion-icon
echo -n "Vuoi anche installare la fusion-icon? (s/n)  "
read icon
if [ "$icon" == "" ]; then
	icon="n"
fi
if [ "$icon" == "s" ]; then
	cd $COMPIZDIR
	if [ ! -e fusion-icon ]; then
		git-clone $EXTRA
	else
		cd fusion-icon
		git-pull
		cd ../
	fi
	python setup.py clean
	python setup.py build
	if [ "$(echo $?)" == "0" ]; then
		echo "Inserisci la password di root per installare fusion-icon"
		su -c "python setup.py install"
		cd ../
	else
		echo
		echo "Non sono riuscito ad installare fusion-icon"
		echo "Mi fermo"
		cd ../
		exit 1
	fi
fi
echo
echo
echo "Congratulazioni!"
echo "Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!"
echo
echo "Have a lot of fun :-)"
exit 0
#EOF
  • Autore: Ansa89

News

Inizio una sezione "news" per spiegare le migliorie che cerco di introdurre nelle nuove versioni:

- V 1.0 --> prima versione...con un sacco di bug (eh oh)

- V 2.0 --> dopo un bel periodo di prove ho capito come evitare alcuni problemi durante la compilazione dei vari componenti

- V 2.1 --> ehm...avevo sbagliato a scrivere alcune linee di codice e mentre le correggevo mi è venuto in mente di aggiungere qualcosina: finalmente possiamo avere la fusion-icon!! :-D

- V 2.2 --> "plugins-main" non trovava "bcop" durante la configurazione a causa di un path errato (spiegazione). Un ringraziamento a JohnnyMnemonic :-)

Consigli

Se per caso qualcuno avrà il coraggio di usare il mio script e decidesse di attivare l'opzione che installa anche fusion-icon, è bene che sappia che basta lanciare il comando "fusion-icon" (posizionato in "/usr/bin"): questo lancerà automaticamente compiz e farà comparire una comoda icona nella tray-bar (la quale ovviamente avrà il simbolo di compiz-fusion); facendo click destro su questa icona si potrà scegliere il window-manager, il window-decorator e aprire il centro di controllo di compiz (ccsm). Inoltre offre altre funzionalità abbastanza comode :-)

Feedback

Per commenti e suggerimenti inviatemi una e-mail a

ansa89[AT]slacky[DOT]it


HAVE A LOT OF FUN

Strumenti personali
Namespace

Varianti