<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.slacky.eu/wikislack/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
		<id>http://www.slacky.eu/wikislack/api.php?action=feedcontributions&amp;user=Ansa89&amp;feedformat=atom</id>
		<title>Slacky.eu - Contributi utente [it]</title>
		<link rel="self" type="application/atom+xml" href="http://www.slacky.eu/wikislack/api.php?action=feedcontributions&amp;user=Ansa89&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Speciale:Contributi/Ansa89"/>
		<updated>2013-05-26T00:02:11Z</updated>
		<subtitle>Contributi utente</subtitle>
		<generator>MediaWiki 1.20.3</generator>

	<entry>
		<id>http://www.slacky.eu/slacky/Rai.tv_senza_silverlight</id>
		<title>Rai.tv senza silverlight</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Rai.tv_senza_silverlight"/>
				<updated>2011-06-09T08:03:58Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Script]]&lt;br /&gt;
= Descrizione =&lt;br /&gt;
Recentemente il portale rai.tv è stato riscritto in modo da usare il player microsoft silverlight per i contenuti streaming.&lt;br /&gt;
Per GNU/Linux esiste il plugin Moonlight, sviluppato dalla Novell, ma quest'ultimo deve comunque usare codec proprietari,&lt;br /&gt;
e sembra essere un grosso mangiarisorse (almeno allo stato attuale).&lt;br /&gt;
&lt;br /&gt;
Questo script si scarica l'intera lista degli stream direttamente dal sito della rai, e&lt;br /&gt;
vi fa scegliere da menu (stile pkgtool) il canale desiderato e infine lancia il vostro player preferito su quello stream.&lt;br /&gt;
&lt;br /&gt;
Sono così visualizzabili non solo raiuno, raidue, raitre, rainews, raistoria, raiedu,&lt;br /&gt;
ma anche spezzoni (o intere trasmissioni) di alcune trasmissioni dell'ultima settimana o giù di li.&lt;br /&gt;
= Uso =&lt;br /&gt;
Basta salvare questo script con il nome che preferite, renderlo eseguibile ( chmod +x nome_script ) ed eseguirlo.&lt;br /&gt;
per cambiare il player usato basta cambiare la variabile player con player=&amp;quot;comando_vostro_player&amp;quot; all'inizio dello script&lt;br /&gt;
&lt;br /&gt;
se conoscete già il nome del canale che volete cercare, eseguitelo con ./script nome_canale_cercato.&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
versione: 0.2.4.4&lt;br /&gt;
&lt;br /&gt;
--update:&lt;br /&gt;
* ri-aggiornato per il ttAuth (22/02/10)&lt;br /&gt;
* corretto errore nel prendere la data&lt;br /&gt;
* ri-aggiornato per i nuovi header ttAuth.&lt;br /&gt;
* aggiornato per i nuovi controlli della rai. (grazie a http://flavio.tordini.org/dirette-raitv-senza-silverlight-o-moonlight )&lt;br /&gt;
* rimuoviamo gli eventuali file temporanei se non ci sono altre istanze del programma&lt;br /&gt;
* piccolo aggiornamento: la lista dei canali va in loop fino a che l'utente non esce (grazia a albatrosla)&lt;br /&gt;
* aggiornamento per adeguarsi ai cambiamenti rai (grazie a peppeska)&lt;br /&gt;
* usiamo /tmp per i file temporanei, ora è possibile pacchettizzare in sicurezza e usarlo più volte contemporaneamente&lt;br /&gt;
* corretto controllo sul supporto per kdialog&lt;br /&gt;
* aggiunto supporto per kdialog!&lt;br /&gt;
* controlla meglio i caratteri e occhio agli spazi...&lt;br /&gt;
* corretto un errore nel cercare il canale passato da riga di comando&lt;br /&gt;
* possibilità di ignorare i messaggi a terminale del player.&lt;br /&gt;
* possibilità di mettere in background il player&lt;br /&gt;
* cambio useragent... se non è un browser a fare il download ti ritornano pubblicità anzichè lo stream...&lt;br /&gt;
* aggiunti controlli nella ricerca dello stream (grazie a jigen74 )&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Usate, modificate, riscrivete questo script come vi pare.&lt;br /&gt;
# se vi succede qualcosa di brutto a causa di questo script,&lt;br /&gt;
# io non c'ero, e se c'ero dormivo, ergo: sono cavoli vostri. chiaro?&lt;br /&gt;
&lt;br /&gt;
# versione: 0.2.4.4&lt;br /&gt;
&lt;br /&gt;
## CONFIGURAZIONE UTENTE&lt;br /&gt;
tries=5			#tentativi di scaricare ogni file&lt;br /&gt;
timeout=10		#tempo massimo di attesa risposta per lo scaricamento (secondi)&lt;br /&gt;
player=&amp;quot;vlc&amp;quot;		#nome del player video.&lt;br /&gt;
output=&amp;quot;si&amp;quot;		#mandare a video i messaggi del player? (si/no)&lt;br /&gt;
background=&amp;quot;no&amp;quot;	#mandare il player in background, in modo da aver disponibile il terminale?&lt;br /&gt;
&lt;br /&gt;
#per salvare gli stream, usate il vostro player preferito.&lt;br /&gt;
#per mplayer ad esempio, basta modificare la variabile &amp;quot;player&amp;quot; a:&lt;br /&gt;
# player=&amp;quot;mplayer -dumpfile stream.wmv -dumpstream&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############ PROGRAMMA REALE ################&lt;br /&gt;
############ NON MODIFICARE! ################&lt;br /&gt;
TDIR=&amp;quot;`echo ${0}|rev|cut -d '/' -f 1|rev`&amp;quot;&lt;br /&gt;
mkdir /tmp/${TDIR} 2&amp;gt;/dev/null&lt;br /&gt;
chmod 777 /tmp/${TDIR} 2&amp;gt;/dev/null&lt;br /&gt;
RND=$RANDOM&lt;br /&gt;
NOTFOUND=&amp;quot;&amp;quot;&lt;br /&gt;
for command in wget curl sed grep awk tail head dialog python base64; do&lt;br /&gt;
	if [ -z &amp;quot;`which $command 2&amp;gt;/dev/null`&amp;quot; ]; then&lt;br /&gt;
		NOTFOUND=&amp;quot;`echo &amp;quot;$NOTFOUND $command&amp;quot;`&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
done&lt;br /&gt;
if [ -n &amp;quot;`which kdialog 2&amp;gt;/dev/null`&amp;quot; ]; then&lt;br /&gt;
	USEKDIALOG=&amp;quot;true&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
	USEKDIALOG=&amp;quot;false&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
if [ -n &amp;quot;$NOTFOUND&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;Comandi non trovati:&amp;quot;&lt;br /&gt;
	echo $NOTFOUND&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
USERAGENT='Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.0.6) Gecko/2009011912 Firefox/3.5.5'&lt;br /&gt;
PLAYERCMD=&amp;quot;`echo $player|awk -F &amp;quot; &amp;quot; '{print $1}'`&amp;quot;&lt;br /&gt;
if [ -z &amp;quot;`which $PLAYERCMD 2&amp;gt;/dev/null`&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;Player $PLAYERCMD non trovato!&amp;quot;&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
unset PLAYERCMD&lt;br /&gt;
case $output in&lt;br /&gt;
	[Ss][Ii])&lt;br /&gt;
		;;&lt;br /&gt;
	[Nn][Oo])&lt;br /&gt;
		;;&lt;br /&gt;
	*)&lt;br /&gt;
		echo &amp;quot;La variabile \&amp;quot;output\&amp;quot; ammette solo&amp;quot;&lt;br /&gt;
		echo &amp;quot;I valori \&amp;quot;si\&amp;quot; e \&amp;quot;no\&amp;quot;&amp;quot;&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
case $background in&lt;br /&gt;
	[Ss][Ii])&lt;br /&gt;
		;;&lt;br /&gt;
	[Nn][Oo])&lt;br /&gt;
		;;&lt;br /&gt;
	*)&lt;br /&gt;
		echo &amp;quot;La variabile \&amp;quot;background\&amp;quot; ammette solo&amp;quot;&lt;br /&gt;
		echo &amp;quot;I valori \&amp;quot;si\&amp;quot; e \&amp;quot;no\&amp;quot;&amp;quot;&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
help () {&lt;br /&gt;
	echo &amp;quot;Script per la visualizzazione dei canali presenti su rai.tv&amp;quot;&lt;br /&gt;
	echo &amp;quot;senza il plugin Silverlight di Microsoft o Moonlight di Novell&amp;quot;&lt;br /&gt;
	echo &amp;quot;Creato da Luke88 -- luke88 _at_ slacky.it&amp;quot;&lt;br /&gt;
	echo -e &amp;quot;\nUso:\t$0 chiave_ricerca\tcerca canale nella lista&amp;quot;&lt;br /&gt;
	echo -e &amp;quot;\t$0 tutti\t\tlista completa dei canali&amp;quot;&lt;br /&gt;
	echo &amp;quot;&amp;quot;&lt;br /&gt;
	echo &amp;quot;per configurare player e comportamenti del player&amp;quot;&lt;br /&gt;
	echo &amp;quot;cambiare le variabili all'inizio di questo script&amp;quot;&lt;br /&gt;
	echo &amp;quot;con il vostro editor preferito&amp;quot;&lt;br /&gt;
	echo -e &amp;quot;\nlo script non porta con se' garanzie di qualsiasi tipo&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
update () {&lt;br /&gt;
	echo &amp;quot;scarico la lista dei canali....&amp;quot;&lt;br /&gt;
	rm /tmp/${TDIR}/${RND}.xml &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
	wget --header=&amp;quot;viaurl: http://www.rai.tv&amp;quot; -U &amp;quot;$USERAGENT&amp;quot; --tries=$tries --timeout=$timeout -O /tmp/${TDIR}/${RND}.xml www.rai.tv/dl/RaiTV/videoWall/PublishingBlock-5566288c-3d21-48dc-b3e2-af7fbe3b2af8.xml &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
	if [ ! -s /tmp/${TDIR}/${RND}.xml ]; then&lt;br /&gt;
		echo &amp;quot;Download fallito! controlla la connessione internet e rilancia il programma&amp;quot;&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	rm /tmp/${TDIR}/${RND}.tmp &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
	grep -B 1 '&amp;lt;url&amp;gt;' /tmp/${TDIR}/${RND}.xml|sed /--/d | sed s/^\ *// &amp;gt; /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	rm /tmp/${TDIR}/${RND}.xml &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
	sed -i s/\&amp;amp;apos\;/\'/g /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	sed -i 's/\&amp;amp;#224\;/à/g' /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	sed -i 's/\&amp;amp;#225\;/à/g' /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	sed -i 's/\&amp;amp;#232\;/è/g' /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	sed -i 's/\&amp;amp;#233\;/é/g' /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	sed -i 's/\&amp;amp;#236\;/ì/g' /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	sed -i 's/\&amp;amp;#237\;/ì/g' /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	sed -i 's/\&amp;amp;#242\;/ò/g' /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	sed -i 's/\&amp;amp;#242\;/ò/g' /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	sed -i 's/\&amp;amp;#249\;/ù/g' /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	sed -i s/\&amp;amp;amp\;/\\\&amp;amp;/g /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	sed -i s/\&amp;amp;quot\;/\'/g /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	sed -i s/\&amp;amp;#039\;/\'/g /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	COUNTER=0&lt;br /&gt;
	rm /tmp/${TDIR}/${RND}.canali &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
	while read line ; do&lt;br /&gt;
		let &amp;quot;NUM=$COUNTER % 2&amp;quot;&lt;br /&gt;
		if [ $NUM -eq 0 ]; then&lt;br /&gt;
			let &amp;quot;NUM=$COUNTER % 20&amp;quot;	#facciamo vedere qualcosa a schermo...&lt;br /&gt;
			if [ $NUM -eq 0 ]; then&lt;br /&gt;
				let &amp;quot;NUM=$COUNTER/2&amp;quot;	#ogni 10 stream diciamo a quanti siamo...&lt;br /&gt;
				echo -n $NUM&lt;br /&gt;
			else&lt;br /&gt;
				echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
			fi&lt;br /&gt;
			echo -en $line|awk -F '&amp;quot;' '{print $2}' &amp;gt;&amp;gt; /tmp/${TDIR}/${RND}.canali	#metti il nome dello stream in cache&lt;br /&gt;
		else&lt;br /&gt;
			echo -en $line|awk -F '&amp;lt;url&amp;gt;' '{print $2}'|awk -F '&amp;lt;/url&amp;gt;' '{print $1}' &amp;gt;&amp;gt; /tmp/${TDIR}/${RND}.canali	#metti l'indirizzo dello stream in cache&lt;br /&gt;
			echo &amp;quot;==&amp;quot; &amp;gt;&amp;gt; /tmp/${TDIR}/${RND}.canali	#non è realmente necessario, ma se qualcuno si vuole vedere la lista selza usare lo script&lt;br /&gt;
		fi								#fa comodo avere una lista leggibile&lt;br /&gt;
		let COUNTER++&lt;br /&gt;
	done &amp;lt; /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
	echo &amp;quot;&amp;quot;&lt;br /&gt;
	rm /tmp/${TDIR}/${RND}.tmp &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
}&lt;br /&gt;
check_dwn () {&lt;br /&gt;
	if [ ! -s /tmp/${TDIR}/${RND}.tmp ]; then&lt;br /&gt;
		echo &amp;quot;Download fallito! controlla la connessione internet e rilancia il programma&amp;quot;&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
giveRND () {&lt;br /&gt;
	expr $(echo $RANDOM) % 1234&lt;br /&gt;
}&lt;br /&gt;
play () {&lt;br /&gt;
ID=`expr match &amp;quot;$STREAM&amp;quot; '.*=\([0-9]*\)'`&lt;br /&gt;
DATE=`curl -A &amp;quot;$AGENT&amp;quot; http://videowall.rai.it/cgi-bin/date`&lt;br /&gt;
DATE=(`echo $DATE | sed -e 's/[:-]/ /g'`)&lt;br /&gt;
DAY=${DATE[0]}&lt;br /&gt;
MONTH=${DATE[1]}&lt;br /&gt;
YEAR=${DATE[2]}&lt;br /&gt;
HOUR=${DATE[3]}&lt;br /&gt;
MIN=${DATE[4]}&lt;br /&gt;
SEC=${DATE[5]}&lt;br /&gt;
&lt;br /&gt;
TOKENSTRING=`echo &amp;quot;${YEAR};${ID};${DAY}-${MONTH}-$(giveRND)-${HOUR}-${MIN}-${SEC}-$(giveRND)&amp;quot;`&lt;br /&gt;
MASKEDSTRING=`python &amp;lt;&amp;lt; EOF&lt;br /&gt;
import sys&lt;br /&gt;
import base64&lt;br /&gt;
import random&lt;br /&gt;
&lt;br /&gt;
a=&amp;quot;$TOKENSTRING&amp;quot;&lt;br /&gt;
b=random.randint(0,30)&lt;br /&gt;
x=&amp;quot;&amp;quot;&lt;br /&gt;
for ch in a:&lt;br /&gt;
  x+=(chr(ord(ch)^b))&lt;br /&gt;
x+=&amp;quot;;&amp;quot;&lt;br /&gt;
x+=str(b)&lt;br /&gt;
i=0&lt;br /&gt;
j=0&lt;br /&gt;
y=&amp;quot;&amp;quot;&lt;br /&gt;
b=&amp;quot;uotyawehtgnikcehc&amp;quot;&lt;br /&gt;
for ch in x:&lt;br /&gt;
  y+=(chr(ord(x[i])^ord(b[j])))&lt;br /&gt;
  i+=1&lt;br /&gt;
  j+=1&lt;br /&gt;
  if j &amp;gt; 16:&lt;br /&gt;
    j=0&lt;br /&gt;
x=base64.encodestring(str.encode(y)).decode()&lt;br /&gt;
x=base64.encodestring(y)&lt;br /&gt;
print x&lt;br /&gt;
EOF`&lt;br /&gt;
&lt;br /&gt;
# grazie mille a http://flavio.tordini.org/dirette-raitv-senza-silverlight-o-moonlight&lt;br /&gt;
	if [ -z &amp;quot;`echo $STREAM|grep 'mms://'`&amp;quot; ]; then&lt;br /&gt;
		#uff... tiriamo fuori lo stream da incasinamenti vari....&lt;br /&gt;
		rm /tmp/${TDIR}/${RND}.tmp &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
		wget --header=&amp;quot;viaurl: http://www.rai.tv&amp;quot; -U &amp;quot;$USERAGENT&amp;quot; --header &amp;quot;ttAuth:${MASKEDSTRING}&amp;quot; --tries=$tries --timeout=$timeout --spider  &amp;quot;$STREAM&amp;quot; -O /dev/null 1&amp;gt; /dev/null 2&amp;gt; /tmp/${TDIR}/${RND}.tmp	#a volte il link è un file flv.&lt;br /&gt;
		check_dwn&lt;br /&gt;
		TMP=&amp;quot;`tail -n 2 /tmp/${TDIR}/${RND}.tmp|grep 'flv'`&amp;quot;	#che sembra essere solo un video....&lt;br /&gt;
		rm /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
		if [ -z &amp;quot;$TMP&amp;quot; ]; then&lt;br /&gt;
			wget --header=&amp;quot;viaurl: http://www.rai.tv&amp;quot; -U &amp;quot;$USERAGENT&amp;quot; --header &amp;quot;ttAuth:${MASKEDSTRING}&amp;quot; --tries=$tries --timeout=$timeout -O /tmp/${TDIR}/${RND}.tmp &amp;quot;$STREAM&amp;quot; &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
			check_dwn&lt;br /&gt;
			if [ -z &amp;quot;`grep 'http://' /tmp/${TDIR}/${RND}.tmp`&amp;quot; ]&amp;amp;&amp;amp;[ -z &amp;quot;`grep 'mms://' /tmp/${TDIR}/${RND}.tmp`&amp;quot; ]; then&lt;br /&gt;
				#mi è capitato che alcuni link portino nel vuoto&lt;br /&gt;
				echo &amp;quot;(muove la mano)--Tu *NON* vuoi vedere questo canale&amp;quot;&lt;br /&gt;
				rm /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
				exit 1&lt;br /&gt;
			else&lt;br /&gt;
				if [ -n &amp;quot;`grep 'mms://' /tmp/${TDIR}/${RND}.tmp`&amp;quot; ]; then&lt;br /&gt;
					STREAM=&amp;quot;`cat /tmp/${TDIR}/${RND}.tmp|sed s/\\&amp;quot;/\\\n/g|grep 'mms://'`&amp;quot; #&amp;quot;`&amp;quot;`&amp;quot; #ripristino colorazione vim&lt;br /&gt;
				elif [ -n &amp;quot;`grep wmv /tmp/${TDIR}/${RND}.tmp`&amp;quot; ]; then&lt;br /&gt;
					STREAM=&amp;quot;`cat /tmp/${TDIR}/${RND}.tmp |sed s/\\&amp;quot;/\\\\n/g|grep wmv`&amp;quot; #&amp;quot;`&amp;quot;`&amp;quot; #ripristino colorazione vim&lt;br /&gt;
				else&lt;br /&gt;
					STREAM=&amp;quot;`cat /tmp/${TDIR}/${RND}.tmp |sed s/\\&amp;quot;/\\\n/g|grep 'http://'`&amp;quot; #&amp;quot;`&amp;quot;`&amp;quot; #ripristino colorazione vim&lt;br /&gt;
					#############################################################&lt;br /&gt;
					# Modifica 04/07/2009 - jigen74&lt;br /&gt;
					# lo stream ha una forma del tipo:&lt;br /&gt;
					# &amp;lt;ASX VERSION=&amp;quot;3.0&amp;quot;&amp;gt;&amp;lt;ENTRY&amp;gt;&amp;lt;REF HREF=&amp;quot;...&amp;quot; /&amp;gt;&amp;lt;/ENTRY&amp;gt;&amp;lt;/ASX&amp;gt;&lt;br /&gt;
					# per cui per recuperare l'url corretto leggo il contenuto di HREF&lt;br /&gt;
					#############################################################&lt;br /&gt;
					if [ -n &amp;quot;`echo $STREAM|grep 'HREF'`&amp;quot; ]; then&lt;br /&gt;
						STREAM=&amp;quot;`echo $STREAM|awk -F 'HREF=&amp;quot;' '{print $2}'|awk -F '&amp;quot;' '{print $1}'`&amp;quot;&lt;br /&gt;
					elif [ -n &amp;quot;`echo $STREAM|grep '&amp;quot;'`&amp;quot; ]; then&lt;br /&gt;
						STREAM=&amp;quot;`echo $STREAM|awk -F '&amp;quot;' '{print $2}'`&amp;quot;&lt;br /&gt;
					fi&lt;br /&gt;
					rm /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
					wget --header=&amp;quot;viaurl: http://www.rai.tv&amp;quot; -U &amp;quot;$USERAGENT&amp;quot; --header &amp;quot;ttAuth:${MASKEDSTRING}&amp;quot; --tries=$tries --timeout=$timeout --spider &amp;quot;$STREAM&amp;quot; -O /dev/null 1&amp;gt;/dev/null 2&amp;gt;/tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
					check_dwn&lt;br /&gt;
					if [ -z &amp;quot;`tail -n 2 /tmp/${TDIR}/${RND}.tmp|grep 'flv'`&amp;quot; ]; then	#se NON è un flv...&lt;br /&gt;
						wget --header=&amp;quot;viaurl: http://www.rai.tv&amp;quot; -U &amp;quot;$USERAGENT&amp;quot; --header &amp;quot;ttAuth:${MASKEDSTRING}&amp;quot; --tries=$tries --timeout=$timeout -O /tmp/${TDIR}/${RND}.tmp &amp;quot;$STREAM&amp;quot; &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
						check_dwn&lt;br /&gt;
						if [ -n &amp;quot;`grep 'mms://' /tmp/${TDIR}/${RND}.tmp`&amp;quot; ]; then&lt;br /&gt;
							STREAM=&amp;quot;`grep 'mms://' /tmp/${TDIR}/${RND}.tmp  |awk -F '&amp;quot;' '{print $2}'`&amp;quot;&lt;br /&gt;
						elif [ -n &amp;quot;`grep '.flv' /tmp/${TDIR}/${RND}.tmp`&amp;quot; ]; then&lt;br /&gt;
							STREAM=&amp;quot;`cat /tmp/${TDIR}/${RND}.tmp`&amp;quot;&lt;br /&gt;
						########################################################&lt;br /&gt;
						# Modifica 04/07/2009 - jigen74&lt;br /&gt;
						# sostituito else con elif per il controllo &lt;br /&gt;
						# dell'estensione .wmv&lt;br /&gt;
						# se lo stream non ha estensione non va modificato&lt;br /&gt;
						########################################################&lt;br /&gt;
						elif [ -n &amp;quot;`grep '.wmv' /tmp/${TDIR}/${RND}.tmp`&amp;quot; ]; then&lt;br /&gt;
							STREAM=&amp;quot;`grep '.wmv' /tmp/${TDIR}/${RND}.tmp |awk -F '&amp;quot;' '{print $2}'`&amp;quot;&lt;br /&gt;
						fi&lt;br /&gt;
					fi&lt;br /&gt;
				fi&lt;br /&gt;
				#rm /tmp/${TDIR}/${RND}.tmp&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
	case $output in&lt;br /&gt;
		[Nn][Oo])&lt;br /&gt;
			case $background in&lt;br /&gt;
				[Nn][Oo])&lt;br /&gt;
					$player &amp;quot;$STREAM&amp;quot; &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
					;;&lt;br /&gt;
				[Ss][Ii])&lt;br /&gt;
					$player &amp;quot;$STREAM&amp;quot; &amp;amp;&amp;gt;/dev/null &amp;amp;&lt;br /&gt;
					;;&lt;br /&gt;
			esac&lt;br /&gt;
			;;&lt;br /&gt;
		[Ss][Ii])&lt;br /&gt;
			case $background in&lt;br /&gt;
				[Nn][Oo])&lt;br /&gt;
					$player &amp;quot;$STREAM&amp;quot;&lt;br /&gt;
					;;&lt;br /&gt;
				[Ss][Ii])&lt;br /&gt;
					$player &amp;quot;$STREAM&amp;quot; &amp;amp;&lt;br /&gt;
					;;&lt;br /&gt;
			esac&lt;br /&gt;
			;;&lt;br /&gt;
	esac&lt;br /&gt;
}&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; == &amp;quot;-h&amp;quot; ]||[ &amp;quot;$1&amp;quot; == &amp;quot;--h&amp;quot; ]||[ &amp;quot;$1&amp;quot; == &amp;quot;-help&amp;quot; ]||[ &amp;quot;$1&amp;quot; == &amp;quot;--help&amp;quot; ]; then&lt;br /&gt;
	help&lt;br /&gt;
	exit 0&lt;br /&gt;
fi&lt;br /&gt;
update&lt;br /&gt;
COUNTER=1&lt;br /&gt;
#costruiamo la lista variabili per il dialog.&lt;br /&gt;
#è una lista di elementi, del tipo&lt;br /&gt;
#nome1 &amp;quot;&amp;quot; help1 nome2 &amp;quot;&amp;quot; help2 ...&lt;br /&gt;
#il secondo elemento è volontariamente lasciato come lista vuota.&lt;br /&gt;
rm /tmp/${TDIR}/${RND}.list &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; == &amp;quot;tutti&amp;quot; ]||[ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
	grep -v ^==$ /tmp/${TDIR}/${RND}.canali | \&lt;br /&gt;
	while read line; do&lt;br /&gt;
		case &amp;quot;$COUNTER&amp;quot; in&lt;br /&gt;
			1)&lt;br /&gt;
				if [ &amp;quot;$USEKDIALOG&amp;quot; == &amp;quot;true&amp;quot; ]; then&lt;br /&gt;
					TMP=&amp;quot;`echo $line|sed 's/\ /_/g; s/_-_/_/g'`&amp;quot;&lt;br /&gt;
				else&lt;br /&gt;
					echo \&amp;quot;$line\&amp;quot; &amp;gt;&amp;gt; /tmp/${TDIR}/${RND}.list		#&amp;quot;# &amp;lt;--ripristino la colorazione per vim...&lt;br /&gt;
				fi&lt;br /&gt;
				COUNTER=2&lt;br /&gt;
				;;&lt;br /&gt;
			2)&lt;br /&gt;
				if [ &amp;quot;$USEKDIALOG&amp;quot; == &amp;quot;true&amp;quot; ]; then&lt;br /&gt;
					echo -e &amp;quot;`echo ${line}|sed s/\ /%20/g` ${TMP}&amp;quot; &amp;gt;&amp;gt; /tmp/${TDIR}/${RND}.list&lt;br /&gt;
				else&lt;br /&gt;
					echo -e \&amp;quot;\&amp;quot;&amp;quot;\n&amp;quot;\&amp;quot;$line\&amp;quot; &amp;gt;&amp;gt; /tmp/${TDIR}/${RND}.list	#&amp;quot;# &amp;lt;--ripristino la colorazione per vim...&lt;br /&gt;
				fi&lt;br /&gt;
				COUNTER=1&lt;br /&gt;
				;;&lt;br /&gt;
		esac&lt;br /&gt;
	done&lt;br /&gt;
else&lt;br /&gt;
	grep -A 1 -i &amp;quot;$1&amp;quot; /tmp/${TDIR}/${RND}.canali | grep -v -- ^--$ | grep -v ^==$ |\&lt;br /&gt;
	while read line ; do&lt;br /&gt;
		case &amp;quot;$COUNTER&amp;quot; in&lt;br /&gt;
			0 )&lt;br /&gt;
				COUNTER=1 #serve solo per 'saltare un turno'&lt;br /&gt;
				;;&lt;br /&gt;
			1 )&lt;br /&gt;
				if [ -z &amp;quot;`echo $line|grep '://'`&amp;quot; ]; then	# se non è un url&lt;br /&gt;
					if [ &amp;quot;$USEKDIALOG&amp;quot; == &amp;quot;true&amp;quot; ]; then&lt;br /&gt;
						TMP=&amp;quot;`echo $line|sed 's/\ /_/g; s/_-_/_/g'`&amp;quot;&lt;br /&gt;
					else&lt;br /&gt;
						echo \&amp;quot;$line\&amp;quot; &amp;gt;&amp;gt; /tmp/${TDIR}/${RND}.list		#&amp;quot;# &amp;lt;--ripristino la colorazione per vim...&lt;br /&gt;
					fi&lt;br /&gt;
					COUNTER=2&lt;br /&gt;
				else&lt;br /&gt;
					#abbiamo greppato l'indirizzo... non ce ne facciamo niente...&lt;br /&gt;
					COUNTER=0&lt;br /&gt;
				fi&lt;br /&gt;
				;;&lt;br /&gt;
			2 )&lt;br /&gt;
				if [ &amp;quot;$USEKDIALOG&amp;quot; == &amp;quot;true&amp;quot; ]; then&lt;br /&gt;
					echo -e &amp;quot;`echo ${line}|sed s/\ /%20/g` ${TMP}&amp;quot; &amp;gt;&amp;gt; /tmp/${TDIR}/${RND}.list&lt;br /&gt;
				else&lt;br /&gt;
					echo \&amp;quot;\&amp;quot; &amp;gt;&amp;gt; /tmp/${TDIR}/${RND}.list				#&amp;quot;#&lt;br /&gt;
					echo \&amp;quot;$line\&amp;quot; &amp;gt;&amp;gt; /tmp/${TDIR}/${RND}.list			#&amp;quot;# &amp;lt;--ripristino la colorazione per vim...&lt;br /&gt;
				fi&lt;br /&gt;
				COUNTER=1&lt;br /&gt;
				;;&lt;br /&gt;
		esac&lt;br /&gt;
	done&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ ! -s /tmp/${TDIR}/${RND}.list ]; then&lt;br /&gt;
	echo &amp;quot;Canale non trovato...&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
fi&lt;br /&gt;
rm /tmp/${TDIR}/${RND}.reply &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
while [ 1 ]; do&lt;br /&gt;
REPLY=&amp;quot;&amp;quot;&lt;br /&gt;
	if [ &amp;quot;$USEKDIALOG&amp;quot; == &amp;quot;true&amp;quot; ]; then&lt;br /&gt;
		CONTINUE=0&lt;br /&gt;
		STREAM=`kdialog --title &amp;quot;Rai.tv Senza Silverlight&amp;quot; --menu &amp;quot;Lista canali disponibili&amp;quot; $(cat /tmp/${TDIR}/${RND}.list)`&lt;br /&gt;
		CONTINUE=$? &lt;br /&gt;
		if [ &amp;quot;$CONTINUE&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			break;&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		while [ -z &amp;quot;$REPLY&amp;quot; ]; do&lt;br /&gt;
			dialog --title &amp;quot;Stream disponibili&amp;quot; --help-button --item-help --menu &amp;quot;scegli lo stream da aprire&amp;quot; 20 70 12 --file /tmp/${TDIR}/${RND}.list 2&amp;gt; /tmp/${TDIR}/${RND}.reply&lt;br /&gt;
			REPLY=&amp;quot;`tail -n 1 /tmp/${TDIR}/${RND}.reply`&amp;quot;&lt;br /&gt;
			rm /tmp/${TDIR}/${RND}.reply &amp;amp;&amp;gt;/dev/null &lt;br /&gt;
			if [ -n &amp;quot;`echo $REPLY|grep '^HELP '`&amp;quot; ]; then&lt;br /&gt;
				REPLY=&amp;quot;`echo $REPLY|awk -F &amp;quot;HELP &amp;quot; '{print $2}'`&amp;quot; 	#&amp;quot;`&amp;quot; # &amp;lt;&amp;lt;-ripristino colorazione vim....&lt;br /&gt;
				NAME=&amp;quot;`grep -B 2 &amp;quot;$REPLY&amp;quot; /tmp/${TDIR}/${RND}.list|head -n 1`&amp;quot;&lt;br /&gt;
				dialog --title &amp;quot;$NAME&amp;quot; --msgbox &amp;quot;Lo stream è all'indirizzo:\n$REPLY&amp;quot; 20 70&lt;br /&gt;
				REPLY=&amp;quot;&amp;quot;&lt;br /&gt;
			elif [ -z &amp;quot;$REPLY&amp;quot; ]; then&lt;br /&gt;
				break;&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		clear&lt;br /&gt;
		if [ &amp;quot;$REPLY&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Nessuno stream trovato per questa ricerca&amp;quot;&lt;br /&gt;
			break;&lt;br /&gt;
		fi&lt;br /&gt;
		STREAM=&amp;quot;`grep -A 2 &amp;quot;$REPLY&amp;quot; /tmp/${TDIR}/${RND}.list|tail -n 1|awk -F '&amp;quot;' '{print $2}'`&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	play&lt;br /&gt;
done&lt;br /&gt;
rm /tmp/${TDIR}/${RND}.list   &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
rm /tmp/${TDIR}/${RND}.canali &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
rm /tmp/${TDIR}/${RND}.tmp    &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
#controllo quanti processi ${0} sono attivi. dev'essere 2 perchè il controllo spawna un processo figlio.&lt;br /&gt;
if [ &amp;quot;`ps aux|grep ${0}|grep -v grep|wc -l`&amp;quot; == &amp;quot;2&amp;quot; ]; then&lt;br /&gt;
	rm -rf /tmp/${TDIR}&lt;br /&gt;
fi&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Autore: Luke88&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Compiz-git</id>
		<title>Compiz-git</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Compiz-git"/>
				<updated>2011-05-14T13:53:24Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Download (Slackware 12.0) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Script]]&lt;br /&gt;
= Descrizione =&lt;br /&gt;
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 --&amp;gt; /usr/local).&lt;br /&gt;
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 :-)&lt;br /&gt;
&lt;br /&gt;
Finalmente viene creato un pacchetto &amp;quot;.tgz&amp;quot; per ogni ramo del progetto!! In questo modo è pi semplice tenere traccia dell'installazione di compiz :-D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'attuale versione NON è compatibile con distro a 64bit. Sto cercando di aggiungere il supporto anche per questo tipo di cpu, ma per il momento lo script si può usare solo con distro 32bit.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
GIT --&amp;gt; [http://git.or.cz/ home]&lt;br /&gt;
&lt;br /&gt;
PYTHON --&amp;gt; [http://www.python.it/ python-italia] // [http://www.python.org sito_ufficiale]&lt;br /&gt;
&lt;br /&gt;
CONNESSIONE A INTERNET ATTIVA --&amp;gt; per scaricare i vari componenti&lt;br /&gt;
&lt;br /&gt;
ACCELERAZIONE 3D ATTIVATA --&amp;gt; per poter avviare compiz e godersi al meglio tutte le meraviglie di questo window-manager (per sapere come abilitare l'accelerazione 3D consultate [http://www.slacky.eu/wikislack/index.php?title=Compiz_e_compiz-fusion_su_Slackware#Introduzione questa guida], la quale contiene anche alcuni consigli utili per avviare compiz e risolvere problemi comuni)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Download (Slackware 12.1) =&lt;br /&gt;
[[Media:Compiz_git-5.0.sh]]&lt;br /&gt;
&lt;br /&gt;
= Download (Slackware 12.0) =&lt;br /&gt;
[[Media:Compiz_git-4.0.sh]]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice degli script.&lt;br /&gt;
&lt;br /&gt;
== Versione 5.0 (per Slackware 12.1) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=&amp;quot;1as&amp;quot;&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://anongit.compiz-fusion.org/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se git è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se python è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se intltool è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which intltoolize)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo intltool...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/development/intltool/0.40.4/intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new intltool-0.40.4-noarch-1sl.tgz&amp;quot;&lt;br /&gt;
		rm -f intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se orbit2 e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo orbit2...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/orbit2/2.14.10/orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se gconf e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo gconf...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/gconf/2.20.1/gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare se si ha internet&lt;br /&gt;
check_net() {&lt;br /&gt;
	if ! ping -c 1 www.kernel.org &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	check_net&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $item...&amp;quot;&lt;br /&gt;
			git-clone $REPO$item&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $item...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		oggetto=$(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
		cd $COMPIZDIR/$oggetto&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Controllo se il ramo che devo compilare e' ccsm&lt;br /&gt;
		if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;ccsm&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLAKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				mkdir -p $PKG/usr/local/&lt;br /&gt;
				python setup.py install --prefix=$PKG/usr/local/&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
				su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		elif [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				compiz=&amp;quot;&amp;quot;&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-main&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-extra&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-unsupported&amp;quot; ]; then&lt;br /&gt;
					compiz=&amp;quot;compiz-&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
		python setup.py clean&lt;br /&gt;
		python setup.py build&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per installare la fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py install --prefix=/usr/&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Fusion-icon non installata.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
&lt;br /&gt;
	# Path dei sorgenti&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Dove  si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep i18n&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc &amp;amp;&amp;amp; cd $COMPIZDIR/fusion-icon &amp;amp;&amp;amp; python setup.py uninstall --prefix=/usr/&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		elif [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ ! -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non ho trovato nessun pacchetto che assomiglia a compiz :-(&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi	&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se devo rimuovere anche i sorgenti di compiz-git&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche rimuovere la cartella contenente i sorgenti? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		risp=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $dir&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for item in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $item ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 5.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Versione 4.0 (per Slackware 12.0) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 8/4/2008 da Ansa89 (avrei dovuto studiare Bergson e Dewey...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=1&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://git.freedesktop.org/git/xorg/app/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Controllo se git è installato&lt;br /&gt;
if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Controllo se python è installato&lt;br /&gt;
if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
	exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	if ! ping -c 5 www.slacky.eu &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico e installo due pacchetti che servono&lt;br /&gt;
	if ! ls /var/log/packages/ | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if ! ls /var/log/packages/ | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for z in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $z...&amp;quot;&lt;br /&gt;
			git-clone $REPO$z&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $z...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do&lt;br /&gt;
		cd $COMPIZDIR/$i&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		if [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $i&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$i&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$i&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $i-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$i&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $i&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	&lt;br /&gt;
	# Adesso compilo CCSM perchè devo usare python&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	cd ccsm&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	else&lt;br /&gt;
		VERSION2=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	python setup.py clean&lt;br /&gt;
	python setup.py build&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		python setup.py --prefix=$PKG/&lt;br /&gt;
		mkdir -p $PKG/usr/doc/ccsm/&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/ccsm/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto ccsm-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
		su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non sono riuscito ad installare ccsm&amp;quot;&lt;br /&gt;
		echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		cd ../&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		icon=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			if [ -e VERSION ]; then&lt;br /&gt;
				VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
			else&lt;br /&gt;
				VERSION2=$VERSION&lt;br /&gt;
			fi&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			python setup.py install --prefix=$PKG/&lt;br /&gt;
			mkdir -p $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto fusion-icon-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
			su -c &amp;quot;makepkg -l y -c n $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/* &amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep fusion-icon&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo &amp;quot;Non ho trovato pacchetti installati che assomigliano a compiz.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		&lt;br /&gt;
		# Path contenente i sorgenti&lt;br /&gt;
		echo &amp;quot;Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read dir&lt;br /&gt;
		if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			dir=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		if [ ! -d $dir ]; then&lt;br /&gt;
			echo &amp;quot;La cartella $dir non esiste!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		cd $dir&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n; do&lt;br /&gt;
			if [ -d $i ]; then&lt;br /&gt;
				cd $i&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per rimuovere $i&amp;quot;&lt;br /&gt;
				su -c &amp;quot;make uninstall&amp;quot;&lt;br /&gt;
				cd ../&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		&lt;br /&gt;
		# Adesso rimuovo CCSM perchè devo usare python&lt;br /&gt;
		cd $dir/ccsm/&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere ccsm&amp;quot;&lt;br /&gt;
		su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		# Chiedo se devo rimuovere anche la fusion-icon&lt;br /&gt;
		echo -n &amp;quot;Devo rimuovere anche la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
		read risp&lt;br /&gt;
		if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
			cd $dir/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per rimuovere fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		fi&lt;br /&gt;
		&lt;br /&gt;
		# Rimuovo anche tutti i sorgenti di compiz-git&lt;br /&gt;
		cd $dir&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $i ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 4.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Autore: [[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
Inizio una sezione &amp;quot;changelog&amp;quot; per spiegare le migliorie che cerco di introdurre nelle nuove versioni:&lt;br /&gt;
&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...con un sacco di bug (eh oh)&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Dopo un bel periodo di prove ho capito come evitare alcuni problemi durante la compilazione dei vari componenti&lt;br /&gt;
&lt;br /&gt;
- V 2.1 --&amp;gt; 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&lt;br /&gt;
&lt;br /&gt;
- V 2.2 --&amp;gt; &amp;quot;plugins-main&amp;quot; non trovava &amp;quot;bcop&amp;quot; durante la configurazione a causa di un path errato ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=185048#p185048 spiegazione]). Un ringraziamento a JohnnyMnemonic :-)&lt;br /&gt;
&lt;br /&gt;
- V 3.0 --&amp;gt; Adesso si può scegliere se installare/aggiornare compiz o semplicemente rimuoverlo :-D&lt;br /&gt;
&lt;br /&gt;
- V 3.1b --&amp;gt; Versione BETA: adesso crea un pacchetto .tgz (per ogni componente) e lo installa; inoltre ho introdotto il &amp;quot;solo download/update&amp;quot;, così l'utente può anche scaricare compiz-git senza doverlo installare&lt;br /&gt;
&lt;br /&gt;
- V 3.1b2 --&amp;gt; Ancora BETA: c'erano troppe variabili e richieste: ne ho tolte un po' per snellire lo script&lt;br /&gt;
&lt;br /&gt;
- V 3.1b3 --&amp;gt; Aggiunta la modalità &amp;quot;only_install&amp;quot; che permette di installare compiz-git senza riscaricare/aggiornare tutti i rami del progetto (ovviamente i sorgenti devono essere già presenti sul computer)&lt;br /&gt;
&lt;br /&gt;
- V 3.1 --&amp;gt; Ultime correzioni di bug; lo script sembra completo, pertanto lo sviluppo si ferma (almeno fino a quando non verranno fuori altri problemi)&lt;br /&gt;
&lt;br /&gt;
- V 3.2 --&amp;gt; Bugfix: adesso entra nella cartella &amp;quot;$PKG&amp;quot; prima di creare i pacchetti &amp;quot;.tgz&amp;quot; ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=187923#p187923 errore segnalato da alexxxius]). Inoltre la fusion-icon non dà più problemi di compilazione&lt;br /&gt;
&lt;br /&gt;
- V 3.3 --&amp;gt; Altri bugfix ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;start=30 sempre su un errore segnalato da alexxxius]). Stavolta non dovrebbero più esserci problemi&lt;br /&gt;
&lt;br /&gt;
- V 4.0 --&amp;gt; Adesso per _OGNI_ ramo del progetto viene creato un pacchetto (prima ccsm e fusion-icon non erano pacchettizzati...) --Ultima release per Slackware 12.0--&lt;br /&gt;
&lt;br /&gt;
- V 5.0 --&amp;gt; Prima release per Slackware 12.1! Fixati alcuni bug che impedivano la compilazione di compiz con la nuova Slack, create nuove funzioni per il check della connessione e delle dipendenze, migliorato l'aspetto dello script. Inoltre la fusion-icon _NON_ viene pacchettizzata perché dà dei problemi quando si cerca di installare il pacchetto creato&lt;br /&gt;
&lt;br /&gt;
= Consigli =&lt;br /&gt;
1) 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 &amp;quot;fusion-icon&amp;quot; (posizionato in &amp;quot;/usr/bin&amp;quot;): 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 :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Compizconfig setting manager, a causa di un errore, non ha le icone delle varie categorie (generale, accessibilità, desktop, ...): per correggere questo bug esiste un workaround che potete trovare [http://www.slacky.eu/forum/viewtopic.php?f=4&amp;amp;t=23568 qui]. Un ringraziamento a mimmoforlug :-D&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/File:Compiz_git-5.0.sh</id>
		<title>File:Compiz git-5.0.sh</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/File:Compiz_git-5.0.sh"/>
				<updated>2011-05-14T13:52:49Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: Script per scaricare, compilare e creare i pacchetti di compiz-fusion su slackware 12.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Script per scaricare, compilare e creare i pacchetti di compiz-fusion su slackware 12.1&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Compiz-git</id>
		<title>Compiz-git</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Compiz-git"/>
				<updated>2011-05-14T13:51:48Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Requisiti */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Script]]&lt;br /&gt;
= Descrizione =&lt;br /&gt;
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 --&amp;gt; /usr/local).&lt;br /&gt;
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 :-)&lt;br /&gt;
&lt;br /&gt;
Finalmente viene creato un pacchetto &amp;quot;.tgz&amp;quot; per ogni ramo del progetto!! In questo modo è pi semplice tenere traccia dell'installazione di compiz :-D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'attuale versione NON è compatibile con distro a 64bit. Sto cercando di aggiungere il supporto anche per questo tipo di cpu, ma per il momento lo script si può usare solo con distro 32bit.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
GIT --&amp;gt; [http://git.or.cz/ home]&lt;br /&gt;
&lt;br /&gt;
PYTHON --&amp;gt; [http://www.python.it/ python-italia] // [http://www.python.org sito_ufficiale]&lt;br /&gt;
&lt;br /&gt;
CONNESSIONE A INTERNET ATTIVA --&amp;gt; per scaricare i vari componenti&lt;br /&gt;
&lt;br /&gt;
ACCELERAZIONE 3D ATTIVATA --&amp;gt; per poter avviare compiz e godersi al meglio tutte le meraviglie di questo window-manager (per sapere come abilitare l'accelerazione 3D consultate [http://www.slacky.eu/wikislack/index.php?title=Compiz_e_compiz-fusion_su_Slackware#Introduzione questa guida], la quale contiene anche alcuni consigli utili per avviare compiz e risolvere problemi comuni)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Download (Slackware 12.0) =&lt;br /&gt;
[[Media:Compiz_git-4.0.sh]]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice degli script.&lt;br /&gt;
&lt;br /&gt;
== Versione 5.0 (per Slackware 12.1) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=&amp;quot;1as&amp;quot;&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://anongit.compiz-fusion.org/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se git è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se python è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se intltool è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which intltoolize)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo intltool...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/development/intltool/0.40.4/intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new intltool-0.40.4-noarch-1sl.tgz&amp;quot;&lt;br /&gt;
		rm -f intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se orbit2 e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo orbit2...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/orbit2/2.14.10/orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se gconf e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo gconf...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/gconf/2.20.1/gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare se si ha internet&lt;br /&gt;
check_net() {&lt;br /&gt;
	if ! ping -c 1 www.kernel.org &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	check_net&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $item...&amp;quot;&lt;br /&gt;
			git-clone $REPO$item&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $item...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		oggetto=$(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
		cd $COMPIZDIR/$oggetto&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Controllo se il ramo che devo compilare e' ccsm&lt;br /&gt;
		if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;ccsm&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLAKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				mkdir -p $PKG/usr/local/&lt;br /&gt;
				python setup.py install --prefix=$PKG/usr/local/&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
				su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		elif [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				compiz=&amp;quot;&amp;quot;&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-main&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-extra&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-unsupported&amp;quot; ]; then&lt;br /&gt;
					compiz=&amp;quot;compiz-&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
		python setup.py clean&lt;br /&gt;
		python setup.py build&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per installare la fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py install --prefix=/usr/&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Fusion-icon non installata.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
&lt;br /&gt;
	# Path dei sorgenti&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Dove  si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep i18n&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc &amp;amp;&amp;amp; cd $COMPIZDIR/fusion-icon &amp;amp;&amp;amp; python setup.py uninstall --prefix=/usr/&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		elif [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ ! -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non ho trovato nessun pacchetto che assomiglia a compiz :-(&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi	&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se devo rimuovere anche i sorgenti di compiz-git&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche rimuovere la cartella contenente i sorgenti? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		risp=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $dir&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for item in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $item ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 5.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Versione 4.0 (per Slackware 12.0) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 8/4/2008 da Ansa89 (avrei dovuto studiare Bergson e Dewey...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=1&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://git.freedesktop.org/git/xorg/app/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Controllo se git è installato&lt;br /&gt;
if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Controllo se python è installato&lt;br /&gt;
if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
	exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	if ! ping -c 5 www.slacky.eu &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico e installo due pacchetti che servono&lt;br /&gt;
	if ! ls /var/log/packages/ | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if ! ls /var/log/packages/ | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for z in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $z...&amp;quot;&lt;br /&gt;
			git-clone $REPO$z&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $z...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do&lt;br /&gt;
		cd $COMPIZDIR/$i&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		if [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $i&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$i&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$i&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $i-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$i&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $i&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	&lt;br /&gt;
	# Adesso compilo CCSM perchè devo usare python&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	cd ccsm&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	else&lt;br /&gt;
		VERSION2=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	python setup.py clean&lt;br /&gt;
	python setup.py build&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		python setup.py --prefix=$PKG/&lt;br /&gt;
		mkdir -p $PKG/usr/doc/ccsm/&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/ccsm/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto ccsm-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
		su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non sono riuscito ad installare ccsm&amp;quot;&lt;br /&gt;
		echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		cd ../&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		icon=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			if [ -e VERSION ]; then&lt;br /&gt;
				VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
			else&lt;br /&gt;
				VERSION2=$VERSION&lt;br /&gt;
			fi&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			python setup.py install --prefix=$PKG/&lt;br /&gt;
			mkdir -p $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto fusion-icon-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
			su -c &amp;quot;makepkg -l y -c n $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/* &amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep fusion-icon&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo &amp;quot;Non ho trovato pacchetti installati che assomigliano a compiz.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		&lt;br /&gt;
		# Path contenente i sorgenti&lt;br /&gt;
		echo &amp;quot;Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read dir&lt;br /&gt;
		if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			dir=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		if [ ! -d $dir ]; then&lt;br /&gt;
			echo &amp;quot;La cartella $dir non esiste!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		cd $dir&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n; do&lt;br /&gt;
			if [ -d $i ]; then&lt;br /&gt;
				cd $i&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per rimuovere $i&amp;quot;&lt;br /&gt;
				su -c &amp;quot;make uninstall&amp;quot;&lt;br /&gt;
				cd ../&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		&lt;br /&gt;
		# Adesso rimuovo CCSM perchè devo usare python&lt;br /&gt;
		cd $dir/ccsm/&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere ccsm&amp;quot;&lt;br /&gt;
		su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		# Chiedo se devo rimuovere anche la fusion-icon&lt;br /&gt;
		echo -n &amp;quot;Devo rimuovere anche la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
		read risp&lt;br /&gt;
		if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
			cd $dir/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per rimuovere fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		fi&lt;br /&gt;
		&lt;br /&gt;
		# Rimuovo anche tutti i sorgenti di compiz-git&lt;br /&gt;
		cd $dir&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $i ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 4.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Autore: [[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
Inizio una sezione &amp;quot;changelog&amp;quot; per spiegare le migliorie che cerco di introdurre nelle nuove versioni:&lt;br /&gt;
&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...con un sacco di bug (eh oh)&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Dopo un bel periodo di prove ho capito come evitare alcuni problemi durante la compilazione dei vari componenti&lt;br /&gt;
&lt;br /&gt;
- V 2.1 --&amp;gt; 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&lt;br /&gt;
&lt;br /&gt;
- V 2.2 --&amp;gt; &amp;quot;plugins-main&amp;quot; non trovava &amp;quot;bcop&amp;quot; durante la configurazione a causa di un path errato ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=185048#p185048 spiegazione]). Un ringraziamento a JohnnyMnemonic :-)&lt;br /&gt;
&lt;br /&gt;
- V 3.0 --&amp;gt; Adesso si può scegliere se installare/aggiornare compiz o semplicemente rimuoverlo :-D&lt;br /&gt;
&lt;br /&gt;
- V 3.1b --&amp;gt; Versione BETA: adesso crea un pacchetto .tgz (per ogni componente) e lo installa; inoltre ho introdotto il &amp;quot;solo download/update&amp;quot;, così l'utente può anche scaricare compiz-git senza doverlo installare&lt;br /&gt;
&lt;br /&gt;
- V 3.1b2 --&amp;gt; Ancora BETA: c'erano troppe variabili e richieste: ne ho tolte un po' per snellire lo script&lt;br /&gt;
&lt;br /&gt;
- V 3.1b3 --&amp;gt; Aggiunta la modalità &amp;quot;only_install&amp;quot; che permette di installare compiz-git senza riscaricare/aggiornare tutti i rami del progetto (ovviamente i sorgenti devono essere già presenti sul computer)&lt;br /&gt;
&lt;br /&gt;
- V 3.1 --&amp;gt; Ultime correzioni di bug; lo script sembra completo, pertanto lo sviluppo si ferma (almeno fino a quando non verranno fuori altri problemi)&lt;br /&gt;
&lt;br /&gt;
- V 3.2 --&amp;gt; Bugfix: adesso entra nella cartella &amp;quot;$PKG&amp;quot; prima di creare i pacchetti &amp;quot;.tgz&amp;quot; ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=187923#p187923 errore segnalato da alexxxius]). Inoltre la fusion-icon non dà più problemi di compilazione&lt;br /&gt;
&lt;br /&gt;
- V 3.3 --&amp;gt; Altri bugfix ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;start=30 sempre su un errore segnalato da alexxxius]). Stavolta non dovrebbero più esserci problemi&lt;br /&gt;
&lt;br /&gt;
- V 4.0 --&amp;gt; Adesso per _OGNI_ ramo del progetto viene creato un pacchetto (prima ccsm e fusion-icon non erano pacchettizzati...) --Ultima release per Slackware 12.0--&lt;br /&gt;
&lt;br /&gt;
- V 5.0 --&amp;gt; Prima release per Slackware 12.1! Fixati alcuni bug che impedivano la compilazione di compiz con la nuova Slack, create nuove funzioni per il check della connessione e delle dipendenze, migliorato l'aspetto dello script. Inoltre la fusion-icon _NON_ viene pacchettizzata perché dà dei problemi quando si cerca di installare il pacchetto creato&lt;br /&gt;
&lt;br /&gt;
= Consigli =&lt;br /&gt;
1) 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 &amp;quot;fusion-icon&amp;quot; (posizionato in &amp;quot;/usr/bin&amp;quot;): 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 :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Compizconfig setting manager, a causa di un errore, non ha le icone delle varie categorie (generale, accessibilità, desktop, ...): per correggere questo bug esiste un workaround che potete trovare [http://www.slacky.eu/forum/viewtopic.php?f=4&amp;amp;t=23568 qui]. Un ringraziamento a mimmoforlug :-D&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/File:Compiz_git-4.0.sh</id>
		<title>File:Compiz git-4.0.sh</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/File:Compiz_git-4.0.sh"/>
				<updated>2011-05-14T13:49:17Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: Script per scaricare, compilare e creare i pacchetti di compiz-fusion su slackware 12.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Script per scaricare, compilare e creare i pacchetti di compiz-fusion su slackware 12.0&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Compiz-git</id>
		<title>Compiz-git</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Compiz-git"/>
				<updated>2011-05-14T13:46:23Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Versione 5.0 (per Slackware 12.1) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Script]]&lt;br /&gt;
= Descrizione =&lt;br /&gt;
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 --&amp;gt; /usr/local).&lt;br /&gt;
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 :-)&lt;br /&gt;
&lt;br /&gt;
Finalmente viene creato un pacchetto &amp;quot;.tgz&amp;quot; per ogni ramo del progetto!! In questo modo è pi semplice tenere traccia dell'installazione di compiz :-D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'attuale versione NON è compatibile con distro a 64bit. Sto cercando di aggiungere il supporto anche per questo tipo di cpu, ma per il momento lo script si può usare solo con distro 32bit.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
GIT --&amp;gt; [http://git.or.cz/ home]&lt;br /&gt;
&lt;br /&gt;
PYTHON --&amp;gt; [http://www.python.it/ python-italia] // [http://www.python.org sito_ufficiale]&lt;br /&gt;
&lt;br /&gt;
CONNESSIONE A INTERNET ATTIVA --&amp;gt; per scaricare i vari componenti&lt;br /&gt;
&lt;br /&gt;
ACCELERAZIONE 3D ATTIVATA --&amp;gt; per poter avviare compiz e godersi al meglio tutte le meraviglie di questo window-manager (per sapere come abilitare l'accelerazione 3D consultate [http://www.slacky.eu/wikislack/index.php?title=Compiz_e_compiz-fusion_su_Slackware#Introduzione questa guida], la quale contiene anche alcuni consigli utili per avviare compiz e risolvere problemi comuni)&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice degli script.&lt;br /&gt;
&lt;br /&gt;
== Versione 5.0 (per Slackware 12.1) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=&amp;quot;1as&amp;quot;&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://anongit.compiz-fusion.org/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se git è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se python è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se intltool è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which intltoolize)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo intltool...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/development/intltool/0.40.4/intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new intltool-0.40.4-noarch-1sl.tgz&amp;quot;&lt;br /&gt;
		rm -f intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se orbit2 e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo orbit2...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/orbit2/2.14.10/orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se gconf e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo gconf...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/gconf/2.20.1/gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare se si ha internet&lt;br /&gt;
check_net() {&lt;br /&gt;
	if ! ping -c 1 www.kernel.org &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	check_net&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $item...&amp;quot;&lt;br /&gt;
			git-clone $REPO$item&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $item...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		oggetto=$(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
		cd $COMPIZDIR/$oggetto&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Controllo se il ramo che devo compilare e' ccsm&lt;br /&gt;
		if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;ccsm&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLAKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				mkdir -p $PKG/usr/local/&lt;br /&gt;
				python setup.py install --prefix=$PKG/usr/local/&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
				su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		elif [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				compiz=&amp;quot;&amp;quot;&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-main&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-extra&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-unsupported&amp;quot; ]; then&lt;br /&gt;
					compiz=&amp;quot;compiz-&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
		python setup.py clean&lt;br /&gt;
		python setup.py build&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per installare la fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py install --prefix=/usr/&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Fusion-icon non installata.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
&lt;br /&gt;
	# Path dei sorgenti&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Dove  si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep i18n&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc &amp;amp;&amp;amp; cd $COMPIZDIR/fusion-icon &amp;amp;&amp;amp; python setup.py uninstall --prefix=/usr/&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		elif [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ ! -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non ho trovato nessun pacchetto che assomiglia a compiz :-(&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi	&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se devo rimuovere anche i sorgenti di compiz-git&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche rimuovere la cartella contenente i sorgenti? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		risp=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $dir&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for item in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $item ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 5.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Versione 4.0 (per Slackware 12.0) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 8/4/2008 da Ansa89 (avrei dovuto studiare Bergson e Dewey...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=1&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://git.freedesktop.org/git/xorg/app/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Controllo se git è installato&lt;br /&gt;
if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Controllo se python è installato&lt;br /&gt;
if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
	exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	if ! ping -c 5 www.slacky.eu &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico e installo due pacchetti che servono&lt;br /&gt;
	if ! ls /var/log/packages/ | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if ! ls /var/log/packages/ | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for z in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $z...&amp;quot;&lt;br /&gt;
			git-clone $REPO$z&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $z...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do&lt;br /&gt;
		cd $COMPIZDIR/$i&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		if [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $i&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$i&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$i&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $i-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$i&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $i&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	&lt;br /&gt;
	# Adesso compilo CCSM perchè devo usare python&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	cd ccsm&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	else&lt;br /&gt;
		VERSION2=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	python setup.py clean&lt;br /&gt;
	python setup.py build&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		python setup.py --prefix=$PKG/&lt;br /&gt;
		mkdir -p $PKG/usr/doc/ccsm/&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/ccsm/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto ccsm-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
		su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non sono riuscito ad installare ccsm&amp;quot;&lt;br /&gt;
		echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		cd ../&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		icon=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			if [ -e VERSION ]; then&lt;br /&gt;
				VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
			else&lt;br /&gt;
				VERSION2=$VERSION&lt;br /&gt;
			fi&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			python setup.py install --prefix=$PKG/&lt;br /&gt;
			mkdir -p $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto fusion-icon-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
			su -c &amp;quot;makepkg -l y -c n $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/* &amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep fusion-icon&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo &amp;quot;Non ho trovato pacchetti installati che assomigliano a compiz.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		&lt;br /&gt;
		# Path contenente i sorgenti&lt;br /&gt;
		echo &amp;quot;Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read dir&lt;br /&gt;
		if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			dir=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		if [ ! -d $dir ]; then&lt;br /&gt;
			echo &amp;quot;La cartella $dir non esiste!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		cd $dir&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n; do&lt;br /&gt;
			if [ -d $i ]; then&lt;br /&gt;
				cd $i&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per rimuovere $i&amp;quot;&lt;br /&gt;
				su -c &amp;quot;make uninstall&amp;quot;&lt;br /&gt;
				cd ../&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		&lt;br /&gt;
		# Adesso rimuovo CCSM perchè devo usare python&lt;br /&gt;
		cd $dir/ccsm/&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere ccsm&amp;quot;&lt;br /&gt;
		su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		# Chiedo se devo rimuovere anche la fusion-icon&lt;br /&gt;
		echo -n &amp;quot;Devo rimuovere anche la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
		read risp&lt;br /&gt;
		if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
			cd $dir/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per rimuovere fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		fi&lt;br /&gt;
		&lt;br /&gt;
		# Rimuovo anche tutti i sorgenti di compiz-git&lt;br /&gt;
		cd $dir&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $i ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 4.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Autore: [[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
Inizio una sezione &amp;quot;changelog&amp;quot; per spiegare le migliorie che cerco di introdurre nelle nuove versioni:&lt;br /&gt;
&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...con un sacco di bug (eh oh)&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Dopo un bel periodo di prove ho capito come evitare alcuni problemi durante la compilazione dei vari componenti&lt;br /&gt;
&lt;br /&gt;
- V 2.1 --&amp;gt; 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&lt;br /&gt;
&lt;br /&gt;
- V 2.2 --&amp;gt; &amp;quot;plugins-main&amp;quot; non trovava &amp;quot;bcop&amp;quot; durante la configurazione a causa di un path errato ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=185048#p185048 spiegazione]). Un ringraziamento a JohnnyMnemonic :-)&lt;br /&gt;
&lt;br /&gt;
- V 3.0 --&amp;gt; Adesso si può scegliere se installare/aggiornare compiz o semplicemente rimuoverlo :-D&lt;br /&gt;
&lt;br /&gt;
- V 3.1b --&amp;gt; Versione BETA: adesso crea un pacchetto .tgz (per ogni componente) e lo installa; inoltre ho introdotto il &amp;quot;solo download/update&amp;quot;, così l'utente può anche scaricare compiz-git senza doverlo installare&lt;br /&gt;
&lt;br /&gt;
- V 3.1b2 --&amp;gt; Ancora BETA: c'erano troppe variabili e richieste: ne ho tolte un po' per snellire lo script&lt;br /&gt;
&lt;br /&gt;
- V 3.1b3 --&amp;gt; Aggiunta la modalità &amp;quot;only_install&amp;quot; che permette di installare compiz-git senza riscaricare/aggiornare tutti i rami del progetto (ovviamente i sorgenti devono essere già presenti sul computer)&lt;br /&gt;
&lt;br /&gt;
- V 3.1 --&amp;gt; Ultime correzioni di bug; lo script sembra completo, pertanto lo sviluppo si ferma (almeno fino a quando non verranno fuori altri problemi)&lt;br /&gt;
&lt;br /&gt;
- V 3.2 --&amp;gt; Bugfix: adesso entra nella cartella &amp;quot;$PKG&amp;quot; prima di creare i pacchetti &amp;quot;.tgz&amp;quot; ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=187923#p187923 errore segnalato da alexxxius]). Inoltre la fusion-icon non dà più problemi di compilazione&lt;br /&gt;
&lt;br /&gt;
- V 3.3 --&amp;gt; Altri bugfix ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;start=30 sempre su un errore segnalato da alexxxius]). Stavolta non dovrebbero più esserci problemi&lt;br /&gt;
&lt;br /&gt;
- V 4.0 --&amp;gt; Adesso per _OGNI_ ramo del progetto viene creato un pacchetto (prima ccsm e fusion-icon non erano pacchettizzati...) --Ultima release per Slackware 12.0--&lt;br /&gt;
&lt;br /&gt;
- V 5.0 --&amp;gt; Prima release per Slackware 12.1! Fixati alcuni bug che impedivano la compilazione di compiz con la nuova Slack, create nuove funzioni per il check della connessione e delle dipendenze, migliorato l'aspetto dello script. Inoltre la fusion-icon _NON_ viene pacchettizzata perché dà dei problemi quando si cerca di installare il pacchetto creato&lt;br /&gt;
&lt;br /&gt;
= Consigli =&lt;br /&gt;
1) 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 &amp;quot;fusion-icon&amp;quot; (posizionato in &amp;quot;/usr/bin&amp;quot;): 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 :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Compizconfig setting manager, a causa di un errore, non ha le icone delle varie categorie (generale, accessibilità, desktop, ...): per correggere questo bug esiste un workaround che potete trovare [http://www.slacky.eu/forum/viewtopic.php?f=4&amp;amp;t=23568 qui]. Un ringraziamento a mimmoforlug :-D&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Compiz-git</id>
		<title>Compiz-git</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Compiz-git"/>
				<updated>2011-05-14T13:45:49Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Versione 4.0 (per Slackware 12.0) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Script]]&lt;br /&gt;
= Descrizione =&lt;br /&gt;
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 --&amp;gt; /usr/local).&lt;br /&gt;
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 :-)&lt;br /&gt;
&lt;br /&gt;
Finalmente viene creato un pacchetto &amp;quot;.tgz&amp;quot; per ogni ramo del progetto!! In questo modo è pi semplice tenere traccia dell'installazione di compiz :-D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'attuale versione NON è compatibile con distro a 64bit. Sto cercando di aggiungere il supporto anche per questo tipo di cpu, ma per il momento lo script si può usare solo con distro 32bit.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
GIT --&amp;gt; [http://git.or.cz/ home]&lt;br /&gt;
&lt;br /&gt;
PYTHON --&amp;gt; [http://www.python.it/ python-italia] // [http://www.python.org sito_ufficiale]&lt;br /&gt;
&lt;br /&gt;
CONNESSIONE A INTERNET ATTIVA --&amp;gt; per scaricare i vari componenti&lt;br /&gt;
&lt;br /&gt;
ACCELERAZIONE 3D ATTIVATA --&amp;gt; per poter avviare compiz e godersi al meglio tutte le meraviglie di questo window-manager (per sapere come abilitare l'accelerazione 3D consultate [http://www.slacky.eu/wikislack/index.php?title=Compiz_e_compiz-fusion_su_Slackware#Introduzione questa guida], la quale contiene anche alcuni consigli utili per avviare compiz e risolvere problemi comuni)&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice degli script.&lt;br /&gt;
&lt;br /&gt;
== Versione 5.0 (per Slackware 12.1) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=&amp;quot;1as&amp;quot;&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://anongit.compiz-fusion.org/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se git è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se python è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se intltool è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which intltoolize)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo intltool...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/development/intltool/0.40.4/intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new intltool-0.40.4-noarch-1sl.tgz&amp;quot;&lt;br /&gt;
		rm -f intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se orbit2 e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo orbit2...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/orbit2/2.14.10/orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se gconf e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo gconf...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/gconf/2.20.1/gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare se si ha internet&lt;br /&gt;
check_net() {&lt;br /&gt;
	if ! ping -c 1 www.kernel.org &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	check_net&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $item...&amp;quot;&lt;br /&gt;
			git-clone $REPO$item&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $item...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		oggetto=$(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
		cd $COMPIZDIR/$oggetto&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Controllo se il ramo che devo compilare e' ccsm&lt;br /&gt;
		if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;ccsm&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLAKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				mkdir -p $PKG/usr/local/&lt;br /&gt;
				python setup.py install --prefix=$PKG/usr/local/&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
				su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		elif [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				compiz=&amp;quot;&amp;quot;&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-main&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-extra&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-unsupported&amp;quot; ]; then&lt;br /&gt;
					compiz=&amp;quot;compiz-&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
		python setup.py clean&lt;br /&gt;
		python setup.py build&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per installare la fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py install --prefix=/usr/&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Fusion-icon non installata.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
&lt;br /&gt;
	# Path dei sorgenti&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Dove  si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep i18n&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc &amp;amp;&amp;amp; cd $COMPIZDIR/fusion-icon &amp;amp;&amp;amp; python setup.py uninstall --prefix=/usr/&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		elif [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ ! -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non ho trovato nessun pacchetto che assomiglia a compiz :-(&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi	&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se devo rimuovere anche i sorgenti di compiz-git&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche rimuovere la cartella contenente i sorgenti? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		risp=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $dir&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for item in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $item ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 5.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Versione 4.0 (per Slackware 12.0) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 8/4/2008 da Ansa89 (avrei dovuto studiare Bergson e Dewey...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=1&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://git.freedesktop.org/git/xorg/app/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Controllo se git è installato&lt;br /&gt;
if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Controllo se python è installato&lt;br /&gt;
if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
	exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	if ! ping -c 5 www.slacky.eu &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico e installo due pacchetti che servono&lt;br /&gt;
	if ! ls /var/log/packages/ | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if ! ls /var/log/packages/ | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for z in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $z...&amp;quot;&lt;br /&gt;
			git-clone $REPO$z&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $z...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do&lt;br /&gt;
		cd $COMPIZDIR/$i&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		if [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $i&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$i&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$i&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $i-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$i&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $i&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	&lt;br /&gt;
	# Adesso compilo CCSM perchè devo usare python&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	cd ccsm&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	else&lt;br /&gt;
		VERSION2=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	python setup.py clean&lt;br /&gt;
	python setup.py build&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		python setup.py --prefix=$PKG/&lt;br /&gt;
		mkdir -p $PKG/usr/doc/ccsm/&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/ccsm/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto ccsm-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
		su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non sono riuscito ad installare ccsm&amp;quot;&lt;br /&gt;
		echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		cd ../&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		icon=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			if [ -e VERSION ]; then&lt;br /&gt;
				VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
			else&lt;br /&gt;
				VERSION2=$VERSION&lt;br /&gt;
			fi&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			python setup.py install --prefix=$PKG/&lt;br /&gt;
			mkdir -p $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto fusion-icon-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
			su -c &amp;quot;makepkg -l y -c n $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/* &amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep fusion-icon&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo &amp;quot;Non ho trovato pacchetti installati che assomigliano a compiz.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		&lt;br /&gt;
		# Path contenente i sorgenti&lt;br /&gt;
		echo &amp;quot;Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read dir&lt;br /&gt;
		if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			dir=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		if [ ! -d $dir ]; then&lt;br /&gt;
			echo &amp;quot;La cartella $dir non esiste!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		cd $dir&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n; do&lt;br /&gt;
			if [ -d $i ]; then&lt;br /&gt;
				cd $i&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per rimuovere $i&amp;quot;&lt;br /&gt;
				su -c &amp;quot;make uninstall&amp;quot;&lt;br /&gt;
				cd ../&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		&lt;br /&gt;
		# Adesso rimuovo CCSM perchè devo usare python&lt;br /&gt;
		cd $dir/ccsm/&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere ccsm&amp;quot;&lt;br /&gt;
		su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		# Chiedo se devo rimuovere anche la fusion-icon&lt;br /&gt;
		echo -n &amp;quot;Devo rimuovere anche la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
		read risp&lt;br /&gt;
		if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
			cd $dir/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per rimuovere fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		fi&lt;br /&gt;
		&lt;br /&gt;
		# Rimuovo anche tutti i sorgenti di compiz-git&lt;br /&gt;
		cd $dir&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $i ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 4.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Autore: [[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
Inizio una sezione &amp;quot;changelog&amp;quot; per spiegare le migliorie che cerco di introdurre nelle nuove versioni:&lt;br /&gt;
&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...con un sacco di bug (eh oh)&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Dopo un bel periodo di prove ho capito come evitare alcuni problemi durante la compilazione dei vari componenti&lt;br /&gt;
&lt;br /&gt;
- V 2.1 --&amp;gt; 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&lt;br /&gt;
&lt;br /&gt;
- V 2.2 --&amp;gt; &amp;quot;plugins-main&amp;quot; non trovava &amp;quot;bcop&amp;quot; durante la configurazione a causa di un path errato ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=185048#p185048 spiegazione]). Un ringraziamento a JohnnyMnemonic :-)&lt;br /&gt;
&lt;br /&gt;
- V 3.0 --&amp;gt; Adesso si può scegliere se installare/aggiornare compiz o semplicemente rimuoverlo :-D&lt;br /&gt;
&lt;br /&gt;
- V 3.1b --&amp;gt; Versione BETA: adesso crea un pacchetto .tgz (per ogni componente) e lo installa; inoltre ho introdotto il &amp;quot;solo download/update&amp;quot;, così l'utente può anche scaricare compiz-git senza doverlo installare&lt;br /&gt;
&lt;br /&gt;
- V 3.1b2 --&amp;gt; Ancora BETA: c'erano troppe variabili e richieste: ne ho tolte un po' per snellire lo script&lt;br /&gt;
&lt;br /&gt;
- V 3.1b3 --&amp;gt; Aggiunta la modalità &amp;quot;only_install&amp;quot; che permette di installare compiz-git senza riscaricare/aggiornare tutti i rami del progetto (ovviamente i sorgenti devono essere già presenti sul computer)&lt;br /&gt;
&lt;br /&gt;
- V 3.1 --&amp;gt; Ultime correzioni di bug; lo script sembra completo, pertanto lo sviluppo si ferma (almeno fino a quando non verranno fuori altri problemi)&lt;br /&gt;
&lt;br /&gt;
- V 3.2 --&amp;gt; Bugfix: adesso entra nella cartella &amp;quot;$PKG&amp;quot; prima di creare i pacchetti &amp;quot;.tgz&amp;quot; ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=187923#p187923 errore segnalato da alexxxius]). Inoltre la fusion-icon non dà più problemi di compilazione&lt;br /&gt;
&lt;br /&gt;
- V 3.3 --&amp;gt; Altri bugfix ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;start=30 sempre su un errore segnalato da alexxxius]). Stavolta non dovrebbero più esserci problemi&lt;br /&gt;
&lt;br /&gt;
- V 4.0 --&amp;gt; Adesso per _OGNI_ ramo del progetto viene creato un pacchetto (prima ccsm e fusion-icon non erano pacchettizzati...) --Ultima release per Slackware 12.0--&lt;br /&gt;
&lt;br /&gt;
- V 5.0 --&amp;gt; Prima release per Slackware 12.1! Fixati alcuni bug che impedivano la compilazione di compiz con la nuova Slack, create nuove funzioni per il check della connessione e delle dipendenze, migliorato l'aspetto dello script. Inoltre la fusion-icon _NON_ viene pacchettizzata perché dà dei problemi quando si cerca di installare il pacchetto creato&lt;br /&gt;
&lt;br /&gt;
= Consigli =&lt;br /&gt;
1) 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 &amp;quot;fusion-icon&amp;quot; (posizionato in &amp;quot;/usr/bin&amp;quot;): 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 :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Compizconfig setting manager, a causa di un errore, non ha le icone delle varie categorie (generale, accessibilità, desktop, ...): per correggere questo bug esiste un workaround che potete trovare [http://www.slacky.eu/forum/viewtopic.php?f=4&amp;amp;t=23568 qui]. Un ringraziamento a mimmoforlug :-D&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Compiz-git</id>
		<title>Compiz-git</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Compiz-git"/>
				<updated>2011-05-14T13:35:56Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Versione 4.0 (per Slackware 12.0) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Script]]&lt;br /&gt;
= Descrizione =&lt;br /&gt;
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 --&amp;gt; /usr/local).&lt;br /&gt;
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 :-)&lt;br /&gt;
&lt;br /&gt;
Finalmente viene creato un pacchetto &amp;quot;.tgz&amp;quot; per ogni ramo del progetto!! In questo modo è pi semplice tenere traccia dell'installazione di compiz :-D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'attuale versione NON è compatibile con distro a 64bit. Sto cercando di aggiungere il supporto anche per questo tipo di cpu, ma per il momento lo script si può usare solo con distro 32bit.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
GIT --&amp;gt; [http://git.or.cz/ home]&lt;br /&gt;
&lt;br /&gt;
PYTHON --&amp;gt; [http://www.python.it/ python-italia] // [http://www.python.org sito_ufficiale]&lt;br /&gt;
&lt;br /&gt;
CONNESSIONE A INTERNET ATTIVA --&amp;gt; per scaricare i vari componenti&lt;br /&gt;
&lt;br /&gt;
ACCELERAZIONE 3D ATTIVATA --&amp;gt; per poter avviare compiz e godersi al meglio tutte le meraviglie di questo window-manager (per sapere come abilitare l'accelerazione 3D consultate [http://www.slacky.eu/wikislack/index.php?title=Compiz_e_compiz-fusion_su_Slackware#Introduzione questa guida], la quale contiene anche alcuni consigli utili per avviare compiz e risolvere problemi comuni)&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice degli script.&lt;br /&gt;
&lt;br /&gt;
== Versione 5.0 (per Slackware 12.1) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=&amp;quot;1as&amp;quot;&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://anongit.compiz-fusion.org/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se git è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se python è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se intltool è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which intltoolize)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo intltool...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/development/intltool/0.40.4/intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new intltool-0.40.4-noarch-1sl.tgz&amp;quot;&lt;br /&gt;
		rm -f intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se orbit2 e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo orbit2...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/orbit2/2.14.10/orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se gconf e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo gconf...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/gconf/2.20.1/gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare se si ha internet&lt;br /&gt;
check_net() {&lt;br /&gt;
	if ! ping -c 1 www.kernel.org &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	check_net&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $item...&amp;quot;&lt;br /&gt;
			git-clone $REPO$item&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $item...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		oggetto=$(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
		cd $COMPIZDIR/$oggetto&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Controllo se il ramo che devo compilare e' ccsm&lt;br /&gt;
		if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;ccsm&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLAKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				mkdir -p $PKG/usr/local/&lt;br /&gt;
				python setup.py install --prefix=$PKG/usr/local/&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
				su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		elif [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				compiz=&amp;quot;&amp;quot;&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-main&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-extra&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-unsupported&amp;quot; ]; then&lt;br /&gt;
					compiz=&amp;quot;compiz-&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
		python setup.py clean&lt;br /&gt;
		python setup.py build&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per installare la fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py install --prefix=/usr/&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Fusion-icon non installata.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
&lt;br /&gt;
	# Path dei sorgenti&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Dove  si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep i18n&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc &amp;amp;&amp;amp; cd $COMPIZDIR/fusion-icon &amp;amp;&amp;amp; python setup.py uninstall --prefix=/usr/&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		elif [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ ! -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non ho trovato nessun pacchetto che assomiglia a compiz :-(&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi	&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se devo rimuovere anche i sorgenti di compiz-git&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche rimuovere la cartella contenente i sorgenti? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		risp=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $dir&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for item in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $item ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 5.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Versione 4.0 (per Slackware 12.0) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 8/4/2008 da Ansa89 (avrei dovuto studiare Bergson e Dewey...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=1&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://git.freedesktop.org/git/xorg/app/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Controllo se git è installato&lt;br /&gt;
if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Controllo se python è installato&lt;br /&gt;
if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
	exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	if ! ping -c 5 www.slacky.eu &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico e installo due pacchetti che servono&lt;br /&gt;
	if ! ls /var/log/packages/ | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if ! ls /var/log/packages/ | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for z in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $z...&amp;quot;&lt;br /&gt;
			git-clone $REPO$z&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $z...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do&lt;br /&gt;
		cd $COMPIZDIR/$i&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		if [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $i&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$i&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$i&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $i-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$i&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $i&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	&lt;br /&gt;
	# Adesso compilo CCSM perchè devo usare python&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	cd ccsm&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	else&lt;br /&gt;
		VERSION2=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	python setup.py clean&lt;br /&gt;
	python setup.py build&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		python setup.py --prefix=$PKG/&lt;br /&gt;
		mkdir -p $PKG/usr/doc/ccsm/&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/ccsm/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto ccsm-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
		su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non sono riuscito ad installare ccsm&amp;quot;&lt;br /&gt;
		echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		cd ../&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		icon=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			if [ -e VERSION ]; then&lt;br /&gt;
				VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
			else&lt;br /&gt;
				VERSION2=$VERSION&lt;br /&gt;
			fi&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			python setup.py install --prefix=$PKG/&lt;br /&gt;
			mkdir -p $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto fusion-icon-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
			su -c &amp;quot;makepkg -l y -c n $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/* &amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep fusion-icon&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo &amp;quot;Non ho trovato pacchetti installati che assomigliano a compiz.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		&lt;br /&gt;
		# Path contenente i sorgenti&lt;br /&gt;
		echo &amp;quot;Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read dir&lt;br /&gt;
		if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			dir=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		if [ ! -d $dir ]; then&lt;br /&gt;
			echo &amp;quot;La cartella $dir non esiste!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		cd $dir&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n; do&lt;br /&gt;
			if [ -d $i ]; then&lt;br /&gt;
				cd $i&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per rimuovere $i&amp;quot;&lt;br /&gt;
				su -c &amp;quot;make uninstall&amp;quot;&lt;br /&gt;
				cd ../&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		&lt;br /&gt;
		# Adesso rimuovo CCSM perchè devo usare python&lt;br /&gt;
		cd $dir/ccsm/&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere ccsm&amp;quot;&lt;br /&gt;
		su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		# Chiedo se devo rimuovere anche la fusion-icon&lt;br /&gt;
		echo -n &amp;quot;Devo rimuovere anche la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
		read risp&lt;br /&gt;
		if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
			cd $dir/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per rimuovere fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		fi&lt;br /&gt;
		&lt;br /&gt;
		# Rimuovo anche tutti i sorgenti di compiz-git&lt;br /&gt;
		cd $dir&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $i ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 4.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Autore: [[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
Inizio una sezione &amp;quot;changelog&amp;quot; per spiegare le migliorie che cerco di introdurre nelle nuove versioni:&lt;br /&gt;
&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...con un sacco di bug (eh oh)&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Dopo un bel periodo di prove ho capito come evitare alcuni problemi durante la compilazione dei vari componenti&lt;br /&gt;
&lt;br /&gt;
- V 2.1 --&amp;gt; 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&lt;br /&gt;
&lt;br /&gt;
- V 2.2 --&amp;gt; &amp;quot;plugins-main&amp;quot; non trovava &amp;quot;bcop&amp;quot; durante la configurazione a causa di un path errato ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=185048#p185048 spiegazione]). Un ringraziamento a JohnnyMnemonic :-)&lt;br /&gt;
&lt;br /&gt;
- V 3.0 --&amp;gt; Adesso si può scegliere se installare/aggiornare compiz o semplicemente rimuoverlo :-D&lt;br /&gt;
&lt;br /&gt;
- V 3.1b --&amp;gt; Versione BETA: adesso crea un pacchetto .tgz (per ogni componente) e lo installa; inoltre ho introdotto il &amp;quot;solo download/update&amp;quot;, così l'utente può anche scaricare compiz-git senza doverlo installare&lt;br /&gt;
&lt;br /&gt;
- V 3.1b2 --&amp;gt; Ancora BETA: c'erano troppe variabili e richieste: ne ho tolte un po' per snellire lo script&lt;br /&gt;
&lt;br /&gt;
- V 3.1b3 --&amp;gt; Aggiunta la modalità &amp;quot;only_install&amp;quot; che permette di installare compiz-git senza riscaricare/aggiornare tutti i rami del progetto (ovviamente i sorgenti devono essere già presenti sul computer)&lt;br /&gt;
&lt;br /&gt;
- V 3.1 --&amp;gt; Ultime correzioni di bug; lo script sembra completo, pertanto lo sviluppo si ferma (almeno fino a quando non verranno fuori altri problemi)&lt;br /&gt;
&lt;br /&gt;
- V 3.2 --&amp;gt; Bugfix: adesso entra nella cartella &amp;quot;$PKG&amp;quot; prima di creare i pacchetti &amp;quot;.tgz&amp;quot; ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=187923#p187923 errore segnalato da alexxxius]). Inoltre la fusion-icon non dà più problemi di compilazione&lt;br /&gt;
&lt;br /&gt;
- V 3.3 --&amp;gt; Altri bugfix ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;start=30 sempre su un errore segnalato da alexxxius]). Stavolta non dovrebbero più esserci problemi&lt;br /&gt;
&lt;br /&gt;
- V 4.0 --&amp;gt; Adesso per _OGNI_ ramo del progetto viene creato un pacchetto (prima ccsm e fusion-icon non erano pacchettizzati...) --Ultima release per Slackware 12.0--&lt;br /&gt;
&lt;br /&gt;
- V 5.0 --&amp;gt; Prima release per Slackware 12.1! Fixati alcuni bug che impedivano la compilazione di compiz con la nuova Slack, create nuove funzioni per il check della connessione e delle dipendenze, migliorato l'aspetto dello script. Inoltre la fusion-icon _NON_ viene pacchettizzata perché dà dei problemi quando si cerca di installare il pacchetto creato&lt;br /&gt;
&lt;br /&gt;
= Consigli =&lt;br /&gt;
1) 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 &amp;quot;fusion-icon&amp;quot; (posizionato in &amp;quot;/usr/bin&amp;quot;): 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 :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Compizconfig setting manager, a causa di un errore, non ha le icone delle varie categorie (generale, accessibilità, desktop, ...): per correggere questo bug esiste un workaround che potete trovare [http://www.slacky.eu/forum/viewtopic.php?f=4&amp;amp;t=23568 qui]. Un ringraziamento a mimmoforlug :-D&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Compiz-git</id>
		<title>Compiz-git</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Compiz-git"/>
				<updated>2011-05-14T13:32:05Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Feedback */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Script]]&lt;br /&gt;
= Descrizione =&lt;br /&gt;
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 --&amp;gt; /usr/local).&lt;br /&gt;
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 :-)&lt;br /&gt;
&lt;br /&gt;
Finalmente viene creato un pacchetto &amp;quot;.tgz&amp;quot; per ogni ramo del progetto!! In questo modo è pi semplice tenere traccia dell'installazione di compiz :-D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'attuale versione NON è compatibile con distro a 64bit. Sto cercando di aggiungere il supporto anche per questo tipo di cpu, ma per il momento lo script si può usare solo con distro 32bit.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
GIT --&amp;gt; [http://git.or.cz/ home]&lt;br /&gt;
&lt;br /&gt;
PYTHON --&amp;gt; [http://www.python.it/ python-italia] // [http://www.python.org sito_ufficiale]&lt;br /&gt;
&lt;br /&gt;
CONNESSIONE A INTERNET ATTIVA --&amp;gt; per scaricare i vari componenti&lt;br /&gt;
&lt;br /&gt;
ACCELERAZIONE 3D ATTIVATA --&amp;gt; per poter avviare compiz e godersi al meglio tutte le meraviglie di questo window-manager (per sapere come abilitare l'accelerazione 3D consultate [http://www.slacky.eu/wikislack/index.php?title=Compiz_e_compiz-fusion_su_Slackware#Introduzione questa guida], la quale contiene anche alcuni consigli utili per avviare compiz e risolvere problemi comuni)&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice degli script.&lt;br /&gt;
&lt;br /&gt;
== Versione 5.0 (per Slackware 12.1) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=&amp;quot;1as&amp;quot;&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://anongit.compiz-fusion.org/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se git è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se python è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se intltool è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which intltoolize)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo intltool...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/development/intltool/0.40.4/intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new intltool-0.40.4-noarch-1sl.tgz&amp;quot;&lt;br /&gt;
		rm -f intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se orbit2 e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo orbit2...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/orbit2/2.14.10/orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se gconf e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo gconf...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/gconf/2.20.1/gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare se si ha internet&lt;br /&gt;
check_net() {&lt;br /&gt;
	if ! ping -c 1 www.kernel.org &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	check_net&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $item...&amp;quot;&lt;br /&gt;
			git-clone $REPO$item&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $item...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		oggetto=$(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
		cd $COMPIZDIR/$oggetto&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Controllo se il ramo che devo compilare e' ccsm&lt;br /&gt;
		if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;ccsm&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLAKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				mkdir -p $PKG/usr/local/&lt;br /&gt;
				python setup.py install --prefix=$PKG/usr/local/&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
				su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		elif [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				compiz=&amp;quot;&amp;quot;&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-main&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-extra&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-unsupported&amp;quot; ]; then&lt;br /&gt;
					compiz=&amp;quot;compiz-&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
		python setup.py clean&lt;br /&gt;
		python setup.py build&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per installare la fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py install --prefix=/usr/&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Fusion-icon non installata.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
&lt;br /&gt;
	# Path dei sorgenti&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Dove  si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep i18n&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc &amp;amp;&amp;amp; cd $COMPIZDIR/fusion-icon &amp;amp;&amp;amp; python setup.py uninstall --prefix=/usr/&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		elif [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ ! -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non ho trovato nessun pacchetto che assomiglia a compiz :-(&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi	&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se devo rimuovere anche i sorgenti di compiz-git&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche rimuovere la cartella contenente i sorgenti? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		risp=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $dir&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for item in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $item ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 5.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Versione 4.0 (per Slackware 12.0) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 8/4/2008 da Ansa89 (avrei dovuto studiare Bergson e Dewey...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=1&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://git.freedesktop.org/git/xorg/app/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Controllo se git è installato&lt;br /&gt;
if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Controllo se python è installato&lt;br /&gt;
if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
	exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	if ! ping -c 5 www.slacky.eu &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico e installo due pacchetti che servono&lt;br /&gt;
	if ! ls /var/log/packages/ | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if ! ls /var/log/packages/ | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for z in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $z...&amp;quot;&lt;br /&gt;
			git-clone $REPO$z&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $z...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do&lt;br /&gt;
		cd $COMPIZDIR/$i&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		if [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $i&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$i&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$i&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $i-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$i&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $i&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	&lt;br /&gt;
	# Adesso compilo CCSM perchè devo usare python&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	cd ccsm&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	else&lt;br /&gt;
		VERSION2=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	python setup.py clean&lt;br /&gt;
	python setup.py build&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		python setup.py --prefix=$PKG/&lt;br /&gt;
		mkdir -p $PKG/usr/doc/ccsm/&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/ccsm/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto ccsm-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
		su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non sono riuscito ad installare ccsm&amp;quot;&lt;br /&gt;
		echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		cd ../&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		icon=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			if [ -e VERSION ]; then&lt;br /&gt;
				VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
			else&lt;br /&gt;
				VERSION2=$VERSION&lt;br /&gt;
			fi&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			python setup.py install --prefix=$PKG/&lt;br /&gt;
			mkdir -p $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto fusion-icon-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
			su -c &amp;quot;makepkg -l y -c n $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/* &amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep fusion-icon&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo &amp;quot;Non ho trovato pacchetti installati che assomigliano a compiz.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		&lt;br /&gt;
		# Path contenente i sorgenti&lt;br /&gt;
		echo &amp;quot;Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read dir&lt;br /&gt;
		if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			dir=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		if [ ! -d $dir ]; then&lt;br /&gt;
			echo &amp;quot;La cartella $dir non esiste!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		cd $dir&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n; do&lt;br /&gt;
			if [ -d $i ]; then&lt;br /&gt;
				cd $i&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per rimuovere $i&amp;quot;&lt;br /&gt;
				su -c &amp;quot;make uninstall&amp;quot;&lt;br /&gt;
				cd ../&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		&lt;br /&gt;
		# Adesso rimuovo CCSM perchè devo usare python&lt;br /&gt;
		cd $dir/ccsm/&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere ccsm&amp;quot;&lt;br /&gt;
		su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		# Chiedo se devo rimuovere anche la fusion-icon&lt;br /&gt;
		echo -n &amp;quot;Devo rimuovere anche la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
		read risp&lt;br /&gt;
		if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
			cd $dir/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per rimuovere fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		fi&lt;br /&gt;
		&lt;br /&gt;
		# Rimuovo anche tutti i sorgenti di compiz-git&lt;br /&gt;
		cd $dir&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $i ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 4.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
Inizio una sezione &amp;quot;changelog&amp;quot; per spiegare le migliorie che cerco di introdurre nelle nuove versioni:&lt;br /&gt;
&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...con un sacco di bug (eh oh)&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Dopo un bel periodo di prove ho capito come evitare alcuni problemi durante la compilazione dei vari componenti&lt;br /&gt;
&lt;br /&gt;
- V 2.1 --&amp;gt; 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&lt;br /&gt;
&lt;br /&gt;
- V 2.2 --&amp;gt; &amp;quot;plugins-main&amp;quot; non trovava &amp;quot;bcop&amp;quot; durante la configurazione a causa di un path errato ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=185048#p185048 spiegazione]). Un ringraziamento a JohnnyMnemonic :-)&lt;br /&gt;
&lt;br /&gt;
- V 3.0 --&amp;gt; Adesso si può scegliere se installare/aggiornare compiz o semplicemente rimuoverlo :-D&lt;br /&gt;
&lt;br /&gt;
- V 3.1b --&amp;gt; Versione BETA: adesso crea un pacchetto .tgz (per ogni componente) e lo installa; inoltre ho introdotto il &amp;quot;solo download/update&amp;quot;, così l'utente può anche scaricare compiz-git senza doverlo installare&lt;br /&gt;
&lt;br /&gt;
- V 3.1b2 --&amp;gt; Ancora BETA: c'erano troppe variabili e richieste: ne ho tolte un po' per snellire lo script&lt;br /&gt;
&lt;br /&gt;
- V 3.1b3 --&amp;gt; Aggiunta la modalità &amp;quot;only_install&amp;quot; che permette di installare compiz-git senza riscaricare/aggiornare tutti i rami del progetto (ovviamente i sorgenti devono essere già presenti sul computer)&lt;br /&gt;
&lt;br /&gt;
- V 3.1 --&amp;gt; Ultime correzioni di bug; lo script sembra completo, pertanto lo sviluppo si ferma (almeno fino a quando non verranno fuori altri problemi)&lt;br /&gt;
&lt;br /&gt;
- V 3.2 --&amp;gt; Bugfix: adesso entra nella cartella &amp;quot;$PKG&amp;quot; prima di creare i pacchetti &amp;quot;.tgz&amp;quot; ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=187923#p187923 errore segnalato da alexxxius]). Inoltre la fusion-icon non dà più problemi di compilazione&lt;br /&gt;
&lt;br /&gt;
- V 3.3 --&amp;gt; Altri bugfix ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;start=30 sempre su un errore segnalato da alexxxius]). Stavolta non dovrebbero più esserci problemi&lt;br /&gt;
&lt;br /&gt;
- V 4.0 --&amp;gt; Adesso per _OGNI_ ramo del progetto viene creato un pacchetto (prima ccsm e fusion-icon non erano pacchettizzati...) --Ultima release per Slackware 12.0--&lt;br /&gt;
&lt;br /&gt;
- V 5.0 --&amp;gt; Prima release per Slackware 12.1! Fixati alcuni bug che impedivano la compilazione di compiz con la nuova Slack, create nuove funzioni per il check della connessione e delle dipendenze, migliorato l'aspetto dello script. Inoltre la fusion-icon _NON_ viene pacchettizzata perché dà dei problemi quando si cerca di installare il pacchetto creato&lt;br /&gt;
&lt;br /&gt;
= Consigli =&lt;br /&gt;
1) 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 &amp;quot;fusion-icon&amp;quot; (posizionato in &amp;quot;/usr/bin&amp;quot;): 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 :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Compizconfig setting manager, a causa di un errore, non ha le icone delle varie categorie (generale, accessibilità, desktop, ...): per correggere questo bug esiste un workaround che potete trovare [http://www.slacky.eu/forum/viewtopic.php?f=4&amp;amp;t=23568 qui]. Un ringraziamento a mimmoforlug :-D&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Compiz-git</id>
		<title>Compiz-git</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Compiz-git"/>
				<updated>2011-05-14T13:31:37Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Download (Slackware 12.0) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Script]]&lt;br /&gt;
= Descrizione =&lt;br /&gt;
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 --&amp;gt; /usr/local).&lt;br /&gt;
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 :-)&lt;br /&gt;
&lt;br /&gt;
Finalmente viene creato un pacchetto &amp;quot;.tgz&amp;quot; per ogni ramo del progetto!! In questo modo è pi semplice tenere traccia dell'installazione di compiz :-D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'attuale versione NON è compatibile con distro a 64bit. Sto cercando di aggiungere il supporto anche per questo tipo di cpu, ma per il momento lo script si può usare solo con distro 32bit.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
GIT --&amp;gt; [http://git.or.cz/ home]&lt;br /&gt;
&lt;br /&gt;
PYTHON --&amp;gt; [http://www.python.it/ python-italia] // [http://www.python.org sito_ufficiale]&lt;br /&gt;
&lt;br /&gt;
CONNESSIONE A INTERNET ATTIVA --&amp;gt; per scaricare i vari componenti&lt;br /&gt;
&lt;br /&gt;
ACCELERAZIONE 3D ATTIVATA --&amp;gt; per poter avviare compiz e godersi al meglio tutte le meraviglie di questo window-manager (per sapere come abilitare l'accelerazione 3D consultate [http://www.slacky.eu/wikislack/index.php?title=Compiz_e_compiz-fusion_su_Slackware#Introduzione questa guida], la quale contiene anche alcuni consigli utili per avviare compiz e risolvere problemi comuni)&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice degli script.&lt;br /&gt;
&lt;br /&gt;
== Versione 5.0 (per Slackware 12.1) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=&amp;quot;1as&amp;quot;&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://anongit.compiz-fusion.org/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se git è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se python è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se intltool è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which intltoolize)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo intltool...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/development/intltool/0.40.4/intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new intltool-0.40.4-noarch-1sl.tgz&amp;quot;&lt;br /&gt;
		rm -f intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se orbit2 e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo orbit2...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/orbit2/2.14.10/orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se gconf e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo gconf...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/gconf/2.20.1/gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare se si ha internet&lt;br /&gt;
check_net() {&lt;br /&gt;
	if ! ping -c 1 www.kernel.org &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	check_net&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $item...&amp;quot;&lt;br /&gt;
			git-clone $REPO$item&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $item...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		oggetto=$(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
		cd $COMPIZDIR/$oggetto&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Controllo se il ramo che devo compilare e' ccsm&lt;br /&gt;
		if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;ccsm&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLAKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				mkdir -p $PKG/usr/local/&lt;br /&gt;
				python setup.py install --prefix=$PKG/usr/local/&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
				su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		elif [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				compiz=&amp;quot;&amp;quot;&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-main&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-extra&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-unsupported&amp;quot; ]; then&lt;br /&gt;
					compiz=&amp;quot;compiz-&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
		python setup.py clean&lt;br /&gt;
		python setup.py build&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per installare la fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py install --prefix=/usr/&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Fusion-icon non installata.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
&lt;br /&gt;
	# Path dei sorgenti&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Dove  si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep i18n&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc &amp;amp;&amp;amp; cd $COMPIZDIR/fusion-icon &amp;amp;&amp;amp; python setup.py uninstall --prefix=/usr/&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		elif [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ ! -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non ho trovato nessun pacchetto che assomiglia a compiz :-(&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi	&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se devo rimuovere anche i sorgenti di compiz-git&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche rimuovere la cartella contenente i sorgenti? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		risp=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $dir&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for item in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $item ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 5.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Versione 4.0 (per Slackware 12.0) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 8/4/2008 da Ansa89 (avrei dovuto studiare Bergson e Dewey...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=1&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://git.freedesktop.org/git/xorg/app/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Controllo se git è installato&lt;br /&gt;
if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Controllo se python è installato&lt;br /&gt;
if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
	exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	if ! ping -c 5 www.slacky.eu &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico e installo due pacchetti che servono&lt;br /&gt;
	if ! ls /var/log/packages/ | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if ! ls /var/log/packages/ | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for z in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $z...&amp;quot;&lt;br /&gt;
			git-clone $REPO$z&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $z...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do&lt;br /&gt;
		cd $COMPIZDIR/$i&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		if [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $i&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$i&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$i&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $i-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$i&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $i&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	&lt;br /&gt;
	# Adesso compilo CCSM perchè devo usare python&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	cd ccsm&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	else&lt;br /&gt;
		VERSION2=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	python setup.py clean&lt;br /&gt;
	python setup.py build&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		python setup.py --prefix=$PKG/&lt;br /&gt;
		mkdir -p $PKG/usr/doc/ccsm/&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/ccsm/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto ccsm-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
		su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non sono riuscito ad installare ccsm&amp;quot;&lt;br /&gt;
		echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		cd ../&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		icon=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			if [ -e VERSION ]; then&lt;br /&gt;
				VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
			else&lt;br /&gt;
				VERSION2=$VERSION&lt;br /&gt;
			fi&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			python setup.py install --prefix=$PKG/&lt;br /&gt;
			mkdir -p $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto fusion-icon-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
			su -c &amp;quot;makepkg -l y -c n $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/* &amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep fusion-icon&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo &amp;quot;Non ho trovato pacchetti installati che assomigliano a compiz.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		&lt;br /&gt;
		# Path contenente i sorgenti&lt;br /&gt;
		echo &amp;quot;Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read dir&lt;br /&gt;
		if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			dir=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		if [ ! -d $dir ]; then&lt;br /&gt;
			echo &amp;quot;La cartella $dir non esiste!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		cd $dir&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n; do&lt;br /&gt;
			if [ -d $i ]; then&lt;br /&gt;
				cd $i&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per rimuovere $i&amp;quot;&lt;br /&gt;
				su -c &amp;quot;make uninstall&amp;quot;&lt;br /&gt;
				cd ../&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		&lt;br /&gt;
		# Adesso rimuovo CCSM perchè devo usare python&lt;br /&gt;
		cd $dir/ccsm/&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere ccsm&amp;quot;&lt;br /&gt;
		su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		# Chiedo se devo rimuovere anche la fusion-icon&lt;br /&gt;
		echo -n &amp;quot;Devo rimuovere anche la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
		read risp&lt;br /&gt;
		if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
			cd $dir/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per rimuovere fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		fi&lt;br /&gt;
		&lt;br /&gt;
		# Rimuovo anche tutti i sorgenti di compiz-git&lt;br /&gt;
		cd $dir&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $i ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 4.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
Inizio una sezione &amp;quot;changelog&amp;quot; per spiegare le migliorie che cerco di introdurre nelle nuove versioni:&lt;br /&gt;
&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...con un sacco di bug (eh oh)&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Dopo un bel periodo di prove ho capito come evitare alcuni problemi durante la compilazione dei vari componenti&lt;br /&gt;
&lt;br /&gt;
- V 2.1 --&amp;gt; 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&lt;br /&gt;
&lt;br /&gt;
- V 2.2 --&amp;gt; &amp;quot;plugins-main&amp;quot; non trovava &amp;quot;bcop&amp;quot; durante la configurazione a causa di un path errato ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=185048#p185048 spiegazione]). Un ringraziamento a JohnnyMnemonic :-)&lt;br /&gt;
&lt;br /&gt;
- V 3.0 --&amp;gt; Adesso si può scegliere se installare/aggiornare compiz o semplicemente rimuoverlo :-D&lt;br /&gt;
&lt;br /&gt;
- V 3.1b --&amp;gt; Versione BETA: adesso crea un pacchetto .tgz (per ogni componente) e lo installa; inoltre ho introdotto il &amp;quot;solo download/update&amp;quot;, così l'utente può anche scaricare compiz-git senza doverlo installare&lt;br /&gt;
&lt;br /&gt;
- V 3.1b2 --&amp;gt; Ancora BETA: c'erano troppe variabili e richieste: ne ho tolte un po' per snellire lo script&lt;br /&gt;
&lt;br /&gt;
- V 3.1b3 --&amp;gt; Aggiunta la modalità &amp;quot;only_install&amp;quot; che permette di installare compiz-git senza riscaricare/aggiornare tutti i rami del progetto (ovviamente i sorgenti devono essere già presenti sul computer)&lt;br /&gt;
&lt;br /&gt;
- V 3.1 --&amp;gt; Ultime correzioni di bug; lo script sembra completo, pertanto lo sviluppo si ferma (almeno fino a quando non verranno fuori altri problemi)&lt;br /&gt;
&lt;br /&gt;
- V 3.2 --&amp;gt; Bugfix: adesso entra nella cartella &amp;quot;$PKG&amp;quot; prima di creare i pacchetti &amp;quot;.tgz&amp;quot; ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=187923#p187923 errore segnalato da alexxxius]). Inoltre la fusion-icon non dà più problemi di compilazione&lt;br /&gt;
&lt;br /&gt;
- V 3.3 --&amp;gt; Altri bugfix ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;start=30 sempre su un errore segnalato da alexxxius]). Stavolta non dovrebbero più esserci problemi&lt;br /&gt;
&lt;br /&gt;
- V 4.0 --&amp;gt; Adesso per _OGNI_ ramo del progetto viene creato un pacchetto (prima ccsm e fusion-icon non erano pacchettizzati...) --Ultima release per Slackware 12.0--&lt;br /&gt;
&lt;br /&gt;
- V 5.0 --&amp;gt; Prima release per Slackware 12.1! Fixati alcuni bug che impedivano la compilazione di compiz con la nuova Slack, create nuove funzioni per il check della connessione e delle dipendenze, migliorato l'aspetto dello script. Inoltre la fusion-icon _NON_ viene pacchettizzata perché dà dei problemi quando si cerca di installare il pacchetto creato&lt;br /&gt;
&lt;br /&gt;
= Consigli =&lt;br /&gt;
1) 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 &amp;quot;fusion-icon&amp;quot; (posizionato in &amp;quot;/usr/bin&amp;quot;): 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 :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Compizconfig setting manager, a causa di un errore, non ha le icone delle varie categorie (generale, accessibilità, desktop, ...): per correggere questo bug esiste un workaround che potete trovare [http://www.slacky.eu/forum/viewtopic.php?f=4&amp;amp;t=23568 qui]. Un ringraziamento a mimmoforlug :-D&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Compiz-git</id>
		<title>Compiz-git</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Compiz-git"/>
				<updated>2011-05-14T13:31:01Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Download (Slackware 12.1) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Script]]&lt;br /&gt;
= Descrizione =&lt;br /&gt;
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 --&amp;gt; /usr/local).&lt;br /&gt;
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 :-)&lt;br /&gt;
&lt;br /&gt;
Finalmente viene creato un pacchetto &amp;quot;.tgz&amp;quot; per ogni ramo del progetto!! In questo modo è pi semplice tenere traccia dell'installazione di compiz :-D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'attuale versione NON è compatibile con distro a 64bit. Sto cercando di aggiungere il supporto anche per questo tipo di cpu, ma per il momento lo script si può usare solo con distro 32bit.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
GIT --&amp;gt; [http://git.or.cz/ home]&lt;br /&gt;
&lt;br /&gt;
PYTHON --&amp;gt; [http://www.python.it/ python-italia] // [http://www.python.org sito_ufficiale]&lt;br /&gt;
&lt;br /&gt;
CONNESSIONE A INTERNET ATTIVA --&amp;gt; per scaricare i vari componenti&lt;br /&gt;
&lt;br /&gt;
ACCELERAZIONE 3D ATTIVATA --&amp;gt; per poter avviare compiz e godersi al meglio tutte le meraviglie di questo window-manager (per sapere come abilitare l'accelerazione 3D consultate [http://www.slacky.eu/wikislack/index.php?title=Compiz_e_compiz-fusion_su_Slackware#Introduzione questa guida], la quale contiene anche alcuni consigli utili per avviare compiz e risolvere problemi comuni)&lt;br /&gt;
&lt;br /&gt;
= Download (Slackware 12.0) =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=1 get-compiz-v4.0 (home)]&lt;br /&gt;
&lt;br /&gt;
Oppure&lt;br /&gt;
&lt;br /&gt;
[http://www.slacky.eu/wikislack/script/get-compiz-v4.0.sh get-compiz-v4.0 (slacky.eu)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice degli script.&lt;br /&gt;
&lt;br /&gt;
== Versione 5.0 (per Slackware 12.1) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=&amp;quot;1as&amp;quot;&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://anongit.compiz-fusion.org/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se git è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se python è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se intltool è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which intltoolize)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo intltool...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/development/intltool/0.40.4/intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new intltool-0.40.4-noarch-1sl.tgz&amp;quot;&lt;br /&gt;
		rm -f intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se orbit2 e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo orbit2...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/orbit2/2.14.10/orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se gconf e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo gconf...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/gconf/2.20.1/gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare se si ha internet&lt;br /&gt;
check_net() {&lt;br /&gt;
	if ! ping -c 1 www.kernel.org &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	check_net&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $item...&amp;quot;&lt;br /&gt;
			git-clone $REPO$item&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $item...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		oggetto=$(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
		cd $COMPIZDIR/$oggetto&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Controllo se il ramo che devo compilare e' ccsm&lt;br /&gt;
		if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;ccsm&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLAKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				mkdir -p $PKG/usr/local/&lt;br /&gt;
				python setup.py install --prefix=$PKG/usr/local/&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
				su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		elif [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				compiz=&amp;quot;&amp;quot;&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-main&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-extra&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-unsupported&amp;quot; ]; then&lt;br /&gt;
					compiz=&amp;quot;compiz-&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
		python setup.py clean&lt;br /&gt;
		python setup.py build&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per installare la fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py install --prefix=/usr/&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Fusion-icon non installata.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
&lt;br /&gt;
	# Path dei sorgenti&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Dove  si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep i18n&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc &amp;amp;&amp;amp; cd $COMPIZDIR/fusion-icon &amp;amp;&amp;amp; python setup.py uninstall --prefix=/usr/&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		elif [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ ! -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non ho trovato nessun pacchetto che assomiglia a compiz :-(&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi	&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se devo rimuovere anche i sorgenti di compiz-git&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche rimuovere la cartella contenente i sorgenti? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		risp=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $dir&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for item in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $item ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 5.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Versione 4.0 (per Slackware 12.0) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 8/4/2008 da Ansa89 (avrei dovuto studiare Bergson e Dewey...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=1&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://git.freedesktop.org/git/xorg/app/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Controllo se git è installato&lt;br /&gt;
if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Controllo se python è installato&lt;br /&gt;
if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
	exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	if ! ping -c 5 www.slacky.eu &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico e installo due pacchetti che servono&lt;br /&gt;
	if ! ls /var/log/packages/ | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if ! ls /var/log/packages/ | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for z in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $z...&amp;quot;&lt;br /&gt;
			git-clone $REPO$z&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $z...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do&lt;br /&gt;
		cd $COMPIZDIR/$i&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		if [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $i&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$i&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$i&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $i-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$i&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $i&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	&lt;br /&gt;
	# Adesso compilo CCSM perchè devo usare python&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	cd ccsm&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	else&lt;br /&gt;
		VERSION2=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	python setup.py clean&lt;br /&gt;
	python setup.py build&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		python setup.py --prefix=$PKG/&lt;br /&gt;
		mkdir -p $PKG/usr/doc/ccsm/&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/ccsm/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto ccsm-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
		su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non sono riuscito ad installare ccsm&amp;quot;&lt;br /&gt;
		echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		cd ../&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		icon=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			if [ -e VERSION ]; then&lt;br /&gt;
				VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
			else&lt;br /&gt;
				VERSION2=$VERSION&lt;br /&gt;
			fi&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			python setup.py install --prefix=$PKG/&lt;br /&gt;
			mkdir -p $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto fusion-icon-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
			su -c &amp;quot;makepkg -l y -c n $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/* &amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep fusion-icon&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo &amp;quot;Non ho trovato pacchetti installati che assomigliano a compiz.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		&lt;br /&gt;
		# Path contenente i sorgenti&lt;br /&gt;
		echo &amp;quot;Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read dir&lt;br /&gt;
		if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			dir=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		if [ ! -d $dir ]; then&lt;br /&gt;
			echo &amp;quot;La cartella $dir non esiste!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		cd $dir&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n; do&lt;br /&gt;
			if [ -d $i ]; then&lt;br /&gt;
				cd $i&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per rimuovere $i&amp;quot;&lt;br /&gt;
				su -c &amp;quot;make uninstall&amp;quot;&lt;br /&gt;
				cd ../&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		&lt;br /&gt;
		# Adesso rimuovo CCSM perchè devo usare python&lt;br /&gt;
		cd $dir/ccsm/&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere ccsm&amp;quot;&lt;br /&gt;
		su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		# Chiedo se devo rimuovere anche la fusion-icon&lt;br /&gt;
		echo -n &amp;quot;Devo rimuovere anche la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
		read risp&lt;br /&gt;
		if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
			cd $dir/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per rimuovere fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		fi&lt;br /&gt;
		&lt;br /&gt;
		# Rimuovo anche tutti i sorgenti di compiz-git&lt;br /&gt;
		cd $dir&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $i ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 4.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
Inizio una sezione &amp;quot;changelog&amp;quot; per spiegare le migliorie che cerco di introdurre nelle nuove versioni:&lt;br /&gt;
&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...con un sacco di bug (eh oh)&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Dopo un bel periodo di prove ho capito come evitare alcuni problemi durante la compilazione dei vari componenti&lt;br /&gt;
&lt;br /&gt;
- V 2.1 --&amp;gt; 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&lt;br /&gt;
&lt;br /&gt;
- V 2.2 --&amp;gt; &amp;quot;plugins-main&amp;quot; non trovava &amp;quot;bcop&amp;quot; durante la configurazione a causa di un path errato ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=185048#p185048 spiegazione]). Un ringraziamento a JohnnyMnemonic :-)&lt;br /&gt;
&lt;br /&gt;
- V 3.0 --&amp;gt; Adesso si può scegliere se installare/aggiornare compiz o semplicemente rimuoverlo :-D&lt;br /&gt;
&lt;br /&gt;
- V 3.1b --&amp;gt; Versione BETA: adesso crea un pacchetto .tgz (per ogni componente) e lo installa; inoltre ho introdotto il &amp;quot;solo download/update&amp;quot;, così l'utente può anche scaricare compiz-git senza doverlo installare&lt;br /&gt;
&lt;br /&gt;
- V 3.1b2 --&amp;gt; Ancora BETA: c'erano troppe variabili e richieste: ne ho tolte un po' per snellire lo script&lt;br /&gt;
&lt;br /&gt;
- V 3.1b3 --&amp;gt; Aggiunta la modalità &amp;quot;only_install&amp;quot; che permette di installare compiz-git senza riscaricare/aggiornare tutti i rami del progetto (ovviamente i sorgenti devono essere già presenti sul computer)&lt;br /&gt;
&lt;br /&gt;
- V 3.1 --&amp;gt; Ultime correzioni di bug; lo script sembra completo, pertanto lo sviluppo si ferma (almeno fino a quando non verranno fuori altri problemi)&lt;br /&gt;
&lt;br /&gt;
- V 3.2 --&amp;gt; Bugfix: adesso entra nella cartella &amp;quot;$PKG&amp;quot; prima di creare i pacchetti &amp;quot;.tgz&amp;quot; ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=187923#p187923 errore segnalato da alexxxius]). Inoltre la fusion-icon non dà più problemi di compilazione&lt;br /&gt;
&lt;br /&gt;
- V 3.3 --&amp;gt; Altri bugfix ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;start=30 sempre su un errore segnalato da alexxxius]). Stavolta non dovrebbero più esserci problemi&lt;br /&gt;
&lt;br /&gt;
- V 4.0 --&amp;gt; Adesso per _OGNI_ ramo del progetto viene creato un pacchetto (prima ccsm e fusion-icon non erano pacchettizzati...) --Ultima release per Slackware 12.0--&lt;br /&gt;
&lt;br /&gt;
- V 5.0 --&amp;gt; Prima release per Slackware 12.1! Fixati alcuni bug che impedivano la compilazione di compiz con la nuova Slack, create nuove funzioni per il check della connessione e delle dipendenze, migliorato l'aspetto dello script. Inoltre la fusion-icon _NON_ viene pacchettizzata perché dà dei problemi quando si cerca di installare il pacchetto creato&lt;br /&gt;
&lt;br /&gt;
= Consigli =&lt;br /&gt;
1) 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 &amp;quot;fusion-icon&amp;quot; (posizionato in &amp;quot;/usr/bin&amp;quot;): 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 :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Compizconfig setting manager, a causa di un errore, non ha le icone delle varie categorie (generale, accessibilità, desktop, ...): per correggere questo bug esiste un workaround che potete trovare [http://www.slacky.eu/forum/viewtopic.php?f=4&amp;amp;t=23568 qui]. Un ringraziamento a mimmoforlug :-D&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2010-12-09T22:30:01Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Changelog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
RSYNC --&amp;gt; [http://rsync.samba.org/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 2.0.1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
# &lt;br /&gt;
# Script creato il 9/12/2010 da Ansa89 (avrei dovuto studiare reti di calcolatori...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se wget e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se mkisofs e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se rsync e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which rsync)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere RSYNC installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se lo script e' eseguito come root&lt;br /&gt;
	if [ &amp;quot;$(id -u)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
USER_ID=&amp;quot;$(id -u)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
RSYNC_URL=&amp;quot;rsync://slackware.mirrors.tds.net/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;13.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per chiedere informazioni all'utente&lt;br /&gt;
question() {&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
	read VER&lt;br /&gt;
	if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
		VER=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	echo &amp;quot;In quale cartella vuoi salvare i dati? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
	read DIR&lt;br /&gt;
	if [ -z $DIR ]; then&lt;br /&gt;
		DIR=$CD_ISO_DIR&lt;br /&gt;
	elif ! [ -e $DIR ]; then&lt;br /&gt;
		mkdir -p $DIR&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$VER&amp;quot; != &amp;quot;current&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$VER&amp;quot; != &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
		echo &amp;quot;Vuoi scaricare le iso dei primi tre cd di slackware&amp;quot;&lt;br /&gt;
		echo &amp;quot;oppure usare rsync? (consigliato rsync)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;[cd / rsync]\t&amp;quot;&lt;br /&gt;
		read MODE&lt;br /&gt;
	else&lt;br /&gt;
		VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		MODE=&amp;quot;rsync&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare le tre iso&lt;br /&gt;
download_wget() {&lt;br /&gt;
&lt;br /&gt;
	# Scarico le iso&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
	done&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare slackware usando rsync&lt;br /&gt;
download_rsync() {&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove scaricare i dati&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Scarico i dati&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	rsync -avzh --progress --delete --delete-after \&lt;br /&gt;
		--exclude=&amp;quot;source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;extra/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;pasture/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;testing&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;patches/source&amp;quot; \&lt;br /&gt;
		$RSYNC_URL/slackware-$VER/ $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
	cd $DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove montare le iso&lt;br /&gt;
	mkdir ./mnt&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
		su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
			slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
			cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
			umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
	done&lt;br /&gt;
	rm -Rf ./mnt&lt;br /&gt;
	echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
	su -c &amp;quot;chown -R $USER_ID $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
	cd $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
		-R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
		-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
		-sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
		-c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	--all)&lt;br /&gt;
		question&lt;br /&gt;
		if [ -z &amp;quot;$MODE&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;rsync&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;RSYNC&amp;quot; ]; then&lt;br /&gt;
			download_rsync&lt;br /&gt;
		elif [ &amp;quot;$MODE&amp;quot; == &amp;quot;cd&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;CD&amp;quot; ]; then&lt;br /&gt;
			download_wget&lt;br /&gt;
			extract_cd&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-cd)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Questa opzione funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;Magari prova con \&amp;quot;--create-from-dir\&amp;quot;&amp;quot;&lt;br /&gt;
			echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
		read DIR&lt;br /&gt;
		if [ -z $DIR ]; then&lt;br /&gt;
			DIR=$CD_ISO_DIR&lt;br /&gt;
		elif ! [ -e $DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		extract_cd&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-dir)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR/iso_temp/)\t&amp;quot;&lt;br /&gt;
		read CPY_DIR&lt;br /&gt;
		if [ -z $CPY_DIR ]; then&lt;br /&gt;
			CPY_DIR=&amp;quot;$CD_ISO_DIR/iso_temp/&amp;quot;&lt;br /&gt;
		elif ! [ -e $CPY_DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;	&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;--all --&amp;gt; scarica i dati e crea la iso&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-cd --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
		echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-dir --&amp;gt; crea la iso usando il contenuto di una cartella&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 2.0.1&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89 (ansa89@slacky.it)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: [[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- V 1.0   --&amp;gt; Prima versione...un po' contestata&lt;br /&gt;
&lt;br /&gt;
- V 2.0   --&amp;gt; Cambiato il sistema per sapere quale utente sta eseguendo lo script (adesso si usa &amp;quot;id -u&amp;quot;); aggiunto il supporto per scaricare i dati con rsync&lt;br /&gt;
&lt;br /&gt;
- V 2.0.1 --&amp;gt; Aggiunto &amp;quot;--exclude=&amp;quot;patches/source&amp;quot; per evitare di scaricare i sorgenti delle patch ufficiali&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail&lt;br /&gt;
&lt;br /&gt;
[[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2010-12-09T22:29:29Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Changelog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
RSYNC --&amp;gt; [http://rsync.samba.org/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 2.0.1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
# &lt;br /&gt;
# Script creato il 9/12/2010 da Ansa89 (avrei dovuto studiare reti di calcolatori...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se wget e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se mkisofs e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se rsync e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which rsync)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere RSYNC installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se lo script e' eseguito come root&lt;br /&gt;
	if [ &amp;quot;$(id -u)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
USER_ID=&amp;quot;$(id -u)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
RSYNC_URL=&amp;quot;rsync://slackware.mirrors.tds.net/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;13.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per chiedere informazioni all'utente&lt;br /&gt;
question() {&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
	read VER&lt;br /&gt;
	if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
		VER=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	echo &amp;quot;In quale cartella vuoi salvare i dati? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
	read DIR&lt;br /&gt;
	if [ -z $DIR ]; then&lt;br /&gt;
		DIR=$CD_ISO_DIR&lt;br /&gt;
	elif ! [ -e $DIR ]; then&lt;br /&gt;
		mkdir -p $DIR&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$VER&amp;quot; != &amp;quot;current&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$VER&amp;quot; != &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
		echo &amp;quot;Vuoi scaricare le iso dei primi tre cd di slackware&amp;quot;&lt;br /&gt;
		echo &amp;quot;oppure usare rsync? (consigliato rsync)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;[cd / rsync]\t&amp;quot;&lt;br /&gt;
		read MODE&lt;br /&gt;
	else&lt;br /&gt;
		VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		MODE=&amp;quot;rsync&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare le tre iso&lt;br /&gt;
download_wget() {&lt;br /&gt;
&lt;br /&gt;
	# Scarico le iso&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
	done&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare slackware usando rsync&lt;br /&gt;
download_rsync() {&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove scaricare i dati&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Scarico i dati&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	rsync -avzh --progress --delete --delete-after \&lt;br /&gt;
		--exclude=&amp;quot;source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;extra/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;pasture/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;testing&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;patches/source&amp;quot; \&lt;br /&gt;
		$RSYNC_URL/slackware-$VER/ $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
	cd $DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove montare le iso&lt;br /&gt;
	mkdir ./mnt&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
		su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
			slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
			cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
			umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
	done&lt;br /&gt;
	rm -Rf ./mnt&lt;br /&gt;
	echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
	su -c &amp;quot;chown -R $USER_ID $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
	cd $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
		-R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
		-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
		-sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
		-c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	--all)&lt;br /&gt;
		question&lt;br /&gt;
		if [ -z &amp;quot;$MODE&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;rsync&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;RSYNC&amp;quot; ]; then&lt;br /&gt;
			download_rsync&lt;br /&gt;
		elif [ &amp;quot;$MODE&amp;quot; == &amp;quot;cd&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;CD&amp;quot; ]; then&lt;br /&gt;
			download_wget&lt;br /&gt;
			extract_cd&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-cd)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Questa opzione funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;Magari prova con \&amp;quot;--create-from-dir\&amp;quot;&amp;quot;&lt;br /&gt;
			echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
		read DIR&lt;br /&gt;
		if [ -z $DIR ]; then&lt;br /&gt;
			DIR=$CD_ISO_DIR&lt;br /&gt;
		elif ! [ -e $DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		extract_cd&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-dir)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR/iso_temp/)\t&amp;quot;&lt;br /&gt;
		read CPY_DIR&lt;br /&gt;
		if [ -z $CPY_DIR ]; then&lt;br /&gt;
			CPY_DIR=&amp;quot;$CD_ISO_DIR/iso_temp/&amp;quot;&lt;br /&gt;
		elif ! [ -e $CPY_DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;	&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;--all --&amp;gt; scarica i dati e crea la iso&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-cd --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
		echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-dir --&amp;gt; crea la iso usando il contenuto di una cartella&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 2.0.1&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89 (ansa89@slacky.it)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: [[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
- V 1.0   --&amp;gt; Prima versione...un po' contestata&lt;br /&gt;
&lt;br /&gt;
- V 2.0   --&amp;gt; Cambiato il sistema per sapere quale utente sta eseguendo lo script (adesso si usa &amp;quot;id -u&amp;quot;); aggiunto il supporto per scaricare i dati con rsync&lt;br /&gt;
&lt;br /&gt;
- V 2.0.1 --&amp;gt; Aggiunto &amp;quot;--exclude=&amp;quot;patches/source&amp;quot; per evitare di scaricare i sorgenti delle patch ufficiali&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail&lt;br /&gt;
&lt;br /&gt;
[[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2010-12-09T22:28:02Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
RSYNC --&amp;gt; [http://rsync.samba.org/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 2.0.1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
# &lt;br /&gt;
# Script creato il 9/12/2010 da Ansa89 (avrei dovuto studiare reti di calcolatori...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se wget e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se mkisofs e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se rsync e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which rsync)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere RSYNC installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se lo script e' eseguito come root&lt;br /&gt;
	if [ &amp;quot;$(id -u)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
USER_ID=&amp;quot;$(id -u)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
RSYNC_URL=&amp;quot;rsync://slackware.mirrors.tds.net/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;13.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per chiedere informazioni all'utente&lt;br /&gt;
question() {&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
	read VER&lt;br /&gt;
	if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
		VER=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	echo &amp;quot;In quale cartella vuoi salvare i dati? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
	read DIR&lt;br /&gt;
	if [ -z $DIR ]; then&lt;br /&gt;
		DIR=$CD_ISO_DIR&lt;br /&gt;
	elif ! [ -e $DIR ]; then&lt;br /&gt;
		mkdir -p $DIR&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$VER&amp;quot; != &amp;quot;current&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$VER&amp;quot; != &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
		echo &amp;quot;Vuoi scaricare le iso dei primi tre cd di slackware&amp;quot;&lt;br /&gt;
		echo &amp;quot;oppure usare rsync? (consigliato rsync)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;[cd / rsync]\t&amp;quot;&lt;br /&gt;
		read MODE&lt;br /&gt;
	else&lt;br /&gt;
		VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		MODE=&amp;quot;rsync&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare le tre iso&lt;br /&gt;
download_wget() {&lt;br /&gt;
&lt;br /&gt;
	# Scarico le iso&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
	done&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare slackware usando rsync&lt;br /&gt;
download_rsync() {&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove scaricare i dati&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Scarico i dati&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	rsync -avzh --progress --delete --delete-after \&lt;br /&gt;
		--exclude=&amp;quot;source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;extra/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;pasture/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;testing&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;patches/source&amp;quot; \&lt;br /&gt;
		$RSYNC_URL/slackware-$VER/ $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
	cd $DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove montare le iso&lt;br /&gt;
	mkdir ./mnt&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
		su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
			slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
			cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
			umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
	done&lt;br /&gt;
	rm -Rf ./mnt&lt;br /&gt;
	echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
	su -c &amp;quot;chown -R $USER_ID $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
	cd $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
		-R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
		-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
		-sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
		-c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	--all)&lt;br /&gt;
		question&lt;br /&gt;
		if [ -z &amp;quot;$MODE&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;rsync&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;RSYNC&amp;quot; ]; then&lt;br /&gt;
			download_rsync&lt;br /&gt;
		elif [ &amp;quot;$MODE&amp;quot; == &amp;quot;cd&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;CD&amp;quot; ]; then&lt;br /&gt;
			download_wget&lt;br /&gt;
			extract_cd&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-cd)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Questa opzione funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;Magari prova con \&amp;quot;--create-from-dir\&amp;quot;&amp;quot;&lt;br /&gt;
			echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
		read DIR&lt;br /&gt;
		if [ -z $DIR ]; then&lt;br /&gt;
			DIR=$CD_ISO_DIR&lt;br /&gt;
		elif ! [ -e $DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		extract_cd&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-dir)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR/iso_temp/)\t&amp;quot;&lt;br /&gt;
		read CPY_DIR&lt;br /&gt;
		if [ -z $CPY_DIR ]; then&lt;br /&gt;
			CPY_DIR=&amp;quot;$CD_ISO_DIR/iso_temp/&amp;quot;&lt;br /&gt;
		elif ! [ -e $CPY_DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;	&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;--all --&amp;gt; scarica i dati e crea la iso&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-cd --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
		echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-dir --&amp;gt; crea la iso usando il contenuto di una cartella&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 2.0.1&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89 (ansa89@slacky.it)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: [[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...un po' contestata&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Cambiato il sistema per sapere quale utente sta eseguendo lo script (adesso si usa &amp;quot;id -u&amp;quot;); aggiunto il supporto per scaricare i dati con rsync&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail&lt;br /&gt;
&lt;br /&gt;
[[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2010-12-09T22:25:48Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
RSYNC --&amp;gt; [http://rsync.samba.org/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 2.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
# &lt;br /&gt;
# Script creato il 30/1/2009 da Ansa89 (avrei dovuto studiare analisi...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se wget e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se mkisofs e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se rsync e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which rsync)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere RSYNC installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se lo script e' eseguito come root&lt;br /&gt;
	if [ &amp;quot;$(id -u)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
USER_ID=&amp;quot;$(id -u)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
RSYNC_URL=&amp;quot;rsync://slackware.mirrors.tds.net/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;13.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per chiedere informazioni all'utente&lt;br /&gt;
question() {&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
	read VER&lt;br /&gt;
	if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
		VER=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	echo &amp;quot;In quale cartella vuoi salvare i dati? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
	read DIR&lt;br /&gt;
	if [ -z $DIR ]; then&lt;br /&gt;
		DIR=$CD_ISO_DIR&lt;br /&gt;
	elif ! [ -e $DIR ]; then&lt;br /&gt;
		mkdir -p $DIR&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$VER&amp;quot; != &amp;quot;current&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$VER&amp;quot; != &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
		echo &amp;quot;Vuoi scaricare le iso dei primi tre cd di slackware&amp;quot;&lt;br /&gt;
		echo &amp;quot;oppure usare rsync? (consigliato rsync)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;[cd / rsync]\t&amp;quot;&lt;br /&gt;
		read MODE&lt;br /&gt;
	else&lt;br /&gt;
		VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		MODE=&amp;quot;rsync&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare le tre iso&lt;br /&gt;
download_wget() {&lt;br /&gt;
&lt;br /&gt;
	# Scarico le iso&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
	done&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare slackware usando rsync&lt;br /&gt;
download_rsync() {&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove scaricare i dati&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Scarico i dati&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	rsync -avzh --progress --delete --delete-after \&lt;br /&gt;
		--exclude=&amp;quot;source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;extra/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;pasture/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;testing&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;patches/source&amp;quot; \&lt;br /&gt;
		$RSYNC_URL/slackware-$VER/ $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
	cd $DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove montare le iso&lt;br /&gt;
	mkdir ./mnt&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
		su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
			slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
			cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
			umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
	done&lt;br /&gt;
	rm -Rf ./mnt&lt;br /&gt;
	echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
	su -c &amp;quot;chown -R $USER_ID $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
	cd $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
		-R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
		-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
		-sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
		-c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	--all)&lt;br /&gt;
		question&lt;br /&gt;
		if [ -z &amp;quot;$MODE&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;rsync&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;RSYNC&amp;quot; ]; then&lt;br /&gt;
			download_rsync&lt;br /&gt;
		elif [ &amp;quot;$MODE&amp;quot; == &amp;quot;cd&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;CD&amp;quot; ]; then&lt;br /&gt;
			download_wget&lt;br /&gt;
			extract_cd&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-cd)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Questa opzione funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;Magari prova con \&amp;quot;--create-from-dir\&amp;quot;&amp;quot;&lt;br /&gt;
			echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
		read DIR&lt;br /&gt;
		if [ -z $DIR ]; then&lt;br /&gt;
			DIR=$CD_ISO_DIR&lt;br /&gt;
		elif ! [ -e $DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		extract_cd&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-dir)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR/iso_temp/)\t&amp;quot;&lt;br /&gt;
		read CPY_DIR&lt;br /&gt;
		if [ -z $CPY_DIR ]; then&lt;br /&gt;
			CPY_DIR=&amp;quot;$CD_ISO_DIR/iso_temp/&amp;quot;&lt;br /&gt;
		elif ! [ -e $CPY_DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;	&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;--all --&amp;gt; scarica i dati e crea la iso&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-cd --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
		echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-dir --&amp;gt; crea la iso usando il contenuto di una cartella&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 2.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: [[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...un po' contestata&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Cambiato il sistema per sapere quale utente sta eseguendo lo script (adesso si usa &amp;quot;id -u&amp;quot;); aggiunto il supporto per scaricare i dati con rsync&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail&lt;br /&gt;
&lt;br /&gt;
[[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2010-12-07T13:03:33Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
RSYNC --&amp;gt; [http://rsync.samba.org/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 2.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
# &lt;br /&gt;
# Script creato il 30/1/2009 da Ansa89 (avrei dovuto studiare analisi...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se wget e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se mkisofs e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se rsync e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which rsync)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere RSYNC installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se lo script e' eseguito come root&lt;br /&gt;
	if [ &amp;quot;$(id -u)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
USER_ID=&amp;quot;$(id -u)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
RSYNC_URL=&amp;quot;rsync://slackware.mirrors.tds.net/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;13.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per chiedere informazioni all'utente&lt;br /&gt;
question() {&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
	read VER&lt;br /&gt;
	if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
		VER=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	echo &amp;quot;In quale cartella vuoi salvare i dati? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
	read DIR&lt;br /&gt;
	if [ -z $DIR ]; then&lt;br /&gt;
		DIR=$CD_ISO_DIR&lt;br /&gt;
	elif ! [ -e $DIR ]; then&lt;br /&gt;
		mkdir -p $DIR&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$VER&amp;quot; != &amp;quot;current&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$VER&amp;quot; != &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
		echo &amp;quot;Vuoi scaricare le iso dei primi tre cd di slackware&amp;quot;&lt;br /&gt;
		echo &amp;quot;oppure usare rsync? (consigliato rsync)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;[cd / rsync]\t&amp;quot;&lt;br /&gt;
		read MODE&lt;br /&gt;
	else&lt;br /&gt;
		VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		MODE=&amp;quot;rsync&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare le tre iso&lt;br /&gt;
download_wget() {&lt;br /&gt;
&lt;br /&gt;
	# Scarico le iso&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
	done&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare slackware usando rsync&lt;br /&gt;
download_rsync() {&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove scaricare i dati&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Scarico i dati&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	rsync -avzh --progress --delete --delete-after \&lt;br /&gt;
		--exclude=&amp;quot;source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;extra/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;pasture/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;testing&amp;quot; \&lt;br /&gt;
		$RSYNC_URL/slackware-$VER/ $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
	cd $DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove montare le iso&lt;br /&gt;
	mkdir ./mnt&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
		su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
			slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
			cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
			umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
	done&lt;br /&gt;
	rm -Rf ./mnt&lt;br /&gt;
	echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
	su -c &amp;quot;chown -R $USER_ID $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
	cd $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
		-R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
		-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
		-sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
		-c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	--all)&lt;br /&gt;
		question&lt;br /&gt;
		if [ -z &amp;quot;$MODE&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;rsync&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;RSYNC&amp;quot; ]; then&lt;br /&gt;
			download_rsync&lt;br /&gt;
		elif [ &amp;quot;$MODE&amp;quot; == &amp;quot;cd&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;CD&amp;quot; ]; then&lt;br /&gt;
			download_wget&lt;br /&gt;
			extract_cd&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-cd)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Questa opzione funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;Magari prova con \&amp;quot;--create-from-dir\&amp;quot;&amp;quot;&lt;br /&gt;
			echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
		read DIR&lt;br /&gt;
		if [ -z $DIR ]; then&lt;br /&gt;
			DIR=$CD_ISO_DIR&lt;br /&gt;
		elif ! [ -e $DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		extract_cd&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-dir)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR/iso_temp/)\t&amp;quot;&lt;br /&gt;
		read CPY_DIR&lt;br /&gt;
		if [ -z $CPY_DIR ]; then&lt;br /&gt;
			CPY_DIR=&amp;quot;$CD_ISO_DIR/iso_temp/&amp;quot;&lt;br /&gt;
		elif ! [ -e $CPY_DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;	&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;--all --&amp;gt; scarica i dati e crea la iso&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-cd --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
		echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-dir --&amp;gt; crea la iso usando il contenuto di una cartella&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 2.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: [[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...un po' contestata&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Cambiato il sistema per sapere quale utente sta eseguendo lo script (adesso si usa &amp;quot;id -u&amp;quot;); aggiunto il supporto per scaricare i dati con rsync&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail&lt;br /&gt;
&lt;br /&gt;
[[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2010-12-07T13:02:49Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Feedback */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
RSYNC --&amp;gt; [http://rsync.samba.org/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 2.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
# &lt;br /&gt;
# Script creato il 30/1/2009 da Ansa89 (avrei dovuto studiare analisi...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se wget e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se mkisofs e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se rsync e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which rsync)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere RSYNC installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se lo script e' eseguito come root&lt;br /&gt;
	if [ &amp;quot;$(id -u)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
USER_ID=&amp;quot;$(id -u)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
RSYNC_URL=&amp;quot;rsync://slackware.mirrors.tds.net/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;12.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per chiedere informazioni all'utente&lt;br /&gt;
question() {&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
	read VER&lt;br /&gt;
	if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
		VER=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	echo &amp;quot;In quale cartella vuoi salvare i dati? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
	read DIR&lt;br /&gt;
	if [ -z $DIR ]; then&lt;br /&gt;
		DIR=$CD_ISO_DIR&lt;br /&gt;
	elif ! [ -e $DIR ]; then&lt;br /&gt;
		mkdir -p $DIR&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$VER&amp;quot; != &amp;quot;current&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$VER&amp;quot; != &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
		echo &amp;quot;Vuoi scaricare le iso dei primi tre cd di slackware&amp;quot;&lt;br /&gt;
		echo &amp;quot;oppure usare rsync? (consigliato rsync)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;[cd / rsync]\t&amp;quot;&lt;br /&gt;
		read MODE&lt;br /&gt;
	else&lt;br /&gt;
		VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		MODE=&amp;quot;rsync&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare le tre iso&lt;br /&gt;
download_wget() {&lt;br /&gt;
&lt;br /&gt;
	# Scarico le iso&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
	done&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare slackware usando rsync&lt;br /&gt;
download_rsync() {&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove scaricare i dati&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Scarico i dati&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	rsync -avzh --progress --delete --delete-after \&lt;br /&gt;
		--exclude=&amp;quot;source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;extra/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;pasture/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;testing&amp;quot; \&lt;br /&gt;
		$RSYNC_URL/slackware-$VER/ $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
	cd $DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove montare le iso&lt;br /&gt;
	mkdir ./mnt&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
		su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
			slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
			cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
			umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
	done&lt;br /&gt;
	rm -Rf ./mnt&lt;br /&gt;
	echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
	su -c &amp;quot;chown -R $USER_ID $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
	cd $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
		-R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
		-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
		-sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
		-c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	--all)&lt;br /&gt;
		question&lt;br /&gt;
		if [ -z &amp;quot;$MODE&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;rsync&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;RSYNC&amp;quot; ]; then&lt;br /&gt;
			download_rsync&lt;br /&gt;
		elif [ &amp;quot;$MODE&amp;quot; == &amp;quot;cd&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;CD&amp;quot; ]; then&lt;br /&gt;
			download_wget&lt;br /&gt;
			extract_cd&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-cd)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Questa opzione funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;Magari prova con \&amp;quot;--create-from-dir\&amp;quot;&amp;quot;&lt;br /&gt;
			echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
		read DIR&lt;br /&gt;
		if [ -z $DIR ]; then&lt;br /&gt;
			DIR=$CD_ISO_DIR&lt;br /&gt;
		elif ! [ -e $DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		extract_cd&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-dir)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR/iso_temp/)\t&amp;quot;&lt;br /&gt;
		read CPY_DIR&lt;br /&gt;
		if [ -z $CPY_DIR ]; then&lt;br /&gt;
			CPY_DIR=&amp;quot;$CD_ISO_DIR/iso_temp/&amp;quot;&lt;br /&gt;
		elif ! [ -e $CPY_DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;	&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;--all --&amp;gt; scarica i dati e crea la iso&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-cd --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
		echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-dir --&amp;gt; crea la iso usando il contenuto di una cartella&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 2.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...un po' contestata&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Cambiato il sistema per sapere quale utente sta eseguendo lo script (adesso si usa &amp;quot;id -u&amp;quot;); aggiunto il supporto per scaricare i dati con rsync&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail&lt;br /&gt;
&lt;br /&gt;
[[Utente:Ansa89|Ansa89]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2010-12-07T13:01:25Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
RSYNC --&amp;gt; [http://rsync.samba.org/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 2.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
# &lt;br /&gt;
# Script creato il 30/1/2009 da Ansa89 (avrei dovuto studiare analisi...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se wget e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se mkisofs e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se rsync e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which rsync)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere RSYNC installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se lo script e' eseguito come root&lt;br /&gt;
	if [ &amp;quot;$(id -u)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
USER_ID=&amp;quot;$(id -u)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
RSYNC_URL=&amp;quot;rsync://slackware.mirrors.tds.net/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;12.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per chiedere informazioni all'utente&lt;br /&gt;
question() {&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
	read VER&lt;br /&gt;
	if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
		VER=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	echo &amp;quot;In quale cartella vuoi salvare i dati? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
	read DIR&lt;br /&gt;
	if [ -z $DIR ]; then&lt;br /&gt;
		DIR=$CD_ISO_DIR&lt;br /&gt;
	elif ! [ -e $DIR ]; then&lt;br /&gt;
		mkdir -p $DIR&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$VER&amp;quot; != &amp;quot;current&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$VER&amp;quot; != &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
		echo &amp;quot;Vuoi scaricare le iso dei primi tre cd di slackware&amp;quot;&lt;br /&gt;
		echo &amp;quot;oppure usare rsync? (consigliato rsync)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;[cd / rsync]\t&amp;quot;&lt;br /&gt;
		read MODE&lt;br /&gt;
	else&lt;br /&gt;
		VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		MODE=&amp;quot;rsync&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare le tre iso&lt;br /&gt;
download_wget() {&lt;br /&gt;
&lt;br /&gt;
	# Scarico le iso&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
	done&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare slackware usando rsync&lt;br /&gt;
download_rsync() {&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove scaricare i dati&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Scarico i dati&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	rsync -avzh --progress --delete --delete-after \&lt;br /&gt;
		--exclude=&amp;quot;source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;extra/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;pasture/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;testing&amp;quot; \&lt;br /&gt;
		$RSYNC_URL/slackware-$VER/ $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
	cd $DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove montare le iso&lt;br /&gt;
	mkdir ./mnt&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
		su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
			slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
			cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
			umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
	done&lt;br /&gt;
	rm -Rf ./mnt&lt;br /&gt;
	echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
	su -c &amp;quot;chown -R $USER_ID $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
	cd $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
		-R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
		-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
		-sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
		-c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	--all)&lt;br /&gt;
		question&lt;br /&gt;
		if [ -z &amp;quot;$MODE&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;rsync&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;RSYNC&amp;quot; ]; then&lt;br /&gt;
			download_rsync&lt;br /&gt;
		elif [ &amp;quot;$MODE&amp;quot; == &amp;quot;cd&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;CD&amp;quot; ]; then&lt;br /&gt;
			download_wget&lt;br /&gt;
			extract_cd&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-cd)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Questa opzione funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;Magari prova con \&amp;quot;--create-from-dir\&amp;quot;&amp;quot;&lt;br /&gt;
			echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
		read DIR&lt;br /&gt;
		if [ -z $DIR ]; then&lt;br /&gt;
			DIR=$CD_ISO_DIR&lt;br /&gt;
		elif ! [ -e $DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		extract_cd&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-dir)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR/iso_temp/)\t&amp;quot;&lt;br /&gt;
		read CPY_DIR&lt;br /&gt;
		if [ -z $CPY_DIR ]; then&lt;br /&gt;
			CPY_DIR=&amp;quot;$CD_ISO_DIR/iso_temp/&amp;quot;&lt;br /&gt;
		elif ! [ -e $CPY_DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;	&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;--all --&amp;gt; scarica i dati e crea la iso&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-cd --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
		echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-dir --&amp;gt; crea la iso usando il contenuto di una cartella&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 2.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...un po' contestata&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Cambiato il sistema per sapere quale utente sta eseguendo lo script (adesso si usa &amp;quot;id -u&amp;quot;); aggiunto il supporto per scaricare i dati con rsync&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Slackware_su_pennina_USB</id>
		<title>Slackware su pennina USB</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Slackware_su_pennina_USB"/>
				<updated>2010-10-01T10:02:29Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* I pacchetti da installare */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Per www.slacky.eu --&amp;gt;&lt;br /&gt;
[[Category:Install_e_Upgrade]]&lt;br /&gt;
=Introduzione=&lt;br /&gt;
Questo wiki vuole essere una guida, il più completa possibile, sui passi da fare per crearsi un propria distribuzione Slackware su un dispositivo di archiviazione di massa USB (che da ora in poi chiameremo più semplicemente, pennina).&amp;lt;BR&amp;gt;&lt;br /&gt;
Affronteremo tutti i vari passaggi strettamente necessari a far partire un kernel installato sulla pennina ed a creare/configurare la distribuzione Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Ovviamente, benché pensata e testata sulla Slackware, la teoria che acquisiremo alla fine di questo wiki sarà tale da permetterci di installare una qualsivoglia distribuzione, la differenza sarà solo sugli strumenti che useremo.&lt;br /&gt;
&lt;br /&gt;
Tutti o quasi tutti i comandi che eseguiremo durante il wiki devono poter godere dei diritti dall'utente root, e per questo saranno caratterizzati dal carattere iniziale '#' che è tipico della shell del super-utente.&lt;br /&gt;
&lt;br /&gt;
I path e i comandi verranno evidenziati rispettivamente dallo stile corsivo e dal font grassetto in questo modo:&lt;br /&gt;
* ''/questo/è/un/path''&lt;br /&gt;
* '''questo è un comando'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Perché installare la distribuzione su una pennina?=&lt;br /&gt;
Alcuni esempi d'uso verranno esposti alla fine del wiki, ma facciamo comunque alcune considerazioni importanti.&amp;lt;BR&amp;gt;&lt;br /&gt;
Questa guida è rivolta a tutti coloro che sono curiosi, affamati di conoscenza, che usano il PC non solo come strumento di lavoro, ma anche con la voglia di portare alla luce ciò che sembra arcano. Lo scopo del wiki non è la creazione della distribuzione tascabile, bensì la divulgazione della conoscenza, è importante che il lettore tenga presente questo concetto, perché è quello che ci preme rimanga più a lungo nella mente di chi legge questo wiki.&amp;lt;BR&amp;gt;&lt;br /&gt;
Oltre ad avere una pennina da portare nei negozi di informatica per testare i PC che solitamente hanno installato solo lo scadente Windows, acquisiremo una conoscenza più o meno approfondita di tutti i programmi necessari all'avvio di una distribuzione GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Software usato=&lt;br /&gt;
Gli strumenti software che sono stati usati per testare questo wiki sono:&lt;br /&gt;
* Slackware 12 (sebbene alcuni utenti l'abbiano testato con successo anche sulla 13)&lt;br /&gt;
* kernel huge, presente nella directory della serie ''a/'' della Slackware&lt;br /&gt;
* comandi linux che verranno citati man mano, tutti comunque presenti nella distribuzione Slackware&lt;br /&gt;
L'elenco sopra citato è da tenere a mente sia perché citeremo nomi di pacchetti Slackware, sia perché il kernel huge fornisce un sopporto tale che alcuni problemi che si potrebbero incontrare verranno solo citati, in quanto risolti grazie alla sua configurazione statica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 0: preparazione della pennina=&lt;br /&gt;
Noi installeremo la distribuzione Slackware direttamente sulla pennina, iniziamo allora preparando proprio il nostro supporto di archiviazione di massa USB.&amp;lt;BR&amp;gt;&lt;br /&gt;
L'unica cosa di cui abbiamo bisogno e di installarci dentro un file system ext3. Le pennine USB, proprio come gli hard disk, possono essere partizionate, supponiamo quindi che sulla pennina ci sia un unica partizione e che questa venga collegata dal kernel al device ''/dev/sda1''. Installiamoci dentro un file system ext3 con il seguente comando:&lt;br /&gt;
 # mkfs.ext3 -L minislack /dev/sda1&lt;br /&gt;
bene, quella che abbiamo appena creato sarà la directory radice della nostra distribuzione.&lt;br /&gt;
&lt;br /&gt;
'''ATTENZIONE:''' tutti i file sulla pennina saranno ovviamente persi dopo l'esecuzione del comando '''mkfs.ext3''', quindi facciamo in modo che la pennina sia vuota prima di lanciare il comando.&lt;br /&gt;
&lt;br /&gt;
'''Nota:''' si noti l'uso dell'opzione -L per impostare un etichetta al file system appena creato, vedremo dopo a cosa ci servirà. L'etichetta del file system la si può impostare/modificare anche successivamente attraverso l'uso del comando '''e2label'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 1: creazione dell'initrd=&lt;br /&gt;
Più in là nel wiki, vedremo come far caricare il kernel di linux installato su una pennina, qui invece ci apprestiamo ad affrontare un problema inerente proprio al fatto che la distribuzione si trova su una periferica USB.&lt;br /&gt;
&lt;br /&gt;
==Perché dobbiamo creare un initrd?==&lt;br /&gt;
Una volta caricato il kernel, esso si preoccupa di attivare tutti i driver che sono stati compilati in maniera statica al suo interno. L'attivazione avviene in maniera parallela, il kernel cioè non attiva un driver, aspetta che esso abbia finito di inizializzarsi e poi ne attiva un altro, ma li attiva tutti quanti &amp;quot;contemporaneamente&amp;quot;. Dopo questa fase di inizializzazione dei driver il kernel deve montare quella che è la root directory (o directory radice) della distribuzione, la famosa directory ''/''. Una volta montata la directory radice, esegue quello che sarà l'unico processo avviato direttamente dal kernel (che in generale è il processo '''/sbin/init''').&lt;br /&gt;
* Ma i driver (o controller) USB potrebbero non essere stati compilati in maniera statica nel kernel, e senza i driver il kernel non si accorge neanche della presenza della pennina, come possiamo risolvere questo problema?&lt;br /&gt;
* Non solo, ma anche ammesso che il kernel abbia i driver compilati in maniera statica, questi devono avere il tempo di accorgersi che al PC è collegata una pennina USB, come si può dire al kernel di aspettare visto che i driver sono attivati in maniera parallela?&lt;br /&gt;
* Ancora, come facciamo a sapere su quale device si verrà a trovare la directory radice? Il driver USB collegherà la pennina al device sda o sdb, oppure ad un altro?&lt;br /&gt;
* E infine, la directory radice che abbiamo creato sulla pennina usa il file system ext3, il kernel per poter riconoscere e di conseguenza usare questo file system ha bisogno del driver, e se questo driver non è compilato in maniera statica?&lt;br /&gt;
&lt;br /&gt;
Per tutti questi problemi esiste una soluzione unica, l'initrd. L'initrd fondamentalmente non è altro che una mini distribuzione la cui directory radice viene montata in ram, più precisamente collegata al device ''/dev/ram0'', con un programma o uno script (che si deve chiamare '''init''' o '''linuxrc''') che viene avviato dal kernel (il quale deve essere compilato con il supporto all'initrd) subito dopo aver inizializzato i driver. Il kernel in pratica non si occupa più di montare la root directory e di lanciare il processo '''/sbin/init''', ma semplicemente lancia il comando (o script) '''init''' che è nell'initrd e delega a lui tutto il resto.&amp;lt;BR&amp;gt;&lt;br /&gt;
Questo semplice meccanismo ci permette in pratica di creare uno script per risolvere tutti i problemi sopra citati.&lt;br /&gt;
&lt;br /&gt;
'''Nota:''' Quando il kernel carica in memoria l'initrd e lancia il programma (o lo script) init, la root directory della nostra distribuzione non è ancora montata! Quindi la distribuzione non esiste, e con lei non esistono tutti i programmi usuali che uno pensa di usare nell'initrd. Se si vuole usare un programma, lo si deve copiare nell'ambiente dell'initrd e si devono copiare anche tutte quelle librerie condivise di cui il programma necessita.&lt;br /&gt;
&lt;br /&gt;
==Initrd come archivio cpio==&lt;br /&gt;
Uno dei modi più semplici per creare un initrd è quello di inserire tutto il necessario in una directory vuota (programmi che si voglio usare nell'initrd, librerie di cui necessitano questi programmi, eventuali moduli del kernel, etc...etc...) e poi di creare un archivio cpio, magari compresso con gzip, di questa directory. Il kernel sarà poi in grado di decomprimere (se era compresso) l'archivio e di estrarne il contenuto.&amp;lt;BR&amp;gt;&lt;br /&gt;
Creiamoci allora una directory vuota ed entriamoci dentro con:&lt;br /&gt;
 # mkdir /tmp/initrd&lt;br /&gt;
 # cd /tmp/initrd&lt;br /&gt;
&lt;br /&gt;
==Il pacchetto mkinitrd e la busybox==&lt;br /&gt;
Il pacchetto mkinitrd della Slackware (che si trova nella directory ''a/'') contiene lo script omonimo '''mkinitrd''', che generalmente viene usato da coloro che necessitano di un initrd e non vogliono (o non hanno le competenze adatte a) crearsene uno a mano.&amp;lt;BR&amp;gt;&lt;br /&gt;
Noi useremo il pacchetto, che quindi deve essere installato, non per lanciare l''''mkinitrd''' ma per prelevare il programma '''busybox''' che è al suo interno. Busybox è un programma che si può comportare in maniera diversa a seconda di come lo si invoca, se noi infatti creiamo un link simbolico chiamato mount a '''busybox''', allora questo si comporterà come '''mount'''. L'elenco di tutti i programmi che è in grado di simulare lo si può ottenere lanciando '''busybox''' senza parametri.&lt;br /&gt;
&lt;br /&gt;
Il pacchetto mkinitrd ha la '''busybox''' inserita all'interno di un archivio tar.gz il cui path completo è:&lt;br /&gt;
 ''/usr/share/mkinitrd/initrd-tree.tar.gz''&lt;br /&gt;
preleviamo la busybox con:&lt;br /&gt;
 # tar -C /tmp/initrd -zxf /usr/share/mkinitrd/initrd-tree.tar.gz './bin/busybox'&lt;br /&gt;
a questo punto la nostra directory ''/tmp/initrd'' avrà questa struttura:&lt;br /&gt;
 # tree /tmp/initrd&lt;br /&gt;
 /tmp/initrd&lt;br /&gt;
 `-- bin&lt;br /&gt;
     `-- busybox&lt;br /&gt;
&lt;br /&gt;
==Creiamo lo script init==&lt;br /&gt;
Ora dobbiamo creare lo script '''init''', ovvero lo script che verrà eseguito dal kernel dopo l'inizializzazione dei driver e che è incaricato di risolvere i problemi su citati, cioè:&lt;br /&gt;
* caricare eventualmente i moduli del kernel per i controller USB e per il file system ext3&lt;br /&gt;
* dare il tempo ai controller USB di rilevare la pennina e montare, dopo averla scovata, la root directory&lt;br /&gt;
* eseguire il vero processo init della distribuzione&lt;br /&gt;
&lt;br /&gt;
Prima di cimentarci nella risoluzione di questi problemi dobbiamo notare che '''init''', per come lo vogliamo utilizzare noi, è uno script, e in quanto tale ha bisogno di un interprete, la '''busybox''' può fare questo per noi visto che al suo interno ha anche una piccola shell. Andiamo nella directory ''/tmp/initrd/bin'' e creiamo un link simbolico a '''busybox''' in questo modo:&lt;br /&gt;
 # ln -s busybox ash&lt;br /&gt;
e quindi con un qualsiasi editor di testo creiamo il file ''/tmp/initrd/init'' e mettiamoci come prima riga:&lt;br /&gt;
 #!/bin/ash&lt;br /&gt;
&lt;br /&gt;
===Caricare i moduli del kernel necessari al rilevamento della periferica USB e del file system ext3===&lt;br /&gt;
Il kernel huge è compilato con il supporto sia alle periferiche USB, sia al file system ext3 in maniera statica, e quindi ci permette di superare in maniera trasparente questo problema.&amp;lt;BR&amp;gt;&lt;br /&gt;
Si fa notare che il fatto di avere il supporto compilato in maniera statica nel kernel è un fattore da non sottovalutare. Infatti l'ambiente dell'initrd dovrebbe essere il più generale possibile, se spettasse all'initrd (e quindi allo script '''init''') caricare qualche modulo del kernel, allora l'initrd non sarebbe più indipendente, ma al suo interno dovrebbe avere i moduli compilati per il kernel specifico che lo ha eseguito.&lt;br /&gt;
&lt;br /&gt;
===Dare il tempo ai controller USB di rilevare la pennina e montaggio della root directory===&lt;br /&gt;
Abbiamo installato sulla nostra pennina USB un file system del tipo ext3 che abbiamo anche etichettato con il nome di 'minislack'. Bene, grazie alla capacità del comando '''mount''' di utilizzare il nome di etichetta per identificare un file system, il problema può essere risolto semplicemente mettendo nello script '''init''' quanto segue:&lt;br /&gt;
 mount -n proc -t proc /proc&lt;br /&gt;
 while ! mount -n -r -L minislack /mnt 2&amp;gt; /dev/null;&lt;br /&gt;
  do&lt;br /&gt;
    sleep 1&lt;br /&gt;
  done&lt;br /&gt;
 umount -n /proc&lt;br /&gt;
Il &amp;quot;montaggio&amp;quot; del file system proc è necessario in quanto il comando '''mount''' fa uso di questo file system per scovare l'etichetta 'minislack'.&amp;lt;BR&amp;gt;&lt;br /&gt;
Il ciclo '''while''' con lo '''sleep''' non fa altro che dare il tempo necessario ai driver USB del kernel di rilevare la pennina.&lt;br /&gt;
Quindi la nostra root directory, o meglio il file system che noi abbiamo etichettato come 'minislack' sarà montato nella directory ''/mnt'' a prescindere dal device a cui il driver USB (e più precisamente il modulo che gestisce le periferiche di archiviazione di massa USB, l'usb_storage) lo ha collegato.&lt;br /&gt;
&lt;br /&gt;
Nelle sei righe di codice precedenti abbiamo:&lt;br /&gt;
* usato il comando mount&lt;br /&gt;
* caricato il file system proc nella directory /proc&lt;br /&gt;
* usato il device null per ridirigere lo standard error del comando mount&lt;br /&gt;
* usato il comando sleep per far attendere alla shell 1 secondo&lt;br /&gt;
* montato la root directory in /mnt&lt;br /&gt;
* utilizzato il comando umount&lt;br /&gt;
per quanto potevano sembrare innocenti, quelle sei righe implicano:&lt;br /&gt;
* che il kernel al momento dell'esecuzione di queste righe, abbia il supporto al procfs e al tipo di file system della root directory che montiamo su ''/mnt'' (nel nostro caso il kernel huge ce li ha entrambi in maniera statica)&lt;br /&gt;
* che esistano i programmi mount, umount e sleep&lt;br /&gt;
* che esistano il device ''/dev/null'' e quello al quale sarà collegata la pennina USB (è vero che mount può scovare il device grazie all'etichetta del suo file system, ma è altrettanto vero che poi '''mount''' dovrà montare questo device)&lt;br /&gt;
* che esistano le directory ''/proc'' e ''/mnt''&lt;br /&gt;
&lt;br /&gt;
La '''busybox''' può comportarsi come '''mount''' semplicemente facendo un link simbolico ad essa chiamato appunto ''mount'', il problema è che quello fornito dalla '''busybox''' non è in grado di scovare le etichette dei file system (non riconosce il flag -L). Abbiamo necessariamente bisogno del comando '''mount''' del pacchetto util-linux contenuto&lt;br /&gt;
sempre nella directory della serie ''a/'' della Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Copiamo quindi il comando '''mount''' come segue:&lt;br /&gt;
 # cp -p /bin/mount /tmp/initrd/bin&lt;br /&gt;
ora però dobbiamo copiare anche le librerie condivise di cui necessita. Vediamo quali sono lanciando:&lt;br /&gt;
 # ldd /bin/mount&lt;br /&gt;
        linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
        libblkid.so.1 =&amp;gt; /lib/libblkid.so.1 (0xb7f80000)&lt;br /&gt;
        libuuid.so.1 =&amp;gt; /lib/libuuid.so.1 (0xb7f7d000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0xb7e4e000)&lt;br /&gt;
        /lib/ld-linux.so.2 (0x80000000)&lt;br /&gt;
&lt;br /&gt;
Creiamoci la directory ''lib'' all'interno del nostro initrd con:&lt;br /&gt;
 # mkdir /tmp/initrd/lib&lt;br /&gt;
e copiamoci dentro le librerie condivise con:&lt;br /&gt;
 # cp -p /lib/libblkid.so.1 /lib/libuuid.so.1 /lib/libc.so.6 /lib/ld-linux.so.2 /tmp/initrd/lib&lt;br /&gt;
Si noti che i file originali probabilmente sono link simbolici, ma il comando '''cp''' copierà il file al quale puntano e non il link.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partire dalla slackware 13.1 il comando '''mount''' necessita di altre librerie:&lt;br /&gt;
 # ldd /bin/mount&lt;br /&gt;
        linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
        /usr/lib/libv4l/v4l1compat.so (0xb7838000)&lt;br /&gt;
        /usr/lib/libv4l/v4l2convert.so (0xb7836000)&lt;br /&gt;
        libblkid.so.1 =&amp;gt; /lib/libblkid.so.1 (0xb77eb000)&lt;br /&gt;
        libuuid.so.1 =&amp;gt; /lib/libuuid.so.1 (0xb77e7000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0xb7683000)&lt;br /&gt;
        libv4l1.so.0 =&amp;gt; /usr/lib/libv4l1.so.0 (0xb767e000)&lt;br /&gt;
        libv4l2.so.0 =&amp;gt; /usr/lib/libv4l2.so.0 (0xb7674000)&lt;br /&gt;
        /lib/ld-linux.so.2 (0xb783b000)&lt;br /&gt;
        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0xb765b000)&lt;br /&gt;
        libv4lconvert.so.0 =&amp;gt; /usr/lib/libv4lconvert.so.0 (0xb75ef000)&lt;br /&gt;
        librt.so.1 =&amp;gt; /lib/librt.so.1 (0xb75e5000)&lt;br /&gt;
        libm.so.6 =&amp;gt; /lib/libm.so.6 (0xb75bf000)&lt;br /&gt;
&lt;br /&gt;
Quindi sarà necessario copiare anche le nuove librerie:&lt;br /&gt;
 # cp -p /usr/lib/libv4l/v4l1compat.so /usr/lib/libv4l/v4l2convert.so /usr/lib/libv4l1.so.0 /usr/lib/libv4l2.so.0 /tmp/initrd/lib&lt;br /&gt;
 # cp -p /lib/libpthread.so.0 /usr/lib/libv4lconvert.so.0 /lib/librt.so.1 /lib/libm.so.6 /tmp/initrd/lib&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** FINE NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per il comando '''umount''' e '''sleep''' invece possiamo tranquillamente usare quelli della '''busybox''', quindi andiamo nella directory ''/tmp/initrd/bin'' e facciamo:&lt;br /&gt;
 # ln -s busybox umount&lt;br /&gt;
 # ln -s busybox sleep&lt;br /&gt;
&lt;br /&gt;
Il programma '''mount''' l'abbiamo utilizzato passandogli anche il flag -n, dicendogli quindi di non scrivere quello che sarà il file ''/etc/mtab'', benché esso non lo scriva, vuole comunque leggerlo per controllare se il file system che si sta tentando di montare non sia già stato montato. Dobbiamo quindi creare il file vuoto ''/tmp/initrd/etc/mtab'':&lt;br /&gt;
 # mkdir /tmp/initrd/etc&lt;br /&gt;
 # touch /tmp/initrd/etc/mtab&lt;br /&gt;
&lt;br /&gt;
Proseguiamo quindi con la creazione del device null e dei possibili device a cui sarà collegata la pennina USB. In generale la pennina USB viene vista come una periferica SCSI disk e quindi sarà attaccata ad un device del tipo ''/dev/sdXY'' dove X varia a seconda di quante periferiche di archiviazione rilevate come SCSI (ad esempio i dischi sata) sono state trovate prima della pennina, mentre Y rappresenta una qualsiasi partizione.&amp;lt;BR&amp;gt;&lt;br /&gt;
Se, ad esempio, un PC non ha nessun disco rilevato come SCSI e ci si inserisce una pennina con tre partizioni, queste tre partizioni saranno collegate rispettivamente ai device: sda1, sda2  e sda3.&lt;br /&gt;
&lt;br /&gt;
Y allora la possiamo ricavare facilmente, infatti all'inizio abbiamo supposto che la nostra pennina avesse solo una partizione e che essa (la partizione) venisse attaccata ad device ''/dev/sda1'', allora Y=1 e la pennina sarà sempre collegata ad un device dal nome ''/dev/sdX1''.&amp;lt;BR&amp;gt;&lt;br /&gt;
Quindi creiamoci la directory in cui inserire i device:&lt;br /&gt;
 # mkdir /tmp/initrd/dev&lt;br /&gt;
e copiamoci subito dentro il device ''/dev/null'' con:&lt;br /&gt;
 # cp -R /dev/null /tmp/initrd/dev&lt;br /&gt;
&lt;br /&gt;
Al momento attuale gli SCSI disk sono gestiti dal device driver con major number 8. Questo device driver è in grado di gestire sino a 15 partizioni per ogni disco, questo vuol dire che due device con X consecutive e con uguale Y hanno una distanza (in termini di minor number) pari a 16. Ad esempio il device sda avrà un minor number uguale a 0 laddove il device sdb avrà invece minor number uguale a 16, e così via.&lt;br /&gt;
&lt;br /&gt;
Possiamo allora creare i device con:&lt;br /&gt;
 # mknod /tmp/initrd/dev/sda1 b 8 1&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdb1 b 8 17&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdc1 b 8 33&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdd1 b 8 49&lt;br /&gt;
&lt;br /&gt;
Ora per rendere tutto coerente con quanto scritto sempre nelle sei innocenti righe di codice inserite nel file ''init'', non ci resta che creare due directory vuote nelle quali verranno montati i file system proc e quello contenente la nostra directory radice.&lt;br /&gt;
 # mkdir /tmp/initrd/proc /tmp/initrd/mnt&lt;br /&gt;
&lt;br /&gt;
===Eseguire il vero processo init===&lt;br /&gt;
L'ultimo passo che deve eseguire lo script '''init''' dell'initrd è quello di lanciare il vero processo '''init''' situato nella directory radice della distribuzione e poi liberare la memoria allocata.&amp;lt;BR&amp;gt;&lt;br /&gt;
I passi teorici da eseguire sono:&lt;br /&gt;
* spostare la directory radice dell'initrd sulla directory radice della distribuzione&lt;br /&gt;
* smontare l'initrd&lt;br /&gt;
* deallocare la memoria allocata dal kernel per l'initrd&lt;br /&gt;
* eseguire il vero processo '''init'''&lt;br /&gt;
Che poi praticamente, dato che per ognuno dei passi precedenti esiste uno specifico programma che lo esegue, diventa:&lt;br /&gt;
* cd /mnt; mkdir initrd; pivot_root . initrd&lt;br /&gt;
* umount /initrd&lt;br /&gt;
* blockdev --flushbufs /dev/ram0&lt;br /&gt;
* exec chroot . /sbin/init $@&lt;br /&gt;
&lt;br /&gt;
Il comando '''pivot_root''' ultimamente sembra non comportarsi bene nell'ambiente dell'initrd. Fortunatamente la '''busybox''' ha al suo interno un programma che dovrebbe eseguire tutti i passi precedenti, il comando si chiama '''switch_root ''' e come al solito quindi basta fare un link simbolico a '''busybox''' entrando in ''/tmp/initrd/bin''&lt;br /&gt;
ed eseguendo:&lt;br /&gt;
 # ln -s busybox switch_root&lt;br /&gt;
&lt;br /&gt;
Ora non resta che inserire nello script init quanto segue:&lt;br /&gt;
 exec switch_root /mnt /sbin/init $@&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' si noti il passaggio a '''/sbin/init''' dei parametri $@, questi sono i parametri che il kernel non ha riconosciuto nella sua riga di comando (quella passatagli dal loader), e che quindi passa al comando che esegue.&lt;br /&gt;
&lt;br /&gt;
===Lo script init nella sua interezza===&lt;br /&gt;
Riassumendo, lo script ''/tmp/initrd/init'' è questo:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
#!/bin/ash&lt;br /&gt;
# Aspetto finché i driver USB non rilevano la pennina e monto la vera directory radice&lt;br /&gt;
mount -n proc /proc -t proc&lt;br /&gt;
while ! mount -n -r -L minislack /mnt 2&amp;gt; /dev/null;&lt;br /&gt;
 do&lt;br /&gt;
    sleep 1;&lt;br /&gt;
 done&lt;br /&gt;
umount /proc&lt;br /&gt;
&lt;br /&gt;
# Avvio il vero /sbin/init&lt;br /&gt;
exec switch_root /mnt /sbin/init $@&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
questo script deve essere eseguito dal kernel è quindi dobbiamo assicurarci che abbia i diritti di esecuzione:&lt;br /&gt;
 # chmod u+x /tmp/initrd/init&lt;br /&gt;
&lt;br /&gt;
==Creazione dell'archivio cpio compresso initrd.gz==&lt;br /&gt;
La directory ''/tmp/initrd'' ora dovrebbe essere così strutturata:&lt;br /&gt;
 # tree /tmp/initrd&lt;br /&gt;
   /tmp/initrd/&lt;br /&gt;
   |-- bin&lt;br /&gt;
   |   |-- ash -&amp;gt; busybox&lt;br /&gt;
   |   |-- busybox&lt;br /&gt;
   |   |-- mount&lt;br /&gt;
   |   |-- sleep -&amp;gt; busybox&lt;br /&gt;
   |   |-- switch_root -&amp;gt; busybox&lt;br /&gt;
   |   `-- umount -&amp;gt; busybox&lt;br /&gt;
   |-- dev&lt;br /&gt;
   |   |-- null&lt;br /&gt;
   |   |-- sda1&lt;br /&gt;
   |   |-- sdb1&lt;br /&gt;
   |   |-- sdc1&lt;br /&gt;
   |   `-- sdd1&lt;br /&gt;
   |-- etc&lt;br /&gt;
   |   `-- mtab&lt;br /&gt;
   |-- init&lt;br /&gt;
   |-- lib&lt;br /&gt;
   |   |-- ld-linux.so.2&lt;br /&gt;
   |   |-- libblkid.so.1&lt;br /&gt;
   |   |-- libc.so.6&lt;br /&gt;
   |   `-- libuuid.so.1&lt;br /&gt;
   |-- mnt&lt;br /&gt;
   `-- proc&lt;br /&gt;
 &lt;br /&gt;
 6 directories, 17 files&lt;br /&gt;
Non resta altro da fare che creare un archivio cpio di questa directory, comprimerla con il comando '''gzip''' e renderla disponibile al loader di linux.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partendo dal solito presupposto che la pennina sia collegata dal kernel al device sda1, la si monti ad esempio nella directory ''/mnt/memory'' con:&lt;br /&gt;
 # mount /dev/sda1 /mnt/memory&lt;br /&gt;
si crei poi una directory in cui inserire l'archivio cpio compresso che è l'initrd con:&lt;br /&gt;
 # mkdir /mnt/memory/boot&lt;br /&gt;
ed infine si crei l'archivio cpio compresso (il tanto sudato initrd):&lt;br /&gt;
 # cd /tmp/initrd&lt;br /&gt;
 # find . | cpio -o -H newc | gzip -9 -n &amp;gt; /mnt/memory/boot/initrd.gz&lt;br /&gt;
&lt;br /&gt;
Quando, più in là nel wiki, si configurerà il loader di linux, si vedrà come utilizzare questo file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 2: installazione della distribuzione sulla pennina=&lt;br /&gt;
Ora ci si occuperà di installare e configurare una serie minimale ma importantissima di pacchetti Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Ovviamente non ci sono limitazioni, se non quelle fisiche della pennina, al numero di pacchetti che il lettore può installare, ma per lo scopo di questo wiki è sufficiente installare i pacchetti essenziali a far partire la distribuzione.&amp;lt;BR&amp;gt;&lt;br /&gt;
I pacchetti che verranno installati si trovano tutti nella directory ''a/'' della Slackware, quindi, supponendo che il CD o DVD della Slackware sia stato montato nella directory ''/mnt/dvd/'', per prima cosa ci si deve spostare dentro questa directory con:&lt;br /&gt;
 # cd /mnt/dvd/slackware/a&lt;br /&gt;
&lt;br /&gt;
==Un piccolo accorgimento==&lt;br /&gt;
I pacchetti verranno installati sfruttando l'opzione -root dello script '''installpkg''', alcuni dei pacchetti hanno uno script aggiuntivo, il famoso '''doinst.sh''', che viene avviato dopo l'installazione del pacchetto. Gli script '''doinst.sh''' sono &amp;quot;chrootati&amp;quot; sulla pennina e devono poter eseguire comandi, quali ad esempio '''cd''', '''rm''' o&lt;br /&gt;
'''ln'''. Questo implica che:&lt;br /&gt;
* il programma che il '''doinst.sh''' vuole eseguire deve essere presente sulla pennina&lt;br /&gt;
* si abbiano i diritti di esecuzione sulla pennina&lt;br /&gt;
&lt;br /&gt;
La prima implicazione è risolta installando i pacchetti in un ordine ben preciso, facendo in modo di installare prima i pacchetti che contengono i programmi usuali usati dai '''doinst.sh'''.&lt;br /&gt;
&lt;br /&gt;
La seconda implicazione viene verificata se si esegue un piccolo accorgimento, ovvero smontare la pennina e rimontarla con l'opzione 'exec' del '''mount''', in questo modo:&lt;br /&gt;
 # umount /mnt/memory&lt;br /&gt;
 # mount -o exec -rw -t ext3 /dev/sda1 /mnt/memory&lt;br /&gt;
&lt;br /&gt;
==I pacchetti da installare==&lt;br /&gt;
La domanda è semplice, come si determinano i pacchetti che si devono installare?&amp;lt;BR&amp;gt;&lt;br /&gt;
La risposta non è altrettanto semplice, sicuramente ci sarà il programma ''/sbin/init'' per avere un collegamento all'initrd creato nella 'Fase 1', ma poi? Poi bisogna seguire l''''init''' e capire cosa esegue, in modo da fargli trovare i programmi che tenta di eseguire. Se è necessario, bisogna anche seguire i programmi che '''init''' esegue per capire cosa fanno e se hanno bisogno di altri programmi o file di configurazione.&amp;lt;BR&amp;gt;&lt;br /&gt;
In generale quindi, il primo file da analizzare è ''/etc/inittab'', file di configurazione di '''init''', ci si accorge quindi che '''init''' esegue una serie di script di inizializzazione, e quindi bisogna seguire questi script per capire cosa fanno.&lt;br /&gt;
&lt;br /&gt;
Per lo scopo di questo wiki il lavoro è stato già fatto dall'autore e quindi verranno segnalati solo i passi fondamentali da fare affinché la distribuzione possa partire.&lt;br /&gt;
&lt;br /&gt;
Qui si riporta l'elenco dei pacchetti che devono essere installati nell'ordine di seguito riportato (l'ordine è importante solo per i primi tre pacchetti). Accanto al nome del pacchetto vi è una piccola descrizione di cosa contiene:&lt;br /&gt;
 aaa_base              ---&amp;gt;    Crea tutte le directory base&lt;br /&gt;
 coreutils             ---&amp;gt;    Programmi utilizzati dagli script '''doisnt.sh'''&lt;br /&gt;
 glibc-solibs          ---&amp;gt;    La libreria glibc, usata da molti eseguibili (tra cui '''init''')&lt;br /&gt;
 glibc-zoneinfo        ---&amp;gt;    Contiene lo script '''timeconfig''' che verrà usato in seguito&lt;br /&gt;
 dialog                ---&amp;gt;    Usato per visualizzare i box dei dialoghi da altri programmi (tra cui '''timeconfig''')&lt;br /&gt;
 bash                  ---&amp;gt;    La shell&lt;br /&gt;
 etc                   ---&amp;gt;    File di configurazione dei programmi utilizzati&lt;br /&gt;
 util-linux-ng         ---&amp;gt;    Contiene, tra l'altro, il programma '''mount'''&lt;br /&gt;
 sysvinit              ---&amp;gt;    Contiene il programma '''init'''&lt;br /&gt;
 sysvinit-scripts      ---&amp;gt;    I famosi script '''rc.d''' della Slackware, invocati da '''init'''&lt;br /&gt;
 module-init-tools     ---&amp;gt;    '''modprobe''' e altri programmi per gestire i moduli&lt;br /&gt;
 e2fsprogs             ---&amp;gt;    Comandi per i filesystem ext2/3&lt;br /&gt;
 devs                  ---&amp;gt;    I device, senza di questi....&lt;br /&gt;
 findutils             ---&amp;gt;    '''find''', usato dagli script di inizializzazione&lt;br /&gt;
 aaa_elflibs           ---&amp;gt;    Libreria libtermcap per i terminali&lt;br /&gt;
 aaa_terminfo          ---&amp;gt;    File di informazione sui terminali usati dalla libreria libtermcap&lt;br /&gt;
 shadow                ---&amp;gt;    Contiene, tra l'altro, i programmi '''login''' e '''sulogin'''&lt;br /&gt;
 grep                  ---&amp;gt;    '''grep''', usato dagli script di inizializzazione&lt;br /&gt;
 procps                ---&amp;gt;    '''ps''', usato dagli script di inizializzazione&lt;br /&gt;
 kernel-huge           ---&amp;gt;    Il kernel...&lt;br /&gt;
 kernel-modules        ---&amp;gt;    ... i suoi moduli&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partire da slackware 13.1 è necessario anche il seguente pacchetto&lt;br /&gt;
 v4l-utils             ---&amp;gt;    Librerie necessarie ai programmi di sistema (ad es: '''mount''')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** FINE NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per installare questi pacchetti si deve eseguire '''installpkg''' con l'opzione -root ''/mnt/memory'', ad esempio:&lt;br /&gt;
 # installpkg -root /mnt/memory aaa_base-12.0.0-noarch-1.tgz&lt;br /&gt;
&lt;br /&gt;
==Una facile configurazione==&lt;br /&gt;
Come per la domanda 'Quali pacchetti si devono installare?', così la risposta alla domanda 'Cosa si deve configurare?' dipende sempre dall'amministratore del sistema e da cosa esso intenda far eseguire all'avvio della macchina.&amp;lt;BR&amp;gt;&lt;br /&gt;
Nel wiki si intende lasciare intatti gli script di inizializzazione fatti da Patrick J. Volkerding, creatore della Slackware, e quindi si procederà nella minima configurazione necessaria proprio a questi script di inizializzazione.&lt;br /&gt;
&lt;br /&gt;
===/etc/fstab===&lt;br /&gt;
Si comincia con il creare il file ''/etc/fstab'' come segue:&lt;br /&gt;
 # echo -e &amp;quot;LABEL=minislack\t\t/\text3\trw\t1 1&amp;quot; &amp;gt; /mnt/memory/etc/fstab&lt;br /&gt;
&lt;br /&gt;
===/etc/hardwareclock===&lt;br /&gt;
Un altro file richiesto dagli script di inizializzazione della Slackware è il file ''/etc/hardwareclock'' che indica come è impostato l'orologio hardware. In effetti questo file non contiene granché, ma viene consigliato di editarlo/crearlo tramite lo script '''/usr/sbin/timeconfig''', quindi bisogna eseguire lo script spostandogli la directory root, in questo modo:&lt;br /&gt;
 # cd /mnt/memory&lt;br /&gt;
 # chroot . usr/sbin/timeconfig&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 3: impostare il boot loader e testare il tutto=&lt;br /&gt;
L'ultima cosa da fare è quella di rendere la pennina &amp;quot;bootabile&amp;quot;, ovvero di inserire nel suo primo settore, il famoso settore di boot. Per fare questo basta creare un file ''lilo.conf'' ad-hoc, e poi lanciare LILO passandogli il file appena creato.&amp;lt;BR&amp;gt;&lt;br /&gt;
Si crei quindi il file, ad esempio ''/mnt/memory/etc/lilo.conf'', direttamente sulla pennina in modo che rimanga con essa, con all'interno quanto segue:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
boot = /dev/sda&lt;br /&gt;
backup = &amp;quot;&amp;quot;&lt;br /&gt;
map=/mnt/memory/boot/map&lt;br /&gt;
&lt;br /&gt;
compact&lt;br /&gt;
lba32&lt;br /&gt;
large-memory&lt;br /&gt;
&lt;br /&gt;
image = /mnt/memory/boot/vmlinuz&lt;br /&gt;
  initrd = /mnt/memory/boot/initrd.gz&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si noti l'opzione 'initrd', con la quale si indica al kernel che deve usare l'initrd creato nella 'Fase 1'. Ora non resta quindi che lanciare LILO come segue:&lt;br /&gt;
 # lilo -C /mnt/memory/etc/lilo.conf&lt;br /&gt;
e riavviare il PC facendogli fare il boot dalla pennina USB.&amp;lt;BR&amp;gt;&lt;br /&gt;
Con la configurazione minimale che si è fatta nella 'Fase 2', basta, al momento del login, inserire l'username di 'root' per avere una shell con tutti i privilegi del super-utente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Esempi d'uso=&lt;br /&gt;
Una volta che si ha una pennina USB &amp;quot;bootabile&amp;quot;, con all'interno un intera distribuzione, serve solo la fantasia per farci quello che ci pare.&amp;lt;BR&amp;gt;&lt;br /&gt;
Esempi d'uso potrebbero essere quello di crearsi una distribuzione adatta alla lettura di contenuti multimediali, in questo modo basta trovare un PC per vedere un DVD o ascoltare della musica, senza preoccuparsi che il PC sia dotato di tutti i programmi o codec adatti.&lt;br /&gt;
&lt;br /&gt;
Un altro esempio è che si ha sempre a portata di mano un &amp;quot;disco di ripristino&amp;quot;. Se la distribuzione installata sul PC non dovesse partire perché ci si è divertiti un po' troppo con i file di configurazione, si può sempre fare il boot del PC con la pennina e provvedere a rimediare agli eventuali danni che si è combinati.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Appendice=&lt;br /&gt;
==A: altri pacchetti utili==&lt;br /&gt;
Se si vuole rendere la distribuzione che si è installata sulla pennina un po' più indipendente, bisogna essere in grado di manipolare i pacchetti della Slackware, non solo, ma sarebbe anche carino poter utilizzare tutta una serie di comandi utili ad un sistemista. Quindi, oltre all'insieme minimo di pacchetti menzionati nella sezione&lt;br /&gt;
'[[#I_pacchetti_da_installare|I pacchetti da installare]]', qui di seguito c'è un elenco dei pacchetti che rendono la distribuzione sulla pennina, più user-friendly:&lt;br /&gt;
 a/pkgtools           ---&amp;gt;    Per gestire i pacchetti della Slackware&lt;br /&gt;
 a/bin                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/sed                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/gzip               ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/tar                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/xz                 ---&amp;gt;    Usato dagli script di pkgtools per il nuovo formato '.txz' della Slackware 13&lt;br /&gt;
&lt;br /&gt;
 ap/man               ---&amp;gt;    Il comando man più tornare molto utile&lt;br /&gt;
 ap/man-pages         ---&amp;gt;    Le pagine di manuale di molti comandi&lt;br /&gt;
 ap/groff             ---&amp;gt;    Il formattatore usato da man&lt;br /&gt;
 a/cxxlibs            ---&amp;gt;    Libreria c++ standard usata da groff&lt;br /&gt;
 a/less               ---&amp;gt;    Il comando che man usa per visualizzare le pagine di manuale&lt;br /&gt;
&lt;br /&gt;
 a/udev               ---&amp;gt;    Utile se si vogliono usare driver che necessitano di firmware&lt;br /&gt;
&lt;br /&gt;
 ap/nano              ---&amp;gt;    Il famoso e semplice editor di testo&lt;br /&gt;
&lt;br /&gt;
 a/bzip2              ---&amp;gt;    Sempre più spesso si trovano archivi bzip&lt;br /&gt;
&lt;br /&gt;
 a/reiserfsprogs      ---&amp;gt;    Per gestire il famoso file system reiser&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ringraziamenti=&lt;br /&gt;
Ringrazio ZeroUno per i suoi consigli e le sue prove.&lt;br /&gt;
&lt;br /&gt;
Note per slackware 13.1 a cura di [[Utente:Ansa89|Ansa89]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per qualsiasi cosa scrivetemi pure:&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Utente:Spina|spina]]&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Updates_checker_per_conky</id>
		<title>Updates checker per conky</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Updates_checker_per_conky"/>
				<updated>2010-09-11T21:43:14Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: Creata pagina con '=Introduzione= Questo wiki spiega come creare un controllore di aggiornamenti e integrarlo in [http://conky.sourceforge.net/ conky].&amp;lt;BR&amp;gt; Come gestore degli aggiornamenti viene us…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduzione=&lt;br /&gt;
Questo wiki spiega come creare un controllore di aggiornamenti e integrarlo in [http://conky.sourceforge.net/ conky].&amp;lt;BR&amp;gt;&lt;br /&gt;
Come gestore degli aggiornamenti viene usato il tool [http://www.slackpkg.org/ slackpkg] che viene fornito come strumento ufficiale per aggiornare Slackware.&lt;br /&gt;
&lt;br /&gt;
=Script=&lt;br /&gt;
Ecco lo script che fa il controllo di nuovi aggiornamenti (può essere salvato in ~/.check_updates.sh):&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
LOG=`/usr/sbin/slackpkg check-updates`&lt;br /&gt;
if [ &amp;quot;$?&amp;quot; != 0 ]; then&lt;br /&gt;
        echo &amp;quot;Error checking updates...Wait until next try.&amp;quot;&lt;br /&gt;
elif echo $LOG | grep &amp;quot;News on ChangeLog.txt&amp;quot; &amp;amp;&amp;gt; /dev/null ; then&lt;br /&gt;
        echo &amp;quot;New updates for slackware!&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;No new updates.&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
Una volta salvato ricordate di renderlo eseguibile:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
chmod +x ~/check_updates.sh&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Integrazione in conky=&lt;br /&gt;
Per integrare lo script dentro conky, si deve intervenire sul file di configurazione di quest'ultimo (di solito situato in ~/.conkyrc) e aggiungere una voce come questa:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
${execi 600 ~/.check_updates.sh}&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
Breve spiegazione:&amp;lt;BR&amp;gt;&lt;br /&gt;
* &amp;quot;execi&amp;quot; serve per dire a conky che deve eseguire un comando (o uno script) ciclicamente dopo un certo intervallo di tempo.&lt;br /&gt;
* &amp;quot;600&amp;quot; è l'intervallo di tempo (in secondi) passato il quale viene rieseguito il comando.&lt;br /&gt;
* &amp;quot;~/check_updates.sh&amp;quot; è lo script che viene eseguito (può essere sostituito con un comando qualsiasi).&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
Per maggiori informazioni si può consultare il manuale di conky.&lt;br /&gt;
&lt;br /&gt;
=Ringraziamenti=&lt;br /&gt;
Ringrazio ZeroUno per l'idea iniziale ([http://www.slacky.eu/forum/viewtopic.php?f=1&amp;amp;t=32885 http://www.slacky.eu/forum/viewtopic.php?f=1&amp;amp;t=32885]).&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per consigli e feedback, non esitate a contattarmi: [[Utente:Ansa89|Ansa89]].&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Slackware_su_pennina_USB</id>
		<title>Slackware su pennina USB</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Slackware_su_pennina_USB"/>
				<updated>2010-06-30T20:13:24Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Ringraziamenti */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Per www.slacky.eu --&amp;gt;&lt;br /&gt;
[[Category:Install_e_Upgrade]]&lt;br /&gt;
=Introduzione=&lt;br /&gt;
Questo wiki vuole essere una guida, il più completa possibile, sui passi da fare per crearsi un propria distribuzione Slackware su un dispositivo di archiviazione di massa USB (che da ora in poi chiameremo più semplicemente, pennina).&amp;lt;BR&amp;gt;&lt;br /&gt;
Affronteremo tutti i vari passaggi strettamente necessari a far partire un kernel installato sulla pennina ed a creare/configurare la distribuzione Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Ovviamente, benché pensata e testata sulla Slackware, la teoria che acquisiremo alla fine di questo wiki sarà tale da permetterci di installare una qualsivoglia distribuzione, la differenza sarà solo sugli strumenti che useremo.&lt;br /&gt;
&lt;br /&gt;
Tutti o quasi tutti i comandi che eseguiremo durante il wiki devono poter godere dei diritti dall'utente root, e per questo saranno caratterizzati dal carattere iniziale '#' che è tipico della shell del super-utente.&lt;br /&gt;
&lt;br /&gt;
I path e i comandi verranno evidenziati rispettivamente dallo stile corsivo e dal font grassetto in questo modo:&lt;br /&gt;
* ''/questo/è/un/path''&lt;br /&gt;
* '''questo è un comando'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Perché installare la distribuzione su una pennina?=&lt;br /&gt;
Alcuni esempi d'uso verranno esposti alla fine del wiki, ma facciamo comunque alcune considerazioni importanti.&amp;lt;BR&amp;gt;&lt;br /&gt;
Questa guida è rivolta a tutti coloro che sono curiosi, affamati di conoscenza, che usano il PC non solo come strumento di lavoro, ma anche con la voglia di portare alla luce ciò che sembra arcano. Lo scopo del wiki non è la creazione della distribuzione tascabile, bensì la divulgazione della conoscenza, è importante che il lettore tenga presente questo concetto, perché è quello che ci preme rimanga più a lungo nella mente di chi legge questo wiki.&amp;lt;BR&amp;gt;&lt;br /&gt;
Oltre ad avere una pennina da portare nei negozi di informatica per testare i PC che solitamente hanno installato solo lo scadente Windows, acquisiremo una conoscenza più o meno approfondita di tutti i programmi necessari all'avvio di una distribuzione GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Software usato=&lt;br /&gt;
Gli strumenti software che sono stati usati per testare questo wiki sono:&lt;br /&gt;
* Slackware 12 (sebbene alcuni utenti l'abbiano testato con successo anche sulla 13)&lt;br /&gt;
* kernel huge, presente nella directory della serie ''a/'' della Slackware&lt;br /&gt;
* comandi linux che verranno citati man mano, tutti comunque presenti nella distribuzione Slackware&lt;br /&gt;
L'elenco sopra citato è da tenere a mente sia perché citeremo nomi di pacchetti Slackware, sia perché il kernel huge fornisce un sopporto tale che alcuni problemi che si potrebbero incontrare verranno solo citati, in quanto risolti grazie alla sua configurazione statica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 0: preparazione della pennina=&lt;br /&gt;
Noi installeremo la distribuzione Slackware direttamente sulla pennina, iniziamo allora preparando proprio il nostro supporto di archiviazione di massa USB.&amp;lt;BR&amp;gt;&lt;br /&gt;
L'unica cosa di cui abbiamo bisogno e di installarci dentro un file system ext3. Le pennine USB, proprio come gli hard disk, possono essere partizionate, supponiamo quindi che sulla pennina ci sia un unica partizione e che questa venga collegata dal kernel al device ''/dev/sda1''. Installiamoci dentro un file system ext3 con il seguente comando:&lt;br /&gt;
 # mkfs.ext3 -L minislack /dev/sda1&lt;br /&gt;
bene, quella che abbiamo appena creato sarà la directory radice della nostra distribuzione.&lt;br /&gt;
&lt;br /&gt;
'''ATTENZIONE:''' tutti i file sulla pennina saranno ovviamente persi dopo l'esecuzione del comando '''mkfs.ext3''', quindi facciamo in modo che la pennina sia vuota prima di lanciare il comando.&lt;br /&gt;
&lt;br /&gt;
'''Nota:''' si noti l'uso dell'opzione -L per impostare un etichetta al file system appena creato, vedremo dopo a cosa ci servirà. L'etichetta del file system la si può impostare/modificare anche successivamente attraverso l'uso del comando '''e2label'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 1: creazione dell'initrd=&lt;br /&gt;
Più in là nel wiki, vedremo come far caricare il kernel di linux installato su una pennina, qui invece ci apprestiamo ad affrontare un problema inerente proprio al fatto che la distribuzione si trova su una periferica USB.&lt;br /&gt;
&lt;br /&gt;
==Perché dobbiamo creare un initrd?==&lt;br /&gt;
Una volta caricato il kernel, esso si preoccupa di attivare tutti i driver che sono stati compilati in maniera statica al suo interno. L'attivazione avviene in maniera parallela, il kernel cioè non attiva un driver, aspetta che esso abbia finito di inizializzarsi e poi ne attiva un altro, ma li attiva tutti quanti &amp;quot;contemporaneamente&amp;quot;. Dopo questa fase di inizializzazione dei driver il kernel deve montare quella che è la root directory (o directory radice) della distribuzione, la famosa directory ''/''. Una volta montata la directory radice, esegue quello che sarà l'unico processo avviato direttamente dal kernel (che in generale è il processo '''/sbin/init''').&lt;br /&gt;
* Ma i driver (o controller) USB potrebbero non essere stati compilati in maniera statica nel kernel, e senza i driver il kernel non si accorge neanche della presenza della pennina, come possiamo risolvere questo problema?&lt;br /&gt;
* Non solo, ma anche ammesso che il kernel abbia i driver compilati in maniera statica, questi devono avere il tempo di accorgersi che al PC è collegata una pennina USB, come si può dire al kernel di aspettare visto che i driver sono attivati in maniera parallela?&lt;br /&gt;
* Ancora, come facciamo a sapere su quale device si verrà a trovare la directory radice? Il driver USB collegherà la pennina al device sda o sdb, oppure ad un altro?&lt;br /&gt;
* E infine, la directory radice che abbiamo creato sulla pennina usa il file system ext3, il kernel per poter riconoscere e di conseguenza usare questo file system ha bisogno del driver, e se questo driver non è compilato in maniera statica?&lt;br /&gt;
&lt;br /&gt;
Per tutti questi problemi esiste una soluzione unica, l'initrd. L'initrd fondamentalmente non è altro che una mini distribuzione la cui directory radice viene montata in ram, più precisamente collegata al device ''/dev/ram0'', con un programma o uno script (che si deve chiamare '''init''' o '''linuxrc''') che viene avviato dal kernel (il quale deve essere compilato con il supporto all'initrd) subito dopo aver inizializzato i driver. Il kernel in pratica non si occupa più di montare la root directory e di lanciare il processo '''/sbin/init''', ma semplicemente lancia il comando (o script) '''init''' che è nell'initrd e delega a lui tutto il resto.&amp;lt;BR&amp;gt;&lt;br /&gt;
Questo semplice meccanismo ci permette in pratica di creare uno script per risolvere tutti i problemi sopra citati.&lt;br /&gt;
&lt;br /&gt;
'''Nota:''' Quando il kernel carica in memoria l'initrd e lancia il programma (o lo script) init, la root directory della nostra distribuzione non è ancora montata! Quindi la distribuzione non esiste, e con lei non esistono tutti i programmi usuali che uno pensa di usare nell'initrd. Se si vuole usare un programma, lo si deve copiare nell'ambiente dell'initrd e si devono copiare anche tutte quelle librerie condivise di cui il programma necessita.&lt;br /&gt;
&lt;br /&gt;
==Initrd come archivio cpio==&lt;br /&gt;
Uno dei modi più semplici per creare un initrd è quello di inserire tutto il necessario in una directory vuota (programmi che si voglio usare nell'initrd, librerie di cui necessitano questi programmi, eventuali moduli del kernel, etc...etc...) e poi di creare un archivio cpio, magari compresso con gzip, di questa directory. Il kernel sarà poi in grado di decomprimere (se era compresso) l'archivio e di estrarne il contenuto.&amp;lt;BR&amp;gt;&lt;br /&gt;
Creiamoci allora una directory vuota ed entriamoci dentro con:&lt;br /&gt;
 # mkdir /tmp/initrd&lt;br /&gt;
 # cd /tmp/initrd&lt;br /&gt;
&lt;br /&gt;
==Il pacchetto mkinitrd e la busybox==&lt;br /&gt;
Il pacchetto mkinitrd della Slackware (che si trova nella directory ''a/'') contiene lo script omonimo '''mkinitrd''', che generalmente viene usato da coloro che necessitano di un initrd e non vogliono (o non hanno le competenze adatte a) crearsene uno a mano.&amp;lt;BR&amp;gt;&lt;br /&gt;
Noi useremo il pacchetto, che quindi deve essere installato, non per lanciare l''''mkinitrd''' ma per prelevare il programma '''busybox''' che è al suo interno. Busybox è un programma che si può comportare in maniera diversa a seconda di come lo si invoca, se noi infatti creiamo un link simbolico chiamato mount a '''busybox''', allora questo si comporterà come '''mount'''. L'elenco di tutti i programmi che è in grado di simulare lo si può ottenere lanciando '''busybox''' senza parametri.&lt;br /&gt;
&lt;br /&gt;
Il pacchetto mkinitrd ha la '''busybox''' inserita all'interno di un archivio tar.gz il cui path completo è:&lt;br /&gt;
 ''/usr/share/mkinitrd/initrd-tree.tar.gz''&lt;br /&gt;
preleviamo la busybox con:&lt;br /&gt;
 # tar -C /tmp/initrd -zxf /usr/share/mkinitrd/initrd-tree.tar.gz './bin/busybox'&lt;br /&gt;
a questo punto la nostra directory ''/tmp/initrd'' avrà questa struttura:&lt;br /&gt;
 # tree /tmp/initrd&lt;br /&gt;
 /tmp/initrd&lt;br /&gt;
 `-- bin&lt;br /&gt;
     `-- busybox&lt;br /&gt;
&lt;br /&gt;
==Creiamo lo script init==&lt;br /&gt;
Ora dobbiamo creare lo script '''init''', ovvero lo script che verrà eseguito dal kernel dopo l'inizializzazione dei driver e che è incaricato di risolvere i problemi su citati, cioè:&lt;br /&gt;
* caricare eventualmente i moduli del kernel per i controller USB e per il file system ext3&lt;br /&gt;
* dare il tempo ai controller USB di rilevare la pennina e montare, dopo averla scovata, la root directory&lt;br /&gt;
* eseguire il vero processo init della distribuzione&lt;br /&gt;
&lt;br /&gt;
Prima di cimentarci nella risoluzione di questi problemi dobbiamo notare che '''init''', per come lo vogliamo utilizzare noi, è uno script, e in quanto tale ha bisogno di un interprete, la '''busybox''' può fare questo per noi visto che al suo interno ha anche una piccola shell. Andiamo nella directory ''/tmp/initrd/bin'' e creiamo un link simbolico a '''busybox''' in questo modo:&lt;br /&gt;
 # ln -s busybox ash&lt;br /&gt;
e quindi con un qualsiasi editor di testo creiamo il file ''/tmp/initrd/init'' e mettiamoci come prima riga:&lt;br /&gt;
 #!/bin/ash&lt;br /&gt;
&lt;br /&gt;
===Caricare i moduli del kernel necessari al rilevamento della periferica USB e del file system ext3===&lt;br /&gt;
Il kernel huge è compilato con il supporto sia alle periferiche USB, sia al file system ext3 in maniera statica, e quindi ci permette di superare in maniera trasparente questo problema.&amp;lt;BR&amp;gt;&lt;br /&gt;
Si fa notare che il fatto di avere il supporto compilato in maniera statica nel kernel è un fattore da non sottovalutare. Infatti l'ambiente dell'initrd dovrebbe essere il più generale possibile, se spettasse all'initrd (e quindi allo script '''init''') caricare qualche modulo del kernel, allora l'initrd non sarebbe più indipendente, ma al suo interno dovrebbe avere i moduli compilati per il kernel specifico che lo ha eseguito.&lt;br /&gt;
&lt;br /&gt;
===Dare il tempo ai controller USB di rilevare la pennina e montaggio della root directory===&lt;br /&gt;
Abbiamo installato sulla nostra pennina USB un file system del tipo ext3 che abbiamo anche etichettato con il nome di 'minislack'. Bene, grazie alla capacità del comando '''mount''' di utilizzare il nome di etichetta per identificare un file system, il problema può essere risolto semplicemente mettendo nello script '''init''' quanto segue:&lt;br /&gt;
 mount -n proc -t proc /proc&lt;br /&gt;
 while ! mount -n -r -L minislack /mnt 2&amp;gt; /dev/null;&lt;br /&gt;
  do&lt;br /&gt;
    sleep 1&lt;br /&gt;
  done&lt;br /&gt;
 umount -n /proc&lt;br /&gt;
Il &amp;quot;montaggio&amp;quot; del file system proc è necessario in quanto il comando '''mount''' fa uso di questo file system per scovare l'etichetta 'minislack'.&amp;lt;BR&amp;gt;&lt;br /&gt;
Il ciclo '''while''' con lo '''sleep''' non fa altro che dare il tempo necessario ai driver USB del kernel di rilevare la pennina.&lt;br /&gt;
Quindi la nostra root directory, o meglio il file system che noi abbiamo etichettato come 'minislack' sarà montato nella directory ''/mnt'' a prescindere dal device a cui il driver USB (e più precisamente il modulo che gestisce le periferiche di archiviazione di massa USB, l'usb_storage) lo ha collegato.&lt;br /&gt;
&lt;br /&gt;
Nelle sei righe di codice precedenti abbiamo:&lt;br /&gt;
* usato il comando mount&lt;br /&gt;
* caricato il file system proc nella directory /proc&lt;br /&gt;
* usato il device null per ridirigere lo standard error del comando mount&lt;br /&gt;
* usato il comando sleep per far attendere alla shell 1 secondo&lt;br /&gt;
* montato la root directory in /mnt&lt;br /&gt;
* utilizzato il comando umount&lt;br /&gt;
per quanto potevano sembrare innocenti, quelle sei righe implicano:&lt;br /&gt;
* che il kernel al momento dell'esecuzione di queste righe, abbia il supporto al procfs e al tipo di file system della root directory che montiamo su ''/mnt'' (nel nostro caso il kernel huge ce li ha entrambi in maniera statica)&lt;br /&gt;
* che esistano i programmi mount, umount e sleep&lt;br /&gt;
* che esistano il device ''/dev/null'' e quello al quale sarà collegata la pennina USB (è vero che mount può scovare il device grazie all'etichetta del suo file system, ma è altrettanto vero che poi '''mount''' dovrà montare questo device)&lt;br /&gt;
* che esistano le directory ''/proc'' e ''/mnt''&lt;br /&gt;
&lt;br /&gt;
La '''busybox''' può comportarsi come '''mount''' semplicemente facendo un link simbolico ad essa chiamato appunto ''mount'', il problema è che quello fornito dalla '''busybox''' non è in grado di scovare le etichette dei file system (non riconosce il flag -L). Abbiamo necessariamente bisogno del comando '''mount''' del pacchetto util-linux contenuto&lt;br /&gt;
sempre nella directory della serie ''a/'' della Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Copiamo quindi il comando '''mount''' come segue:&lt;br /&gt;
 # cp -p /bin/mount /tmp/initrd/bin&lt;br /&gt;
ora però dobbiamo copiare anche le librerie condivise di cui necessita. Vediamo quali sono lanciando:&lt;br /&gt;
 # ldd /bin/mount&lt;br /&gt;
        linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
        libblkid.so.1 =&amp;gt; /lib/libblkid.so.1 (0xb7f80000)&lt;br /&gt;
        libuuid.so.1 =&amp;gt; /lib/libuuid.so.1 (0xb7f7d000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0xb7e4e000)&lt;br /&gt;
        /lib/ld-linux.so.2 (0x80000000)&lt;br /&gt;
&lt;br /&gt;
Creiamoci la directory ''lib'' all'interno del nostro initrd con:&lt;br /&gt;
 # mkdir /tmp/initrd/lib&lt;br /&gt;
e copiamoci dentro le librerie condivise con:&lt;br /&gt;
 # cp -p /lib/libblkid.so.1 /lib/libuuid.so.1 /lib/libc.so.6 /lib/ld-linux.so.2 /tmp/initrd/lib&lt;br /&gt;
Si noti che i file originali probabilmente sono link simbolici, ma il comando '''cp''' copierà il file al quale puntano e non il link.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partire dalla slackware 13.1 il comando '''mount''' necessita di altre librerie:&lt;br /&gt;
 # ldd /bin/mount&lt;br /&gt;
        linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
        /usr/lib/libv4l/v4l1compat.so (0xb7838000)&lt;br /&gt;
        /usr/lib/libv4l/v4l2convert.so (0xb7836000)&lt;br /&gt;
        libblkid.so.1 =&amp;gt; /lib/libblkid.so.1 (0xb77eb000)&lt;br /&gt;
        libuuid.so.1 =&amp;gt; /lib/libuuid.so.1 (0xb77e7000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0xb7683000)&lt;br /&gt;
        libv4l1.so.0 =&amp;gt; /usr/lib/libv4l1.so.0 (0xb767e000)&lt;br /&gt;
        libv4l2.so.0 =&amp;gt; /usr/lib/libv4l2.so.0 (0xb7674000)&lt;br /&gt;
        /lib/ld-linux.so.2 (0xb783b000)&lt;br /&gt;
        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0xb765b000)&lt;br /&gt;
        libv4lconvert.so.0 =&amp;gt; /usr/lib/libv4lconvert.so.0 (0xb75ef000)&lt;br /&gt;
        librt.so.1 =&amp;gt; /lib/librt.so.1 (0xb75e5000)&lt;br /&gt;
        libm.so.6 =&amp;gt; /lib/libm.so.6 (0xb75bf000)&lt;br /&gt;
&lt;br /&gt;
Quindi sarà necessario copiare anche le nuove librerie:&lt;br /&gt;
 # cp -p /usr/lib/libv4l/v4l1compat.so /usr/lib/libv4l/v4l2convert.so /usr/lib/libv4l1.so.0 /usr/lib/libv4l2.so.0 /tmp/initrd/lib&lt;br /&gt;
 # cp -p /lib/libpthread.so.0 /usr/lib/libv4lconvert.so.0 /lib/librt.so.1 /lib/libm.so.6 /tmp/initrd/lib&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** FINE NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per il comando '''umount''' e '''sleep''' invece possiamo tranquillamente usare quelli della '''busybox''', quindi andiamo nella directory ''/tmp/initrd/bin'' e facciamo:&lt;br /&gt;
 # ln -s busybox umount&lt;br /&gt;
 # ln -s busybox sleep&lt;br /&gt;
&lt;br /&gt;
Il programma '''mount''' l'abbiamo utilizzato passandogli anche il flag -n, dicendogli quindi di non scrivere quello che sarà il file ''/etc/mtab'', benché esso non lo scriva, vuole comunque leggerlo per controllare se il file system che si sta tentando di montare non sia già stato montato. Dobbiamo quindi creare il file vuoto ''/tmp/initrd/etc/mtab'':&lt;br /&gt;
 # mkdir /tmp/initrd/etc&lt;br /&gt;
 # touch /tmp/initrd/etc/mtab&lt;br /&gt;
&lt;br /&gt;
Proseguiamo quindi con la creazione del device null e dei possibili device a cui sarà collegata la pennina USB. In generale la pennina USB viene vista come una periferica SCSI disk e quindi sarà attaccata ad un device del tipo ''/dev/sdXY'' dove X varia a seconda di quante periferiche di archiviazione rilevate come SCSI (ad esempio i dischi sata) sono state trovate prima della pennina, mentre Y rappresenta una qualsiasi partizione.&amp;lt;BR&amp;gt;&lt;br /&gt;
Se, ad esempio, un PC non ha nessun disco rilevato come SCSI e ci si inserisce una pennina con tre partizioni, queste tre partizioni saranno collegate rispettivamente ai device: sda1, sda2  e sda3.&lt;br /&gt;
&lt;br /&gt;
Y allora la possiamo ricavare facilmente, infatti all'inizio abbiamo supposto che la nostra pennina avesse solo una partizione e che essa (la partizione) venisse attaccata ad device ''/dev/sda1'', allora Y=1 e la pennina sarà sempre collegata ad un device dal nome ''/dev/sdX1''.&amp;lt;BR&amp;gt;&lt;br /&gt;
Quindi creiamoci la directory in cui inserire i device:&lt;br /&gt;
 # mkdir /tmp/initrd/dev&lt;br /&gt;
e copiamoci subito dentro il device ''/dev/null'' con:&lt;br /&gt;
 # cp -R /dev/null /tmp/initrd/dev&lt;br /&gt;
&lt;br /&gt;
Al momento attuale gli SCSI disk sono gestiti dal device driver con major number 8. Questo device driver è in grado di gestire sino a 15 partizioni per ogni disco, questo vuol dire che due device con X consecutive e con uguale Y hanno una distanza (in termini di minor number) pari a 16. Ad esempio il device sda avrà un minor number uguale a 0 laddove il device sdb avrà invece minor number uguale a 16, e così via.&lt;br /&gt;
&lt;br /&gt;
Possiamo allora creare i device con:&lt;br /&gt;
 # mknod /tmp/initrd/dev/sda1 b 8 1&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdb1 b 8 17&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdc1 b 8 33&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdd1 b 8 49&lt;br /&gt;
&lt;br /&gt;
Ora per rendere tutto coerente con quanto scritto sempre nelle sei innocenti righe di codice inserite nel file ''init'', non ci resta che creare due directory vuote nelle quali verranno montati i file system proc e quello contenente la nostra directory radice.&lt;br /&gt;
 # mkdir /tmp/initrd/proc /tmp/initrd/mnt&lt;br /&gt;
&lt;br /&gt;
===Eseguire il vero processo init===&lt;br /&gt;
L'ultimo passo che deve eseguire lo script '''init''' dell'initrd è quello di lanciare il vero processo '''init''' situato nella directory radice della distribuzione e poi liberare la memoria allocata.&amp;lt;BR&amp;gt;&lt;br /&gt;
I passi teorici da eseguire sono:&lt;br /&gt;
* spostare la directory radice dell'initrd sulla directory radice della distribuzione&lt;br /&gt;
* smontare l'initrd&lt;br /&gt;
* deallocare la memoria allocata dal kernel per l'initrd&lt;br /&gt;
* eseguire il vero processo '''init'''&lt;br /&gt;
Che poi praticamente, dato che per ognuno dei passi precedenti esiste uno specifico programma che lo esegue, diventa:&lt;br /&gt;
* cd /mnt; mkdir initrd; pivot_root . initrd&lt;br /&gt;
* umount /initrd&lt;br /&gt;
* blockdev --flushbufs /dev/ram0&lt;br /&gt;
* exec chroot . /sbin/init $@&lt;br /&gt;
&lt;br /&gt;
Il comando '''pivot_root''' ultimamente sembra non comportarsi bene nell'ambiente dell'initrd. Fortunatamente la '''busybox''' ha al suo interno un programma che dovrebbe eseguire tutti i passi precedenti, il comando si chiama '''switch_root ''' e come al solito quindi basta fare un link simbolico a '''busybox''' entrando in ''/tmp/initrd/bin''&lt;br /&gt;
ed eseguendo:&lt;br /&gt;
 # ln -s busybox switch_root&lt;br /&gt;
&lt;br /&gt;
Ora non resta che inserire nello script init quanto segue:&lt;br /&gt;
 exec switch_root /mnt /sbin/init $@&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' si noti il passaggio a '''/sbin/init''' dei parametri $@, questi sono i parametri che il kernel non ha riconosciuto nella sua riga di comando (quella passatagli dal loader), e che quindi passa al comando che esegue.&lt;br /&gt;
&lt;br /&gt;
===Lo script init nella sua interezza===&lt;br /&gt;
Riassumendo, lo script ''/tmp/initrd/init'' è questo:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
#!/bin/ash&lt;br /&gt;
# Aspetto finché i driver USB non rilevano la pennina e monto la vera directory radice&lt;br /&gt;
mount -n proc /proc -t proc&lt;br /&gt;
while ! mount -n -r -L minislack /mnt 2&amp;gt; /dev/null;&lt;br /&gt;
 do&lt;br /&gt;
    sleep 1;&lt;br /&gt;
 done&lt;br /&gt;
umount /proc&lt;br /&gt;
&lt;br /&gt;
# Avvio il vero /sbin/init&lt;br /&gt;
exec switch_root /mnt /sbin/init $@&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
questo script deve essere eseguito dal kernel è quindi dobbiamo assicurarci che abbia i diritti di esecuzione:&lt;br /&gt;
 # chmod u+x /tmp/initrd/init&lt;br /&gt;
&lt;br /&gt;
==Creazione dell'archivio cpio compresso initrd.gz==&lt;br /&gt;
La directory ''/tmp/initrd'' ora dovrebbe essere così strutturata:&lt;br /&gt;
 # tree /tmp/initrd&lt;br /&gt;
   /tmp/initrd/&lt;br /&gt;
   |-- bin&lt;br /&gt;
   |   |-- ash -&amp;gt; busybox&lt;br /&gt;
   |   |-- busybox&lt;br /&gt;
   |   |-- mount&lt;br /&gt;
   |   |-- sleep -&amp;gt; busybox&lt;br /&gt;
   |   |-- switch_root -&amp;gt; busybox&lt;br /&gt;
   |   `-- umount -&amp;gt; busybox&lt;br /&gt;
   |-- dev&lt;br /&gt;
   |   |-- null&lt;br /&gt;
   |   |-- sda1&lt;br /&gt;
   |   |-- sdb1&lt;br /&gt;
   |   |-- sdc1&lt;br /&gt;
   |   `-- sdd1&lt;br /&gt;
   |-- etc&lt;br /&gt;
   |   `-- mtab&lt;br /&gt;
   |-- init&lt;br /&gt;
   |-- lib&lt;br /&gt;
   |   |-- ld-linux.so.2&lt;br /&gt;
   |   |-- libblkid.so.1&lt;br /&gt;
   |   |-- libc.so.6&lt;br /&gt;
   |   `-- libuuid.so.1&lt;br /&gt;
   |-- mnt&lt;br /&gt;
   `-- proc&lt;br /&gt;
 &lt;br /&gt;
 6 directories, 17 files&lt;br /&gt;
Non resta altro da fare che creare un archivio cpio di questa directory, comprimerla con il comando '''gzip''' e renderla disponibile al loader di linux.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partendo dal solito presupposto che la pennina sia collegata dal kernel al device sda1, la si monti ad esempio nella directory ''/mnt/memory'' con:&lt;br /&gt;
 # mount /dev/sda1 /mnt/memory&lt;br /&gt;
si crei poi una directory in cui inserire l'archivio cpio compresso che è l'initrd con:&lt;br /&gt;
 # mkdir /mnt/memory/boot&lt;br /&gt;
ed infine si crei l'archivio cpio compresso (il tanto sudato initrd):&lt;br /&gt;
 # cd /tmp/initrd&lt;br /&gt;
 # find . | cpio -o -H newc | gzip -9 -n &amp;gt; /mnt/memory/boot/initrd.gz&lt;br /&gt;
&lt;br /&gt;
Quando, più in là nel wiki, si configurerà il loader di linux, si vedrà come utilizzare questo file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 2: installazione della distribuzione sulla pennina=&lt;br /&gt;
Ora ci si occuperà di installare e configurare una serie minimale ma importantissima di pacchetti Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Ovviamente non ci sono limitazioni, se non quelle fisiche della pennina, al numero di pacchetti che il lettore può installare, ma per lo scopo di questo wiki è sufficiente installare i pacchetti essenziali a far partire la distribuzione.&amp;lt;BR&amp;gt;&lt;br /&gt;
I pacchetti che verranno installati si trovano tutti nella directory ''a/'' della Slackware, quindi, supponendo che il CD o DVD della Slackware sia stato montato nella directory ''/mnt/dvd/'', per prima cosa ci si deve spostare dentro questa directory con:&lt;br /&gt;
 # cd /mnt/dvd/slackware/a&lt;br /&gt;
&lt;br /&gt;
==Un piccolo accorgimento==&lt;br /&gt;
I pacchetti verranno installati sfruttando l'opzione -root dello script '''installpkg''', alcuni dei pacchetti hanno uno script aggiuntivo, il famoso '''doinst.sh''', che viene avviato dopo l'installazione del pacchetto. Gli script '''doinst.sh''' sono &amp;quot;chrootati&amp;quot; sulla pennina e devono poter eseguire comandi, quali ad esempio '''cd''', '''rm''' o&lt;br /&gt;
'''ln'''. Questo implica che:&lt;br /&gt;
* il programma che il '''doinst.sh''' vuole eseguire deve essere presente sulla pennina&lt;br /&gt;
* si abbiano i diritti di esecuzione sulla pennina&lt;br /&gt;
&lt;br /&gt;
La prima implicazione è risolta installando i pacchetti in un ordine ben preciso, facendo in modo di installare prima i pacchetti che contengono i programmi usuali usati dai '''doinst.sh'''.&lt;br /&gt;
&lt;br /&gt;
La seconda implicazione viene verificata se si esegue un piccolo accorgimento, ovvero smontare la pennina e rimontarla con l'opzione 'exec' del '''mount''', in questo modo:&lt;br /&gt;
 # umount /mnt/memory&lt;br /&gt;
 # mount -o exec -rw -t ext3 /dev/sda1 /mnt/memory&lt;br /&gt;
&lt;br /&gt;
==I pacchetti da installare==&lt;br /&gt;
La domanda è semplice, come si determinano i pacchetti che si devono installare?&amp;lt;BR&amp;gt;&lt;br /&gt;
La risposta non è altrettanto semplice, sicuramente ci sarà il programma ''/sbin/init'' per avere un collegamento all'initrd creato nella 'Fase 1', ma poi? Poi bisogna seguire l''''init''' e capire cosa esegue, in modo da fargli trovare i programmi che tenta di eseguire. Se è necessario, bisogna anche seguire i programmi che '''init''' esegue per capire cosa fanno e se hanno bisogno di altri programmi o file di configurazione.&amp;lt;BR&amp;gt;&lt;br /&gt;
In generale quindi, il primo file da analizzare è ''/etc/inittab'', file di configurazione di '''init''', ci si accorge quindi che '''init''' esegue una serie di script di inizializzazione, e quindi bisogna seguire questi script per capire cosa fanno.&lt;br /&gt;
&lt;br /&gt;
Per lo scopo di questo wiki il lavoro è stato già fatto dall'autore e quindi verranno segnalati solo i passi fondamentali da fare affinché la distribuzione possa partire.&lt;br /&gt;
&lt;br /&gt;
Qui si riporta l'elenco dei pacchetti che devono essere installati nell'ordine di seguito riportato (l'ordine è importante solo per i primi tre pacchetti). Accanto al nome del pacchetto vi è una piccola descrizione di cosa contiene:&lt;br /&gt;
 aaa_base              ---&amp;gt;    Crea tutte le directory base&lt;br /&gt;
 coreutils             ---&amp;gt;    Programmi utilizzati dagli script '''doisnt.sh'''&lt;br /&gt;
 glibc-solibs          ---&amp;gt;    La libreria glibc, usata da molti eseguibili (tra cui '''init''')&lt;br /&gt;
 glibc-zoneinfo        ---&amp;gt;    Contiene lo script '''timeconfig''' che verrà usato in seguito&lt;br /&gt;
 dialog                ---&amp;gt;    Usato per visualizzare i box dei dialoghi da altri programmi (tra cui '''timeconfig''')&lt;br /&gt;
 bash                  ---&amp;gt;    La shell&lt;br /&gt;
 etc                   ---&amp;gt;    File di configurazione dei programmi utilizzati&lt;br /&gt;
 util-linux            ---&amp;gt;    Contiene, tra l'altro, il programma '''mount'''&lt;br /&gt;
 sysvinit              ---&amp;gt;    Contiene il programma '''init'''&lt;br /&gt;
 sysvinit-scripts      ---&amp;gt;    I famosi script '''rc.d''' della Slackware, invocati da '''init'''&lt;br /&gt;
 module-init-tools     ---&amp;gt;    '''modprobe''' e altri programmi per gestire i moduli&lt;br /&gt;
 e2fsprogs             ---&amp;gt;    Comandi per i filesystem ext2/3&lt;br /&gt;
 devs                  ---&amp;gt;    I device, senza di questi....&lt;br /&gt;
 findutils             ---&amp;gt;    '''find''', usato dagli script di inizializzazione&lt;br /&gt;
 aaa_elflibs           ---&amp;gt;    Libreria libtermcap per i terminali&lt;br /&gt;
 aaa_terminfo          ---&amp;gt;    File di informazione sui terminali usati dalla libreria libtermcap&lt;br /&gt;
 shadow                ---&amp;gt;    Contiene, tra l'altro, i programmi '''login''' e '''sulogin'''&lt;br /&gt;
 grep                  ---&amp;gt;    '''grep''', usato dagli script di inizializzazione&lt;br /&gt;
 procps                ---&amp;gt;    '''ps''', usato dagli script di inizializzazione&lt;br /&gt;
 kernel-huge           ---&amp;gt;    Il kernel...&lt;br /&gt;
 kernel-modules        ---&amp;gt;    ... i suoi moduli&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partire da slackware 13.1 è necessario anche il seguente pacchetto&lt;br /&gt;
 v4l-utils             ---&amp;gt;    Librerie necessarie ai programmi di sistema (ad es: '''mount''')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** FINE NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per installare questi pacchetti si deve eseguire '''installpkg''' con l'opzione -root ''/mnt/memory'', ad esempio:&lt;br /&gt;
 # installpkg -root /mnt/memory aaa_base-12.0.0-noarch-1.tgz&lt;br /&gt;
&lt;br /&gt;
==Una facile configurazione==&lt;br /&gt;
Come per la domanda 'Quali pacchetti si devono installare?', così la risposta alla domanda 'Cosa si deve configurare?' dipende sempre dall'amministratore del sistema e da cosa esso intenda far eseguire all'avvio della macchina.&amp;lt;BR&amp;gt;&lt;br /&gt;
Nel wiki si intende lasciare intatti gli script di inizializzazione fatti da Patrick J. Volkerding, creatore della Slackware, e quindi si procederà nella minima configurazione necessaria proprio a questi script di inizializzazione.&lt;br /&gt;
&lt;br /&gt;
===/etc/fstab===&lt;br /&gt;
Si comincia con il creare il file ''/etc/fstab'' come segue:&lt;br /&gt;
 # echo -e &amp;quot;LABEL=minislack\t\t/\text3\trw\t1 1&amp;quot; &amp;gt; /mnt/memory/etc/fstab&lt;br /&gt;
&lt;br /&gt;
===/etc/hardwareclock===&lt;br /&gt;
Un altro file richiesto dagli script di inizializzazione della Slackware è il file ''/etc/hardwareclock'' che indica come è impostato l'orologio hardware. In effetti questo file non contiene granché, ma viene consigliato di editarlo/crearlo tramite lo script '''/usr/sbin/timeconfig''', quindi bisogna eseguire lo script spostandogli la directory root, in questo modo:&lt;br /&gt;
 # cd /mnt/memory&lt;br /&gt;
 # chroot . usr/sbin/timeconfig&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 3: impostare il boot loader e testare il tutto=&lt;br /&gt;
L'ultima cosa da fare è quella di rendere la pennina &amp;quot;bootabile&amp;quot;, ovvero di inserire nel suo primo settore, il famoso settore di boot. Per fare questo basta creare un file ''lilo.conf'' ad-hoc, e poi lanciare LILO passandogli il file appena creato.&amp;lt;BR&amp;gt;&lt;br /&gt;
Si crei quindi il file, ad esempio ''/mnt/memory/etc/lilo.conf'', direttamente sulla pennina in modo che rimanga con essa, con all'interno quanto segue:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
boot = /dev/sda&lt;br /&gt;
backup = &amp;quot;&amp;quot;&lt;br /&gt;
map=/mnt/memory/boot/map&lt;br /&gt;
&lt;br /&gt;
compact&lt;br /&gt;
lba32&lt;br /&gt;
large-memory&lt;br /&gt;
&lt;br /&gt;
image = /mnt/memory/boot/vmlinuz&lt;br /&gt;
  initrd = /mnt/memory/boot/initrd.gz&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si noti l'opzione 'initrd', con la quale si indica al kernel che deve usare l'initrd creato nella 'Fase 1'. Ora non resta quindi che lanciare LILO come segue:&lt;br /&gt;
 # lilo -C /mnt/memory/etc/lilo.conf&lt;br /&gt;
e riavviare il PC facendogli fare il boot dalla pennina USB.&amp;lt;BR&amp;gt;&lt;br /&gt;
Con la configurazione minimale che si è fatta nella 'Fase 2', basta, al momento del login, inserire l'username di 'root' per avere una shell con tutti i privilegi del super-utente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Esempi d'uso=&lt;br /&gt;
Una volta che si ha una pennina USB &amp;quot;bootabile&amp;quot;, con all'interno un intera distribuzione, serve solo la fantasia per farci quello che ci pare.&amp;lt;BR&amp;gt;&lt;br /&gt;
Esempi d'uso potrebbero essere quello di crearsi una distribuzione adatta alla lettura di contenuti multimediali, in questo modo basta trovare un PC per vedere un DVD o ascoltare della musica, senza preoccuparsi che il PC sia dotato di tutti i programmi o codec adatti.&lt;br /&gt;
&lt;br /&gt;
Un altro esempio è che si ha sempre a portata di mano un &amp;quot;disco di ripristino&amp;quot;. Se la distribuzione installata sul PC non dovesse partire perché ci si è divertiti un po' troppo con i file di configurazione, si può sempre fare il boot del PC con la pennina e provvedere a rimediare agli eventuali danni che si è combinati.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Appendice=&lt;br /&gt;
==A: altri pacchetti utili==&lt;br /&gt;
Se si vuole rendere la distribuzione che si è installata sulla pennina un po' più indipendente, bisogna essere in grado di manipolare i pacchetti della Slackware, non solo, ma sarebbe anche carino poter utilizzare tutta una serie di comandi utili ad un sistemista. Quindi, oltre all'insieme minimo di pacchetti menzionati nella sezione&lt;br /&gt;
'[[#I_pacchetti_da_installare|I pacchetti da installare]]', qui di seguito c'è un elenco dei pacchetti che rendono la distribuzione sulla pennina, più user-friendly:&lt;br /&gt;
 a/pkgtools           ---&amp;gt;    Per gestire i pacchetti della Slackware&lt;br /&gt;
 a/bin                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/sed                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/gzip               ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/tar                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/xz                 ---&amp;gt;    Usato dagli script di pkgtools per il nuovo formato '.txz' della Slackware 13&lt;br /&gt;
&lt;br /&gt;
 ap/man               ---&amp;gt;    Il comando man più tornare molto utile&lt;br /&gt;
 ap/man-pages         ---&amp;gt;    Le pagine di manuale di molti comandi&lt;br /&gt;
 ap/groff             ---&amp;gt;    Il formattatore usato da man&lt;br /&gt;
 a/cxxlibs            ---&amp;gt;    Libreria c++ standard usata da groff&lt;br /&gt;
 a/less               ---&amp;gt;    Il comando che man usa per visualizzare le pagine di manuale&lt;br /&gt;
&lt;br /&gt;
 a/udev               ---&amp;gt;    Utile se si vogliono usare driver che necessitano di firmware&lt;br /&gt;
&lt;br /&gt;
 ap/nano              ---&amp;gt;    Il famoso e semplice editor di testo&lt;br /&gt;
&lt;br /&gt;
 a/bzip2              ---&amp;gt;    Sempre più spesso si trovano archivi bzip&lt;br /&gt;
&lt;br /&gt;
 a/reiserfsprogs      ---&amp;gt;    Per gestire il famoso file system reiser&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ringraziamenti=&lt;br /&gt;
Ringrazio ZeroUno per i suoi consigli e le sue prove.&lt;br /&gt;
&lt;br /&gt;
Note per slackware 13.1 a cura di [[Utente:Ansa89|Ansa89]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per qualsiasi cosa scrivetemi pure:&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Utente:Spina|spina]]&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Utente:Ansa89</id>
		<title>Utente:Ansa89</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Utente:Ansa89"/>
				<updated>2010-06-30T20:13:09Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: Nuova pagina: Ansa89 &amp;lt;ansa89@slacky.it&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ansa89 &amp;lt;ansa89@slacky.it&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Slackware_su_pennina_USB</id>
		<title>Slackware su pennina USB</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Slackware_su_pennina_USB"/>
				<updated>2010-06-30T20:11:52Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Ringraziamenti */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Per www.slacky.eu --&amp;gt;&lt;br /&gt;
[[Category:Install_e_Upgrade]]&lt;br /&gt;
=Introduzione=&lt;br /&gt;
Questo wiki vuole essere una guida, il più completa possibile, sui passi da fare per crearsi un propria distribuzione Slackware su un dispositivo di archiviazione di massa USB (che da ora in poi chiameremo più semplicemente, pennina).&amp;lt;BR&amp;gt;&lt;br /&gt;
Affronteremo tutti i vari passaggi strettamente necessari a far partire un kernel installato sulla pennina ed a creare/configurare la distribuzione Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Ovviamente, benché pensata e testata sulla Slackware, la teoria che acquisiremo alla fine di questo wiki sarà tale da permetterci di installare una qualsivoglia distribuzione, la differenza sarà solo sugli strumenti che useremo.&lt;br /&gt;
&lt;br /&gt;
Tutti o quasi tutti i comandi che eseguiremo durante il wiki devono poter godere dei diritti dall'utente root, e per questo saranno caratterizzati dal carattere iniziale '#' che è tipico della shell del super-utente.&lt;br /&gt;
&lt;br /&gt;
I path e i comandi verranno evidenziati rispettivamente dallo stile corsivo e dal font grassetto in questo modo:&lt;br /&gt;
* ''/questo/è/un/path''&lt;br /&gt;
* '''questo è un comando'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Perché installare la distribuzione su una pennina?=&lt;br /&gt;
Alcuni esempi d'uso verranno esposti alla fine del wiki, ma facciamo comunque alcune considerazioni importanti.&amp;lt;BR&amp;gt;&lt;br /&gt;
Questa guida è rivolta a tutti coloro che sono curiosi, affamati di conoscenza, che usano il PC non solo come strumento di lavoro, ma anche con la voglia di portare alla luce ciò che sembra arcano. Lo scopo del wiki non è la creazione della distribuzione tascabile, bensì la divulgazione della conoscenza, è importante che il lettore tenga presente questo concetto, perché è quello che ci preme rimanga più a lungo nella mente di chi legge questo wiki.&amp;lt;BR&amp;gt;&lt;br /&gt;
Oltre ad avere una pennina da portare nei negozi di informatica per testare i PC che solitamente hanno installato solo lo scadente Windows, acquisiremo una conoscenza più o meno approfondita di tutti i programmi necessari all'avvio di una distribuzione GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Software usato=&lt;br /&gt;
Gli strumenti software che sono stati usati per testare questo wiki sono:&lt;br /&gt;
* Slackware 12 (sebbene alcuni utenti l'abbiano testato con successo anche sulla 13)&lt;br /&gt;
* kernel huge, presente nella directory della serie ''a/'' della Slackware&lt;br /&gt;
* comandi linux che verranno citati man mano, tutti comunque presenti nella distribuzione Slackware&lt;br /&gt;
L'elenco sopra citato è da tenere a mente sia perché citeremo nomi di pacchetti Slackware, sia perché il kernel huge fornisce un sopporto tale che alcuni problemi che si potrebbero incontrare verranno solo citati, in quanto risolti grazie alla sua configurazione statica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 0: preparazione della pennina=&lt;br /&gt;
Noi installeremo la distribuzione Slackware direttamente sulla pennina, iniziamo allora preparando proprio il nostro supporto di archiviazione di massa USB.&amp;lt;BR&amp;gt;&lt;br /&gt;
L'unica cosa di cui abbiamo bisogno e di installarci dentro un file system ext3. Le pennine USB, proprio come gli hard disk, possono essere partizionate, supponiamo quindi che sulla pennina ci sia un unica partizione e che questa venga collegata dal kernel al device ''/dev/sda1''. Installiamoci dentro un file system ext3 con il seguente comando:&lt;br /&gt;
 # mkfs.ext3 -L minislack /dev/sda1&lt;br /&gt;
bene, quella che abbiamo appena creato sarà la directory radice della nostra distribuzione.&lt;br /&gt;
&lt;br /&gt;
'''ATTENZIONE:''' tutti i file sulla pennina saranno ovviamente persi dopo l'esecuzione del comando '''mkfs.ext3''', quindi facciamo in modo che la pennina sia vuota prima di lanciare il comando.&lt;br /&gt;
&lt;br /&gt;
'''Nota:''' si noti l'uso dell'opzione -L per impostare un etichetta al file system appena creato, vedremo dopo a cosa ci servirà. L'etichetta del file system la si può impostare/modificare anche successivamente attraverso l'uso del comando '''e2label'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 1: creazione dell'initrd=&lt;br /&gt;
Più in là nel wiki, vedremo come far caricare il kernel di linux installato su una pennina, qui invece ci apprestiamo ad affrontare un problema inerente proprio al fatto che la distribuzione si trova su una periferica USB.&lt;br /&gt;
&lt;br /&gt;
==Perché dobbiamo creare un initrd?==&lt;br /&gt;
Una volta caricato il kernel, esso si preoccupa di attivare tutti i driver che sono stati compilati in maniera statica al suo interno. L'attivazione avviene in maniera parallela, il kernel cioè non attiva un driver, aspetta che esso abbia finito di inizializzarsi e poi ne attiva un altro, ma li attiva tutti quanti &amp;quot;contemporaneamente&amp;quot;. Dopo questa fase di inizializzazione dei driver il kernel deve montare quella che è la root directory (o directory radice) della distribuzione, la famosa directory ''/''. Una volta montata la directory radice, esegue quello che sarà l'unico processo avviato direttamente dal kernel (che in generale è il processo '''/sbin/init''').&lt;br /&gt;
* Ma i driver (o controller) USB potrebbero non essere stati compilati in maniera statica nel kernel, e senza i driver il kernel non si accorge neanche della presenza della pennina, come possiamo risolvere questo problema?&lt;br /&gt;
* Non solo, ma anche ammesso che il kernel abbia i driver compilati in maniera statica, questi devono avere il tempo di accorgersi che al PC è collegata una pennina USB, come si può dire al kernel di aspettare visto che i driver sono attivati in maniera parallela?&lt;br /&gt;
* Ancora, come facciamo a sapere su quale device si verrà a trovare la directory radice? Il driver USB collegherà la pennina al device sda o sdb, oppure ad un altro?&lt;br /&gt;
* E infine, la directory radice che abbiamo creato sulla pennina usa il file system ext3, il kernel per poter riconoscere e di conseguenza usare questo file system ha bisogno del driver, e se questo driver non è compilato in maniera statica?&lt;br /&gt;
&lt;br /&gt;
Per tutti questi problemi esiste una soluzione unica, l'initrd. L'initrd fondamentalmente non è altro che una mini distribuzione la cui directory radice viene montata in ram, più precisamente collegata al device ''/dev/ram0'', con un programma o uno script (che si deve chiamare '''init''' o '''linuxrc''') che viene avviato dal kernel (il quale deve essere compilato con il supporto all'initrd) subito dopo aver inizializzato i driver. Il kernel in pratica non si occupa più di montare la root directory e di lanciare il processo '''/sbin/init''', ma semplicemente lancia il comando (o script) '''init''' che è nell'initrd e delega a lui tutto il resto.&amp;lt;BR&amp;gt;&lt;br /&gt;
Questo semplice meccanismo ci permette in pratica di creare uno script per risolvere tutti i problemi sopra citati.&lt;br /&gt;
&lt;br /&gt;
'''Nota:''' Quando il kernel carica in memoria l'initrd e lancia il programma (o lo script) init, la root directory della nostra distribuzione non è ancora montata! Quindi la distribuzione non esiste, e con lei non esistono tutti i programmi usuali che uno pensa di usare nell'initrd. Se si vuole usare un programma, lo si deve copiare nell'ambiente dell'initrd e si devono copiare anche tutte quelle librerie condivise di cui il programma necessita.&lt;br /&gt;
&lt;br /&gt;
==Initrd come archivio cpio==&lt;br /&gt;
Uno dei modi più semplici per creare un initrd è quello di inserire tutto il necessario in una directory vuota (programmi che si voglio usare nell'initrd, librerie di cui necessitano questi programmi, eventuali moduli del kernel, etc...etc...) e poi di creare un archivio cpio, magari compresso con gzip, di questa directory. Il kernel sarà poi in grado di decomprimere (se era compresso) l'archivio e di estrarne il contenuto.&amp;lt;BR&amp;gt;&lt;br /&gt;
Creiamoci allora una directory vuota ed entriamoci dentro con:&lt;br /&gt;
 # mkdir /tmp/initrd&lt;br /&gt;
 # cd /tmp/initrd&lt;br /&gt;
&lt;br /&gt;
==Il pacchetto mkinitrd e la busybox==&lt;br /&gt;
Il pacchetto mkinitrd della Slackware (che si trova nella directory ''a/'') contiene lo script omonimo '''mkinitrd''', che generalmente viene usato da coloro che necessitano di un initrd e non vogliono (o non hanno le competenze adatte a) crearsene uno a mano.&amp;lt;BR&amp;gt;&lt;br /&gt;
Noi useremo il pacchetto, che quindi deve essere installato, non per lanciare l''''mkinitrd''' ma per prelevare il programma '''busybox''' che è al suo interno. Busybox è un programma che si può comportare in maniera diversa a seconda di come lo si invoca, se noi infatti creiamo un link simbolico chiamato mount a '''busybox''', allora questo si comporterà come '''mount'''. L'elenco di tutti i programmi che è in grado di simulare lo si può ottenere lanciando '''busybox''' senza parametri.&lt;br /&gt;
&lt;br /&gt;
Il pacchetto mkinitrd ha la '''busybox''' inserita all'interno di un archivio tar.gz il cui path completo è:&lt;br /&gt;
 ''/usr/share/mkinitrd/initrd-tree.tar.gz''&lt;br /&gt;
preleviamo la busybox con:&lt;br /&gt;
 # tar -C /tmp/initrd -zxf /usr/share/mkinitrd/initrd-tree.tar.gz './bin/busybox'&lt;br /&gt;
a questo punto la nostra directory ''/tmp/initrd'' avrà questa struttura:&lt;br /&gt;
 # tree /tmp/initrd&lt;br /&gt;
 /tmp/initrd&lt;br /&gt;
 `-- bin&lt;br /&gt;
     `-- busybox&lt;br /&gt;
&lt;br /&gt;
==Creiamo lo script init==&lt;br /&gt;
Ora dobbiamo creare lo script '''init''', ovvero lo script che verrà eseguito dal kernel dopo l'inizializzazione dei driver e che è incaricato di risolvere i problemi su citati, cioè:&lt;br /&gt;
* caricare eventualmente i moduli del kernel per i controller USB e per il file system ext3&lt;br /&gt;
* dare il tempo ai controller USB di rilevare la pennina e montare, dopo averla scovata, la root directory&lt;br /&gt;
* eseguire il vero processo init della distribuzione&lt;br /&gt;
&lt;br /&gt;
Prima di cimentarci nella risoluzione di questi problemi dobbiamo notare che '''init''', per come lo vogliamo utilizzare noi, è uno script, e in quanto tale ha bisogno di un interprete, la '''busybox''' può fare questo per noi visto che al suo interno ha anche una piccola shell. Andiamo nella directory ''/tmp/initrd/bin'' e creiamo un link simbolico a '''busybox''' in questo modo:&lt;br /&gt;
 # ln -s busybox ash&lt;br /&gt;
e quindi con un qualsiasi editor di testo creiamo il file ''/tmp/initrd/init'' e mettiamoci come prima riga:&lt;br /&gt;
 #!/bin/ash&lt;br /&gt;
&lt;br /&gt;
===Caricare i moduli del kernel necessari al rilevamento della periferica USB e del file system ext3===&lt;br /&gt;
Il kernel huge è compilato con il supporto sia alle periferiche USB, sia al file system ext3 in maniera statica, e quindi ci permette di superare in maniera trasparente questo problema.&amp;lt;BR&amp;gt;&lt;br /&gt;
Si fa notare che il fatto di avere il supporto compilato in maniera statica nel kernel è un fattore da non sottovalutare. Infatti l'ambiente dell'initrd dovrebbe essere il più generale possibile, se spettasse all'initrd (e quindi allo script '''init''') caricare qualche modulo del kernel, allora l'initrd non sarebbe più indipendente, ma al suo interno dovrebbe avere i moduli compilati per il kernel specifico che lo ha eseguito.&lt;br /&gt;
&lt;br /&gt;
===Dare il tempo ai controller USB di rilevare la pennina e montaggio della root directory===&lt;br /&gt;
Abbiamo installato sulla nostra pennina USB un file system del tipo ext3 che abbiamo anche etichettato con il nome di 'minislack'. Bene, grazie alla capacità del comando '''mount''' di utilizzare il nome di etichetta per identificare un file system, il problema può essere risolto semplicemente mettendo nello script '''init''' quanto segue:&lt;br /&gt;
 mount -n proc -t proc /proc&lt;br /&gt;
 while ! mount -n -r -L minislack /mnt 2&amp;gt; /dev/null;&lt;br /&gt;
  do&lt;br /&gt;
    sleep 1&lt;br /&gt;
  done&lt;br /&gt;
 umount -n /proc&lt;br /&gt;
Il &amp;quot;montaggio&amp;quot; del file system proc è necessario in quanto il comando '''mount''' fa uso di questo file system per scovare l'etichetta 'minislack'.&amp;lt;BR&amp;gt;&lt;br /&gt;
Il ciclo '''while''' con lo '''sleep''' non fa altro che dare il tempo necessario ai driver USB del kernel di rilevare la pennina.&lt;br /&gt;
Quindi la nostra root directory, o meglio il file system che noi abbiamo etichettato come 'minislack' sarà montato nella directory ''/mnt'' a prescindere dal device a cui il driver USB (e più precisamente il modulo che gestisce le periferiche di archiviazione di massa USB, l'usb_storage) lo ha collegato.&lt;br /&gt;
&lt;br /&gt;
Nelle sei righe di codice precedenti abbiamo:&lt;br /&gt;
* usato il comando mount&lt;br /&gt;
* caricato il file system proc nella directory /proc&lt;br /&gt;
* usato il device null per ridirigere lo standard error del comando mount&lt;br /&gt;
* usato il comando sleep per far attendere alla shell 1 secondo&lt;br /&gt;
* montato la root directory in /mnt&lt;br /&gt;
* utilizzato il comando umount&lt;br /&gt;
per quanto potevano sembrare innocenti, quelle sei righe implicano:&lt;br /&gt;
* che il kernel al momento dell'esecuzione di queste righe, abbia il supporto al procfs e al tipo di file system della root directory che montiamo su ''/mnt'' (nel nostro caso il kernel huge ce li ha entrambi in maniera statica)&lt;br /&gt;
* che esistano i programmi mount, umount e sleep&lt;br /&gt;
* che esistano il device ''/dev/null'' e quello al quale sarà collegata la pennina USB (è vero che mount può scovare il device grazie all'etichetta del suo file system, ma è altrettanto vero che poi '''mount''' dovrà montare questo device)&lt;br /&gt;
* che esistano le directory ''/proc'' e ''/mnt''&lt;br /&gt;
&lt;br /&gt;
La '''busybox''' può comportarsi come '''mount''' semplicemente facendo un link simbolico ad essa chiamato appunto ''mount'', il problema è che quello fornito dalla '''busybox''' non è in grado di scovare le etichette dei file system (non riconosce il flag -L). Abbiamo necessariamente bisogno del comando '''mount''' del pacchetto util-linux contenuto&lt;br /&gt;
sempre nella directory della serie ''a/'' della Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Copiamo quindi il comando '''mount''' come segue:&lt;br /&gt;
 # cp -p /bin/mount /tmp/initrd/bin&lt;br /&gt;
ora però dobbiamo copiare anche le librerie condivise di cui necessita. Vediamo quali sono lanciando:&lt;br /&gt;
 # ldd /bin/mount&lt;br /&gt;
        linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
        libblkid.so.1 =&amp;gt; /lib/libblkid.so.1 (0xb7f80000)&lt;br /&gt;
        libuuid.so.1 =&amp;gt; /lib/libuuid.so.1 (0xb7f7d000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0xb7e4e000)&lt;br /&gt;
        /lib/ld-linux.so.2 (0x80000000)&lt;br /&gt;
&lt;br /&gt;
Creiamoci la directory ''lib'' all'interno del nostro initrd con:&lt;br /&gt;
 # mkdir /tmp/initrd/lib&lt;br /&gt;
e copiamoci dentro le librerie condivise con:&lt;br /&gt;
 # cp -p /lib/libblkid.so.1 /lib/libuuid.so.1 /lib/libc.so.6 /lib/ld-linux.so.2 /tmp/initrd/lib&lt;br /&gt;
Si noti che i file originali probabilmente sono link simbolici, ma il comando '''cp''' copierà il file al quale puntano e non il link.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partire dalla slackware 13.1 il comando '''mount''' necessita di altre librerie:&lt;br /&gt;
 # ldd /bin/mount&lt;br /&gt;
        linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
        /usr/lib/libv4l/v4l1compat.so (0xb7838000)&lt;br /&gt;
        /usr/lib/libv4l/v4l2convert.so (0xb7836000)&lt;br /&gt;
        libblkid.so.1 =&amp;gt; /lib/libblkid.so.1 (0xb77eb000)&lt;br /&gt;
        libuuid.so.1 =&amp;gt; /lib/libuuid.so.1 (0xb77e7000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0xb7683000)&lt;br /&gt;
        libv4l1.so.0 =&amp;gt; /usr/lib/libv4l1.so.0 (0xb767e000)&lt;br /&gt;
        libv4l2.so.0 =&amp;gt; /usr/lib/libv4l2.so.0 (0xb7674000)&lt;br /&gt;
        /lib/ld-linux.so.2 (0xb783b000)&lt;br /&gt;
        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0xb765b000)&lt;br /&gt;
        libv4lconvert.so.0 =&amp;gt; /usr/lib/libv4lconvert.so.0 (0xb75ef000)&lt;br /&gt;
        librt.so.1 =&amp;gt; /lib/librt.so.1 (0xb75e5000)&lt;br /&gt;
        libm.so.6 =&amp;gt; /lib/libm.so.6 (0xb75bf000)&lt;br /&gt;
&lt;br /&gt;
Quindi sarà necessario copiare anche le nuove librerie:&lt;br /&gt;
 # cp -p /usr/lib/libv4l/v4l1compat.so /usr/lib/libv4l/v4l2convert.so /usr/lib/libv4l1.so.0 /usr/lib/libv4l2.so.0 /tmp/initrd/lib&lt;br /&gt;
 # cp -p /lib/libpthread.so.0 /usr/lib/libv4lconvert.so.0 /lib/librt.so.1 /lib/libm.so.6 /tmp/initrd/lib&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** FINE NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per il comando '''umount''' e '''sleep''' invece possiamo tranquillamente usare quelli della '''busybox''', quindi andiamo nella directory ''/tmp/initrd/bin'' e facciamo:&lt;br /&gt;
 # ln -s busybox umount&lt;br /&gt;
 # ln -s busybox sleep&lt;br /&gt;
&lt;br /&gt;
Il programma '''mount''' l'abbiamo utilizzato passandogli anche il flag -n, dicendogli quindi di non scrivere quello che sarà il file ''/etc/mtab'', benché esso non lo scriva, vuole comunque leggerlo per controllare se il file system che si sta tentando di montare non sia già stato montato. Dobbiamo quindi creare il file vuoto ''/tmp/initrd/etc/mtab'':&lt;br /&gt;
 # mkdir /tmp/initrd/etc&lt;br /&gt;
 # touch /tmp/initrd/etc/mtab&lt;br /&gt;
&lt;br /&gt;
Proseguiamo quindi con la creazione del device null e dei possibili device a cui sarà collegata la pennina USB. In generale la pennina USB viene vista come una periferica SCSI disk e quindi sarà attaccata ad un device del tipo ''/dev/sdXY'' dove X varia a seconda di quante periferiche di archiviazione rilevate come SCSI (ad esempio i dischi sata) sono state trovate prima della pennina, mentre Y rappresenta una qualsiasi partizione.&amp;lt;BR&amp;gt;&lt;br /&gt;
Se, ad esempio, un PC non ha nessun disco rilevato come SCSI e ci si inserisce una pennina con tre partizioni, queste tre partizioni saranno collegate rispettivamente ai device: sda1, sda2  e sda3.&lt;br /&gt;
&lt;br /&gt;
Y allora la possiamo ricavare facilmente, infatti all'inizio abbiamo supposto che la nostra pennina avesse solo una partizione e che essa (la partizione) venisse attaccata ad device ''/dev/sda1'', allora Y=1 e la pennina sarà sempre collegata ad un device dal nome ''/dev/sdX1''.&amp;lt;BR&amp;gt;&lt;br /&gt;
Quindi creiamoci la directory in cui inserire i device:&lt;br /&gt;
 # mkdir /tmp/initrd/dev&lt;br /&gt;
e copiamoci subito dentro il device ''/dev/null'' con:&lt;br /&gt;
 # cp -R /dev/null /tmp/initrd/dev&lt;br /&gt;
&lt;br /&gt;
Al momento attuale gli SCSI disk sono gestiti dal device driver con major number 8. Questo device driver è in grado di gestire sino a 15 partizioni per ogni disco, questo vuol dire che due device con X consecutive e con uguale Y hanno una distanza (in termini di minor number) pari a 16. Ad esempio il device sda avrà un minor number uguale a 0 laddove il device sdb avrà invece minor number uguale a 16, e così via.&lt;br /&gt;
&lt;br /&gt;
Possiamo allora creare i device con:&lt;br /&gt;
 # mknod /tmp/initrd/dev/sda1 b 8 1&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdb1 b 8 17&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdc1 b 8 33&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdd1 b 8 49&lt;br /&gt;
&lt;br /&gt;
Ora per rendere tutto coerente con quanto scritto sempre nelle sei innocenti righe di codice inserite nel file ''init'', non ci resta che creare due directory vuote nelle quali verranno montati i file system proc e quello contenente la nostra directory radice.&lt;br /&gt;
 # mkdir /tmp/initrd/proc /tmp/initrd/mnt&lt;br /&gt;
&lt;br /&gt;
===Eseguire il vero processo init===&lt;br /&gt;
L'ultimo passo che deve eseguire lo script '''init''' dell'initrd è quello di lanciare il vero processo '''init''' situato nella directory radice della distribuzione e poi liberare la memoria allocata.&amp;lt;BR&amp;gt;&lt;br /&gt;
I passi teorici da eseguire sono:&lt;br /&gt;
* spostare la directory radice dell'initrd sulla directory radice della distribuzione&lt;br /&gt;
* smontare l'initrd&lt;br /&gt;
* deallocare la memoria allocata dal kernel per l'initrd&lt;br /&gt;
* eseguire il vero processo '''init'''&lt;br /&gt;
Che poi praticamente, dato che per ognuno dei passi precedenti esiste uno specifico programma che lo esegue, diventa:&lt;br /&gt;
* cd /mnt; mkdir initrd; pivot_root . initrd&lt;br /&gt;
* umount /initrd&lt;br /&gt;
* blockdev --flushbufs /dev/ram0&lt;br /&gt;
* exec chroot . /sbin/init $@&lt;br /&gt;
&lt;br /&gt;
Il comando '''pivot_root''' ultimamente sembra non comportarsi bene nell'ambiente dell'initrd. Fortunatamente la '''busybox''' ha al suo interno un programma che dovrebbe eseguire tutti i passi precedenti, il comando si chiama '''switch_root ''' e come al solito quindi basta fare un link simbolico a '''busybox''' entrando in ''/tmp/initrd/bin''&lt;br /&gt;
ed eseguendo:&lt;br /&gt;
 # ln -s busybox switch_root&lt;br /&gt;
&lt;br /&gt;
Ora non resta che inserire nello script init quanto segue:&lt;br /&gt;
 exec switch_root /mnt /sbin/init $@&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' si noti il passaggio a '''/sbin/init''' dei parametri $@, questi sono i parametri che il kernel non ha riconosciuto nella sua riga di comando (quella passatagli dal loader), e che quindi passa al comando che esegue.&lt;br /&gt;
&lt;br /&gt;
===Lo script init nella sua interezza===&lt;br /&gt;
Riassumendo, lo script ''/tmp/initrd/init'' è questo:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
#!/bin/ash&lt;br /&gt;
# Aspetto finché i driver USB non rilevano la pennina e monto la vera directory radice&lt;br /&gt;
mount -n proc /proc -t proc&lt;br /&gt;
while ! mount -n -r -L minislack /mnt 2&amp;gt; /dev/null;&lt;br /&gt;
 do&lt;br /&gt;
    sleep 1;&lt;br /&gt;
 done&lt;br /&gt;
umount /proc&lt;br /&gt;
&lt;br /&gt;
# Avvio il vero /sbin/init&lt;br /&gt;
exec switch_root /mnt /sbin/init $@&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
questo script deve essere eseguito dal kernel è quindi dobbiamo assicurarci che abbia i diritti di esecuzione:&lt;br /&gt;
 # chmod u+x /tmp/initrd/init&lt;br /&gt;
&lt;br /&gt;
==Creazione dell'archivio cpio compresso initrd.gz==&lt;br /&gt;
La directory ''/tmp/initrd'' ora dovrebbe essere così strutturata:&lt;br /&gt;
 # tree /tmp/initrd&lt;br /&gt;
   /tmp/initrd/&lt;br /&gt;
   |-- bin&lt;br /&gt;
   |   |-- ash -&amp;gt; busybox&lt;br /&gt;
   |   |-- busybox&lt;br /&gt;
   |   |-- mount&lt;br /&gt;
   |   |-- sleep -&amp;gt; busybox&lt;br /&gt;
   |   |-- switch_root -&amp;gt; busybox&lt;br /&gt;
   |   `-- umount -&amp;gt; busybox&lt;br /&gt;
   |-- dev&lt;br /&gt;
   |   |-- null&lt;br /&gt;
   |   |-- sda1&lt;br /&gt;
   |   |-- sdb1&lt;br /&gt;
   |   |-- sdc1&lt;br /&gt;
   |   `-- sdd1&lt;br /&gt;
   |-- etc&lt;br /&gt;
   |   `-- mtab&lt;br /&gt;
   |-- init&lt;br /&gt;
   |-- lib&lt;br /&gt;
   |   |-- ld-linux.so.2&lt;br /&gt;
   |   |-- libblkid.so.1&lt;br /&gt;
   |   |-- libc.so.6&lt;br /&gt;
   |   `-- libuuid.so.1&lt;br /&gt;
   |-- mnt&lt;br /&gt;
   `-- proc&lt;br /&gt;
 &lt;br /&gt;
 6 directories, 17 files&lt;br /&gt;
Non resta altro da fare che creare un archivio cpio di questa directory, comprimerla con il comando '''gzip''' e renderla disponibile al loader di linux.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partendo dal solito presupposto che la pennina sia collegata dal kernel al device sda1, la si monti ad esempio nella directory ''/mnt/memory'' con:&lt;br /&gt;
 # mount /dev/sda1 /mnt/memory&lt;br /&gt;
si crei poi una directory in cui inserire l'archivio cpio compresso che è l'initrd con:&lt;br /&gt;
 # mkdir /mnt/memory/boot&lt;br /&gt;
ed infine si crei l'archivio cpio compresso (il tanto sudato initrd):&lt;br /&gt;
 # cd /tmp/initrd&lt;br /&gt;
 # find . | cpio -o -H newc | gzip -9 -n &amp;gt; /mnt/memory/boot/initrd.gz&lt;br /&gt;
&lt;br /&gt;
Quando, più in là nel wiki, si configurerà il loader di linux, si vedrà come utilizzare questo file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 2: installazione della distribuzione sulla pennina=&lt;br /&gt;
Ora ci si occuperà di installare e configurare una serie minimale ma importantissima di pacchetti Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Ovviamente non ci sono limitazioni, se non quelle fisiche della pennina, al numero di pacchetti che il lettore può installare, ma per lo scopo di questo wiki è sufficiente installare i pacchetti essenziali a far partire la distribuzione.&amp;lt;BR&amp;gt;&lt;br /&gt;
I pacchetti che verranno installati si trovano tutti nella directory ''a/'' della Slackware, quindi, supponendo che il CD o DVD della Slackware sia stato montato nella directory ''/mnt/dvd/'', per prima cosa ci si deve spostare dentro questa directory con:&lt;br /&gt;
 # cd /mnt/dvd/slackware/a&lt;br /&gt;
&lt;br /&gt;
==Un piccolo accorgimento==&lt;br /&gt;
I pacchetti verranno installati sfruttando l'opzione -root dello script '''installpkg''', alcuni dei pacchetti hanno uno script aggiuntivo, il famoso '''doinst.sh''', che viene avviato dopo l'installazione del pacchetto. Gli script '''doinst.sh''' sono &amp;quot;chrootati&amp;quot; sulla pennina e devono poter eseguire comandi, quali ad esempio '''cd''', '''rm''' o&lt;br /&gt;
'''ln'''. Questo implica che:&lt;br /&gt;
* il programma che il '''doinst.sh''' vuole eseguire deve essere presente sulla pennina&lt;br /&gt;
* si abbiano i diritti di esecuzione sulla pennina&lt;br /&gt;
&lt;br /&gt;
La prima implicazione è risolta installando i pacchetti in un ordine ben preciso, facendo in modo di installare prima i pacchetti che contengono i programmi usuali usati dai '''doinst.sh'''.&lt;br /&gt;
&lt;br /&gt;
La seconda implicazione viene verificata se si esegue un piccolo accorgimento, ovvero smontare la pennina e rimontarla con l'opzione 'exec' del '''mount''', in questo modo:&lt;br /&gt;
 # umount /mnt/memory&lt;br /&gt;
 # mount -o exec -rw -t ext3 /dev/sda1 /mnt/memory&lt;br /&gt;
&lt;br /&gt;
==I pacchetti da installare==&lt;br /&gt;
La domanda è semplice, come si determinano i pacchetti che si devono installare?&amp;lt;BR&amp;gt;&lt;br /&gt;
La risposta non è altrettanto semplice, sicuramente ci sarà il programma ''/sbin/init'' per avere un collegamento all'initrd creato nella 'Fase 1', ma poi? Poi bisogna seguire l''''init''' e capire cosa esegue, in modo da fargli trovare i programmi che tenta di eseguire. Se è necessario, bisogna anche seguire i programmi che '''init''' esegue per capire cosa fanno e se hanno bisogno di altri programmi o file di configurazione.&amp;lt;BR&amp;gt;&lt;br /&gt;
In generale quindi, il primo file da analizzare è ''/etc/inittab'', file di configurazione di '''init''', ci si accorge quindi che '''init''' esegue una serie di script di inizializzazione, e quindi bisogna seguire questi script per capire cosa fanno.&lt;br /&gt;
&lt;br /&gt;
Per lo scopo di questo wiki il lavoro è stato già fatto dall'autore e quindi verranno segnalati solo i passi fondamentali da fare affinché la distribuzione possa partire.&lt;br /&gt;
&lt;br /&gt;
Qui si riporta l'elenco dei pacchetti che devono essere installati nell'ordine di seguito riportato (l'ordine è importante solo per i primi tre pacchetti). Accanto al nome del pacchetto vi è una piccola descrizione di cosa contiene:&lt;br /&gt;
 aaa_base              ---&amp;gt;    Crea tutte le directory base&lt;br /&gt;
 coreutils             ---&amp;gt;    Programmi utilizzati dagli script '''doisnt.sh'''&lt;br /&gt;
 glibc-solibs          ---&amp;gt;    La libreria glibc, usata da molti eseguibili (tra cui '''init''')&lt;br /&gt;
 glibc-zoneinfo        ---&amp;gt;    Contiene lo script '''timeconfig''' che verrà usato in seguito&lt;br /&gt;
 dialog                ---&amp;gt;    Usato per visualizzare i box dei dialoghi da altri programmi (tra cui '''timeconfig''')&lt;br /&gt;
 bash                  ---&amp;gt;    La shell&lt;br /&gt;
 etc                   ---&amp;gt;    File di configurazione dei programmi utilizzati&lt;br /&gt;
 util-linux            ---&amp;gt;    Contiene, tra l'altro, il programma '''mount'''&lt;br /&gt;
 sysvinit              ---&amp;gt;    Contiene il programma '''init'''&lt;br /&gt;
 sysvinit-scripts      ---&amp;gt;    I famosi script '''rc.d''' della Slackware, invocati da '''init'''&lt;br /&gt;
 module-init-tools     ---&amp;gt;    '''modprobe''' e altri programmi per gestire i moduli&lt;br /&gt;
 e2fsprogs             ---&amp;gt;    Comandi per i filesystem ext2/3&lt;br /&gt;
 devs                  ---&amp;gt;    I device, senza di questi....&lt;br /&gt;
 findutils             ---&amp;gt;    '''find''', usato dagli script di inizializzazione&lt;br /&gt;
 aaa_elflibs           ---&amp;gt;    Libreria libtermcap per i terminali&lt;br /&gt;
 aaa_terminfo          ---&amp;gt;    File di informazione sui terminali usati dalla libreria libtermcap&lt;br /&gt;
 shadow                ---&amp;gt;    Contiene, tra l'altro, i programmi '''login''' e '''sulogin'''&lt;br /&gt;
 grep                  ---&amp;gt;    '''grep''', usato dagli script di inizializzazione&lt;br /&gt;
 procps                ---&amp;gt;    '''ps''', usato dagli script di inizializzazione&lt;br /&gt;
 kernel-huge           ---&amp;gt;    Il kernel...&lt;br /&gt;
 kernel-modules        ---&amp;gt;    ... i suoi moduli&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partire da slackware 13.1 è necessario anche il seguente pacchetto&lt;br /&gt;
 v4l-utils             ---&amp;gt;    Librerie necessarie ai programmi di sistema (ad es: '''mount''')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** FINE NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per installare questi pacchetti si deve eseguire '''installpkg''' con l'opzione -root ''/mnt/memory'', ad esempio:&lt;br /&gt;
 # installpkg -root /mnt/memory aaa_base-12.0.0-noarch-1.tgz&lt;br /&gt;
&lt;br /&gt;
==Una facile configurazione==&lt;br /&gt;
Come per la domanda 'Quali pacchetti si devono installare?', così la risposta alla domanda 'Cosa si deve configurare?' dipende sempre dall'amministratore del sistema e da cosa esso intenda far eseguire all'avvio della macchina.&amp;lt;BR&amp;gt;&lt;br /&gt;
Nel wiki si intende lasciare intatti gli script di inizializzazione fatti da Patrick J. Volkerding, creatore della Slackware, e quindi si procederà nella minima configurazione necessaria proprio a questi script di inizializzazione.&lt;br /&gt;
&lt;br /&gt;
===/etc/fstab===&lt;br /&gt;
Si comincia con il creare il file ''/etc/fstab'' come segue:&lt;br /&gt;
 # echo -e &amp;quot;LABEL=minislack\t\t/\text3\trw\t1 1&amp;quot; &amp;gt; /mnt/memory/etc/fstab&lt;br /&gt;
&lt;br /&gt;
===/etc/hardwareclock===&lt;br /&gt;
Un altro file richiesto dagli script di inizializzazione della Slackware è il file ''/etc/hardwareclock'' che indica come è impostato l'orologio hardware. In effetti questo file non contiene granché, ma viene consigliato di editarlo/crearlo tramite lo script '''/usr/sbin/timeconfig''', quindi bisogna eseguire lo script spostandogli la directory root, in questo modo:&lt;br /&gt;
 # cd /mnt/memory&lt;br /&gt;
 # chroot . usr/sbin/timeconfig&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 3: impostare il boot loader e testare il tutto=&lt;br /&gt;
L'ultima cosa da fare è quella di rendere la pennina &amp;quot;bootabile&amp;quot;, ovvero di inserire nel suo primo settore, il famoso settore di boot. Per fare questo basta creare un file ''lilo.conf'' ad-hoc, e poi lanciare LILO passandogli il file appena creato.&amp;lt;BR&amp;gt;&lt;br /&gt;
Si crei quindi il file, ad esempio ''/mnt/memory/etc/lilo.conf'', direttamente sulla pennina in modo che rimanga con essa, con all'interno quanto segue:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
boot = /dev/sda&lt;br /&gt;
backup = &amp;quot;&amp;quot;&lt;br /&gt;
map=/mnt/memory/boot/map&lt;br /&gt;
&lt;br /&gt;
compact&lt;br /&gt;
lba32&lt;br /&gt;
large-memory&lt;br /&gt;
&lt;br /&gt;
image = /mnt/memory/boot/vmlinuz&lt;br /&gt;
  initrd = /mnt/memory/boot/initrd.gz&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si noti l'opzione 'initrd', con la quale si indica al kernel che deve usare l'initrd creato nella 'Fase 1'. Ora non resta quindi che lanciare LILO come segue:&lt;br /&gt;
 # lilo -C /mnt/memory/etc/lilo.conf&lt;br /&gt;
e riavviare il PC facendogli fare il boot dalla pennina USB.&amp;lt;BR&amp;gt;&lt;br /&gt;
Con la configurazione minimale che si è fatta nella 'Fase 2', basta, al momento del login, inserire l'username di 'root' per avere una shell con tutti i privilegi del super-utente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Esempi d'uso=&lt;br /&gt;
Una volta che si ha una pennina USB &amp;quot;bootabile&amp;quot;, con all'interno un intera distribuzione, serve solo la fantasia per farci quello che ci pare.&amp;lt;BR&amp;gt;&lt;br /&gt;
Esempi d'uso potrebbero essere quello di crearsi una distribuzione adatta alla lettura di contenuti multimediali, in questo modo basta trovare un PC per vedere un DVD o ascoltare della musica, senza preoccuparsi che il PC sia dotato di tutti i programmi o codec adatti.&lt;br /&gt;
&lt;br /&gt;
Un altro esempio è che si ha sempre a portata di mano un &amp;quot;disco di ripristino&amp;quot;. Se la distribuzione installata sul PC non dovesse partire perché ci si è divertiti un po' troppo con i file di configurazione, si può sempre fare il boot del PC con la pennina e provvedere a rimediare agli eventuali danni che si è combinati.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Appendice=&lt;br /&gt;
==A: altri pacchetti utili==&lt;br /&gt;
Se si vuole rendere la distribuzione che si è installata sulla pennina un po' più indipendente, bisogna essere in grado di manipolare i pacchetti della Slackware, non solo, ma sarebbe anche carino poter utilizzare tutta una serie di comandi utili ad un sistemista. Quindi, oltre all'insieme minimo di pacchetti menzionati nella sezione&lt;br /&gt;
'[[#I_pacchetti_da_installare|I pacchetti da installare]]', qui di seguito c'è un elenco dei pacchetti che rendono la distribuzione sulla pennina, più user-friendly:&lt;br /&gt;
 a/pkgtools           ---&amp;gt;    Per gestire i pacchetti della Slackware&lt;br /&gt;
 a/bin                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/sed                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/gzip               ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/tar                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/xz                 ---&amp;gt;    Usato dagli script di pkgtools per il nuovo formato '.txz' della Slackware 13&lt;br /&gt;
&lt;br /&gt;
 ap/man               ---&amp;gt;    Il comando man più tornare molto utile&lt;br /&gt;
 ap/man-pages         ---&amp;gt;    Le pagine di manuale di molti comandi&lt;br /&gt;
 ap/groff             ---&amp;gt;    Il formattatore usato da man&lt;br /&gt;
 a/cxxlibs            ---&amp;gt;    Libreria c++ standard usata da groff&lt;br /&gt;
 a/less               ---&amp;gt;    Il comando che man usa per visualizzare le pagine di manuale&lt;br /&gt;
&lt;br /&gt;
 a/udev               ---&amp;gt;    Utile se si vogliono usare driver che necessitano di firmware&lt;br /&gt;
&lt;br /&gt;
 ap/nano              ---&amp;gt;    Il famoso e semplice editor di testo&lt;br /&gt;
&lt;br /&gt;
 a/bzip2              ---&amp;gt;    Sempre più spesso si trovano archivi bzip&lt;br /&gt;
&lt;br /&gt;
 a/reiserfsprogs      ---&amp;gt;    Per gestire il famoso file system reiser&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ringraziamenti=&lt;br /&gt;
Ringrazio ZeroUno per i suoi consigli e le sue prove.&lt;br /&gt;
Note per slackware 13.1 a cura di [[Utente:Ansa89|Ansa89]].&lt;br /&gt;
&lt;br /&gt;
Per qualsiasi cosa scrivetemi pure:&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Utente:Spina|spina]]&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Slackware_su_pennina_USB</id>
		<title>Slackware su pennina USB</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Slackware_su_pennina_USB"/>
				<updated>2010-06-30T20:10:17Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* I pacchetti da installare */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Per www.slacky.eu --&amp;gt;&lt;br /&gt;
[[Category:Install_e_Upgrade]]&lt;br /&gt;
=Introduzione=&lt;br /&gt;
Questo wiki vuole essere una guida, il più completa possibile, sui passi da fare per crearsi un propria distribuzione Slackware su un dispositivo di archiviazione di massa USB (che da ora in poi chiameremo più semplicemente, pennina).&amp;lt;BR&amp;gt;&lt;br /&gt;
Affronteremo tutti i vari passaggi strettamente necessari a far partire un kernel installato sulla pennina ed a creare/configurare la distribuzione Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Ovviamente, benché pensata e testata sulla Slackware, la teoria che acquisiremo alla fine di questo wiki sarà tale da permetterci di installare una qualsivoglia distribuzione, la differenza sarà solo sugli strumenti che useremo.&lt;br /&gt;
&lt;br /&gt;
Tutti o quasi tutti i comandi che eseguiremo durante il wiki devono poter godere dei diritti dall'utente root, e per questo saranno caratterizzati dal carattere iniziale '#' che è tipico della shell del super-utente.&lt;br /&gt;
&lt;br /&gt;
I path e i comandi verranno evidenziati rispettivamente dallo stile corsivo e dal font grassetto in questo modo:&lt;br /&gt;
* ''/questo/è/un/path''&lt;br /&gt;
* '''questo è un comando'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Perché installare la distribuzione su una pennina?=&lt;br /&gt;
Alcuni esempi d'uso verranno esposti alla fine del wiki, ma facciamo comunque alcune considerazioni importanti.&amp;lt;BR&amp;gt;&lt;br /&gt;
Questa guida è rivolta a tutti coloro che sono curiosi, affamati di conoscenza, che usano il PC non solo come strumento di lavoro, ma anche con la voglia di portare alla luce ciò che sembra arcano. Lo scopo del wiki non è la creazione della distribuzione tascabile, bensì la divulgazione della conoscenza, è importante che il lettore tenga presente questo concetto, perché è quello che ci preme rimanga più a lungo nella mente di chi legge questo wiki.&amp;lt;BR&amp;gt;&lt;br /&gt;
Oltre ad avere una pennina da portare nei negozi di informatica per testare i PC che solitamente hanno installato solo lo scadente Windows, acquisiremo una conoscenza più o meno approfondita di tutti i programmi necessari all'avvio di una distribuzione GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Software usato=&lt;br /&gt;
Gli strumenti software che sono stati usati per testare questo wiki sono:&lt;br /&gt;
* Slackware 12 (sebbene alcuni utenti l'abbiano testato con successo anche sulla 13)&lt;br /&gt;
* kernel huge, presente nella directory della serie ''a/'' della Slackware&lt;br /&gt;
* comandi linux che verranno citati man mano, tutti comunque presenti nella distribuzione Slackware&lt;br /&gt;
L'elenco sopra citato è da tenere a mente sia perché citeremo nomi di pacchetti Slackware, sia perché il kernel huge fornisce un sopporto tale che alcuni problemi che si potrebbero incontrare verranno solo citati, in quanto risolti grazie alla sua configurazione statica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 0: preparazione della pennina=&lt;br /&gt;
Noi installeremo la distribuzione Slackware direttamente sulla pennina, iniziamo allora preparando proprio il nostro supporto di archiviazione di massa USB.&amp;lt;BR&amp;gt;&lt;br /&gt;
L'unica cosa di cui abbiamo bisogno e di installarci dentro un file system ext3. Le pennine USB, proprio come gli hard disk, possono essere partizionate, supponiamo quindi che sulla pennina ci sia un unica partizione e che questa venga collegata dal kernel al device ''/dev/sda1''. Installiamoci dentro un file system ext3 con il seguente comando:&lt;br /&gt;
 # mkfs.ext3 -L minislack /dev/sda1&lt;br /&gt;
bene, quella che abbiamo appena creato sarà la directory radice della nostra distribuzione.&lt;br /&gt;
&lt;br /&gt;
'''ATTENZIONE:''' tutti i file sulla pennina saranno ovviamente persi dopo l'esecuzione del comando '''mkfs.ext3''', quindi facciamo in modo che la pennina sia vuota prima di lanciare il comando.&lt;br /&gt;
&lt;br /&gt;
'''Nota:''' si noti l'uso dell'opzione -L per impostare un etichetta al file system appena creato, vedremo dopo a cosa ci servirà. L'etichetta del file system la si può impostare/modificare anche successivamente attraverso l'uso del comando '''e2label'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 1: creazione dell'initrd=&lt;br /&gt;
Più in là nel wiki, vedremo come far caricare il kernel di linux installato su una pennina, qui invece ci apprestiamo ad affrontare un problema inerente proprio al fatto che la distribuzione si trova su una periferica USB.&lt;br /&gt;
&lt;br /&gt;
==Perché dobbiamo creare un initrd?==&lt;br /&gt;
Una volta caricato il kernel, esso si preoccupa di attivare tutti i driver che sono stati compilati in maniera statica al suo interno. L'attivazione avviene in maniera parallela, il kernel cioè non attiva un driver, aspetta che esso abbia finito di inizializzarsi e poi ne attiva un altro, ma li attiva tutti quanti &amp;quot;contemporaneamente&amp;quot;. Dopo questa fase di inizializzazione dei driver il kernel deve montare quella che è la root directory (o directory radice) della distribuzione, la famosa directory ''/''. Una volta montata la directory radice, esegue quello che sarà l'unico processo avviato direttamente dal kernel (che in generale è il processo '''/sbin/init''').&lt;br /&gt;
* Ma i driver (o controller) USB potrebbero non essere stati compilati in maniera statica nel kernel, e senza i driver il kernel non si accorge neanche della presenza della pennina, come possiamo risolvere questo problema?&lt;br /&gt;
* Non solo, ma anche ammesso che il kernel abbia i driver compilati in maniera statica, questi devono avere il tempo di accorgersi che al PC è collegata una pennina USB, come si può dire al kernel di aspettare visto che i driver sono attivati in maniera parallela?&lt;br /&gt;
* Ancora, come facciamo a sapere su quale device si verrà a trovare la directory radice? Il driver USB collegherà la pennina al device sda o sdb, oppure ad un altro?&lt;br /&gt;
* E infine, la directory radice che abbiamo creato sulla pennina usa il file system ext3, il kernel per poter riconoscere e di conseguenza usare questo file system ha bisogno del driver, e se questo driver non è compilato in maniera statica?&lt;br /&gt;
&lt;br /&gt;
Per tutti questi problemi esiste una soluzione unica, l'initrd. L'initrd fondamentalmente non è altro che una mini distribuzione la cui directory radice viene montata in ram, più precisamente collegata al device ''/dev/ram0'', con un programma o uno script (che si deve chiamare '''init''' o '''linuxrc''') che viene avviato dal kernel (il quale deve essere compilato con il supporto all'initrd) subito dopo aver inizializzato i driver. Il kernel in pratica non si occupa più di montare la root directory e di lanciare il processo '''/sbin/init''', ma semplicemente lancia il comando (o script) '''init''' che è nell'initrd e delega a lui tutto il resto.&amp;lt;BR&amp;gt;&lt;br /&gt;
Questo semplice meccanismo ci permette in pratica di creare uno script per risolvere tutti i problemi sopra citati.&lt;br /&gt;
&lt;br /&gt;
'''Nota:''' Quando il kernel carica in memoria l'initrd e lancia il programma (o lo script) init, la root directory della nostra distribuzione non è ancora montata! Quindi la distribuzione non esiste, e con lei non esistono tutti i programmi usuali che uno pensa di usare nell'initrd. Se si vuole usare un programma, lo si deve copiare nell'ambiente dell'initrd e si devono copiare anche tutte quelle librerie condivise di cui il programma necessita.&lt;br /&gt;
&lt;br /&gt;
==Initrd come archivio cpio==&lt;br /&gt;
Uno dei modi più semplici per creare un initrd è quello di inserire tutto il necessario in una directory vuota (programmi che si voglio usare nell'initrd, librerie di cui necessitano questi programmi, eventuali moduli del kernel, etc...etc...) e poi di creare un archivio cpio, magari compresso con gzip, di questa directory. Il kernel sarà poi in grado di decomprimere (se era compresso) l'archivio e di estrarne il contenuto.&amp;lt;BR&amp;gt;&lt;br /&gt;
Creiamoci allora una directory vuota ed entriamoci dentro con:&lt;br /&gt;
 # mkdir /tmp/initrd&lt;br /&gt;
 # cd /tmp/initrd&lt;br /&gt;
&lt;br /&gt;
==Il pacchetto mkinitrd e la busybox==&lt;br /&gt;
Il pacchetto mkinitrd della Slackware (che si trova nella directory ''a/'') contiene lo script omonimo '''mkinitrd''', che generalmente viene usato da coloro che necessitano di un initrd e non vogliono (o non hanno le competenze adatte a) crearsene uno a mano.&amp;lt;BR&amp;gt;&lt;br /&gt;
Noi useremo il pacchetto, che quindi deve essere installato, non per lanciare l''''mkinitrd''' ma per prelevare il programma '''busybox''' che è al suo interno. Busybox è un programma che si può comportare in maniera diversa a seconda di come lo si invoca, se noi infatti creiamo un link simbolico chiamato mount a '''busybox''', allora questo si comporterà come '''mount'''. L'elenco di tutti i programmi che è in grado di simulare lo si può ottenere lanciando '''busybox''' senza parametri.&lt;br /&gt;
&lt;br /&gt;
Il pacchetto mkinitrd ha la '''busybox''' inserita all'interno di un archivio tar.gz il cui path completo è:&lt;br /&gt;
 ''/usr/share/mkinitrd/initrd-tree.tar.gz''&lt;br /&gt;
preleviamo la busybox con:&lt;br /&gt;
 # tar -C /tmp/initrd -zxf /usr/share/mkinitrd/initrd-tree.tar.gz './bin/busybox'&lt;br /&gt;
a questo punto la nostra directory ''/tmp/initrd'' avrà questa struttura:&lt;br /&gt;
 # tree /tmp/initrd&lt;br /&gt;
 /tmp/initrd&lt;br /&gt;
 `-- bin&lt;br /&gt;
     `-- busybox&lt;br /&gt;
&lt;br /&gt;
==Creiamo lo script init==&lt;br /&gt;
Ora dobbiamo creare lo script '''init''', ovvero lo script che verrà eseguito dal kernel dopo l'inizializzazione dei driver e che è incaricato di risolvere i problemi su citati, cioè:&lt;br /&gt;
* caricare eventualmente i moduli del kernel per i controller USB e per il file system ext3&lt;br /&gt;
* dare il tempo ai controller USB di rilevare la pennina e montare, dopo averla scovata, la root directory&lt;br /&gt;
* eseguire il vero processo init della distribuzione&lt;br /&gt;
&lt;br /&gt;
Prima di cimentarci nella risoluzione di questi problemi dobbiamo notare che '''init''', per come lo vogliamo utilizzare noi, è uno script, e in quanto tale ha bisogno di un interprete, la '''busybox''' può fare questo per noi visto che al suo interno ha anche una piccola shell. Andiamo nella directory ''/tmp/initrd/bin'' e creiamo un link simbolico a '''busybox''' in questo modo:&lt;br /&gt;
 # ln -s busybox ash&lt;br /&gt;
e quindi con un qualsiasi editor di testo creiamo il file ''/tmp/initrd/init'' e mettiamoci come prima riga:&lt;br /&gt;
 #!/bin/ash&lt;br /&gt;
&lt;br /&gt;
===Caricare i moduli del kernel necessari al rilevamento della periferica USB e del file system ext3===&lt;br /&gt;
Il kernel huge è compilato con il supporto sia alle periferiche USB, sia al file system ext3 in maniera statica, e quindi ci permette di superare in maniera trasparente questo problema.&amp;lt;BR&amp;gt;&lt;br /&gt;
Si fa notare che il fatto di avere il supporto compilato in maniera statica nel kernel è un fattore da non sottovalutare. Infatti l'ambiente dell'initrd dovrebbe essere il più generale possibile, se spettasse all'initrd (e quindi allo script '''init''') caricare qualche modulo del kernel, allora l'initrd non sarebbe più indipendente, ma al suo interno dovrebbe avere i moduli compilati per il kernel specifico che lo ha eseguito.&lt;br /&gt;
&lt;br /&gt;
===Dare il tempo ai controller USB di rilevare la pennina e montaggio della root directory===&lt;br /&gt;
Abbiamo installato sulla nostra pennina USB un file system del tipo ext3 che abbiamo anche etichettato con il nome di 'minislack'. Bene, grazie alla capacità del comando '''mount''' di utilizzare il nome di etichetta per identificare un file system, il problema può essere risolto semplicemente mettendo nello script '''init''' quanto segue:&lt;br /&gt;
 mount -n proc -t proc /proc&lt;br /&gt;
 while ! mount -n -r -L minislack /mnt 2&amp;gt; /dev/null;&lt;br /&gt;
  do&lt;br /&gt;
    sleep 1&lt;br /&gt;
  done&lt;br /&gt;
 umount -n /proc&lt;br /&gt;
Il &amp;quot;montaggio&amp;quot; del file system proc è necessario in quanto il comando '''mount''' fa uso di questo file system per scovare l'etichetta 'minislack'.&amp;lt;BR&amp;gt;&lt;br /&gt;
Il ciclo '''while''' con lo '''sleep''' non fa altro che dare il tempo necessario ai driver USB del kernel di rilevare la pennina.&lt;br /&gt;
Quindi la nostra root directory, o meglio il file system che noi abbiamo etichettato come 'minislack' sarà montato nella directory ''/mnt'' a prescindere dal device a cui il driver USB (e più precisamente il modulo che gestisce le periferiche di archiviazione di massa USB, l'usb_storage) lo ha collegato.&lt;br /&gt;
&lt;br /&gt;
Nelle sei righe di codice precedenti abbiamo:&lt;br /&gt;
* usato il comando mount&lt;br /&gt;
* caricato il file system proc nella directory /proc&lt;br /&gt;
* usato il device null per ridirigere lo standard error del comando mount&lt;br /&gt;
* usato il comando sleep per far attendere alla shell 1 secondo&lt;br /&gt;
* montato la root directory in /mnt&lt;br /&gt;
* utilizzato il comando umount&lt;br /&gt;
per quanto potevano sembrare innocenti, quelle sei righe implicano:&lt;br /&gt;
* che il kernel al momento dell'esecuzione di queste righe, abbia il supporto al procfs e al tipo di file system della root directory che montiamo su ''/mnt'' (nel nostro caso il kernel huge ce li ha entrambi in maniera statica)&lt;br /&gt;
* che esistano i programmi mount, umount e sleep&lt;br /&gt;
* che esistano il device ''/dev/null'' e quello al quale sarà collegata la pennina USB (è vero che mount può scovare il device grazie all'etichetta del suo file system, ma è altrettanto vero che poi '''mount''' dovrà montare questo device)&lt;br /&gt;
* che esistano le directory ''/proc'' e ''/mnt''&lt;br /&gt;
&lt;br /&gt;
La '''busybox''' può comportarsi come '''mount''' semplicemente facendo un link simbolico ad essa chiamato appunto ''mount'', il problema è che quello fornito dalla '''busybox''' non è in grado di scovare le etichette dei file system (non riconosce il flag -L). Abbiamo necessariamente bisogno del comando '''mount''' del pacchetto util-linux contenuto&lt;br /&gt;
sempre nella directory della serie ''a/'' della Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Copiamo quindi il comando '''mount''' come segue:&lt;br /&gt;
 # cp -p /bin/mount /tmp/initrd/bin&lt;br /&gt;
ora però dobbiamo copiare anche le librerie condivise di cui necessita. Vediamo quali sono lanciando:&lt;br /&gt;
 # ldd /bin/mount&lt;br /&gt;
        linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
        libblkid.so.1 =&amp;gt; /lib/libblkid.so.1 (0xb7f80000)&lt;br /&gt;
        libuuid.so.1 =&amp;gt; /lib/libuuid.so.1 (0xb7f7d000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0xb7e4e000)&lt;br /&gt;
        /lib/ld-linux.so.2 (0x80000000)&lt;br /&gt;
&lt;br /&gt;
Creiamoci la directory ''lib'' all'interno del nostro initrd con:&lt;br /&gt;
 # mkdir /tmp/initrd/lib&lt;br /&gt;
e copiamoci dentro le librerie condivise con:&lt;br /&gt;
 # cp -p /lib/libblkid.so.1 /lib/libuuid.so.1 /lib/libc.so.6 /lib/ld-linux.so.2 /tmp/initrd/lib&lt;br /&gt;
Si noti che i file originali probabilmente sono link simbolici, ma il comando '''cp''' copierà il file al quale puntano e non il link.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partire dalla slackware 13.1 il comando '''mount''' necessita di altre librerie:&lt;br /&gt;
 # ldd /bin/mount&lt;br /&gt;
        linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
        /usr/lib/libv4l/v4l1compat.so (0xb7838000)&lt;br /&gt;
        /usr/lib/libv4l/v4l2convert.so (0xb7836000)&lt;br /&gt;
        libblkid.so.1 =&amp;gt; /lib/libblkid.so.1 (0xb77eb000)&lt;br /&gt;
        libuuid.so.1 =&amp;gt; /lib/libuuid.so.1 (0xb77e7000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0xb7683000)&lt;br /&gt;
        libv4l1.so.0 =&amp;gt; /usr/lib/libv4l1.so.0 (0xb767e000)&lt;br /&gt;
        libv4l2.so.0 =&amp;gt; /usr/lib/libv4l2.so.0 (0xb7674000)&lt;br /&gt;
        /lib/ld-linux.so.2 (0xb783b000)&lt;br /&gt;
        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0xb765b000)&lt;br /&gt;
        libv4lconvert.so.0 =&amp;gt; /usr/lib/libv4lconvert.so.0 (0xb75ef000)&lt;br /&gt;
        librt.so.1 =&amp;gt; /lib/librt.so.1 (0xb75e5000)&lt;br /&gt;
        libm.so.6 =&amp;gt; /lib/libm.so.6 (0xb75bf000)&lt;br /&gt;
&lt;br /&gt;
Quindi sarà necessario copiare anche le nuove librerie:&lt;br /&gt;
 # cp -p /usr/lib/libv4l/v4l1compat.so /usr/lib/libv4l/v4l2convert.so /usr/lib/libv4l1.so.0 /usr/lib/libv4l2.so.0 /tmp/initrd/lib&lt;br /&gt;
 # cp -p /lib/libpthread.so.0 /usr/lib/libv4lconvert.so.0 /lib/librt.so.1 /lib/libm.so.6 /tmp/initrd/lib&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** FINE NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per il comando '''umount''' e '''sleep''' invece possiamo tranquillamente usare quelli della '''busybox''', quindi andiamo nella directory ''/tmp/initrd/bin'' e facciamo:&lt;br /&gt;
 # ln -s busybox umount&lt;br /&gt;
 # ln -s busybox sleep&lt;br /&gt;
&lt;br /&gt;
Il programma '''mount''' l'abbiamo utilizzato passandogli anche il flag -n, dicendogli quindi di non scrivere quello che sarà il file ''/etc/mtab'', benché esso non lo scriva, vuole comunque leggerlo per controllare se il file system che si sta tentando di montare non sia già stato montato. Dobbiamo quindi creare il file vuoto ''/tmp/initrd/etc/mtab'':&lt;br /&gt;
 # mkdir /tmp/initrd/etc&lt;br /&gt;
 # touch /tmp/initrd/etc/mtab&lt;br /&gt;
&lt;br /&gt;
Proseguiamo quindi con la creazione del device null e dei possibili device a cui sarà collegata la pennina USB. In generale la pennina USB viene vista come una periferica SCSI disk e quindi sarà attaccata ad un device del tipo ''/dev/sdXY'' dove X varia a seconda di quante periferiche di archiviazione rilevate come SCSI (ad esempio i dischi sata) sono state trovate prima della pennina, mentre Y rappresenta una qualsiasi partizione.&amp;lt;BR&amp;gt;&lt;br /&gt;
Se, ad esempio, un PC non ha nessun disco rilevato come SCSI e ci si inserisce una pennina con tre partizioni, queste tre partizioni saranno collegate rispettivamente ai device: sda1, sda2  e sda3.&lt;br /&gt;
&lt;br /&gt;
Y allora la possiamo ricavare facilmente, infatti all'inizio abbiamo supposto che la nostra pennina avesse solo una partizione e che essa (la partizione) venisse attaccata ad device ''/dev/sda1'', allora Y=1 e la pennina sarà sempre collegata ad un device dal nome ''/dev/sdX1''.&amp;lt;BR&amp;gt;&lt;br /&gt;
Quindi creiamoci la directory in cui inserire i device:&lt;br /&gt;
 # mkdir /tmp/initrd/dev&lt;br /&gt;
e copiamoci subito dentro il device ''/dev/null'' con:&lt;br /&gt;
 # cp -R /dev/null /tmp/initrd/dev&lt;br /&gt;
&lt;br /&gt;
Al momento attuale gli SCSI disk sono gestiti dal device driver con major number 8. Questo device driver è in grado di gestire sino a 15 partizioni per ogni disco, questo vuol dire che due device con X consecutive e con uguale Y hanno una distanza (in termini di minor number) pari a 16. Ad esempio il device sda avrà un minor number uguale a 0 laddove il device sdb avrà invece minor number uguale a 16, e così via.&lt;br /&gt;
&lt;br /&gt;
Possiamo allora creare i device con:&lt;br /&gt;
 # mknod /tmp/initrd/dev/sda1 b 8 1&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdb1 b 8 17&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdc1 b 8 33&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdd1 b 8 49&lt;br /&gt;
&lt;br /&gt;
Ora per rendere tutto coerente con quanto scritto sempre nelle sei innocenti righe di codice inserite nel file ''init'', non ci resta che creare due directory vuote nelle quali verranno montati i file system proc e quello contenente la nostra directory radice.&lt;br /&gt;
 # mkdir /tmp/initrd/proc /tmp/initrd/mnt&lt;br /&gt;
&lt;br /&gt;
===Eseguire il vero processo init===&lt;br /&gt;
L'ultimo passo che deve eseguire lo script '''init''' dell'initrd è quello di lanciare il vero processo '''init''' situato nella directory radice della distribuzione e poi liberare la memoria allocata.&amp;lt;BR&amp;gt;&lt;br /&gt;
I passi teorici da eseguire sono:&lt;br /&gt;
* spostare la directory radice dell'initrd sulla directory radice della distribuzione&lt;br /&gt;
* smontare l'initrd&lt;br /&gt;
* deallocare la memoria allocata dal kernel per l'initrd&lt;br /&gt;
* eseguire il vero processo '''init'''&lt;br /&gt;
Che poi praticamente, dato che per ognuno dei passi precedenti esiste uno specifico programma che lo esegue, diventa:&lt;br /&gt;
* cd /mnt; mkdir initrd; pivot_root . initrd&lt;br /&gt;
* umount /initrd&lt;br /&gt;
* blockdev --flushbufs /dev/ram0&lt;br /&gt;
* exec chroot . /sbin/init $@&lt;br /&gt;
&lt;br /&gt;
Il comando '''pivot_root''' ultimamente sembra non comportarsi bene nell'ambiente dell'initrd. Fortunatamente la '''busybox''' ha al suo interno un programma che dovrebbe eseguire tutti i passi precedenti, il comando si chiama '''switch_root ''' e come al solito quindi basta fare un link simbolico a '''busybox''' entrando in ''/tmp/initrd/bin''&lt;br /&gt;
ed eseguendo:&lt;br /&gt;
 # ln -s busybox switch_root&lt;br /&gt;
&lt;br /&gt;
Ora non resta che inserire nello script init quanto segue:&lt;br /&gt;
 exec switch_root /mnt /sbin/init $@&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' si noti il passaggio a '''/sbin/init''' dei parametri $@, questi sono i parametri che il kernel non ha riconosciuto nella sua riga di comando (quella passatagli dal loader), e che quindi passa al comando che esegue.&lt;br /&gt;
&lt;br /&gt;
===Lo script init nella sua interezza===&lt;br /&gt;
Riassumendo, lo script ''/tmp/initrd/init'' è questo:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
#!/bin/ash&lt;br /&gt;
# Aspetto finché i driver USB non rilevano la pennina e monto la vera directory radice&lt;br /&gt;
mount -n proc /proc -t proc&lt;br /&gt;
while ! mount -n -r -L minislack /mnt 2&amp;gt; /dev/null;&lt;br /&gt;
 do&lt;br /&gt;
    sleep 1;&lt;br /&gt;
 done&lt;br /&gt;
umount /proc&lt;br /&gt;
&lt;br /&gt;
# Avvio il vero /sbin/init&lt;br /&gt;
exec switch_root /mnt /sbin/init $@&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
questo script deve essere eseguito dal kernel è quindi dobbiamo assicurarci che abbia i diritti di esecuzione:&lt;br /&gt;
 # chmod u+x /tmp/initrd/init&lt;br /&gt;
&lt;br /&gt;
==Creazione dell'archivio cpio compresso initrd.gz==&lt;br /&gt;
La directory ''/tmp/initrd'' ora dovrebbe essere così strutturata:&lt;br /&gt;
 # tree /tmp/initrd&lt;br /&gt;
   /tmp/initrd/&lt;br /&gt;
   |-- bin&lt;br /&gt;
   |   |-- ash -&amp;gt; busybox&lt;br /&gt;
   |   |-- busybox&lt;br /&gt;
   |   |-- mount&lt;br /&gt;
   |   |-- sleep -&amp;gt; busybox&lt;br /&gt;
   |   |-- switch_root -&amp;gt; busybox&lt;br /&gt;
   |   `-- umount -&amp;gt; busybox&lt;br /&gt;
   |-- dev&lt;br /&gt;
   |   |-- null&lt;br /&gt;
   |   |-- sda1&lt;br /&gt;
   |   |-- sdb1&lt;br /&gt;
   |   |-- sdc1&lt;br /&gt;
   |   `-- sdd1&lt;br /&gt;
   |-- etc&lt;br /&gt;
   |   `-- mtab&lt;br /&gt;
   |-- init&lt;br /&gt;
   |-- lib&lt;br /&gt;
   |   |-- ld-linux.so.2&lt;br /&gt;
   |   |-- libblkid.so.1&lt;br /&gt;
   |   |-- libc.so.6&lt;br /&gt;
   |   `-- libuuid.so.1&lt;br /&gt;
   |-- mnt&lt;br /&gt;
   `-- proc&lt;br /&gt;
 &lt;br /&gt;
 6 directories, 17 files&lt;br /&gt;
Non resta altro da fare che creare un archivio cpio di questa directory, comprimerla con il comando '''gzip''' e renderla disponibile al loader di linux.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partendo dal solito presupposto che la pennina sia collegata dal kernel al device sda1, la si monti ad esempio nella directory ''/mnt/memory'' con:&lt;br /&gt;
 # mount /dev/sda1 /mnt/memory&lt;br /&gt;
si crei poi una directory in cui inserire l'archivio cpio compresso che è l'initrd con:&lt;br /&gt;
 # mkdir /mnt/memory/boot&lt;br /&gt;
ed infine si crei l'archivio cpio compresso (il tanto sudato initrd):&lt;br /&gt;
 # cd /tmp/initrd&lt;br /&gt;
 # find . | cpio -o -H newc | gzip -9 -n &amp;gt; /mnt/memory/boot/initrd.gz&lt;br /&gt;
&lt;br /&gt;
Quando, più in là nel wiki, si configurerà il loader di linux, si vedrà come utilizzare questo file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 2: installazione della distribuzione sulla pennina=&lt;br /&gt;
Ora ci si occuperà di installare e configurare una serie minimale ma importantissima di pacchetti Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Ovviamente non ci sono limitazioni, se non quelle fisiche della pennina, al numero di pacchetti che il lettore può installare, ma per lo scopo di questo wiki è sufficiente installare i pacchetti essenziali a far partire la distribuzione.&amp;lt;BR&amp;gt;&lt;br /&gt;
I pacchetti che verranno installati si trovano tutti nella directory ''a/'' della Slackware, quindi, supponendo che il CD o DVD della Slackware sia stato montato nella directory ''/mnt/dvd/'', per prima cosa ci si deve spostare dentro questa directory con:&lt;br /&gt;
 # cd /mnt/dvd/slackware/a&lt;br /&gt;
&lt;br /&gt;
==Un piccolo accorgimento==&lt;br /&gt;
I pacchetti verranno installati sfruttando l'opzione -root dello script '''installpkg''', alcuni dei pacchetti hanno uno script aggiuntivo, il famoso '''doinst.sh''', che viene avviato dopo l'installazione del pacchetto. Gli script '''doinst.sh''' sono &amp;quot;chrootati&amp;quot; sulla pennina e devono poter eseguire comandi, quali ad esempio '''cd''', '''rm''' o&lt;br /&gt;
'''ln'''. Questo implica che:&lt;br /&gt;
* il programma che il '''doinst.sh''' vuole eseguire deve essere presente sulla pennina&lt;br /&gt;
* si abbiano i diritti di esecuzione sulla pennina&lt;br /&gt;
&lt;br /&gt;
La prima implicazione è risolta installando i pacchetti in un ordine ben preciso, facendo in modo di installare prima i pacchetti che contengono i programmi usuali usati dai '''doinst.sh'''.&lt;br /&gt;
&lt;br /&gt;
La seconda implicazione viene verificata se si esegue un piccolo accorgimento, ovvero smontare la pennina e rimontarla con l'opzione 'exec' del '''mount''', in questo modo:&lt;br /&gt;
 # umount /mnt/memory&lt;br /&gt;
 # mount -o exec -rw -t ext3 /dev/sda1 /mnt/memory&lt;br /&gt;
&lt;br /&gt;
==I pacchetti da installare==&lt;br /&gt;
La domanda è semplice, come si determinano i pacchetti che si devono installare?&amp;lt;BR&amp;gt;&lt;br /&gt;
La risposta non è altrettanto semplice, sicuramente ci sarà il programma ''/sbin/init'' per avere un collegamento all'initrd creato nella 'Fase 1', ma poi? Poi bisogna seguire l''''init''' e capire cosa esegue, in modo da fargli trovare i programmi che tenta di eseguire. Se è necessario, bisogna anche seguire i programmi che '''init''' esegue per capire cosa fanno e se hanno bisogno di altri programmi o file di configurazione.&amp;lt;BR&amp;gt;&lt;br /&gt;
In generale quindi, il primo file da analizzare è ''/etc/inittab'', file di configurazione di '''init''', ci si accorge quindi che '''init''' esegue una serie di script di inizializzazione, e quindi bisogna seguire questi script per capire cosa fanno.&lt;br /&gt;
&lt;br /&gt;
Per lo scopo di questo wiki il lavoro è stato già fatto dall'autore e quindi verranno segnalati solo i passi fondamentali da fare affinché la distribuzione possa partire.&lt;br /&gt;
&lt;br /&gt;
Qui si riporta l'elenco dei pacchetti che devono essere installati nell'ordine di seguito riportato (l'ordine è importante solo per i primi tre pacchetti). Accanto al nome del pacchetto vi è una piccola descrizione di cosa contiene:&lt;br /&gt;
 aaa_base              ---&amp;gt;    Crea tutte le directory base&lt;br /&gt;
 coreutils             ---&amp;gt;    Programmi utilizzati dagli script '''doisnt.sh'''&lt;br /&gt;
 glibc-solibs          ---&amp;gt;    La libreria glibc, usata da molti eseguibili (tra cui '''init''')&lt;br /&gt;
 glibc-zoneinfo        ---&amp;gt;    Contiene lo script '''timeconfig''' che verrà usato in seguito&lt;br /&gt;
 dialog                ---&amp;gt;    Usato per visualizzare i box dei dialoghi da altri programmi (tra cui '''timeconfig''')&lt;br /&gt;
 bash                  ---&amp;gt;    La shell&lt;br /&gt;
 etc                   ---&amp;gt;    File di configurazione dei programmi utilizzati&lt;br /&gt;
 util-linux            ---&amp;gt;    Contiene, tra l'altro, il programma '''mount'''&lt;br /&gt;
 sysvinit              ---&amp;gt;    Contiene il programma '''init'''&lt;br /&gt;
 sysvinit-scripts      ---&amp;gt;    I famosi script '''rc.d''' della Slackware, invocati da '''init'''&lt;br /&gt;
 module-init-tools     ---&amp;gt;    '''modprobe''' e altri programmi per gestire i moduli&lt;br /&gt;
 e2fsprogs             ---&amp;gt;    Comandi per i filesystem ext2/3&lt;br /&gt;
 devs                  ---&amp;gt;    I device, senza di questi....&lt;br /&gt;
 findutils             ---&amp;gt;    '''find''', usato dagli script di inizializzazione&lt;br /&gt;
 aaa_elflibs           ---&amp;gt;    Libreria libtermcap per i terminali&lt;br /&gt;
 aaa_terminfo          ---&amp;gt;    File di informazione sui terminali usati dalla libreria libtermcap&lt;br /&gt;
 shadow                ---&amp;gt;    Contiene, tra l'altro, i programmi '''login''' e '''sulogin'''&lt;br /&gt;
 grep                  ---&amp;gt;    '''grep''', usato dagli script di inizializzazione&lt;br /&gt;
 procps                ---&amp;gt;    '''ps''', usato dagli script di inizializzazione&lt;br /&gt;
 kernel-huge           ---&amp;gt;    Il kernel...&lt;br /&gt;
 kernel-modules        ---&amp;gt;    ... i suoi moduli&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partire da slackware 13.1 è necessario anche il seguente pacchetto&lt;br /&gt;
 v4l-utils             ---&amp;gt;    Librerie necessarie ai programmi di sistema (ad es: '''mount''')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** FINE NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per installare questi pacchetti si deve eseguire '''installpkg''' con l'opzione -root ''/mnt/memory'', ad esempio:&lt;br /&gt;
 # installpkg -root /mnt/memory aaa_base-12.0.0-noarch-1.tgz&lt;br /&gt;
&lt;br /&gt;
==Una facile configurazione==&lt;br /&gt;
Come per la domanda 'Quali pacchetti si devono installare?', così la risposta alla domanda 'Cosa si deve configurare?' dipende sempre dall'amministratore del sistema e da cosa esso intenda far eseguire all'avvio della macchina.&amp;lt;BR&amp;gt;&lt;br /&gt;
Nel wiki si intende lasciare intatti gli script di inizializzazione fatti da Patrick J. Volkerding, creatore della Slackware, e quindi si procederà nella minima configurazione necessaria proprio a questi script di inizializzazione.&lt;br /&gt;
&lt;br /&gt;
===/etc/fstab===&lt;br /&gt;
Si comincia con il creare il file ''/etc/fstab'' come segue:&lt;br /&gt;
 # echo -e &amp;quot;LABEL=minislack\t\t/\text3\trw\t1 1&amp;quot; &amp;gt; /mnt/memory/etc/fstab&lt;br /&gt;
&lt;br /&gt;
===/etc/hardwareclock===&lt;br /&gt;
Un altro file richiesto dagli script di inizializzazione della Slackware è il file ''/etc/hardwareclock'' che indica come è impostato l'orologio hardware. In effetti questo file non contiene granché, ma viene consigliato di editarlo/crearlo tramite lo script '''/usr/sbin/timeconfig''', quindi bisogna eseguire lo script spostandogli la directory root, in questo modo:&lt;br /&gt;
 # cd /mnt/memory&lt;br /&gt;
 # chroot . usr/sbin/timeconfig&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 3: impostare il boot loader e testare il tutto=&lt;br /&gt;
L'ultima cosa da fare è quella di rendere la pennina &amp;quot;bootabile&amp;quot;, ovvero di inserire nel suo primo settore, il famoso settore di boot. Per fare questo basta creare un file ''lilo.conf'' ad-hoc, e poi lanciare LILO passandogli il file appena creato.&amp;lt;BR&amp;gt;&lt;br /&gt;
Si crei quindi il file, ad esempio ''/mnt/memory/etc/lilo.conf'', direttamente sulla pennina in modo che rimanga con essa, con all'interno quanto segue:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
boot = /dev/sda&lt;br /&gt;
backup = &amp;quot;&amp;quot;&lt;br /&gt;
map=/mnt/memory/boot/map&lt;br /&gt;
&lt;br /&gt;
compact&lt;br /&gt;
lba32&lt;br /&gt;
large-memory&lt;br /&gt;
&lt;br /&gt;
image = /mnt/memory/boot/vmlinuz&lt;br /&gt;
  initrd = /mnt/memory/boot/initrd.gz&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si noti l'opzione 'initrd', con la quale si indica al kernel che deve usare l'initrd creato nella 'Fase 1'. Ora non resta quindi che lanciare LILO come segue:&lt;br /&gt;
 # lilo -C /mnt/memory/etc/lilo.conf&lt;br /&gt;
e riavviare il PC facendogli fare il boot dalla pennina USB.&amp;lt;BR&amp;gt;&lt;br /&gt;
Con la configurazione minimale che si è fatta nella 'Fase 2', basta, al momento del login, inserire l'username di 'root' per avere una shell con tutti i privilegi del super-utente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Esempi d'uso=&lt;br /&gt;
Una volta che si ha una pennina USB &amp;quot;bootabile&amp;quot;, con all'interno un intera distribuzione, serve solo la fantasia per farci quello che ci pare.&amp;lt;BR&amp;gt;&lt;br /&gt;
Esempi d'uso potrebbero essere quello di crearsi una distribuzione adatta alla lettura di contenuti multimediali, in questo modo basta trovare un PC per vedere un DVD o ascoltare della musica, senza preoccuparsi che il PC sia dotato di tutti i programmi o codec adatti.&lt;br /&gt;
&lt;br /&gt;
Un altro esempio è che si ha sempre a portata di mano un &amp;quot;disco di ripristino&amp;quot;. Se la distribuzione installata sul PC non dovesse partire perché ci si è divertiti un po' troppo con i file di configurazione, si può sempre fare il boot del PC con la pennina e provvedere a rimediare agli eventuali danni che si è combinati.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Appendice=&lt;br /&gt;
==A: altri pacchetti utili==&lt;br /&gt;
Se si vuole rendere la distribuzione che si è installata sulla pennina un po' più indipendente, bisogna essere in grado di manipolare i pacchetti della Slackware, non solo, ma sarebbe anche carino poter utilizzare tutta una serie di comandi utili ad un sistemista. Quindi, oltre all'insieme minimo di pacchetti menzionati nella sezione&lt;br /&gt;
'[[#I_pacchetti_da_installare|I pacchetti da installare]]', qui di seguito c'è un elenco dei pacchetti che rendono la distribuzione sulla pennina, più user-friendly:&lt;br /&gt;
 a/pkgtools           ---&amp;gt;    Per gestire i pacchetti della Slackware&lt;br /&gt;
 a/bin                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/sed                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/gzip               ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/tar                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/xz                 ---&amp;gt;    Usato dagli script di pkgtools per il nuovo formato '.txz' della Slackware 13&lt;br /&gt;
&lt;br /&gt;
 ap/man               ---&amp;gt;    Il comando man più tornare molto utile&lt;br /&gt;
 ap/man-pages         ---&amp;gt;    Le pagine di manuale di molti comandi&lt;br /&gt;
 ap/groff             ---&amp;gt;    Il formattatore usato da man&lt;br /&gt;
 a/cxxlibs            ---&amp;gt;    Libreria c++ standard usata da groff&lt;br /&gt;
 a/less               ---&amp;gt;    Il comando che man usa per visualizzare le pagine di manuale&lt;br /&gt;
&lt;br /&gt;
 a/udev               ---&amp;gt;    Utile se si vogliono usare driver che necessitano di firmware&lt;br /&gt;
&lt;br /&gt;
 ap/nano              ---&amp;gt;    Il famoso e semplice editor di testo&lt;br /&gt;
&lt;br /&gt;
 a/bzip2              ---&amp;gt;    Sempre più spesso si trovano archivi bzip&lt;br /&gt;
&lt;br /&gt;
 a/reiserfsprogs      ---&amp;gt;    Per gestire il famoso file system reiser&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ringraziamenti=&lt;br /&gt;
Ringrazio ZeroUno per i suoi consigli e le sue prove.&lt;br /&gt;
&lt;br /&gt;
Per qualsiasi cosa scrivetemi pure:&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Utente:Spina|spina]]&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Slackware_su_pennina_USB</id>
		<title>Slackware su pennina USB</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Slackware_su_pennina_USB"/>
				<updated>2010-06-30T20:03:55Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Dare il tempo ai controller USB di rilevare la pennina e montaggio della root directory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Per www.slacky.eu --&amp;gt;&lt;br /&gt;
[[Category:Install_e_Upgrade]]&lt;br /&gt;
=Introduzione=&lt;br /&gt;
Questo wiki vuole essere una guida, il più completa possibile, sui passi da fare per crearsi un propria distribuzione Slackware su un dispositivo di archiviazione di massa USB (che da ora in poi chiameremo più semplicemente, pennina).&amp;lt;BR&amp;gt;&lt;br /&gt;
Affronteremo tutti i vari passaggi strettamente necessari a far partire un kernel installato sulla pennina ed a creare/configurare la distribuzione Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Ovviamente, benché pensata e testata sulla Slackware, la teoria che acquisiremo alla fine di questo wiki sarà tale da permetterci di installare una qualsivoglia distribuzione, la differenza sarà solo sugli strumenti che useremo.&lt;br /&gt;
&lt;br /&gt;
Tutti o quasi tutti i comandi che eseguiremo durante il wiki devono poter godere dei diritti dall'utente root, e per questo saranno caratterizzati dal carattere iniziale '#' che è tipico della shell del super-utente.&lt;br /&gt;
&lt;br /&gt;
I path e i comandi verranno evidenziati rispettivamente dallo stile corsivo e dal font grassetto in questo modo:&lt;br /&gt;
* ''/questo/è/un/path''&lt;br /&gt;
* '''questo è un comando'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Perché installare la distribuzione su una pennina?=&lt;br /&gt;
Alcuni esempi d'uso verranno esposti alla fine del wiki, ma facciamo comunque alcune considerazioni importanti.&amp;lt;BR&amp;gt;&lt;br /&gt;
Questa guida è rivolta a tutti coloro che sono curiosi, affamati di conoscenza, che usano il PC non solo come strumento di lavoro, ma anche con la voglia di portare alla luce ciò che sembra arcano. Lo scopo del wiki non è la creazione della distribuzione tascabile, bensì la divulgazione della conoscenza, è importante che il lettore tenga presente questo concetto, perché è quello che ci preme rimanga più a lungo nella mente di chi legge questo wiki.&amp;lt;BR&amp;gt;&lt;br /&gt;
Oltre ad avere una pennina da portare nei negozi di informatica per testare i PC che solitamente hanno installato solo lo scadente Windows, acquisiremo una conoscenza più o meno approfondita di tutti i programmi necessari all'avvio di una distribuzione GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Software usato=&lt;br /&gt;
Gli strumenti software che sono stati usati per testare questo wiki sono:&lt;br /&gt;
* Slackware 12 (sebbene alcuni utenti l'abbiano testato con successo anche sulla 13)&lt;br /&gt;
* kernel huge, presente nella directory della serie ''a/'' della Slackware&lt;br /&gt;
* comandi linux che verranno citati man mano, tutti comunque presenti nella distribuzione Slackware&lt;br /&gt;
L'elenco sopra citato è da tenere a mente sia perché citeremo nomi di pacchetti Slackware, sia perché il kernel huge fornisce un sopporto tale che alcuni problemi che si potrebbero incontrare verranno solo citati, in quanto risolti grazie alla sua configurazione statica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 0: preparazione della pennina=&lt;br /&gt;
Noi installeremo la distribuzione Slackware direttamente sulla pennina, iniziamo allora preparando proprio il nostro supporto di archiviazione di massa USB.&amp;lt;BR&amp;gt;&lt;br /&gt;
L'unica cosa di cui abbiamo bisogno e di installarci dentro un file system ext3. Le pennine USB, proprio come gli hard disk, possono essere partizionate, supponiamo quindi che sulla pennina ci sia un unica partizione e che questa venga collegata dal kernel al device ''/dev/sda1''. Installiamoci dentro un file system ext3 con il seguente comando:&lt;br /&gt;
 # mkfs.ext3 -L minislack /dev/sda1&lt;br /&gt;
bene, quella che abbiamo appena creato sarà la directory radice della nostra distribuzione.&lt;br /&gt;
&lt;br /&gt;
'''ATTENZIONE:''' tutti i file sulla pennina saranno ovviamente persi dopo l'esecuzione del comando '''mkfs.ext3''', quindi facciamo in modo che la pennina sia vuota prima di lanciare il comando.&lt;br /&gt;
&lt;br /&gt;
'''Nota:''' si noti l'uso dell'opzione -L per impostare un etichetta al file system appena creato, vedremo dopo a cosa ci servirà. L'etichetta del file system la si può impostare/modificare anche successivamente attraverso l'uso del comando '''e2label'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 1: creazione dell'initrd=&lt;br /&gt;
Più in là nel wiki, vedremo come far caricare il kernel di linux installato su una pennina, qui invece ci apprestiamo ad affrontare un problema inerente proprio al fatto che la distribuzione si trova su una periferica USB.&lt;br /&gt;
&lt;br /&gt;
==Perché dobbiamo creare un initrd?==&lt;br /&gt;
Una volta caricato il kernel, esso si preoccupa di attivare tutti i driver che sono stati compilati in maniera statica al suo interno. L'attivazione avviene in maniera parallela, il kernel cioè non attiva un driver, aspetta che esso abbia finito di inizializzarsi e poi ne attiva un altro, ma li attiva tutti quanti &amp;quot;contemporaneamente&amp;quot;. Dopo questa fase di inizializzazione dei driver il kernel deve montare quella che è la root directory (o directory radice) della distribuzione, la famosa directory ''/''. Una volta montata la directory radice, esegue quello che sarà l'unico processo avviato direttamente dal kernel (che in generale è il processo '''/sbin/init''').&lt;br /&gt;
* Ma i driver (o controller) USB potrebbero non essere stati compilati in maniera statica nel kernel, e senza i driver il kernel non si accorge neanche della presenza della pennina, come possiamo risolvere questo problema?&lt;br /&gt;
* Non solo, ma anche ammesso che il kernel abbia i driver compilati in maniera statica, questi devono avere il tempo di accorgersi che al PC è collegata una pennina USB, come si può dire al kernel di aspettare visto che i driver sono attivati in maniera parallela?&lt;br /&gt;
* Ancora, come facciamo a sapere su quale device si verrà a trovare la directory radice? Il driver USB collegherà la pennina al device sda o sdb, oppure ad un altro?&lt;br /&gt;
* E infine, la directory radice che abbiamo creato sulla pennina usa il file system ext3, il kernel per poter riconoscere e di conseguenza usare questo file system ha bisogno del driver, e se questo driver non è compilato in maniera statica?&lt;br /&gt;
&lt;br /&gt;
Per tutti questi problemi esiste una soluzione unica, l'initrd. L'initrd fondamentalmente non è altro che una mini distribuzione la cui directory radice viene montata in ram, più precisamente collegata al device ''/dev/ram0'', con un programma o uno script (che si deve chiamare '''init''' o '''linuxrc''') che viene avviato dal kernel (il quale deve essere compilato con il supporto all'initrd) subito dopo aver inizializzato i driver. Il kernel in pratica non si occupa più di montare la root directory e di lanciare il processo '''/sbin/init''', ma semplicemente lancia il comando (o script) '''init''' che è nell'initrd e delega a lui tutto il resto.&amp;lt;BR&amp;gt;&lt;br /&gt;
Questo semplice meccanismo ci permette in pratica di creare uno script per risolvere tutti i problemi sopra citati.&lt;br /&gt;
&lt;br /&gt;
'''Nota:''' Quando il kernel carica in memoria l'initrd e lancia il programma (o lo script) init, la root directory della nostra distribuzione non è ancora montata! Quindi la distribuzione non esiste, e con lei non esistono tutti i programmi usuali che uno pensa di usare nell'initrd. Se si vuole usare un programma, lo si deve copiare nell'ambiente dell'initrd e si devono copiare anche tutte quelle librerie condivise di cui il programma necessita.&lt;br /&gt;
&lt;br /&gt;
==Initrd come archivio cpio==&lt;br /&gt;
Uno dei modi più semplici per creare un initrd è quello di inserire tutto il necessario in una directory vuota (programmi che si voglio usare nell'initrd, librerie di cui necessitano questi programmi, eventuali moduli del kernel, etc...etc...) e poi di creare un archivio cpio, magari compresso con gzip, di questa directory. Il kernel sarà poi in grado di decomprimere (se era compresso) l'archivio e di estrarne il contenuto.&amp;lt;BR&amp;gt;&lt;br /&gt;
Creiamoci allora una directory vuota ed entriamoci dentro con:&lt;br /&gt;
 # mkdir /tmp/initrd&lt;br /&gt;
 # cd /tmp/initrd&lt;br /&gt;
&lt;br /&gt;
==Il pacchetto mkinitrd e la busybox==&lt;br /&gt;
Il pacchetto mkinitrd della Slackware (che si trova nella directory ''a/'') contiene lo script omonimo '''mkinitrd''', che generalmente viene usato da coloro che necessitano di un initrd e non vogliono (o non hanno le competenze adatte a) crearsene uno a mano.&amp;lt;BR&amp;gt;&lt;br /&gt;
Noi useremo il pacchetto, che quindi deve essere installato, non per lanciare l''''mkinitrd''' ma per prelevare il programma '''busybox''' che è al suo interno. Busybox è un programma che si può comportare in maniera diversa a seconda di come lo si invoca, se noi infatti creiamo un link simbolico chiamato mount a '''busybox''', allora questo si comporterà come '''mount'''. L'elenco di tutti i programmi che è in grado di simulare lo si può ottenere lanciando '''busybox''' senza parametri.&lt;br /&gt;
&lt;br /&gt;
Il pacchetto mkinitrd ha la '''busybox''' inserita all'interno di un archivio tar.gz il cui path completo è:&lt;br /&gt;
 ''/usr/share/mkinitrd/initrd-tree.tar.gz''&lt;br /&gt;
preleviamo la busybox con:&lt;br /&gt;
 # tar -C /tmp/initrd -zxf /usr/share/mkinitrd/initrd-tree.tar.gz './bin/busybox'&lt;br /&gt;
a questo punto la nostra directory ''/tmp/initrd'' avrà questa struttura:&lt;br /&gt;
 # tree /tmp/initrd&lt;br /&gt;
 /tmp/initrd&lt;br /&gt;
 `-- bin&lt;br /&gt;
     `-- busybox&lt;br /&gt;
&lt;br /&gt;
==Creiamo lo script init==&lt;br /&gt;
Ora dobbiamo creare lo script '''init''', ovvero lo script che verrà eseguito dal kernel dopo l'inizializzazione dei driver e che è incaricato di risolvere i problemi su citati, cioè:&lt;br /&gt;
* caricare eventualmente i moduli del kernel per i controller USB e per il file system ext3&lt;br /&gt;
* dare il tempo ai controller USB di rilevare la pennina e montare, dopo averla scovata, la root directory&lt;br /&gt;
* eseguire il vero processo init della distribuzione&lt;br /&gt;
&lt;br /&gt;
Prima di cimentarci nella risoluzione di questi problemi dobbiamo notare che '''init''', per come lo vogliamo utilizzare noi, è uno script, e in quanto tale ha bisogno di un interprete, la '''busybox''' può fare questo per noi visto che al suo interno ha anche una piccola shell. Andiamo nella directory ''/tmp/initrd/bin'' e creiamo un link simbolico a '''busybox''' in questo modo:&lt;br /&gt;
 # ln -s busybox ash&lt;br /&gt;
e quindi con un qualsiasi editor di testo creiamo il file ''/tmp/initrd/init'' e mettiamoci come prima riga:&lt;br /&gt;
 #!/bin/ash&lt;br /&gt;
&lt;br /&gt;
===Caricare i moduli del kernel necessari al rilevamento della periferica USB e del file system ext3===&lt;br /&gt;
Il kernel huge è compilato con il supporto sia alle periferiche USB, sia al file system ext3 in maniera statica, e quindi ci permette di superare in maniera trasparente questo problema.&amp;lt;BR&amp;gt;&lt;br /&gt;
Si fa notare che il fatto di avere il supporto compilato in maniera statica nel kernel è un fattore da non sottovalutare. Infatti l'ambiente dell'initrd dovrebbe essere il più generale possibile, se spettasse all'initrd (e quindi allo script '''init''') caricare qualche modulo del kernel, allora l'initrd non sarebbe più indipendente, ma al suo interno dovrebbe avere i moduli compilati per il kernel specifico che lo ha eseguito.&lt;br /&gt;
&lt;br /&gt;
===Dare il tempo ai controller USB di rilevare la pennina e montaggio della root directory===&lt;br /&gt;
Abbiamo installato sulla nostra pennina USB un file system del tipo ext3 che abbiamo anche etichettato con il nome di 'minislack'. Bene, grazie alla capacità del comando '''mount''' di utilizzare il nome di etichetta per identificare un file system, il problema può essere risolto semplicemente mettendo nello script '''init''' quanto segue:&lt;br /&gt;
 mount -n proc -t proc /proc&lt;br /&gt;
 while ! mount -n -r -L minislack /mnt 2&amp;gt; /dev/null;&lt;br /&gt;
  do&lt;br /&gt;
    sleep 1&lt;br /&gt;
  done&lt;br /&gt;
 umount -n /proc&lt;br /&gt;
Il &amp;quot;montaggio&amp;quot; del file system proc è necessario in quanto il comando '''mount''' fa uso di questo file system per scovare l'etichetta 'minislack'.&amp;lt;BR&amp;gt;&lt;br /&gt;
Il ciclo '''while''' con lo '''sleep''' non fa altro che dare il tempo necessario ai driver USB del kernel di rilevare la pennina.&lt;br /&gt;
Quindi la nostra root directory, o meglio il file system che noi abbiamo etichettato come 'minislack' sarà montato nella directory ''/mnt'' a prescindere dal device a cui il driver USB (e più precisamente il modulo che gestisce le periferiche di archiviazione di massa USB, l'usb_storage) lo ha collegato.&lt;br /&gt;
&lt;br /&gt;
Nelle sei righe di codice precedenti abbiamo:&lt;br /&gt;
* usato il comando mount&lt;br /&gt;
* caricato il file system proc nella directory /proc&lt;br /&gt;
* usato il device null per ridirigere lo standard error del comando mount&lt;br /&gt;
* usato il comando sleep per far attendere alla shell 1 secondo&lt;br /&gt;
* montato la root directory in /mnt&lt;br /&gt;
* utilizzato il comando umount&lt;br /&gt;
per quanto potevano sembrare innocenti, quelle sei righe implicano:&lt;br /&gt;
* che il kernel al momento dell'esecuzione di queste righe, abbia il supporto al procfs e al tipo di file system della root directory che montiamo su ''/mnt'' (nel nostro caso il kernel huge ce li ha entrambi in maniera statica)&lt;br /&gt;
* che esistano i programmi mount, umount e sleep&lt;br /&gt;
* che esistano il device ''/dev/null'' e quello al quale sarà collegata la pennina USB (è vero che mount può scovare il device grazie all'etichetta del suo file system, ma è altrettanto vero che poi '''mount''' dovrà montare questo device)&lt;br /&gt;
* che esistano le directory ''/proc'' e ''/mnt''&lt;br /&gt;
&lt;br /&gt;
La '''busybox''' può comportarsi come '''mount''' semplicemente facendo un link simbolico ad essa chiamato appunto ''mount'', il problema è che quello fornito dalla '''busybox''' non è in grado di scovare le etichette dei file system (non riconosce il flag -L). Abbiamo necessariamente bisogno del comando '''mount''' del pacchetto util-linux contenuto&lt;br /&gt;
sempre nella directory della serie ''a/'' della Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Copiamo quindi il comando '''mount''' come segue:&lt;br /&gt;
 # cp -p /bin/mount /tmp/initrd/bin&lt;br /&gt;
ora però dobbiamo copiare anche le librerie condivise di cui necessita. Vediamo quali sono lanciando:&lt;br /&gt;
 # ldd /bin/mount&lt;br /&gt;
        linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
        libblkid.so.1 =&amp;gt; /lib/libblkid.so.1 (0xb7f80000)&lt;br /&gt;
        libuuid.so.1 =&amp;gt; /lib/libuuid.so.1 (0xb7f7d000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0xb7e4e000)&lt;br /&gt;
        /lib/ld-linux.so.2 (0x80000000)&lt;br /&gt;
&lt;br /&gt;
Creiamoci la directory ''lib'' all'interno del nostro initrd con:&lt;br /&gt;
 # mkdir /tmp/initrd/lib&lt;br /&gt;
e copiamoci dentro le librerie condivise con:&lt;br /&gt;
 # cp -p /lib/libblkid.so.1 /lib/libuuid.so.1 /lib/libc.so.6 /lib/ld-linux.so.2 /tmp/initrd/lib&lt;br /&gt;
Si noti che i file originali probabilmente sono link simbolici, ma il comando '''cp''' copierà il file al quale puntano e non il link.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partire dalla slackware 13.1 il comando '''mount''' necessita di altre librerie:&lt;br /&gt;
 # ldd /bin/mount&lt;br /&gt;
        linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
        /usr/lib/libv4l/v4l1compat.so (0xb7838000)&lt;br /&gt;
        /usr/lib/libv4l/v4l2convert.so (0xb7836000)&lt;br /&gt;
        libblkid.so.1 =&amp;gt; /lib/libblkid.so.1 (0xb77eb000)&lt;br /&gt;
        libuuid.so.1 =&amp;gt; /lib/libuuid.so.1 (0xb77e7000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0xb7683000)&lt;br /&gt;
        libv4l1.so.0 =&amp;gt; /usr/lib/libv4l1.so.0 (0xb767e000)&lt;br /&gt;
        libv4l2.so.0 =&amp;gt; /usr/lib/libv4l2.so.0 (0xb7674000)&lt;br /&gt;
        /lib/ld-linux.so.2 (0xb783b000)&lt;br /&gt;
        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0xb765b000)&lt;br /&gt;
        libv4lconvert.so.0 =&amp;gt; /usr/lib/libv4lconvert.so.0 (0xb75ef000)&lt;br /&gt;
        librt.so.1 =&amp;gt; /lib/librt.so.1 (0xb75e5000)&lt;br /&gt;
        libm.so.6 =&amp;gt; /lib/libm.so.6 (0xb75bf000)&lt;br /&gt;
&lt;br /&gt;
Quindi sarà necessario copiare anche le nuove librerie:&lt;br /&gt;
 # cp -p /usr/lib/libv4l/v4l1compat.so /usr/lib/libv4l/v4l2convert.so /usr/lib/libv4l1.so.0 /usr/lib/libv4l2.so.0 /tmp/initrd/lib&lt;br /&gt;
 # cp -p /lib/libpthread.so.0 /usr/lib/libv4lconvert.so.0 /lib/librt.so.1 /lib/libm.so.6 /tmp/initrd/lib&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** FINE NOTA **&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per il comando '''umount''' e '''sleep''' invece possiamo tranquillamente usare quelli della '''busybox''', quindi andiamo nella directory ''/tmp/initrd/bin'' e facciamo:&lt;br /&gt;
 # ln -s busybox umount&lt;br /&gt;
 # ln -s busybox sleep&lt;br /&gt;
&lt;br /&gt;
Il programma '''mount''' l'abbiamo utilizzato passandogli anche il flag -n, dicendogli quindi di non scrivere quello che sarà il file ''/etc/mtab'', benché esso non lo scriva, vuole comunque leggerlo per controllare se il file system che si sta tentando di montare non sia già stato montato. Dobbiamo quindi creare il file vuoto ''/tmp/initrd/etc/mtab'':&lt;br /&gt;
 # mkdir /tmp/initrd/etc&lt;br /&gt;
 # touch /tmp/initrd/etc/mtab&lt;br /&gt;
&lt;br /&gt;
Proseguiamo quindi con la creazione del device null e dei possibili device a cui sarà collegata la pennina USB. In generale la pennina USB viene vista come una periferica SCSI disk e quindi sarà attaccata ad un device del tipo ''/dev/sdXY'' dove X varia a seconda di quante periferiche di archiviazione rilevate come SCSI (ad esempio i dischi sata) sono state trovate prima della pennina, mentre Y rappresenta una qualsiasi partizione.&amp;lt;BR&amp;gt;&lt;br /&gt;
Se, ad esempio, un PC non ha nessun disco rilevato come SCSI e ci si inserisce una pennina con tre partizioni, queste tre partizioni saranno collegate rispettivamente ai device: sda1, sda2  e sda3.&lt;br /&gt;
&lt;br /&gt;
Y allora la possiamo ricavare facilmente, infatti all'inizio abbiamo supposto che la nostra pennina avesse solo una partizione e che essa (la partizione) venisse attaccata ad device ''/dev/sda1'', allora Y=1 e la pennina sarà sempre collegata ad un device dal nome ''/dev/sdX1''.&amp;lt;BR&amp;gt;&lt;br /&gt;
Quindi creiamoci la directory in cui inserire i device:&lt;br /&gt;
 # mkdir /tmp/initrd/dev&lt;br /&gt;
e copiamoci subito dentro il device ''/dev/null'' con:&lt;br /&gt;
 # cp -R /dev/null /tmp/initrd/dev&lt;br /&gt;
&lt;br /&gt;
Al momento attuale gli SCSI disk sono gestiti dal device driver con major number 8. Questo device driver è in grado di gestire sino a 15 partizioni per ogni disco, questo vuol dire che due device con X consecutive e con uguale Y hanno una distanza (in termini di minor number) pari a 16. Ad esempio il device sda avrà un minor number uguale a 0 laddove il device sdb avrà invece minor number uguale a 16, e così via.&lt;br /&gt;
&lt;br /&gt;
Possiamo allora creare i device con:&lt;br /&gt;
 # mknod /tmp/initrd/dev/sda1 b 8 1&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdb1 b 8 17&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdc1 b 8 33&lt;br /&gt;
 # mknod /tmp/initrd/dev/sdd1 b 8 49&lt;br /&gt;
&lt;br /&gt;
Ora per rendere tutto coerente con quanto scritto sempre nelle sei innocenti righe di codice inserite nel file ''init'', non ci resta che creare due directory vuote nelle quali verranno montati i file system proc e quello contenente la nostra directory radice.&lt;br /&gt;
 # mkdir /tmp/initrd/proc /tmp/initrd/mnt&lt;br /&gt;
&lt;br /&gt;
===Eseguire il vero processo init===&lt;br /&gt;
L'ultimo passo che deve eseguire lo script '''init''' dell'initrd è quello di lanciare il vero processo '''init''' situato nella directory radice della distribuzione e poi liberare la memoria allocata.&amp;lt;BR&amp;gt;&lt;br /&gt;
I passi teorici da eseguire sono:&lt;br /&gt;
* spostare la directory radice dell'initrd sulla directory radice della distribuzione&lt;br /&gt;
* smontare l'initrd&lt;br /&gt;
* deallocare la memoria allocata dal kernel per l'initrd&lt;br /&gt;
* eseguire il vero processo '''init'''&lt;br /&gt;
Che poi praticamente, dato che per ognuno dei passi precedenti esiste uno specifico programma che lo esegue, diventa:&lt;br /&gt;
* cd /mnt; mkdir initrd; pivot_root . initrd&lt;br /&gt;
* umount /initrd&lt;br /&gt;
* blockdev --flushbufs /dev/ram0&lt;br /&gt;
* exec chroot . /sbin/init $@&lt;br /&gt;
&lt;br /&gt;
Il comando '''pivot_root''' ultimamente sembra non comportarsi bene nell'ambiente dell'initrd. Fortunatamente la '''busybox''' ha al suo interno un programma che dovrebbe eseguire tutti i passi precedenti, il comando si chiama '''switch_root ''' e come al solito quindi basta fare un link simbolico a '''busybox''' entrando in ''/tmp/initrd/bin''&lt;br /&gt;
ed eseguendo:&lt;br /&gt;
 # ln -s busybox switch_root&lt;br /&gt;
&lt;br /&gt;
Ora non resta che inserire nello script init quanto segue:&lt;br /&gt;
 exec switch_root /mnt /sbin/init $@&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' si noti il passaggio a '''/sbin/init''' dei parametri $@, questi sono i parametri che il kernel non ha riconosciuto nella sua riga di comando (quella passatagli dal loader), e che quindi passa al comando che esegue.&lt;br /&gt;
&lt;br /&gt;
===Lo script init nella sua interezza===&lt;br /&gt;
Riassumendo, lo script ''/tmp/initrd/init'' è questo:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
#!/bin/ash&lt;br /&gt;
# Aspetto finché i driver USB non rilevano la pennina e monto la vera directory radice&lt;br /&gt;
mount -n proc /proc -t proc&lt;br /&gt;
while ! mount -n -r -L minislack /mnt 2&amp;gt; /dev/null;&lt;br /&gt;
 do&lt;br /&gt;
    sleep 1;&lt;br /&gt;
 done&lt;br /&gt;
umount /proc&lt;br /&gt;
&lt;br /&gt;
# Avvio il vero /sbin/init&lt;br /&gt;
exec switch_root /mnt /sbin/init $@&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
questo script deve essere eseguito dal kernel è quindi dobbiamo assicurarci che abbia i diritti di esecuzione:&lt;br /&gt;
 # chmod u+x /tmp/initrd/init&lt;br /&gt;
&lt;br /&gt;
==Creazione dell'archivio cpio compresso initrd.gz==&lt;br /&gt;
La directory ''/tmp/initrd'' ora dovrebbe essere così strutturata:&lt;br /&gt;
 # tree /tmp/initrd&lt;br /&gt;
   /tmp/initrd/&lt;br /&gt;
   |-- bin&lt;br /&gt;
   |   |-- ash -&amp;gt; busybox&lt;br /&gt;
   |   |-- busybox&lt;br /&gt;
   |   |-- mount&lt;br /&gt;
   |   |-- sleep -&amp;gt; busybox&lt;br /&gt;
   |   |-- switch_root -&amp;gt; busybox&lt;br /&gt;
   |   `-- umount -&amp;gt; busybox&lt;br /&gt;
   |-- dev&lt;br /&gt;
   |   |-- null&lt;br /&gt;
   |   |-- sda1&lt;br /&gt;
   |   |-- sdb1&lt;br /&gt;
   |   |-- sdc1&lt;br /&gt;
   |   `-- sdd1&lt;br /&gt;
   |-- etc&lt;br /&gt;
   |   `-- mtab&lt;br /&gt;
   |-- init&lt;br /&gt;
   |-- lib&lt;br /&gt;
   |   |-- ld-linux.so.2&lt;br /&gt;
   |   |-- libblkid.so.1&lt;br /&gt;
   |   |-- libc.so.6&lt;br /&gt;
   |   `-- libuuid.so.1&lt;br /&gt;
   |-- mnt&lt;br /&gt;
   `-- proc&lt;br /&gt;
 &lt;br /&gt;
 6 directories, 17 files&lt;br /&gt;
Non resta altro da fare che creare un archivio cpio di questa directory, comprimerla con il comando '''gzip''' e renderla disponibile al loader di linux.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partendo dal solito presupposto che la pennina sia collegata dal kernel al device sda1, la si monti ad esempio nella directory ''/mnt/memory'' con:&lt;br /&gt;
 # mount /dev/sda1 /mnt/memory&lt;br /&gt;
si crei poi una directory in cui inserire l'archivio cpio compresso che è l'initrd con:&lt;br /&gt;
 # mkdir /mnt/memory/boot&lt;br /&gt;
ed infine si crei l'archivio cpio compresso (il tanto sudato initrd):&lt;br /&gt;
 # cd /tmp/initrd&lt;br /&gt;
 # find . | cpio -o -H newc | gzip -9 -n &amp;gt; /mnt/memory/boot/initrd.gz&lt;br /&gt;
&lt;br /&gt;
Quando, più in là nel wiki, si configurerà il loader di linux, si vedrà come utilizzare questo file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 2: installazione della distribuzione sulla pennina=&lt;br /&gt;
Ora ci si occuperà di installare e configurare una serie minimale ma importantissima di pacchetti Slackware.&amp;lt;BR&amp;gt;&lt;br /&gt;
Ovviamente non ci sono limitazioni, se non quelle fisiche della pennina, al numero di pacchetti che il lettore può installare, ma per lo scopo di questo wiki è sufficiente installare i pacchetti essenziali a far partire la distribuzione.&amp;lt;BR&amp;gt;&lt;br /&gt;
I pacchetti che verranno installati si trovano tutti nella directory ''a/'' della Slackware, quindi, supponendo che il CD o DVD della Slackware sia stato montato nella directory ''/mnt/dvd/'', per prima cosa ci si deve spostare dentro questa directory con:&lt;br /&gt;
 # cd /mnt/dvd/slackware/a&lt;br /&gt;
&lt;br /&gt;
==Un piccolo accorgimento==&lt;br /&gt;
I pacchetti verranno installati sfruttando l'opzione -root dello script '''installpkg''', alcuni dei pacchetti hanno uno script aggiuntivo, il famoso '''doinst.sh''', che viene avviato dopo l'installazione del pacchetto. Gli script '''doinst.sh''' sono &amp;quot;chrootati&amp;quot; sulla pennina e devono poter eseguire comandi, quali ad esempio '''cd''', '''rm''' o&lt;br /&gt;
'''ln'''. Questo implica che:&lt;br /&gt;
* il programma che il '''doinst.sh''' vuole eseguire deve essere presente sulla pennina&lt;br /&gt;
* si abbiano i diritti di esecuzione sulla pennina&lt;br /&gt;
&lt;br /&gt;
La prima implicazione è risolta installando i pacchetti in un ordine ben preciso, facendo in modo di installare prima i pacchetti che contengono i programmi usuali usati dai '''doinst.sh'''.&lt;br /&gt;
&lt;br /&gt;
La seconda implicazione viene verificata se si esegue un piccolo accorgimento, ovvero smontare la pennina e rimontarla con l'opzione 'exec' del '''mount''', in questo modo:&lt;br /&gt;
 # umount /mnt/memory&lt;br /&gt;
 # mount -o exec -rw -t ext3 /dev/sda1 /mnt/memory&lt;br /&gt;
&lt;br /&gt;
==I pacchetti da installare==&lt;br /&gt;
La domanda è semplice, come si determinano i pacchetti che si devono installare?&amp;lt;BR&amp;gt;&lt;br /&gt;
La risposta non è altrettanto semplice, sicuramente ci sarà il programma ''/sbin/init'' per avere un collegamento all'initrd creato nella 'Fase 1', ma poi? Poi bisogna seguire l''''init''' e capire cosa esegue, in modo da fargli trovare i programmi che tenta di eseguire. Se è necessario, bisogna anche seguire i programmi che '''init''' esegue per capire cosa fanno e se hanno bisogno di altri programmi o file di configurazione.&amp;lt;BR&amp;gt;&lt;br /&gt;
In generale quindi, il primo file da analizzare è ''/etc/inittab'', file di configurazione di '''init''', ci si accorge quindi che '''init''' esegue una serie di script di inizializzazione, e quindi bisogna seguire questi script per capire cosa fanno.&lt;br /&gt;
&lt;br /&gt;
Per lo scopo di questo wiki il lavoro è stato già fatto dall'autore e quindi verranno segnalati solo i passi fondamentali da fare affinché la distribuzione possa partire.&lt;br /&gt;
&lt;br /&gt;
Qui si riporta l'elenco dei pacchetti che devono essere installati nell'ordine di seguito riportato (l'ordine è importante solo per i primi tre pacchetti). Accanto al nome del pacchetto vi è una piccola descrizione di cosa contiene:&lt;br /&gt;
 aaa_base              ---&amp;gt;    Crea tutte le directory base&lt;br /&gt;
 coreutils             ---&amp;gt;    Programmi utilizzati dagli script '''doisnt.sh'''&lt;br /&gt;
 glibc-solibs          ---&amp;gt;    La libreria glibc, usata da molti eseguibili (tra cui '''init''')&lt;br /&gt;
 glibc-zoneinfo        ---&amp;gt;    Contiene lo script '''timeconfig''' che verrà usato in seguito&lt;br /&gt;
 bash                  ---&amp;gt;    La shell&lt;br /&gt;
 etc                   ---&amp;gt;    File di configurazione dei programmi utilizzati&lt;br /&gt;
 util-linux            ---&amp;gt;    Contiene, tra l'altro, il programma '''mount'''&lt;br /&gt;
 sysvinit              ---&amp;gt;    Contiene il programma '''init'''&lt;br /&gt;
 sysvinit-scripts      ---&amp;gt;    I famosi script '''rc.d''' della Slackware, invocati da '''init'''&lt;br /&gt;
 module-init-tools     ---&amp;gt;    '''modprobe''' e altri programmi per gestire i moduli&lt;br /&gt;
 e2fsprogs             ---&amp;gt;    Comandi per i filesystem ext2/3&lt;br /&gt;
 devs                  ---&amp;gt;    I device, senza di questi....&lt;br /&gt;
 findutils             ---&amp;gt;    '''find''', usato dagli script di inizializzazione&lt;br /&gt;
 aaa_elflibs           ---&amp;gt;    Libreria libtermcap per i terminali&lt;br /&gt;
 aaa_terminfo          ---&amp;gt;    File di informazione sui terminali usati dalla libreria libtermcap&lt;br /&gt;
 shadow                ---&amp;gt;    Contiene, tra l'altro, i programmi '''login''' e '''sulogin'''&lt;br /&gt;
 grep                  ---&amp;gt;    '''grep''', usato dagli script di inizializzazione&lt;br /&gt;
 procps                ---&amp;gt;    '''ps''', usato dagli script di inizializzazione&lt;br /&gt;
 kernel-huge           ---&amp;gt;    Il kernel...&lt;br /&gt;
 kernel-modules        ---&amp;gt;    ... i suoi moduli&lt;br /&gt;
&lt;br /&gt;
Per installare questi pacchetti si deve eseguire '''installpkg''' con l'opzione -root ''/mnt/memory'', ad esempio:&lt;br /&gt;
 # installpkg -root /mnt/memory aaa_base-12.0.0-noarch-1.tgz&lt;br /&gt;
&lt;br /&gt;
==Una facile configurazione==&lt;br /&gt;
Come per la domanda 'Quali pacchetti si devono installare?', così la risposta alla domanda 'Cosa si deve configurare?' dipende sempre dall'amministratore del sistema e da cosa esso intenda far eseguire all'avvio della macchina.&amp;lt;BR&amp;gt;&lt;br /&gt;
Nel wiki si intende lasciare intatti gli script di inizializzazione fatti da Patrick J. Volkerding, creatore della Slackware, e quindi si procederà nella minima configurazione necessaria proprio a questi script di inizializzazione.&lt;br /&gt;
&lt;br /&gt;
===/etc/fstab===&lt;br /&gt;
Si comincia con il creare il file ''/etc/fstab'' come segue:&lt;br /&gt;
 # echo -e &amp;quot;LABEL=minislack\t\t/\text3\trw\t1 1&amp;quot; &amp;gt; /mnt/memory/etc/fstab&lt;br /&gt;
&lt;br /&gt;
===/etc/hardwareclock===&lt;br /&gt;
Un altro file richiesto dagli script di inizializzazione della Slackware è il file ''/etc/hardwareclock'' che indica come è impostato l'orologio hardware. In effetti questo file non contiene granché, ma viene consigliato di editarlo/crearlo tramite lo script '''/usr/sbin/timeconfig''', quindi bisogna eseguire lo script spostandogli la directory root, in questo modo:&lt;br /&gt;
 # cd /mnt/memory&lt;br /&gt;
 # chroot . usr/sbin/timeconfig&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fase 3: impostare il boot loader e testare il tutto=&lt;br /&gt;
L'ultima cosa da fare è quella di rendere la pennina &amp;quot;bootabile&amp;quot;, ovvero di inserire nel suo primo settore, il famoso settore di boot. Per fare questo basta creare un file ''lilo.conf'' ad-hoc, e poi lanciare LILO passandogli il file appena creato.&amp;lt;BR&amp;gt;&lt;br /&gt;
Si crei quindi il file, ad esempio ''/mnt/memory/etc/lilo.conf'', direttamente sulla pennina in modo che rimanga con essa, con all'interno quanto segue:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
boot = /dev/sda&lt;br /&gt;
backup = &amp;quot;&amp;quot;&lt;br /&gt;
map=/mnt/memory/boot/map&lt;br /&gt;
&lt;br /&gt;
compact&lt;br /&gt;
lba32&lt;br /&gt;
large-memory&lt;br /&gt;
&lt;br /&gt;
image = /mnt/memory/boot/vmlinuz&lt;br /&gt;
  initrd = /mnt/memory/boot/initrd.gz&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si noti l'opzione 'initrd', con la quale si indica al kernel che deve usare l'initrd creato nella 'Fase 1'. Ora non resta quindi che lanciare LILO come segue:&lt;br /&gt;
 # lilo -C /mnt/memory/etc/lilo.conf&lt;br /&gt;
e riavviare il PC facendogli fare il boot dalla pennina USB.&amp;lt;BR&amp;gt;&lt;br /&gt;
Con la configurazione minimale che si è fatta nella 'Fase 2', basta, al momento del login, inserire l'username di 'root' per avere una shell con tutti i privilegi del super-utente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Esempi d'uso=&lt;br /&gt;
Una volta che si ha una pennina USB &amp;quot;bootabile&amp;quot;, con all'interno un intera distribuzione, serve solo la fantasia per farci quello che ci pare.&amp;lt;BR&amp;gt;&lt;br /&gt;
Esempi d'uso potrebbero essere quello di crearsi una distribuzione adatta alla lettura di contenuti multimediali, in questo modo basta trovare un PC per vedere un DVD o ascoltare della musica, senza preoccuparsi che il PC sia dotato di tutti i programmi o codec adatti.&lt;br /&gt;
&lt;br /&gt;
Un altro esempio è che si ha sempre a portata di mano un &amp;quot;disco di ripristino&amp;quot;. Se la distribuzione installata sul PC non dovesse partire perché ci si è divertiti un po' troppo con i file di configurazione, si può sempre fare il boot del PC con la pennina e provvedere a rimediare agli eventuali danni che si è combinati.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Appendice=&lt;br /&gt;
==A: altri pacchetti utili==&lt;br /&gt;
Se si vuole rendere la distribuzione che si è installata sulla pennina un po' più indipendente, bisogna essere in grado di manipolare i pacchetti della Slackware, non solo, ma sarebbe anche carino poter utilizzare tutta una serie di comandi utili ad un sistemista. Quindi, oltre all'insieme minimo di pacchetti menzionati nella sezione&lt;br /&gt;
'[[#I_pacchetti_da_installare|I pacchetti da installare]]', qui di seguito c'è un elenco dei pacchetti che rendono la distribuzione sulla pennina, più user-friendly:&lt;br /&gt;
 a/pkgtools           ---&amp;gt;    Per gestire i pacchetti della Slackware&lt;br /&gt;
 a/bin                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/sed                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/gzip               ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/tar                ---&amp;gt;    Usato dagli script di pkgtools&lt;br /&gt;
 a/xz                 ---&amp;gt;    Usato dagli script di pkgtools per il nuovo formato '.txz' della Slackware 13&lt;br /&gt;
&lt;br /&gt;
 ap/man               ---&amp;gt;    Il comando man più tornare molto utile&lt;br /&gt;
 ap/man-pages         ---&amp;gt;    Le pagine di manuale di molti comandi&lt;br /&gt;
 ap/groff             ---&amp;gt;    Il formattatore usato da man&lt;br /&gt;
 a/cxxlibs            ---&amp;gt;    Libreria c++ standard usata da groff&lt;br /&gt;
 a/less               ---&amp;gt;    Il comando che man usa per visualizzare le pagine di manuale&lt;br /&gt;
&lt;br /&gt;
 a/udev               ---&amp;gt;    Utile se si vogliono usare driver che necessitano di firmware&lt;br /&gt;
&lt;br /&gt;
 ap/nano              ---&amp;gt;    Il famoso e semplice editor di testo&lt;br /&gt;
&lt;br /&gt;
 a/bzip2              ---&amp;gt;    Sempre più spesso si trovano archivi bzip&lt;br /&gt;
&lt;br /&gt;
 a/reiserfsprogs      ---&amp;gt;    Per gestire il famoso file system reiser&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ringraziamenti=&lt;br /&gt;
Ringrazio ZeroUno per i suoi consigli e le sue prove.&lt;br /&gt;
&lt;br /&gt;
Per qualsiasi cosa scrivetemi pure:&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Utente:Spina|spina]]&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Compiz-git</id>
		<title>Compiz-git</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Compiz-git"/>
				<updated>2009-01-30T11:48:51Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* News */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Script]]&lt;br /&gt;
= Descrizione =&lt;br /&gt;
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 --&amp;gt; /usr/local).&lt;br /&gt;
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 :-)&lt;br /&gt;
&lt;br /&gt;
Finalmente viene creato un pacchetto &amp;quot;.tgz&amp;quot; per ogni ramo del progetto!! In questo modo è pi semplice tenere traccia dell'installazione di compiz :-D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'attuale versione NON è compatibile con distro a 64bit. Sto cercando di aggiungere il supporto anche per questo tipo di cpu, ma per il momento lo script si può usare solo con distro 32bit.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
GIT --&amp;gt; [http://git.or.cz/ home]&lt;br /&gt;
&lt;br /&gt;
PYTHON --&amp;gt; [http://www.python.it/ python-italia] // [http://www.python.org sito_ufficiale]&lt;br /&gt;
&lt;br /&gt;
CONNESSIONE A INTERNET ATTIVA --&amp;gt; per scaricare i vari componenti&lt;br /&gt;
&lt;br /&gt;
ACCELERAZIONE 3D ATTIVATA --&amp;gt; per poter avviare compiz e godersi al meglio tutte le meraviglie di questo window-manager (per sapere come abilitare l'accelerazione 3D consultate [http://www.slacky.eu/wikislack/index.php?title=Compiz_e_compiz-fusion_su_Slackware#Introduzione questa guida], la quale contiene anche alcuni consigli utili per avviare compiz e risolvere problemi comuni)&lt;br /&gt;
&lt;br /&gt;
= Download (Slackware 12.1) =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=2 get-compiz-v5.0 (home)]&lt;br /&gt;
&lt;br /&gt;
= Download (Slackware 12.0) =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=1 get-compiz-v4.0 (home)]&lt;br /&gt;
&lt;br /&gt;
Oppure&lt;br /&gt;
&lt;br /&gt;
[http://www.slacky.eu/wikislack/script/get-compiz-v4.0.sh get-compiz-v4.0 (slacky.eu)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice degli script.&lt;br /&gt;
&lt;br /&gt;
Versione 5.0 (per Slackware 12.1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=&amp;quot;1as&amp;quot;&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://anongit.compiz-fusion.org/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se git è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se python è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se intltool è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which intltoolize)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo intltool...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/development/intltool/0.40.4/intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new intltool-0.40.4-noarch-1sl.tgz&amp;quot;&lt;br /&gt;
		rm -f intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se orbit2 e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo orbit2...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/orbit2/2.14.10/orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se gconf e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo gconf...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/gconf/2.20.1/gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare se si ha internet&lt;br /&gt;
check_net() {&lt;br /&gt;
	if ! ping -c 1 www.kernel.org &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	check_net&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $item...&amp;quot;&lt;br /&gt;
			git-clone $REPO$item&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $item...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		oggetto=$(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
		cd $COMPIZDIR/$oggetto&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Controllo se il ramo che devo compilare e' ccsm&lt;br /&gt;
		if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;ccsm&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLAKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				mkdir -p $PKG/usr/local/&lt;br /&gt;
				python setup.py install --prefix=$PKG/usr/local/&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
				su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		elif [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				compiz=&amp;quot;&amp;quot;&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-main&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-extra&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-unsupported&amp;quot; ]; then&lt;br /&gt;
					compiz=&amp;quot;compiz-&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
		python setup.py clean&lt;br /&gt;
		python setup.py build&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per installare la fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py install --prefix=/usr/&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Fusion-icon non installata.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
&lt;br /&gt;
	# Path dei sorgenti&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Dove  si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep i18n&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc &amp;amp;&amp;amp; cd $COMPIZDIR/fusion-icon &amp;amp;&amp;amp; python setup.py uninstall --prefix=/usr/&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		elif [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ ! -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non ho trovato nessun pacchetto che assomiglia a compiz :-(&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi	&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se devo rimuovere anche i sorgenti di compiz-git&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche rimuovere la cartella contenente i sorgenti? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		risp=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $dir&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for item in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $item ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 5.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Versione 4.0 (per Slackware 12.0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 8/4/2008 da Ansa89 (avrei dovuto studiare Bergson e Dewey...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=1&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://git.freedesktop.org/git/xorg/app/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Controllo se git è installato&lt;br /&gt;
if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Controllo se python è installato&lt;br /&gt;
if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
	exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	if ! ping -c 5 www.slacky.eu &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico e installo due pacchetti che servono&lt;br /&gt;
	if ! ls /var/log/packages/ | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if ! ls /var/log/packages/ | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for z in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $z...&amp;quot;&lt;br /&gt;
			git-clone $REPO$z&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $z...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do&lt;br /&gt;
		cd $COMPIZDIR/$i&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		if [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $i&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$i&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$i&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $i-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$i&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $i&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	&lt;br /&gt;
	# Adesso compilo CCSM perchè devo usare python&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	cd ccsm&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	else&lt;br /&gt;
		VERSION2=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	python setup.py clean&lt;br /&gt;
	python setup.py build&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		python setup.py --prefix=$PKG/&lt;br /&gt;
		mkdir -p $PKG/usr/doc/ccsm/&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/ccsm/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto ccsm-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
		su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non sono riuscito ad installare ccsm&amp;quot;&lt;br /&gt;
		echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		cd ../&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		icon=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			if [ -e VERSION ]; then&lt;br /&gt;
				VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
			else&lt;br /&gt;
				VERSION2=$VERSION&lt;br /&gt;
			fi&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			python setup.py install --prefix=$PKG/&lt;br /&gt;
			mkdir -p $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto fusion-icon-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
			su -c &amp;quot;makepkg -l y -c n $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/* &amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep fusion-icon&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo &amp;quot;Non ho trovato pacchetti installati che assomigliano a compiz.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		&lt;br /&gt;
		# Path contenente i sorgenti&lt;br /&gt;
		echo &amp;quot;Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read dir&lt;br /&gt;
		if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			dir=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		if [ ! -d $dir ]; then&lt;br /&gt;
			echo &amp;quot;La cartella $dir non esiste!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		cd $dir&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n; do&lt;br /&gt;
			if [ -d $i ]; then&lt;br /&gt;
				cd $i&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per rimuovere $i&amp;quot;&lt;br /&gt;
				su -c &amp;quot;make uninstall&amp;quot;&lt;br /&gt;
				cd ../&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		&lt;br /&gt;
		# Adesso rimuovo CCSM perchè devo usare python&lt;br /&gt;
		cd $dir/ccsm/&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere ccsm&amp;quot;&lt;br /&gt;
		su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		# Chiedo se devo rimuovere anche la fusion-icon&lt;br /&gt;
		echo -n &amp;quot;Devo rimuovere anche la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
		read risp&lt;br /&gt;
		if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
			cd $dir/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per rimuovere fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		fi&lt;br /&gt;
		&lt;br /&gt;
		# Rimuovo anche tutti i sorgenti di compiz-git&lt;br /&gt;
		cd $dir&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $i ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 4.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
Inizio una sezione &amp;quot;changelog&amp;quot; per spiegare le migliorie che cerco di introdurre nelle nuove versioni:&lt;br /&gt;
&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...con un sacco di bug (eh oh)&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Dopo un bel periodo di prove ho capito come evitare alcuni problemi durante la compilazione dei vari componenti&lt;br /&gt;
&lt;br /&gt;
- V 2.1 --&amp;gt; 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&lt;br /&gt;
&lt;br /&gt;
- V 2.2 --&amp;gt; &amp;quot;plugins-main&amp;quot; non trovava &amp;quot;bcop&amp;quot; durante la configurazione a causa di un path errato ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=185048#p185048 spiegazione]). Un ringraziamento a JohnnyMnemonic :-)&lt;br /&gt;
&lt;br /&gt;
- V 3.0 --&amp;gt; Adesso si può scegliere se installare/aggiornare compiz o semplicemente rimuoverlo :-D&lt;br /&gt;
&lt;br /&gt;
- V 3.1b --&amp;gt; Versione BETA: adesso crea un pacchetto .tgz (per ogni componente) e lo installa; inoltre ho introdotto il &amp;quot;solo download/update&amp;quot;, così l'utente può anche scaricare compiz-git senza doverlo installare&lt;br /&gt;
&lt;br /&gt;
- V 3.1b2 --&amp;gt; Ancora BETA: c'erano troppe variabili e richieste: ne ho tolte un po' per snellire lo script&lt;br /&gt;
&lt;br /&gt;
- V 3.1b3 --&amp;gt; Aggiunta la modalità &amp;quot;only_install&amp;quot; che permette di installare compiz-git senza riscaricare/aggiornare tutti i rami del progetto (ovviamente i sorgenti devono essere già presenti sul computer)&lt;br /&gt;
&lt;br /&gt;
- V 3.1 --&amp;gt; Ultime correzioni di bug; lo script sembra completo, pertanto lo sviluppo si ferma (almeno fino a quando non verranno fuori altri problemi)&lt;br /&gt;
&lt;br /&gt;
- V 3.2 --&amp;gt; Bugfix: adesso entra nella cartella &amp;quot;$PKG&amp;quot; prima di creare i pacchetti &amp;quot;.tgz&amp;quot; ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=187923#p187923 errore segnalato da alexxxius]). Inoltre la fusion-icon non dà più problemi di compilazione&lt;br /&gt;
&lt;br /&gt;
- V 3.3 --&amp;gt; Altri bugfix ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;start=30 sempre su un errore segnalato da alexxxius]). Stavolta non dovrebbero più esserci problemi&lt;br /&gt;
&lt;br /&gt;
- V 4.0 --&amp;gt; Adesso per _OGNI_ ramo del progetto viene creato un pacchetto (prima ccsm e fusion-icon non erano pacchettizzati...) --Ultima release per Slackware 12.0--&lt;br /&gt;
&lt;br /&gt;
- V 5.0 --&amp;gt; Prima release per Slackware 12.1! Fixati alcuni bug che impedivano la compilazione di compiz con la nuova Slack, create nuove funzioni per il check della connessione e delle dipendenze, migliorato l'aspetto dello script. Inoltre la fusion-icon _NON_ viene pacchettizzata perché dà dei problemi quando si cerca di installare il pacchetto creato&lt;br /&gt;
&lt;br /&gt;
= Consigli =&lt;br /&gt;
1) 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 &amp;quot;fusion-icon&amp;quot; (posizionato in &amp;quot;/usr/bin&amp;quot;): 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 :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Compizconfig setting manager, a causa di un errore, non ha le icone delle varie categorie (generale, accessibilità, desktop, ...): per correggere questo bug esiste un workaround che potete trovare [http://www.slacky.eu/forum/viewtopic.php?f=4&amp;amp;t=23568 qui]. Un ringraziamento a mimmoforlug :-D&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2009-01-30T11:48:32Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Changelog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
RSYNC --&amp;gt; [http://rsync.samba.org/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=8 slackware-install-dvd_lite-v2.0 (home)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 2.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
# &lt;br /&gt;
# Script creato il 30/1/2009 da Ansa89 (avrei dovuto studiare analisi...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se wget e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se mkisofs e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se rsync e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which rsync)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere RSYNC installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se lo script e' eseguito come root&lt;br /&gt;
	if [ &amp;quot;$(id -u)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
USER_ID=&amp;quot;$(id -u)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
RSYNC_URL=&amp;quot;rsync://slackware.mirrors.tds.net/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;12.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per chiedere informazioni all'utente&lt;br /&gt;
question() {&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
	read VER&lt;br /&gt;
	if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
		VER=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	echo &amp;quot;In quale cartella vuoi salvare i dati? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
	read DIR&lt;br /&gt;
	if [ -z $DIR ]; then&lt;br /&gt;
		DIR=$CD_ISO_DIR&lt;br /&gt;
	elif ! [ -e $DIR ]; then&lt;br /&gt;
		mkdir -p $DIR&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$VER&amp;quot; != &amp;quot;current&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$VER&amp;quot; != &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
		echo &amp;quot;Vuoi scaricare le iso dei primi tre cd di slackware&amp;quot;&lt;br /&gt;
		echo &amp;quot;oppure usare rsync? (consigliato rsync)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;[cd / rsync]\t&amp;quot;&lt;br /&gt;
		read MODE&lt;br /&gt;
	else&lt;br /&gt;
		VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		MODE=&amp;quot;rsync&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare le tre iso&lt;br /&gt;
download_wget() {&lt;br /&gt;
&lt;br /&gt;
	# Scarico le iso&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
	done&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare slackware usando rsync&lt;br /&gt;
download_rsync() {&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove scaricare i dati&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Scarico i dati&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	rsync -avzh --progress --delete --delete-after \&lt;br /&gt;
		--exclude=&amp;quot;source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;extra/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;pasture/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;testing&amp;quot; \&lt;br /&gt;
		$RSYNC_URL/slackware-$VER/ $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
	cd $DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove montare le iso&lt;br /&gt;
	mkdir ./mnt&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
		su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
			slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
			cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
			umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
	done&lt;br /&gt;
	rm -Rf ./mnt&lt;br /&gt;
	echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
	su -c &amp;quot;chown -R $USER_ID $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
	cd $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
		-R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
		-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
		-sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
		-c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	--all)&lt;br /&gt;
		question&lt;br /&gt;
		if [ -z &amp;quot;$MODE&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;rsync&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;RSYNC&amp;quot; ]; then&lt;br /&gt;
			download_rsync&lt;br /&gt;
		elif [ &amp;quot;$MODE&amp;quot; == &amp;quot;cd&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;CD&amp;quot; ]; then&lt;br /&gt;
			download_wget&lt;br /&gt;
			extract_cd&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-cd)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Questa opzione funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;Magari prova con \&amp;quot;--create-from-dir\&amp;quot;&amp;quot;&lt;br /&gt;
			echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
		read DIR&lt;br /&gt;
		if [ -z $DIR ]; then&lt;br /&gt;
			DIR=$CD_ISO_DIR&lt;br /&gt;
		elif ! [ -e $DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		extract_cd&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-dir)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR/iso_temp/)\t&amp;quot;&lt;br /&gt;
		read CPY_DIR&lt;br /&gt;
		if [ -z $CPY_DIR ]; then&lt;br /&gt;
			CPY_DIR=&amp;quot;$CD_ISO_DIR/iso_temp/&amp;quot;&lt;br /&gt;
		elif ! [ -e $CPY_DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;	&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;--all --&amp;gt; scarica i dati e crea la iso&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-cd --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
		echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-dir --&amp;gt; crea la iso usando il contenuto di una cartella&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 2.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...un po' contestata&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Cambiato il sistema per sapere quale utente sta eseguendo lo script (adesso si usa &amp;quot;id -u&amp;quot;); aggiunto il supporto per scaricare i dati con rsync&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2009-01-30T11:48:09Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
RSYNC --&amp;gt; [http://rsync.samba.org/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=8 slackware-install-dvd_lite-v2.0 (home)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 2.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
# &lt;br /&gt;
# Script creato il 30/1/2009 da Ansa89 (avrei dovuto studiare analisi...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se wget e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se mkisofs e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se rsync e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which rsync)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere RSYNC installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se lo script e' eseguito come root&lt;br /&gt;
	if [ &amp;quot;$(id -u)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
USER_ID=&amp;quot;$(id -u)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
RSYNC_URL=&amp;quot;rsync://slackware.mirrors.tds.net/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;12.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per chiedere informazioni all'utente&lt;br /&gt;
question() {&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
	read VER&lt;br /&gt;
	if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
		VER=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	echo &amp;quot;In quale cartella vuoi salvare i dati? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
	read DIR&lt;br /&gt;
	if [ -z $DIR ]; then&lt;br /&gt;
		DIR=$CD_ISO_DIR&lt;br /&gt;
	elif ! [ -e $DIR ]; then&lt;br /&gt;
		mkdir -p $DIR&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$VER&amp;quot; != &amp;quot;current&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$VER&amp;quot; != &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
		echo &amp;quot;Vuoi scaricare le iso dei primi tre cd di slackware&amp;quot;&lt;br /&gt;
		echo &amp;quot;oppure usare rsync? (consigliato rsync)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;[cd / rsync]\t&amp;quot;&lt;br /&gt;
		read MODE&lt;br /&gt;
	else&lt;br /&gt;
		VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		MODE=&amp;quot;rsync&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare le tre iso&lt;br /&gt;
download_wget() {&lt;br /&gt;
&lt;br /&gt;
	# Scarico le iso&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
	done&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare slackware usando rsync&lt;br /&gt;
download_rsync() {&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove scaricare i dati&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Scarico i dati&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	rsync -avzh --progress --delete --delete-after \&lt;br /&gt;
		--exclude=&amp;quot;source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;extra/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;pasture/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;testing&amp;quot; \&lt;br /&gt;
		$RSYNC_URL/slackware-$VER/ $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
	cd $DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove montare le iso&lt;br /&gt;
	mkdir ./mnt&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
		su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
			slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
			cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
			umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
	done&lt;br /&gt;
	rm -Rf ./mnt&lt;br /&gt;
	echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
	su -c &amp;quot;chown -R $USER_ID $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
	cd $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
		-R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
		-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
		-sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
		-c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	--all)&lt;br /&gt;
		question&lt;br /&gt;
		if [ -z &amp;quot;$MODE&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;rsync&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;RSYNC&amp;quot; ]; then&lt;br /&gt;
			download_rsync&lt;br /&gt;
		elif [ &amp;quot;$MODE&amp;quot; == &amp;quot;cd&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;CD&amp;quot; ]; then&lt;br /&gt;
			download_wget&lt;br /&gt;
			extract_cd&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-cd)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Questa opzione funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;Magari prova con \&amp;quot;--create-from-dir\&amp;quot;&amp;quot;&lt;br /&gt;
			echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
		read DIR&lt;br /&gt;
		if [ -z $DIR ]; then&lt;br /&gt;
			DIR=$CD_ISO_DIR&lt;br /&gt;
		elif ! [ -e $DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		extract_cd&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-dir)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR/iso_temp/)\t&amp;quot;&lt;br /&gt;
		read CPY_DIR&lt;br /&gt;
		if [ -z $CPY_DIR ]; then&lt;br /&gt;
			CPY_DIR=&amp;quot;$CD_ISO_DIR/iso_temp/&amp;quot;&lt;br /&gt;
		elif ! [ -e $CPY_DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;	&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;--all --&amp;gt; scarica i dati e crea la iso&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-cd --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
		echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-dir --&amp;gt; crea la iso usando il contenuto di una cartella&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 2.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Changelog =&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...un po' contestata&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Cambiato il sistema per sapere quale utente sta eseguendo lo script (adesso si usa &amp;quot;id -u&amp;quot;); aggiunto il supporto per scaricare i dati con rsync.&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2009-01-30T11:43:12Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
RSYNC --&amp;gt; [http://rsync.samba.org/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=8 slackware-install-dvd_lite-v2.0 (home)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 2.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
# &lt;br /&gt;
# Script creato il 30/1/2009 da Ansa89 (avrei dovuto studiare analisi...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se wget e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se mkisofs e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se rsync e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which rsync)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere RSYNC installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se lo script e' eseguito come root&lt;br /&gt;
	if [ &amp;quot;$(id -u)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
USER_ID=&amp;quot;$(id -u)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
RSYNC_URL=&amp;quot;rsync://slackware.mirrors.tds.net/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;12.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per chiedere informazioni all'utente&lt;br /&gt;
question() {&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
	read VER&lt;br /&gt;
	if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
		VER=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	echo &amp;quot;In quale cartella vuoi salvare i dati? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
	echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
	read DIR&lt;br /&gt;
	if [ -z $DIR ]; then&lt;br /&gt;
		DIR=$CD_ISO_DIR&lt;br /&gt;
	elif ! [ -e $DIR ]; then&lt;br /&gt;
		mkdir -p $DIR&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$VER&amp;quot; != &amp;quot;current&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$VER&amp;quot; != &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
		echo &amp;quot;Vuoi scaricare le iso dei primi tre cd di slackware&amp;quot;&lt;br /&gt;
		echo &amp;quot;oppure usare rsync? (consigliato rsync)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;[cd / rsync]\t&amp;quot;&lt;br /&gt;
		read MODE&lt;br /&gt;
	else&lt;br /&gt;
		VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		MODE=&amp;quot;rsync&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare le tre iso&lt;br /&gt;
download_wget() {&lt;br /&gt;
&lt;br /&gt;
	# Scarico le iso&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
	done&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare slackware usando rsync&lt;br /&gt;
download_rsync() {&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove scaricare i dati&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Scarico i dati&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	cd $DIR&lt;br /&gt;
	rsync -avzh --progress --delete --delete-after \&lt;br /&gt;
		--exclude=&amp;quot;source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;extra/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;pasture/source&amp;quot; \&lt;br /&gt;
		--exclude=&amp;quot;testing&amp;quot; \&lt;br /&gt;
		$RSYNC_URL/slackware-$VER/ $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
	cd $DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
	CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
	rm -Rf $CPY_DIR&lt;br /&gt;
	mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
	# Creo la cartella dove montare le iso&lt;br /&gt;
	mkdir ./mnt&lt;br /&gt;
	for cd_num in $NUM; do&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
		su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
			slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
			cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
			umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
	done&lt;br /&gt;
	rm -Rf ./mnt&lt;br /&gt;
	echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
	su -c &amp;quot;chown -R $USER_ID $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
	cd $CPY_DIR&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
		-R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
		-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
		-sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
		-c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	--all)&lt;br /&gt;
		question&lt;br /&gt;
		if [ -z &amp;quot;$MODE&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;rsync&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;RSYNC&amp;quot; ]; then&lt;br /&gt;
			download_rsync&lt;br /&gt;
		elif [ &amp;quot;$MODE&amp;quot; == &amp;quot;cd&amp;quot; ] || [ &amp;quot;$MODE&amp;quot; == &amp;quot;CD&amp;quot; ]; then&lt;br /&gt;
			download_wget&lt;br /&gt;
			extract_cd&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-cd)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Questa opzione funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;Magari prova con \&amp;quot;--create-from-dir\&amp;quot;&amp;quot;&lt;br /&gt;
			echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
		read DIR&lt;br /&gt;
		if [ -z $DIR ]; then&lt;br /&gt;
			DIR=$CD_ISO_DIR&lt;br /&gt;
		elif ! [ -e $DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		extract_cd&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	--create-from-dir)&lt;br /&gt;
		echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
		read VER&lt;br /&gt;
		if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
			VER=$VERSION&lt;br /&gt;
		elif [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
			VER=&amp;quot;current&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
		echo -ne &amp;quot;($CD_ISO_DIR/iso_temp/)\t&amp;quot;&lt;br /&gt;
		read CPY_DIR&lt;br /&gt;
		if [ -z $CPY_DIR ]; then&lt;br /&gt;
			CPY_DIR=&amp;quot;$CD_ISO_DIR/iso_temp/&amp;quot;&lt;br /&gt;
		elif ! [ -e $CPY_DIR ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		final_iso&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;	&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;--all --&amp;gt; scarica i dati e crea la iso&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-cd --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
		echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
		echo &amp;quot;--create-from-dir --&amp;gt; crea la iso usando il contenuto di una cartella&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 2.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2009-01-30T11:41:32Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
RSYNC --&amp;gt; [http://rsync.samba.org/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=8 slackware-install-dvd_lite-v2.0 (home)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 1.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 28/1/2009 da Ansa89 (avrei dovuto studiare analisi...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
        # Controllo se wget e' installato&lt;br /&gt;
        if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se mkisofs e' installato&lt;br /&gt;
        if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se lo script e' eseguito come root&lt;br /&gt;
        if [ &amp;quot;$(id -u)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
WHOAMI=&amp;quot;$(whoami)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;12.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare i tre cd&lt;br /&gt;
download_cd() {&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;Quale versione di slackware vuoi scaricare?&amp;quot;&lt;br /&gt;
        echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
        read VER&lt;br /&gt;
        if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
                VER=$VERSION&lt;br /&gt;
        elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Questo script funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
                echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
        echo &amp;quot;In quale cartella vuoi salvare le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
        echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
        read DIR&lt;br /&gt;
        if [ -z $DIR ]; then&lt;br /&gt;
                DIR=$CD_ISO_DIR&lt;br /&gt;
        elif ! [ -e $DIR ]; then&lt;br /&gt;
                mkdir -p $DIR&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Scarico le iso&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
        cd $DIR&lt;br /&gt;
        for cd_num in $NUM; do&lt;br /&gt;
                wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
        done&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
        cd $DIR&lt;br /&gt;
&lt;br /&gt;
        # Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
        CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
        rm -Rf $CPY_DIR&lt;br /&gt;
        mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
        # Creo la cartella dove montare le iso&lt;br /&gt;
        mkdir ./mnt&lt;br /&gt;
        for cd_num in $NUM; do&lt;br /&gt;
                echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
                su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
                        slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
                        cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
                        umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
        done&lt;br /&gt;
        rm -Rf ./mnt&lt;br /&gt;
        echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
        su -c &amp;quot;chown -R $WHOAMI $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
        cd $CPY_DIR&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
        mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
                -R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
                -v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
                -sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
                -c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
        if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
                echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        else&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
        --all)&lt;br /&gt;
                download_cd&lt;br /&gt;
                extract_cd&lt;br /&gt;
                final_iso&lt;br /&gt;
                exit 0&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        --create)&lt;br /&gt;
                echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
                echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
                read VER&lt;br /&gt;
                if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
                        VER=$VERSION&lt;br /&gt;
                elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
                        echo&lt;br /&gt;
                        echo &amp;quot;Questo script funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
                        echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                        echo&lt;br /&gt;
                        exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
                echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
                read DIR&lt;br /&gt;
                if [ -z $DIR ]; then&lt;br /&gt;
                        DIR=$CD_ISO_DIR&lt;br /&gt;
                elif ! [ -e $DIR ]; then&lt;br /&gt;
                        echo&lt;br /&gt;
                        echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
                        echo&lt;br /&gt;
                        exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                extract_cd&lt;br /&gt;
                final_iso&lt;br /&gt;
                exit 0&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        *)&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
                echo &amp;quot;$0 --all --&amp;gt; scarica i cd, li estrae e crea la iso&amp;quot;&lt;br /&gt;
                echo &amp;quot;$0 --create --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
                echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Versione 1.0&amp;quot;&lt;br /&gt;
                echo &amp;quot;By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
                ;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2009-01-30T11:41:18Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Requisiti */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
RSYNC --&amp;gt; [http://rsync.samba.org/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=8 slackware-install-dvd_lite-v1.0 (home)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 1.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 28/1/2009 da Ansa89 (avrei dovuto studiare analisi...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
        # Controllo se wget e' installato&lt;br /&gt;
        if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se mkisofs e' installato&lt;br /&gt;
        if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se lo script e' eseguito come root&lt;br /&gt;
        if [ &amp;quot;$(id -u)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
WHOAMI=&amp;quot;$(whoami)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;12.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare i tre cd&lt;br /&gt;
download_cd() {&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;Quale versione di slackware vuoi scaricare?&amp;quot;&lt;br /&gt;
        echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
        read VER&lt;br /&gt;
        if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
                VER=$VERSION&lt;br /&gt;
        elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Questo script funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
                echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
        echo &amp;quot;In quale cartella vuoi salvare le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
        echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
        read DIR&lt;br /&gt;
        if [ -z $DIR ]; then&lt;br /&gt;
                DIR=$CD_ISO_DIR&lt;br /&gt;
        elif ! [ -e $DIR ]; then&lt;br /&gt;
                mkdir -p $DIR&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Scarico le iso&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
        cd $DIR&lt;br /&gt;
        for cd_num in $NUM; do&lt;br /&gt;
                wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
        done&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
        cd $DIR&lt;br /&gt;
&lt;br /&gt;
        # Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
        CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
        rm -Rf $CPY_DIR&lt;br /&gt;
        mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
        # Creo la cartella dove montare le iso&lt;br /&gt;
        mkdir ./mnt&lt;br /&gt;
        for cd_num in $NUM; do&lt;br /&gt;
                echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
                su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
                        slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
                        cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
                        umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
        done&lt;br /&gt;
        rm -Rf ./mnt&lt;br /&gt;
        echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
        su -c &amp;quot;chown -R $WHOAMI $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
        cd $CPY_DIR&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
        mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
                -R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
                -v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
                -sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
                -c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
        if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
                echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        else&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
        --all)&lt;br /&gt;
                download_cd&lt;br /&gt;
                extract_cd&lt;br /&gt;
                final_iso&lt;br /&gt;
                exit 0&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        --create)&lt;br /&gt;
                echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
                echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
                read VER&lt;br /&gt;
                if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
                        VER=$VERSION&lt;br /&gt;
                elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
                        echo&lt;br /&gt;
                        echo &amp;quot;Questo script funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
                        echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                        echo&lt;br /&gt;
                        exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
                echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
                read DIR&lt;br /&gt;
                if [ -z $DIR ]; then&lt;br /&gt;
                        DIR=$CD_ISO_DIR&lt;br /&gt;
                elif ! [ -e $DIR ]; then&lt;br /&gt;
                        echo&lt;br /&gt;
                        echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
                        echo&lt;br /&gt;
                        exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                extract_cd&lt;br /&gt;
                final_iso&lt;br /&gt;
                exit 0&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        *)&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
                echo &amp;quot;$0 --all --&amp;gt; scarica i cd, li estrae e crea la iso&amp;quot;&lt;br /&gt;
                echo &amp;quot;$0 --create --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
                echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Versione 1.0&amp;quot;&lt;br /&gt;
                echo &amp;quot;By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
                ;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2009-01-30T11:39:33Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Descrizione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=8 slackware-install-dvd_lite-v1.0 (home)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 1.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 28/1/2009 da Ansa89 (avrei dovuto studiare analisi...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
        # Controllo se wget e' installato&lt;br /&gt;
        if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se mkisofs e' installato&lt;br /&gt;
        if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se lo script e' eseguito come root&lt;br /&gt;
        if [ &amp;quot;$(id -u)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
WHOAMI=&amp;quot;$(whoami)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;12.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare i tre cd&lt;br /&gt;
download_cd() {&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;Quale versione di slackware vuoi scaricare?&amp;quot;&lt;br /&gt;
        echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
        read VER&lt;br /&gt;
        if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
                VER=$VERSION&lt;br /&gt;
        elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Questo script funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
                echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
        echo &amp;quot;In quale cartella vuoi salvare le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
        echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
        read DIR&lt;br /&gt;
        if [ -z $DIR ]; then&lt;br /&gt;
                DIR=$CD_ISO_DIR&lt;br /&gt;
        elif ! [ -e $DIR ]; then&lt;br /&gt;
                mkdir -p $DIR&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Scarico le iso&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
        cd $DIR&lt;br /&gt;
        for cd_num in $NUM; do&lt;br /&gt;
                wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
        done&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
        cd $DIR&lt;br /&gt;
&lt;br /&gt;
        # Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
        CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
        rm -Rf $CPY_DIR&lt;br /&gt;
        mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
        # Creo la cartella dove montare le iso&lt;br /&gt;
        mkdir ./mnt&lt;br /&gt;
        for cd_num in $NUM; do&lt;br /&gt;
                echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
                su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
                        slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
                        cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
                        umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
        done&lt;br /&gt;
        rm -Rf ./mnt&lt;br /&gt;
        echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
        su -c &amp;quot;chown -R $WHOAMI $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
        cd $CPY_DIR&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
        mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
                -R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
                -v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
                -sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
                -c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
        if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
                echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        else&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
        --all)&lt;br /&gt;
                download_cd&lt;br /&gt;
                extract_cd&lt;br /&gt;
                final_iso&lt;br /&gt;
                exit 0&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        --create)&lt;br /&gt;
                echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
                echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
                read VER&lt;br /&gt;
                if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
                        VER=$VERSION&lt;br /&gt;
                elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
                        echo&lt;br /&gt;
                        echo &amp;quot;Questo script funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
                        echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                        echo&lt;br /&gt;
                        exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
                echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
                read DIR&lt;br /&gt;
                if [ -z $DIR ]; then&lt;br /&gt;
                        DIR=$CD_ISO_DIR&lt;br /&gt;
                elif ! [ -e $DIR ]; then&lt;br /&gt;
                        echo&lt;br /&gt;
                        echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
                        echo&lt;br /&gt;
                        exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                extract_cd&lt;br /&gt;
                final_iso&lt;br /&gt;
                exit 0&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        *)&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
                echo &amp;quot;$0 --all --&amp;gt; scarica i cd, li estrae e crea la iso&amp;quot;&lt;br /&gt;
                echo &amp;quot;$0 --create --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
                echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Versione 1.0&amp;quot;&lt;br /&gt;
                echo &amp;quot;By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
                ;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2009-01-29T18:34:39Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lo script non può essere usato per creare iso dal ramo CURRENT.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=8 slackware-install-dvd_lite-v1.0 (home)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 1.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 28/1/2009 da Ansa89 (avrei dovuto studiare analisi...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
        # Controllo se wget e' installato&lt;br /&gt;
        if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se mkisofs e' installato&lt;br /&gt;
        if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se lo script e' eseguito come root&lt;br /&gt;
        if [ &amp;quot;$(id -u)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
WHOAMI=&amp;quot;$(whoami)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;12.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare i tre cd&lt;br /&gt;
download_cd() {&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;Quale versione di slackware vuoi scaricare?&amp;quot;&lt;br /&gt;
        echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
        read VER&lt;br /&gt;
        if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
                VER=$VERSION&lt;br /&gt;
        elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Questo script funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
                echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
        echo &amp;quot;In quale cartella vuoi salvare le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
        echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
        read DIR&lt;br /&gt;
        if [ -z $DIR ]; then&lt;br /&gt;
                DIR=$CD_ISO_DIR&lt;br /&gt;
        elif ! [ -e $DIR ]; then&lt;br /&gt;
                mkdir -p $DIR&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Scarico le iso&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
        cd $DIR&lt;br /&gt;
        for cd_num in $NUM; do&lt;br /&gt;
                wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
        done&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
        cd $DIR&lt;br /&gt;
&lt;br /&gt;
        # Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
        CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
        rm -Rf $CPY_DIR&lt;br /&gt;
        mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
        # Creo la cartella dove montare le iso&lt;br /&gt;
        mkdir ./mnt&lt;br /&gt;
        for cd_num in $NUM; do&lt;br /&gt;
                echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
                su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
                        slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
                        cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
                        umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
        done&lt;br /&gt;
        rm -Rf ./mnt&lt;br /&gt;
        echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
        su -c &amp;quot;chown -R $WHOAMI $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
        cd $CPY_DIR&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
        mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
                -R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
                -v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
                -sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
                -c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
        if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
                echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        else&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
        --all)&lt;br /&gt;
                download_cd&lt;br /&gt;
                extract_cd&lt;br /&gt;
                final_iso&lt;br /&gt;
                exit 0&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        --create)&lt;br /&gt;
                echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
                echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
                read VER&lt;br /&gt;
                if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
                        VER=$VERSION&lt;br /&gt;
                elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
                        echo&lt;br /&gt;
                        echo &amp;quot;Questo script funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
                        echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                        echo&lt;br /&gt;
                        exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
                echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
                read DIR&lt;br /&gt;
                if [ -z $DIR ]; then&lt;br /&gt;
                        DIR=$CD_ISO_DIR&lt;br /&gt;
                elif ! [ -e $DIR ]; then&lt;br /&gt;
                        echo&lt;br /&gt;
                        echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
                        echo&lt;br /&gt;
                        exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                extract_cd&lt;br /&gt;
                final_iso&lt;br /&gt;
                exit 0&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        *)&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
                echo &amp;quot;$0 --all --&amp;gt; scarica i cd, li estrae e crea la iso&amp;quot;&lt;br /&gt;
                echo &amp;quot;$0 --create --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
                echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Versione 1.0&amp;quot;&lt;br /&gt;
                echo &amp;quot;By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
                ;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2009-01-28T17:52:29Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Feedback */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lo script non può essere usato per creare iso dal ramo CURRENT.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=8 slackware-install-dvd_lite-v1.0 (home)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 1.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 28/1/2009 da Ansa89 (avrei dovuto studiare analisi...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
        # Controllo se wget e' installato&lt;br /&gt;
        if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se mkisofs e' installato&lt;br /&gt;
        if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se lo script e' eseguito come root&lt;br /&gt;
        if [ &amp;quot;$(whomai)&amp;quot; == &amp;quot;root&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
WHOAMI=&amp;quot;$(whoami)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;12.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare i tre cd&lt;br /&gt;
download_cd() {&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;Quale versione di slackware vuoi scaricare?&amp;quot;&lt;br /&gt;
        echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
        read VER&lt;br /&gt;
        if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
                VER=$VERSION&lt;br /&gt;
        elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Questo script funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
                echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
        echo &amp;quot;In quale cartella vuoi salvare le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
        echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
        read DIR&lt;br /&gt;
        if [ -z $DIR ]; then&lt;br /&gt;
                DIR=$CD_ISO_DIR&lt;br /&gt;
        elif ! [ -e $DIR ]; then&lt;br /&gt;
                mkdir -p $DIR&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Scarico le iso&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
        cd $DIR&lt;br /&gt;
        for cd_num in $NUM; do&lt;br /&gt;
                wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
        done&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
        cd $DIR&lt;br /&gt;
&lt;br /&gt;
        # Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
        CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
        rm -Rf $CPY_DIR&lt;br /&gt;
        mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
        # Creo la cartella dove montare le iso&lt;br /&gt;
        mkdir ./mnt&lt;br /&gt;
        for cd_num in $NUM; do&lt;br /&gt;
                echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
                su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
                        slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
                        cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
                        umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
        done&lt;br /&gt;
        rm -Rf ./mnt&lt;br /&gt;
        echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
        su -c &amp;quot;chown -R $WHOAMI $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
        cd $CPY_DIR&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
        mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
                -R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
                -v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
                -sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
                -c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
        if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
                echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        else&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
        --all)&lt;br /&gt;
                download_cd&lt;br /&gt;
                extract_cd&lt;br /&gt;
                final_iso&lt;br /&gt;
                exit 0&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        --create)&lt;br /&gt;
                echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
                echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
                read VER&lt;br /&gt;
                if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
                        VER=$VERSION&lt;br /&gt;
                elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
                        echo&lt;br /&gt;
                        echo &amp;quot;Questo script funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
                        echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                        echo&lt;br /&gt;
                        exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
                echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
                read DIR&lt;br /&gt;
                if [ -z $DIR ]; then&lt;br /&gt;
                        DIR=$CD_ISO_DIR&lt;br /&gt;
                elif ! [ -e $DIR ]; then&lt;br /&gt;
                        echo&lt;br /&gt;
                        echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
                        echo&lt;br /&gt;
                        exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                extract_cd&lt;br /&gt;
                final_iso&lt;br /&gt;
                exit 0&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        *)&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
                echo &amp;quot;$0 --all --&amp;gt; scarica i cd, li estrae e crea la iso&amp;quot;&lt;br /&gt;
                echo &amp;quot;$0 --create --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
                echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Versione 1.0&amp;quot;&lt;br /&gt;
                echo &amp;quot;By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
                ;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2009-01-28T17:51:55Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lo script non può essere usato per creare iso dal ramo CURRENT.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=8 slackware-install-dvd_lite-v1.0 (home)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 1.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 28/1/2009 da Ansa89 (avrei dovuto studiare analisi...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
        # Controllo se wget e' installato&lt;br /&gt;
        if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se mkisofs e' installato&lt;br /&gt;
        if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se lo script e' eseguito come root&lt;br /&gt;
        if [ &amp;quot;$(whomai)&amp;quot; == &amp;quot;root&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
WHOAMI=&amp;quot;$(whoami)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;12.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare i tre cd&lt;br /&gt;
download_cd() {&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;Quale versione di slackware vuoi scaricare?&amp;quot;&lt;br /&gt;
        echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
        read VER&lt;br /&gt;
        if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
                VER=$VERSION&lt;br /&gt;
        elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Questo script funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
                echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
        echo &amp;quot;In quale cartella vuoi salvare le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
        echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
        read DIR&lt;br /&gt;
        if [ -z $DIR ]; then&lt;br /&gt;
                DIR=$CD_ISO_DIR&lt;br /&gt;
        elif ! [ -e $DIR ]; then&lt;br /&gt;
                mkdir -p $DIR&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Scarico le iso&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
        cd $DIR&lt;br /&gt;
        for cd_num in $NUM; do&lt;br /&gt;
                wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
        done&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
        cd $DIR&lt;br /&gt;
&lt;br /&gt;
        # Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
        CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
        rm -Rf $CPY_DIR&lt;br /&gt;
        mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
        # Creo la cartella dove montare le iso&lt;br /&gt;
        mkdir ./mnt&lt;br /&gt;
        for cd_num in $NUM; do&lt;br /&gt;
                echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
                su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
                        slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
                        cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
                        umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
        done&lt;br /&gt;
        rm -Rf ./mnt&lt;br /&gt;
        echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
        su -c &amp;quot;chown -R $WHOAMI $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
        cd $CPY_DIR&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
        mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
                -R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
                -v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
                -sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
                -c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
        if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
                echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        else&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
        --all)&lt;br /&gt;
                download_cd&lt;br /&gt;
                extract_cd&lt;br /&gt;
                final_iso&lt;br /&gt;
                exit 0&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        --create)&lt;br /&gt;
                echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
                echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
                read VER&lt;br /&gt;
                if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
                        VER=$VERSION&lt;br /&gt;
                elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
                        echo&lt;br /&gt;
                        echo &amp;quot;Questo script funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
                        echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                        echo&lt;br /&gt;
                        exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
                echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
                read DIR&lt;br /&gt;
                if [ -z $DIR ]; then&lt;br /&gt;
                        DIR=$CD_ISO_DIR&lt;br /&gt;
                elif ! [ -e $DIR ]; then&lt;br /&gt;
                        echo&lt;br /&gt;
                        echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
                        echo&lt;br /&gt;
                        exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                extract_cd&lt;br /&gt;
                final_iso&lt;br /&gt;
                exit 0&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        *)&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
                echo &amp;quot;$0 --all --&amp;gt; scarica i cd, li estrae e crea la iso&amp;quot;&lt;br /&gt;
                echo &amp;quot;$0 --create --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
                echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Versione 1.0&amp;quot;&lt;br /&gt;
                echo &amp;quot;By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
                ;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2009-01-28T17:48:30Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*** ATTENZIONE ***&lt;br /&gt;
&lt;br /&gt;
Lo script non può essere usato per creare iso dal ramo CURRENT.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=8 slackware-install-dvd_lite-v1.0 (home)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 1.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Questo script scarica i primi tre cd di slackware (necessari per una&lt;br /&gt;
# corretta installazione) e crea l'immagine iso da masterizzare su dvd&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 28/1/2009 da Ansa89 (avrei dovuto studiare analisi...)&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
        # Controllo se wget e' installato&lt;br /&gt;
        if [ -z &amp;quot;$(which wget)&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi avere WGET installato per usare questo script!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se mkisofs e' installato&lt;br /&gt;
        if [ -z &amp;quot;$(which mkisofs)&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi avere MKISOFS installato per usare questo script!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se lo script e' eseguito come root&lt;br /&gt;
        if [ &amp;quot;$(whomai)&amp;quot; == &amp;quot;root&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Devi eseguire questo script come utente normale!&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Dichiarazione variabili&lt;br /&gt;
WHOAMI=&amp;quot;$(whoami)&amp;quot;&lt;br /&gt;
CD_ISO_DIR=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
FINAL_ISO_DIR=&amp;quot;/tmp/slackware-install-dvd/&amp;quot;&lt;br /&gt;
SLACK_URL=&amp;quot;ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/&amp;quot;&lt;br /&gt;
NUM=&amp;quot;d1 d2 d3&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;12.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare i tre cd&lt;br /&gt;
download_cd() {&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;Quale versione di slackware vuoi scaricare?&amp;quot;&lt;br /&gt;
        echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
        read VER&lt;br /&gt;
        if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
                VER=$VERSION&lt;br /&gt;
        elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Questo script funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
                echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
        echo &amp;quot;In quale cartella vuoi salvare le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
        echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
        read DIR&lt;br /&gt;
        if [ -z $DIR ]; then&lt;br /&gt;
                DIR=$CD_ISO_DIR&lt;br /&gt;
        elif ! [ -e $DIR ]; then&lt;br /&gt;
                mkdir -p $DIR&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # Scarico le iso&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Inizio dowload --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
        cd $DIR&lt;br /&gt;
        for cd_num in $NUM; do&lt;br /&gt;
                wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso&lt;br /&gt;
        done&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Fine download --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scompattare le iso&lt;br /&gt;
extract_cd() {&lt;br /&gt;
        cd $DIR&lt;br /&gt;
&lt;br /&gt;
        # Creo la cartella dove copiare il contenuto delle iso&lt;br /&gt;
        CPY_DIR=&amp;quot;$DIR/iso_temp/&amp;quot;&lt;br /&gt;
        rm -Rf $CPY_DIR&lt;br /&gt;
        mkdir -p $CPY_DIR&lt;br /&gt;
&lt;br /&gt;
        # Creo la cartella dove montare le iso&lt;br /&gt;
        mkdir ./mnt&lt;br /&gt;
        for cd_num in $NUM; do&lt;br /&gt;
                echo &amp;quot;Inserisci la password di root per montare la iso $cd_num&amp;quot;&lt;br /&gt;
                su -c &amp;quot;mount -t iso9660 -o loop \&lt;br /&gt;
                        slackware-$VER-install-$cd_num.iso ./mnt/ ; \&lt;br /&gt;
                        cp -R ./mnt/* $CPY_DIR ; \&lt;br /&gt;
                        umount slackware-$VER-install-$cd_num.iso&amp;quot;&lt;br /&gt;
        done&lt;br /&gt;
        rm -Rf ./mnt&lt;br /&gt;
        echo &amp;quot;Inserisci la password di root per settare i permessi delle cartelle&amp;quot;&lt;br /&gt;
        su -c &amp;quot;chown -R $WHOAMI $CPY_DIR&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per creare la iso finale&lt;br /&gt;
final_iso() {&lt;br /&gt;
        cd $CPY_DIR&lt;br /&gt;
        echo&lt;br /&gt;
        echo &amp;quot;-- Inizio creazione iso --&amp;quot;&lt;br /&gt;
        echo&lt;br /&gt;
        mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \&lt;br /&gt;
                -R -J -V &amp;quot;Slackware Install&amp;quot; -hide-rr-moved \&lt;br /&gt;
                -v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
                -sort isolinux/iso.sort -b isolinux/isolinux.bin \&lt;br /&gt;
                -c isolinux/isolinux.boot -A &amp;quot;Slackware Install DVD&amp;quot;&lt;br /&gt;
        if [ &amp;quot;$(echo $?)&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Qualcosa non e' andato bene :-(&amp;quot;&lt;br /&gt;
                echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
        else&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;-- Fine creazione iso --&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
        --all)&lt;br /&gt;
                download_cd&lt;br /&gt;
                extract_cd&lt;br /&gt;
                final_iso&lt;br /&gt;
                exit 0&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        --create)&lt;br /&gt;
                echo &amp;quot;Per quale versione di slackware vuoi creare la iso?&amp;quot;&lt;br /&gt;
                echo -ne &amp;quot;($VERSION)\t&amp;quot;&lt;br /&gt;
                read VER&lt;br /&gt;
                if [ -z &amp;quot;$VER&amp;quot; ]; then&lt;br /&gt;
                        VER=$VERSION&lt;br /&gt;
                elif [ &amp;quot;$VER&amp;quot; == &amp;quot;current&amp;quot; ] || [ &amp;quot;$VER&amp;quot; == &amp;quot;-current&amp;quot; ]; then&lt;br /&gt;
                        echo&lt;br /&gt;
                        echo &amp;quot;Questo script funziona solo per il ramo STABLE&amp;quot;&lt;br /&gt;
                        echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
                        echo&lt;br /&gt;
                        exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                echo &amp;quot;In quale cartella sono salvate le iso? (Usare un path assoluto!!)&amp;quot;&lt;br /&gt;
                echo -ne &amp;quot;($CD_ISO_DIR)\t&amp;quot;&lt;br /&gt;
                read DIR&lt;br /&gt;
                if [ -z $DIR ]; then&lt;br /&gt;
                        DIR=$CD_ISO_DIR&lt;br /&gt;
                elif ! [ -e $DIR ]; then&lt;br /&gt;
                        echo&lt;br /&gt;
                        echo &amp;quot;Path errato!&amp;quot;&lt;br /&gt;
                        echo&lt;br /&gt;
                        exit 1&lt;br /&gt;
                fi&lt;br /&gt;
                extract_cd&lt;br /&gt;
                final_iso&lt;br /&gt;
                exit 0&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        *)&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
                echo &amp;quot;$0 --all --&amp;gt; scarica i cd, li estrae e crea la iso&amp;quot;&lt;br /&gt;
                echo &amp;quot;$0 --create --&amp;gt; estrae i cd e crea la iso&amp;quot;&lt;br /&gt;
                echo -e &amp;quot;\t\t(I CD DEVONO ESSERE PRESENTI SU HD)&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Versione 1.0&amp;quot;&lt;br /&gt;
                echo &amp;quot;By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                exit 1&lt;br /&gt;
                ;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2009-01-28T17:37:04Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** ATTENZIONE **&lt;br /&gt;
&lt;br /&gt;
Lo script non può essere usato per creare iso dal ramo CURRENT.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2009-01-28T17:35:52Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
WGET --&amp;gt; [http://www.gnu.org/software/wget/ home]&lt;br /&gt;
&lt;br /&gt;
MKISOFS --&amp;gt; [http://cdrecord.berlios.de/old/private/mkisofs.html home]&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito</id>
		<title>Creare slackware-install-dvd alleggerito</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Creare_slackware-install-dvd_alleggerito"/>
				<updated>2009-01-28T17:32:02Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Descrizione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Conf-network</id>
		<title>Conf-network</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Conf-network"/>
				<updated>2008-11-05T23:08:57Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Questo è il mio secondo script (il primo è stato Compiz-git) e questa volta ero indaffarato nelle configurazioni della mia rete...&lt;br /&gt;
&lt;br /&gt;
Così è nato Conf-ntwork!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usando questo script anche gli utenti meno esperti potranno configurare la loro rete (wireless o cablata) in pochi passi e senza bisogno dell'interfaccia grafica (dunque è utile se per caso dovete connettervi ad internet proprio per cercare informazioni su come configurare X.org).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lo script è un po' lungo, ed è stato testato su Slackware 12.1 -- kernel 2.6.26.3 (ma dovrebbe funzionare con qualsiasi distro...).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
&lt;br /&gt;
NET-TOOL --&amp;gt; per i comandi di base&lt;br /&gt;
&lt;br /&gt;
WIRELESS-TOOL --&amp;gt; per configurare le reti wireless&lt;br /&gt;
&lt;br /&gt;
DHCPCD --&amp;gt; per poter ricevere l'ip da un server dhcp&lt;br /&gt;
&lt;br /&gt;
WPA_SUPPLICANT --&amp;gt; [http://hostap.epitest.fi/wpa_supplicant/ wpa_supplicant]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=3 Conf-network-v1.0 (home)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 1.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che aiuta l'utente nella configurazione dei dispositivi di rete&lt;br /&gt;
# (sia cablati, sia wireless)&lt;br /&gt;
#&lt;br /&gt;
# Per quanto riguarda il protocollo WPA-EAP di wpa_supplicant, non ho&lt;br /&gt;
# avuto modo di testarlo in quanto non dispongo degli strumenti necessari.&lt;br /&gt;
# Il resto dovrebbe funzionare :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 29/9/2008 da Ansa89 (aka h3r0)&lt;br /&gt;
&lt;br /&gt;
# File di configurazione di wpa_supplicant&lt;br /&gt;
CONF_WPA=&amp;quot;/root/.wpa_supplicant.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo chi esegue lo script&lt;br /&gt;
	if [ &amp;quot;$(whoami)&amp;quot; != &amp;quot;root&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo &amp;quot;Devi essere ROOT per eseguire questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se i net-tool sono installati&lt;br /&gt;
	if [ -z &amp;quot;$(which ifconfig)&amp;quot; -o -z &amp;quot;$(which route)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo &amp;quot;Devi avere installato i NET-TOOL per eseguire questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se i wireless-tool sono installati&lt;br /&gt;
	if [ -z &amp;quot;$(which iwlist)&amp;quot; -o -z &amp;quot;$(which iwconfig)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo &amp;quot;Devi avevre installato i WIRELESS-TOOL per eseguire questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se dhcpcd e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which dhcpcd)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo &amp;quot;Devi avere installato DHCPCD per eseguire questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se wpa_supplicant e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which wpa_supplicant)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo &amp;quot;Devi avere installato WPA_SUPPLICANT per eseguire questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per impostare le variabili degli eseguibili&lt;br /&gt;
utilities () {&lt;br /&gt;
	IFCONFIG=`which ifconfig`&lt;br /&gt;
	ROUTE=`which route`&lt;br /&gt;
	DHCPCD=`which dhcpcd`&lt;br /&gt;
	IWCONFIG=`which iwconfig`&lt;br /&gt;
	IWLIST=`which iwlist`&lt;br /&gt;
	WPA_SUPPLICANT=`which wpa_supplicant`&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per spegnere le interfacce&lt;br /&gt;
smorza () {&lt;br /&gt;
	&lt;br /&gt;
	# Guardo quali interfacce sono accese&lt;br /&gt;
	if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
		IF=`$IFCONFIG | grep -v lo | cut -d &amp;quot; &amp;quot; -f 1`&lt;br /&gt;
	else&lt;br /&gt;
		IF=$1&lt;br /&gt;
	fi&lt;br /&gt;
	for i in $IF; do&lt;br /&gt;
		echo -n &amp;quot;Devo spegnere $i? (s/n)  &amp;quot;&lt;br /&gt;
		read risp&lt;br /&gt;
		if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
			echo -n &amp;quot;Spengo $i...&amp;quot;&lt;br /&gt;
			$DHCPCD -k $i &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
			$IFCONFIG $i down &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
			echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			&lt;br /&gt;
			# Controllo se e' un'interfaccia wireless&lt;br /&gt;
			if ! [ -z &amp;quot;$(cat /proc/net/wireless | grep $i)&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
				# Chiedo se devo fermare anche wpa_supplicant&lt;br /&gt;
				echo -n &amp;quot;Fermo anche wpa_supplicant? (s/n)  &amp;quot;&lt;br /&gt;
				read risp&lt;br /&gt;
				if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
					killall wpa_supplicant &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
					kill -9 `ps ux | grep wpa | grep -v grep | cut -d &amp;quot; &amp;quot; -f 7` &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
					echo &amp;quot;Wpa_supplicant e' stato fermato.&amp;quot;&lt;br /&gt;
					echo&lt;br /&gt;
				elif [ &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
					echo&lt;br /&gt;
					echo &amp;quot;Wpa_supplicant non e' stato fermato.&amp;quot;&lt;br /&gt;
					echo&lt;br /&gt;
				else&lt;br /&gt;
					echo&lt;br /&gt;
					echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
					echo&lt;br /&gt;
					exit 1&lt;br /&gt;
				fi&lt;br /&gt;
				$IWCONFIG $i essid off ap off &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
				$IWCONFIG $i key off &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
				$IWCONFIG $i mode managed &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
				$IFCONFIG $i up&lt;br /&gt;
			fi&lt;br /&gt;
			echo&lt;br /&gt;
		elif [ &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;$i non e' stata spenta&amp;quot;&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per configurare le reti cablate&lt;br /&gt;
wired () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo il parametro passato allo script&lt;br /&gt;
	if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
		# Se non e' stato passato niente cerco le interfacce&lt;br /&gt;
		echo -n &amp;quot;Cerco le interfacce... &amp;quot;&lt;br /&gt;
		NUM=`wc -l /proc/net/dev | cut -d &amp;quot; &amp;quot; -f 1`&lt;br /&gt;
		if [ $NUM -gt 3 ]; then&lt;br /&gt;
			IF=`tail -n $(($NUM-3)) /proc/net/dev | cut -d &amp;quot; &amp;quot; -f 3 | cut -d &amp;quot;:&amp;quot; -f 1`&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
			echo &amp;quot;Nessuna scheda ethernet trovata!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Tolgo le interfacce wireless perche' non interessano&lt;br /&gt;
		if [ -e /proc/net/wireless ]; then&lt;br /&gt;
			NUM=`wc -l /proc/net/wireless | cut -d &amp;quot; &amp;quot; -f 1`&lt;br /&gt;
			if [ $NUM -gt 2 ]; then&lt;br /&gt;
				IF2=`tail -n $(($NUM-2)) /proc/net/wireless | cut -d &amp;quot; &amp;quot; -f 3 | cut -d &amp;quot;:&amp;quot; -f 1`&lt;br /&gt;
				OLD_IF=$IF&lt;br /&gt;
				IF=&amp;quot;&amp;quot;&lt;br /&gt;
					for i in $OLD_IF; do&lt;br /&gt;
						if [ -z &amp;quot;$(echo $IF2 | grep $i)&amp;quot; ]; then&lt;br /&gt;
							IF=&amp;quot;$IF $i&amp;quot;&lt;br /&gt;
						fi&lt;br /&gt;
					done&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		# Faccio scegliere l'interfaccia&lt;br /&gt;
		echo &amp;quot;Ho trovato queste intefacce wired:&amp;quot;&lt;br /&gt;
		for i in $IF; do&lt;br /&gt;
			IF2=$i&lt;br /&gt;
			echo $i&lt;br /&gt;
		done&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Quale vuoi usare per la connessione?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($IF2)  &amp;quot;&lt;br /&gt;
		read DEV&lt;br /&gt;
		if [ -z &amp;quot;$DEV&amp;quot; ]; then&lt;br /&gt;
			DEV=$IF2&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		NUM=`wc -l /proc/net/dev | cut -d &amp;quot; &amp;quot; -f 1`&lt;br /&gt;
		if tail -n $(($NUM-3)) /proc/net/dev | cut -d &amp;quot; &amp;quot; -f 3 | cut -d &amp;quot;:&amp;quot; -f 1 | grep $1 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
			DEV=$1&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
			echo &amp;quot;Devi inserire un'interfaccia valida!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Spengo l'interfaccia prima di configurarla (uso la funzione smorza)&lt;br /&gt;
	smorza $DEV&lt;br /&gt;
&lt;br /&gt;
	# Chiedo che tipo di connessione e'&lt;br /&gt;
	echo -n &amp;quot;Il tuo IP ti viene assegnato da un server DHCP? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
		# Configurazione rete con IP dinamici&lt;br /&gt;
		echo &amp;quot;Avvio il demone dhcpcd...&amp;quot;&lt;br /&gt;
		$DHCPCD -t 20 -d $DEV&lt;br /&gt;
		sleep 5&lt;br /&gt;
		if [ &amp;quot;$(ps aux | grep dhcpcd | wc -l | cut -d &amp;quot; &amp;quot; -f 1)&amp;quot; -gt 1 ]; then&lt;br /&gt;
			echo &amp;quot;Fatto!&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai configurato la tua rete cablata con successo! :-)&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad avviare dhcpcd!&amp;quot;&lt;br /&gt;
			echo &amp;quot;Prova ad eseguire '$DHCPCD -d $DEV' come utente root&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	elif [ &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
		# Configurazione rete con IP statici&lt;br /&gt;
		echo -n &amp;quot;Inserisci l'IP per $DEV: &amp;quot;&lt;br /&gt;
		read IPADDR&lt;br /&gt;
		if [ -z &amp;quot;$IPADDR&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
			echo &amp;quot;Devi inserire un IP per configurare la scheda!&amp;quot;&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		echo -n &amp;quot;Inserisci la maschera di rete (255.255.255.0): &amp;quot;&lt;br /&gt;
		read NETMASK&lt;br /&gt;
		if [ -z &amp;quot;$NETMASK&amp;quot; ]; then&lt;br /&gt;
			NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;Inserisci l'IP del broadcast:&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(puo' essere lasciato vuoto se si e' incerti)  &amp;quot;&lt;br /&gt;
		read BROADCAST&lt;br /&gt;
		echo &amp;quot;Inserisci l'IP del gateway:&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(necessario per la connessione ad internet attraverso $DEV)  &amp;quot;&lt;br /&gt;
		read GW&lt;br /&gt;
		echo &amp;quot;Imposto i parametri per $DEV...&amp;quot;&lt;br /&gt;
		if [ -z &amp;quot;$BROADCAST&amp;quot; ]; then&lt;br /&gt;
			$IFCONFIG $DEV $IPADDR netmask $NETMASK up&lt;br /&gt;
		else&lt;br /&gt;
			$IFCONFIG $DEV $IPADDR netmask $NETMASK broadcast $BROADCAST up&lt;br /&gt;
		fi&lt;br /&gt;
		if ! [ -z &amp;quot;$GW&amp;quot; ]; then&lt;br /&gt;
			$ROUTE add default gw $GW&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;nameserver 127.0.0.1&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
		echo &amp;quot;Fatto!&amp;quot;&lt;br /&gt;
		echo &amp;quot;Hai configurato la tua rete cablata con successo! :-)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per configurare le reti wireless&lt;br /&gt;
wireless () {&lt;br /&gt;
	if [ -z $1 ]; then&lt;br /&gt;
		echo &amp;quot;Cerco le interfacce...&amp;quot;&lt;br /&gt;
		if [ -e /proc/net/wireless ]; then&lt;br /&gt;
			NUM=`wc -l /proc/net/wireless | cut -d &amp;quot; &amp;quot; -f 1`&lt;br /&gt;
			if [ $NUM -gt 2 ]; then&lt;br /&gt;
				IF=`tail -n $(($NUM-2)) /proc/net/wireless | cut -d &amp;quot; &amp;quot; -f 3 | cut -d &amp;quot;:&amp;quot; -f 1`&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
				echo &amp;quot;Nessuna scheda wireless trovata!&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
			echo &amp;quot;Nessuna scheda wireless trovata!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo &amp;quot;Ho trovato queste interfacce wireless:&amp;quot;&lt;br /&gt;
		for i in $IF; do&lt;br /&gt;
			IF2=$i&lt;br /&gt;
			echo $i&lt;br /&gt;
		done&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Quale vuoi usare per la connessione?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($IF2)  &amp;quot;&lt;br /&gt;
		read DEV&lt;br /&gt;
		if [ -z &amp;quot;$DEV&amp;quot; ]; then&lt;br /&gt;
			DEV=$IF2&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		if [ -e /proc/net/wireless ]; then&lt;br /&gt;
			NUM=`wc -l /proc/net/wireless | cut -d &amp;quot; &amp;quot; -f 1`&lt;br /&gt;
			if tail -n $(($NUM-2)) /proc/net/wireless | cut -d &amp;quot; &amp;quot; -f 3 | cut -d &amp;quot;:&amp;quot; -f 1 | grep $1; then&lt;br /&gt;
				DEV=$1&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
				echo &amp;quot;Devi inserire un'interfaccia wireless valida!&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Spengo l'interfaccia prima di configurarla (uso la funzione smorza)&lt;br /&gt;
	smorza $DEV&lt;br /&gt;
&lt;br /&gt;
	# Cerco le reti wireless&lt;br /&gt;
	echo &amp;quot;Scanning delle reti con $DEV...&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	$IWLIST $DEV scan&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Non farti prendere dal panico per l'eventuale eccessiva lunghezza dell'output&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	# Incomincio a chiedere i vari parametri&lt;br /&gt;
&lt;br /&gt;
	# ESSID&lt;br /&gt;
	echo -n &amp;quot;cerca la tua rete e inserisci l'ESSID (il nome): &amp;quot;&lt;br /&gt;
	read ESSID&lt;br /&gt;
	if [ -z &amp;quot;$ESSID&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo &amp;quot;Devi inserire il nome di una rete a cui connettersi!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# CHANNEL&lt;br /&gt;
	echo -n &amp;quot;Inserisci il channel della rete (non la frequenza!): &amp;quot;&lt;br /&gt;
	read CHAN&lt;br /&gt;
	if [ -z &amp;quot;$CHAN&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo &amp;quot;Devi inserire il canale della rete scelta!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# MODE&lt;br /&gt;
	echo -n &amp;quot;Inserisci il tipo di rete: managed (con access point) o ad-hoc (senza access point): &amp;quot;&lt;br /&gt;
	read MODE&lt;br /&gt;
	if [ -z &amp;quot;$MODE&amp;quot; ]; then&lt;br /&gt;
		MODE=&amp;quot;managed&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se serve la password&lt;br /&gt;
	echo -n &amp;quot;La rete necessita di password? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
		# Quale tipo di password?&lt;br /&gt;
		echo &amp;quot;WEP o WPA?&amp;quot;&lt;br /&gt;
		echo &amp;quot;(N.B. WPA e' solo per reti con access point!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(wpa)  &amp;quot;&lt;br /&gt;
		read TYPE&lt;br /&gt;
		if [ [ -z &amp;quot;$TYPE&amp;quot; -o &amp;quot;$TYPE&amp;quot; == &amp;quot;wpa&amp;quot; -o &amp;quot;$TYPE&amp;quot; == &amp;quot;WPA&amp;quot; ] -a [ &amp;quot;$MODE&amp;quot; == &amp;quot;managed&amp;quot; -o &amp;quot;$MODE&amp;quot; == &amp;quot;Managed&amp;quot;] ]; then&lt;br /&gt;
&lt;br /&gt;
			# WPA&lt;br /&gt;
			echo &amp;quot;Hai scelto WPA&amp;quot;&lt;br /&gt;
			echo &amp;quot;ctrl_interface=/var/run/wpa_supplicant&amp;quot; &amp;gt; $CONF_WPA&lt;br /&gt;
			echo &amp;quot;ctrl_interface_group=0&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
			echo &amp;quot;eapol_version=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
			echo &amp;quot;ap_scan=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
			echo &amp;quot;fast_reauth=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
			echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
			chmod 600 $CONF_WPA&lt;br /&gt;
&lt;br /&gt;
			# Chiedo quale tipo di WPA&lt;br /&gt;
			echo &amp;quot;Che tipo di criptaggio devo usare?&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\tWPA-PSK\n\tWPA-EAP\n\tNONE\t(per chiavi WEP)&amp;quot;&lt;br /&gt;
			read TYPE&lt;br /&gt;
			case &amp;quot;$TYPE&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
				# WPA-PSK&lt;br /&gt;
				WPA-PSK)&lt;br /&gt;
&lt;br /&gt;
					# Chiedo la password&lt;br /&gt;
					echo &amp;quot;Adesso dovrai inserire la password.&amp;quot;&lt;br /&gt;
					echo &amp;quot;Vuoi che i caratteri digitati vengano visualizzati? (s/n)  &amp;quot;&lt;br /&gt;
					read risp&lt;br /&gt;
					echo -n &amp;quot;Inserisci la password: &amp;quot;&lt;br /&gt;
					if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
						read -s PSK&lt;br /&gt;
					elif [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
						read PSK&lt;br /&gt;
					else&lt;br /&gt;
						echo&lt;br /&gt;
						echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
						echo&lt;br /&gt;
						exit 1&lt;br /&gt;
					fi&lt;br /&gt;
&lt;br /&gt;
					# Creo il file di configurazione&lt;br /&gt;
					echo -n &amp;quot;Creo il file di configurazione...&amp;quot;&lt;br /&gt;
					echo &amp;quot;network={&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tscan_ssid=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tssid=\&amp;quot;$ESSID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tmode=0&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tproto=WPA WPA2&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tkey_mgmt=WPA-PSK&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tpairwise=CCMP TKIP&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tgroup=CCMP TKIP WEP104 WEP40&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tpsk=\&amp;quot;$PSK\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo &amp;quot;}&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
					;;&lt;br /&gt;
				&lt;br /&gt;
				# WPA-EAP&lt;br /&gt;
				WPA-EAP)&lt;br /&gt;
&lt;br /&gt;
					# Chiedo quale tipo di EAP&lt;br /&gt;
					echo &amp;quot;Quale tipo di EAP vuoi usare?&amp;quot;&lt;br /&gt;
					echo -e &amp;quot;\tTLS\n\tPEAP\n\tTTLS&amp;quot;&lt;br /&gt;
					read TYPE&lt;br /&gt;
					case &amp;quot;$TYPE&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
						# WPA-EAP --&amp;gt; TLS&lt;br /&gt;
						TLS)&lt;br /&gt;
&lt;br /&gt;
							# Chiedo l'identita'&lt;br /&gt;
							echo -n &amp;quot;Inserisci la tua identita': &amp;quot;&lt;br /&gt;
							read ID&lt;br /&gt;
							if [ -z &amp;quot;$ID&amp;quot; ]; then&lt;br /&gt;
								echo&lt;br /&gt;
								echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
								echo &amp;quot;Devi inserire il tuo identificativo per connetterti alla rete!&amp;quot;&lt;br /&gt;
								echo&lt;br /&gt;
								exit 1&lt;br /&gt;
							fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo il file del certificato&lt;br /&gt;
							echo &amp;quot;Inserisci il nome del file che contiene&amp;quot;&lt;br /&gt;
							echo -n &amp;quot;l'autorizzazione del server (comprensivo di path assoluto!): &amp;quot;&lt;br /&gt;
							read CA&lt;br /&gt;
							if [ -z &amp;quot;$CA&amp;quot; -o ! -e $CA ]; then&lt;br /&gt;
								echo&lt;br /&gt;
								echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
								echo &amp;quot;Devi inserire il nome del certificato del server, comprensivo di path assoluto!&amp;quot;&lt;br /&gt;
								echo&lt;br /&gt;
								exit 1&lt;br /&gt;
							fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo il file del certificato&lt;br /&gt;
							echo &amp;quot;Inserisci il nome del file che contiene &amp;quot;&lt;br /&gt;
							echo -n &amp;quot;il certificato del client (comprensivo di path assoluto!): &amp;quot;&lt;br /&gt;
							read CLIENT&lt;br /&gt;
							if [ -z &amp;quot;$CLIENT&amp;quot; -o ! -e $CLIENT ]; then&lt;br /&gt;
								echo&lt;br /&gt;
								echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
								echo &amp;quot;Devi inserire il nome del certicficato del tuo client, comprensivo di path assoluto!&amp;quot;&lt;br /&gt;
								echo&lt;br /&gt;
								exit 1&lt;br /&gt;
							fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo il file della chiave privata&lt;br /&gt;
							echo &amp;quot;Inserisci il nome del file che contiene&amp;quot;&lt;br /&gt;
							echo -n &amp;quot;la chiave privata (comprensivo di path assoluto!): &amp;quot;&lt;br /&gt;
							read KEY&lt;br /&gt;
							if [ -z &amp;quot;$KEY&amp;quot; -o ! -e $KEY ]; then&lt;br /&gt;
								echo&lt;br /&gt;
								echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
								echo &amp;quot;Devi inserire il nome della chiave primaria, comprensivo di path assololuto!&amp;quot;&lt;br /&gt;
								echo&lt;br /&gt;
								exit 1&lt;br /&gt;
							fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo la password&lt;br /&gt;
							echo &amp;quot;Adesso dovrai inserire la password.&amp;quot;&lt;br /&gt;
							echo -n &amp;quot;Vuoi che i caratteri digitati vengano visualizzati? (s/n)  &amp;quot;&lt;br /&gt;
							read risp&lt;br /&gt;
							echo -n &amp;quot;Inserisci la password: &amp;quot;&lt;br /&gt;
							if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
								read -s PASSWD&lt;br /&gt;
							elif [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
								read PASSWD&lt;br /&gt;
							else&lt;br /&gt;
								echo&lt;br /&gt;
								echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
								echo&lt;br /&gt;
								exit 1&lt;br /&gt;
							fi&lt;br /&gt;
&lt;br /&gt;
							# Creo il file di configurazione&lt;br /&gt;
							echo -n &amp;quot;Creo il file di configurazione...&amp;quot;&lt;br /&gt;
							echo &amp;quot;network={&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo -e &amp;quot;\tscan_ssid=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo -e &amp;quot;\tssid=\&amp;quot;$ESSID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo -e &amp;quot;\tmode=0&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo -e &amp;quot;\tproto=WPA WPA2&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo -e &amp;quot;\tkey_mgmt=WPA-EAP&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo -e &amp;quot;\tpairwise=CCMP TKIP&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo -e &amp;quot;\tgroup=CCMP TKIP WEP104 WEP40&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\teap=TLS&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tidentity=\&amp;quot;$ID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tca_cert=\&amp;quot;$CA\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tclient_cert=\&amp;quot;$CLIENT\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tprivate_key=\&amp;quot;$KEY\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tprivate_key_passwd=\&amp;quot;$PASSWD\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo &amp;quot;}&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		                                        ;;&lt;br /&gt;
&lt;br /&gt;
						# WPA-EAP --&amp;gt; PEAP&lt;br /&gt;
						PEAP)&lt;br /&gt;
&lt;br /&gt;
							# Chiedo l'identita'&lt;br /&gt;
							echo -n &amp;quot;Inserisci la tua identita': &amp;quot;&lt;br /&gt;
      	                                                	read ID&lt;br /&gt;
							if [ -z &amp;quot;$ID&amp;quot; ]; then&lt;br /&gt;
                                                               	echo&lt;br /&gt;
                                                               	echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                                               	echo &amp;quot;Devi inserire il tuo identificativo per connetterti alla rete!&amp;quot;&lt;br /&gt;
                                                               	echo&lt;br /&gt;
                                                                exit 1&lt;br /&gt;
                                                       	fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo il file del certificato&lt;br /&gt;
                                                       	echo &amp;quot;Inserisci il nome del file che contiene&amp;quot;&lt;br /&gt;
                                                       	echo -n &amp;quot;l'autorizzazione del server (comprensivo di path assoluto!): &amp;quot;&lt;br /&gt;
                                                       	read CA&lt;br /&gt;
							if [ -z &amp;quot;$CA&amp;quot; -o ! -e $CA ]; then&lt;br /&gt;
                                                        	echo&lt;br /&gt;
                                                               	echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                                               	echo &amp;quot;Devi inserire il nome del certificato del server, comprensivo di path assoluto!&amp;quot;&lt;br /&gt;
                                                               	echo&lt;br /&gt;
                                                               	exit 1&lt;br /&gt;
                                                       	fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo la password&lt;br /&gt;
							echo &amp;quot;Adesso dovrai inserire la password.&amp;quot;&lt;br /&gt;
                                                       	echo -n &amp;quot;Vuoi che i caratteri digitati vengano visualizzati? (s/n)  &amp;quot;&lt;br /&gt;
                                                       	read risp&lt;br /&gt;
                                                       	echo -n &amp;quot;Inserisci la password: &amp;quot;&lt;br /&gt;
                                                       	if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
								read -s PASSWD&lt;br /&gt;
                                                       	elif [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
                                                               	read PASSWD&lt;br /&gt;
                                                       	else&lt;br /&gt;
                                                               	echo&lt;br /&gt;
                                                               	echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                                               	echo&lt;br /&gt;
                                                               	exit 1&lt;br /&gt;
                                                       	fi&lt;br /&gt;
&lt;br /&gt;
							# Creo il file di configurazione&lt;br /&gt;
                                                       	echo -n &amp;quot;Creo il file di configurazione...&amp;quot;&lt;br /&gt;
                                                       	echo &amp;quot;network={&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tscan_ssid=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tssid=\&amp;quot;$ESSID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tmode=0&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tproto=WPA WPA2&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tkey_mgmt=WPA-EAP&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\teap=PEAP&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tidentity=\&amp;quot;$ID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tpassword=\&amp;quot;$PASSWD\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tca_cert=\&amp;quot;$CA\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tphase1=\&amp;quot;peaplabel=0\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tphase2=\&amp;quot;auth=MSCHAPV2\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo &amp;quot;}&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
							;;&lt;br /&gt;
							&lt;br /&gt;
						# WPA-EAP --&amp;gt; TTLS&lt;br /&gt;
						TTLS)&lt;br /&gt;
							&lt;br /&gt;
							# Chiedo l'identita'&lt;br /&gt;
							echo -n &amp;quot;Inserisci la tua identita': &amp;quot;&lt;br /&gt;
                                                       	read ID&lt;br /&gt;
                                                       	if [ -z &amp;quot;$ID&amp;quot; ]; then&lt;br /&gt;
                                                       	        echo&lt;br /&gt;
                                                       	        echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                                       	        echo &amp;quot;Devi inserire il tuo identificativo per connetterti alla rete!&amp;quot;&lt;br /&gt;
                                                       	        echo&lt;br /&gt;
                                                       	        exit 1&lt;br /&gt;
                                                       	fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo l'identita' anonima&lt;br /&gt;
							echo -n &amp;quot;Inserisci la tua identita' anonima: &amp;quot;&lt;br /&gt;
							read ANON_ID&lt;br /&gt;
&lt;br /&gt;
							# Chiedo il file del certificato&lt;br /&gt;
                                                       	echo &amp;quot;Inserisci il nome del file che contiene&amp;quot;&lt;br /&gt;
                                                       	echo -n &amp;quot;l'autorizzazione del server (comprensivo di path assoluto!): &amp;quot;&lt;br /&gt;
                                                       	read CA&lt;br /&gt;
                                                       	if [ -z &amp;quot;$CA&amp;quot; -o ! -e $CA ]; then&lt;br /&gt;
                                                       	        echo&lt;br /&gt;
                                                       	        echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                                       	        echo &amp;quot;Devi inserire il nome del certificato del server, comprensivo di path assoluto!&amp;quot;&lt;br /&gt;
                                                       	        echo&lt;br /&gt;
                                                       	        exit 1&lt;br /&gt;
                                                       	fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo la password&lt;br /&gt;
                                                       	echo &amp;quot;Adesso dovrai inserire la password.&amp;quot;&lt;br /&gt;
                                                       	echo -n &amp;quot;Vuoi che i caratteri digitati vengano visualizzati? (s/n)  &amp;quot;&lt;br /&gt;
                                                       	read risp&lt;br /&gt;
                                                       	echo -n &amp;quot;Inserisci la password: &amp;quot;&lt;br /&gt;
                                                       	if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
                                                       	        read -s PASSWD&lt;br /&gt;
                                                	        elif [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
                                                       	        read PASSWD&lt;br /&gt;
                                                       	else&lt;br /&gt;
                                                       	        echo&lt;br /&gt;
                                                       	        echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                                               	echo&lt;br /&gt;
                                                               	exit 1&lt;br /&gt;
                                                       	fi&lt;br /&gt;
&lt;br /&gt;
							# Creo il file di configurazione&lt;br /&gt;
                                                       	echo -n &amp;quot;Creo il file di configurazione...&amp;quot;&lt;br /&gt;
							echo &amp;quot;network={&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tscan_ssid=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tssid=\&amp;quot;$ESSID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tmode=0&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tproto=WPA WPA2&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tkey_mgmt=WPA-EAP&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\teap=TTLS&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tidentity=\&amp;quot;$ID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tanonymous_identity=\&amp;quot;$ANON_ID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tpassword=\&amp;quot;$PASSWD\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tca_cert=\&amp;quot;$CA\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tphase2=\&amp;quot;auth=MD5\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo &amp;quot;}&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
                                                       	;;&lt;br /&gt;
						&lt;br /&gt;
						# Spazio per gli errori&lt;br /&gt;
						*)&lt;br /&gt;
							echo&lt;br /&gt;
							echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
							echo &amp;quot;Devi inserire un tipo di EAP tra quelli proposti!&amp;quot;&lt;br /&gt;
							echo&lt;br /&gt;
							exit 1&lt;br /&gt;
							;;&lt;br /&gt;
					esac&lt;br /&gt;
					;;&lt;br /&gt;
				&lt;br /&gt;
				# NONE (static WEP)&lt;br /&gt;
				NONE)&lt;br /&gt;
&lt;br /&gt;
					# Chiedo la password&lt;br /&gt;
					echo &amp;quot;Adesso dovrai inserire la password.&amp;quot;&lt;br /&gt;
                                        echo -n &amp;quot;Vuoi che i caratteri digitati vengano visualizzati? (s/n)  &amp;quot;&lt;br /&gt;
                                        read risp&lt;br /&gt;
                                        echo -n &amp;quot;Inserisci la password in esadecimale (controlla le impostazioni dell'access point): &amp;quot;&lt;br /&gt;
                                        if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
	                                        read -s PASSWD&lt;br /&gt;
                                        elif [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
                                                read PASSWD&lt;br /&gt;
                                        else&lt;br /&gt;
                                                echo&lt;br /&gt;
                                                echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                                echo&lt;br /&gt;
                                                exit 1&lt;br /&gt;
                                        fi&lt;br /&gt;
&lt;br /&gt;
					# Creo il file di configurazione&lt;br /&gt;
					echo -n &amp;quot;Creo il file di configurazione...&amp;quot;&lt;br /&gt;
                                        echo &amp;quot;network={&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                        echo -e &amp;quot;\tscan_ssid=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                        echo -e &amp;quot;\tssid=\&amp;quot;$ESSID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                        echo -e &amp;quot;\tmode=0&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tkey_mgmt=NONE&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                        echo -e &amp;quot;\twep_tx_keyidx=0&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                        echo -e &amp;quot;\twep_key0=$PASSWD&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo &amp;quot;}&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                        echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
                                        ;;&lt;br /&gt;
				&lt;br /&gt;
				# Spazio per gli errori&lt;br /&gt;
				*)&lt;br /&gt;
					echo&lt;br /&gt;
					echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
					echo &amp;quot;Devi inserire un tipo di criptaggio tra quelli proposti!&amp;quot;&lt;br /&gt;
					echo&lt;br /&gt;
					exit 1&lt;br /&gt;
					;;&lt;br /&gt;
			esac&lt;br /&gt;
&lt;br /&gt;
			# Chiedo che driver deve usare wpa_supplicant&lt;br /&gt;
			echo &amp;quot;Che driver deve usare wpa_supplicant?&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\twext\t(Generic driver)\tDefault&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\tralink\t(Ralink driver)&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\thostap\t(Prism2/2.5/3 driver)&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\tprism54\t(PrismGT/Duette/Indigo driver)&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\tmadwifi\t(Atheros driver)&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\tatmel\t(Atmel AT76C5XXx driver)&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\tipw\t(IntelProWireless 2100/2200 driver)&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\tndiswrapper\t(Ndiswrapper driver)&amp;quot;&lt;br /&gt;
			read DRIVER&lt;br /&gt;
			if [ -z &amp;quot;$DRIVER&amp;quot; ]; then&lt;br /&gt;
				DRIVER=&amp;quot;wext&amp;quot;&lt;br /&gt;
			fi&lt;br /&gt;
&lt;br /&gt;
			# Imposto i parametri wireless&lt;br /&gt;
			echo &amp;quot;Setto i parametri wireless per $DEV e avvio wpa_supplicant...&amp;quot;&lt;br /&gt;
			if $IWCONFIG $DEV mode $MODE essid $ESSID channel $CHAN &amp;amp;&amp;amp; $WPA_SUPPLICANT -D$DRIVER -i$DEV -c$CONF_WPA -B ; then&lt;br /&gt;
				echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
				wired $DEV&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		elif [ &amp;quot;$TYPE&amp;quot; == &amp;quot;wep&amp;quot; -o &amp;quot;$TYPE&amp;quot; == &amp;quot;WEP&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
			# Se non e' WPA, allora e' WEP&lt;br /&gt;
			echo &amp;quot;Hai scelto WEP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
			# Chiedo la password&lt;br /&gt;
			echo &amp;quot;Adesso dovrai inserire la password.&amp;quot;&lt;br /&gt;
                        echo &amp;quot;Vuoi che i caratteri digitati vengano visualizzati? (s/n)  &amp;quot;&lt;br /&gt;
                        read risp&lt;br /&gt;
                        echo -n &amp;quot;Inserisci la password in esadecimale (controlla le impostazioni dell'access point): &amp;quot;&lt;br /&gt;
                        if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
	                        read -s PASSWD&lt;br /&gt;
                        elif [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
                                read PASSWD&lt;br /&gt;
                        else&lt;br /&gt;
                                echo&lt;br /&gt;
                                echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                echo&lt;br /&gt;
                                exit 1&lt;br /&gt;
                        fi&lt;br /&gt;
&lt;br /&gt;
			# Imposto i parametri wireless&lt;br /&gt;
			echo &amp;quot;Setto i parametri wireless per $DEV...&amp;quot;&lt;br /&gt;
			if $IWCONFIG $DEV mode $MODE essid $ESSID channel $CHAN &amp;amp;&amp;amp; $IWCONFIG $DEV key $PASSWD ; then&lt;br /&gt;
				echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
				wired $DEV&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
			echo &amp;quot;Devi inserire un tipo di password tra quelli proposti!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	elif [ &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
		&lt;br /&gt;
		# La rete wireless non ha bisogno di password&lt;br /&gt;
		echo &amp;quot;La rete scelta non e' protetta.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		# Imposto i parametri wireless&lt;br /&gt;
		echo &amp;quot;Setto i parametri wireless per $DEV...&amp;quot;&lt;br /&gt;
		if $IWCONFIG $DEV mode $MODE essid $ESSID channel $CHAN ; then&lt;br /&gt;
			echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
			$IWCONFIG $DEV key off &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
			wired $DEV&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Imposto gli eseguibili&lt;br /&gt;
utilities&lt;br /&gt;
&lt;br /&gt;
# Controllo i parametri passati allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	&amp;quot;--wired&amp;quot;)&lt;br /&gt;
		wired $2&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	&amp;quot;--wireless&amp;quot;)&lt;br /&gt;
		wireless $2&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 --wired [dev] --&amp;gt; per configurare reti cablate&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 --wireless [dev] --&amp;gt; per configurare reti wireless&amp;quot;&lt;br /&gt;
		echo -e &amp;quot;\t\t[dev] --&amp;gt; l'interfaccia da usare (opzionale, da usare senza '[]')&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 1.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
Sezione dedicata alla spiegazione delle eventuali migliorie che vengono apportate allo script.&lt;br /&gt;
&lt;br /&gt;
- V 1.0 --&amp;gt; Prima release...Attendo qualche feedback per eventuali modifiche&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Conf-network</id>
		<title>Conf-network</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Conf-network"/>
				<updated>2008-11-05T23:02:55Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Questo è il mio secondo script (il primo è stato Compiz-git) e questa volta ero indaffarato nelle configurazioni della mia rete...&lt;br /&gt;
&lt;br /&gt;
Così è nato Conf-ntwork!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usando questo script anche gli utenti meno esperti potranno configurare la loro rete (wireless o cablata) in pochi passi e senza bisogno dell'interfaccia grafica (dunque è utile se per caso dovete connettervi ad internet proprio per cercare informazioni su come configurare X.org).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lo script è un po' lungo, ed è stato testato su Slackware 12.1 -- kernel 2.6.26.3 (ma dovrebbe funzionare con qualsiasi distro...).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
&lt;br /&gt;
NET-TOOL --&amp;gt; per i comandi di base&lt;br /&gt;
&lt;br /&gt;
WIRELESS-TOOL --&amp;gt; per configurare le reti wireless&lt;br /&gt;
&lt;br /&gt;
DHCPCD --&amp;gt; per poter ricevere l'ip da un server dhcp&lt;br /&gt;
&lt;br /&gt;
WPA_SUPPLICANT --&amp;gt; [http://hostap.epitest.fi/wpa_supplicant/ wpa_supplicant]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=3 Conf-network-v1.0 (home)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
&lt;br /&gt;
Di seguito è riportato il codice dello script.&lt;br /&gt;
&lt;br /&gt;
Versione 1.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che aiuta l'utente nella configurazione dei dispositivi di rete&lt;br /&gt;
# (sia cablati, sia wireless)&lt;br /&gt;
#&lt;br /&gt;
# Per quanto riguarda il protocollo WPA-EAP di wpa_supplicant, non ho&lt;br /&gt;
# avuto modo di testarlo in quanto non dispongo degli strumenti necessari.&lt;br /&gt;
# Il resto dovrebbe funzionare :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 29/9/2008 da Ansa89 (aka h3r0)&lt;br /&gt;
&lt;br /&gt;
# File di configurazione di wpa_supplicant&lt;br /&gt;
CONF_WPA=&amp;quot;/root/.wpa_supplicant.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo chi esegue lo script&lt;br /&gt;
	if [ &amp;quot;$(whoami)&amp;quot; != &amp;quot;root&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo &amp;quot;Devi essere ROOT per eseguire questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se i net-tool sono installati&lt;br /&gt;
	if [ -z &amp;quot;$(which ifconfig)&amp;quot; -o -z &amp;quot;$(which route)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo &amp;quot;Devi avere installato i NET-TOOL per eseguire questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se i wireless-tool sono installati&lt;br /&gt;
	if [ -z &amp;quot;$(which iwlist)&amp;quot; -o -z &amp;quot;$(which iwconfig)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo &amp;quot;Devi avevre installato i WIRELESS-TOOL per eseguire questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se dhcpcd e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which dhcpcd)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo &amp;quot;Devi avere installato DHCPCD per eseguire questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se wpa_supplicant e' installato&lt;br /&gt;
	if [ -z &amp;quot;$(which wpa_supplicant)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo &amp;quot;Devi avere installato WPA_SUPPLICANT per eseguire questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per impostare le variabili degli eseguibili&lt;br /&gt;
utilities () {&lt;br /&gt;
	IFCONFIG=`which ifconfig`&lt;br /&gt;
	ROUTE=`which route`&lt;br /&gt;
	DHCPCD=`which dhcpcd`&lt;br /&gt;
	IWCONFIG=`which iwconfig`&lt;br /&gt;
	IWLIST=`which iwlist`&lt;br /&gt;
	WPA_SUPPLICANT=`which wpa_supplicant`&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per spegnere le interfacce&lt;br /&gt;
smorza () {&lt;br /&gt;
	&lt;br /&gt;
	# Guardo quali interfacce sono accese&lt;br /&gt;
	if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
		IF=`$IFCONFIG | grep -v lo | cut -d &amp;quot; &amp;quot; -f 1`&lt;br /&gt;
	else&lt;br /&gt;
		IF=$1&lt;br /&gt;
	fi&lt;br /&gt;
	for i in $IF; do&lt;br /&gt;
		echo -n &amp;quot;Devo spegnere $i? (s/n)  &amp;quot;&lt;br /&gt;
		read risp&lt;br /&gt;
		if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
			echo -n &amp;quot;Spengo $i...&amp;quot;&lt;br /&gt;
			$DHCPCD -k $i &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
			$IFCONFIG $i down &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
			echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			&lt;br /&gt;
			# Controllo se e' un'interfaccia wireless&lt;br /&gt;
			if ! [ -z &amp;quot;$(cat /proc/net/wireless | grep $i)&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
				# Chiedo se devo fermare anche wpa_supplicant&lt;br /&gt;
				echo -n &amp;quot;Fermo anche wpa_supplicant? (s/n)  &amp;quot;&lt;br /&gt;
				read risp&lt;br /&gt;
				if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
					killall wpa_supplicant &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
					kill -9 `ps ux | grep wpa | grep -v grep | cut -d &amp;quot; &amp;quot; -f 7` &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
					echo &amp;quot;Wpa_supplicant e' stato fermato.&amp;quot;&lt;br /&gt;
					echo&lt;br /&gt;
				elif [ &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
					echo&lt;br /&gt;
					echo &amp;quot;Wpa_supplicant non e' stato fermato.&amp;quot;&lt;br /&gt;
					echo&lt;br /&gt;
				else&lt;br /&gt;
					echo&lt;br /&gt;
					echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
					echo&lt;br /&gt;
					exit 1&lt;br /&gt;
				fi&lt;br /&gt;
				$IWCONFIG $i essid off ap off &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
				$IWCONFIG $i key off &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
				$IWCONFIG $i mode managed &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
				$IFCONFIG $i up&lt;br /&gt;
			fi&lt;br /&gt;
			echo&lt;br /&gt;
		elif [ &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;$i non e' stata spenta&amp;quot;&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per configurare le reti cablate&lt;br /&gt;
wired () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo il parametro passato allo script&lt;br /&gt;
	if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
		# Se non e' stato passato niente cerco le interfacce&lt;br /&gt;
		echo -n &amp;quot;Cerco le interfacce... &amp;quot;&lt;br /&gt;
		NUM=`wc -l /proc/net/dev | cut -d &amp;quot; &amp;quot; -f 1`&lt;br /&gt;
		if [ $NUM -gt 3 ]; then&lt;br /&gt;
			IF=`tail -n $(($NUM-3)) /proc/net/dev | cut -d &amp;quot; &amp;quot; -f 3 | cut -d &amp;quot;:&amp;quot; -f 1`&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
			echo &amp;quot;Nessuna scheda ethernet trovata!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Tolgo le interfacce wireless perche' non interessano&lt;br /&gt;
		if [ -e /proc/net/wireless ]; then&lt;br /&gt;
			NUM=`wc -l /proc/net/wireless | cut -d &amp;quot; &amp;quot; -f 1`&lt;br /&gt;
			if [ $NUM -gt 2 ]; then&lt;br /&gt;
				IF2=`tail -n $(($NUM-2)) /proc/net/wireless | cut -d &amp;quot; &amp;quot; -f 3 | cut -d &amp;quot;:&amp;quot; -f 1`&lt;br /&gt;
				OLD_IF=$IF&lt;br /&gt;
				IF=&amp;quot;&amp;quot;&lt;br /&gt;
					for i in $OLD_IF; do&lt;br /&gt;
						if [ -z &amp;quot;$(echo $IF2 | grep $i)&amp;quot; ]; then&lt;br /&gt;
							IF=&amp;quot;$IF $i&amp;quot;&lt;br /&gt;
						fi&lt;br /&gt;
					done&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		# Faccio scegliere l'interfaccia&lt;br /&gt;
		echo &amp;quot;Ho trovato queste intefacce wired:&amp;quot;&lt;br /&gt;
		for i in $IF; do&lt;br /&gt;
			IF2=$i&lt;br /&gt;
			echo $i&lt;br /&gt;
		done&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Quale vuoi usare per la connessione?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($IF2)  &amp;quot;&lt;br /&gt;
		read DEV&lt;br /&gt;
		if [ -z &amp;quot;$DEV&amp;quot; ]; then&lt;br /&gt;
			DEV=$IF2&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		NUM=`wc -l /proc/net/dev | cut -d &amp;quot; &amp;quot; -f 1`&lt;br /&gt;
		if tail -n $(($NUM-3)) /proc/net/dev | cut -d &amp;quot; &amp;quot; -f 3 | cut -d &amp;quot;:&amp;quot; -f 1 | grep $1 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
			DEV=$1&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
			echo &amp;quot;Devi inserire un'interfaccia valida!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Spengo l'interfaccia prima di configurarla (uso la funzione smorza)&lt;br /&gt;
	smorza $DEV&lt;br /&gt;
&lt;br /&gt;
	# Chiedo che tipo di connessione e'&lt;br /&gt;
	echo -n &amp;quot;Il tuo IP ti viene assegnato da un server DHCP? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
		# Configurazione rete con IP dinamici&lt;br /&gt;
		echo &amp;quot;Avvio il demone dhcpcd...&amp;quot;&lt;br /&gt;
		$DHCPCD -t 20 -d $DEV&lt;br /&gt;
		sleep 5&lt;br /&gt;
		if [ &amp;quot;$(ps aux | grep dhcpcd | wc -l | cut -d &amp;quot; &amp;quot; -f 1)&amp;quot; -gt 1 ]; then&lt;br /&gt;
			echo &amp;quot;Fatto!&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai configurato la tua rete cablata con successo! :-)&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad avviare dhcpcd!&amp;quot;&lt;br /&gt;
			echo &amp;quot;Prova ad eseguire '$DHCPCD -d $DEV' come utente root&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	elif [ &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
		# Configurazione rete con IP statici&lt;br /&gt;
		echo -n &amp;quot;Inserisci l'IP per $DEV: &amp;quot;&lt;br /&gt;
		read IPADDR&lt;br /&gt;
		if [ -z &amp;quot;$IPADDR&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
			echo &amp;quot;Devi inserire un IP per configurare la scheda!&amp;quot;&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		echo -n &amp;quot;Inserisci la maschera di rete (255.255.255.0): &amp;quot;&lt;br /&gt;
		read NETMASK&lt;br /&gt;
		if [ -z &amp;quot;$NETMASK&amp;quot; ]; then&lt;br /&gt;
			NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;Inserisci l'IP del broadcast:&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(puo' essere lasciato vuoto se si e' incerti)  &amp;quot;&lt;br /&gt;
		read BROADCAST&lt;br /&gt;
		echo &amp;quot;Inserisci l'IP del gateway:&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(necessario per la connessione ad internet attraverso $DEV)  &amp;quot;&lt;br /&gt;
		read GW&lt;br /&gt;
		echo &amp;quot;Imposto i parametri per $DEV...&amp;quot;&lt;br /&gt;
		if [ -z &amp;quot;$BROADCAST&amp;quot; ]; then&lt;br /&gt;
			$IFCONFIG $DEV $IPADDR netmask $NETMASK up&lt;br /&gt;
		else&lt;br /&gt;
			$IFCONFIG $DEV $IPADDR netmask $NETMASK broadcast $BROADCAST up&lt;br /&gt;
		fi&lt;br /&gt;
		if ! [ -z &amp;quot;$GW&amp;quot; ]; then&lt;br /&gt;
			$ROUTE add default gw $GW&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;nameserver 127.0.0.1&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
		echo &amp;quot;Fatto!&amp;quot;&lt;br /&gt;
		echo &amp;quot;Hai configurato la tua rete cablata con successo! :-)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per configurare le reti wireless&lt;br /&gt;
wireless () {&lt;br /&gt;
	if [ -z $1 ]; then&lt;br /&gt;
		echo &amp;quot;Cerco le interfacce...&amp;quot;&lt;br /&gt;
		if [ -e /proc/net/wireless ]; then&lt;br /&gt;
			NUM=`wc -l /proc/net/wireless | cut -d &amp;quot; &amp;quot; -f 1`&lt;br /&gt;
			if [ $NUM -gt 2 ]; then&lt;br /&gt;
				IF=`tail -n $(($NUM-2)) /proc/net/wireless | cut -d &amp;quot; &amp;quot; -f 3 | cut -d &amp;quot;:&amp;quot; -f 1`&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
				echo &amp;quot;Nessuna scheda wireless trovata!&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
			echo &amp;quot;Nessuna scheda wireless trovata!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo &amp;quot;Ho trovato queste interfacce wireless:&amp;quot;&lt;br /&gt;
		for i in $IF; do&lt;br /&gt;
			IF2=$i&lt;br /&gt;
			echo $i&lt;br /&gt;
		done&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Quale vuoi usare per la connessione?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($IF2)  &amp;quot;&lt;br /&gt;
		read DEV&lt;br /&gt;
		if [ -z &amp;quot;$DEV&amp;quot; ]; then&lt;br /&gt;
			DEV=$IF2&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		if [ -e /proc/net/wireless ]; then&lt;br /&gt;
			NUM=`wc -l /proc/net/wireless | cut -d &amp;quot; &amp;quot; -f 1`&lt;br /&gt;
			if tail -n $(($NUM-2)) /proc/net/wireless | cut -d &amp;quot; &amp;quot; -f 3 | cut -d &amp;quot;:&amp;quot; -f 1 | grep $1; then&lt;br /&gt;
				DEV=$1&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
				echo &amp;quot;Devi inserire un'interfaccia wireless valida!&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Spengo l'interfaccia prima di configurarla (uso la funzione smorza)&lt;br /&gt;
	smorza $DEV&lt;br /&gt;
&lt;br /&gt;
	# Cerco le reti wireless&lt;br /&gt;
	echo &amp;quot;Scanning delle reti con $DEV...&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	$IWLIST $DEV scan&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Non farti prendere dal panico per l'eventuale eccessiva lunghezza dell'output&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	# Incomincio a chiedere i vari parametri&lt;br /&gt;
&lt;br /&gt;
	# ESSID&lt;br /&gt;
	echo -n &amp;quot;cerca la tua rete e inserisci l'ESSID (il nome): &amp;quot;&lt;br /&gt;
	read ESSID&lt;br /&gt;
	if [ -z &amp;quot;$ESSID&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo &amp;quot;Devi inserire il nome di una rete a cui connettersi!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# CHANNEL&lt;br /&gt;
	echo -n &amp;quot;Inserisci il channel della rete (non la frequenza!): &amp;quot;&lt;br /&gt;
	read CHAN&lt;br /&gt;
	if [ -z &amp;quot;$CHAN&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo &amp;quot;Devi inserire il canale della rete scelta!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# MODE&lt;br /&gt;
	echo -n &amp;quot;Inserisci il tipo di rete: managed (con access point) o ad-hoc (senza access point): &amp;quot;&lt;br /&gt;
	read MODE&lt;br /&gt;
	if [ -z &amp;quot;$MODE&amp;quot; ]; then&lt;br /&gt;
		MODE=&amp;quot;managed&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se serve la password&lt;br /&gt;
	echo -n &amp;quot;La rete necessita di password? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
		# Quale tipo di password?&lt;br /&gt;
		echo &amp;quot;WEP o WPA?&amp;quot;&lt;br /&gt;
		echo &amp;quot;(N.B. WPA e' solo per reti con access point!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(wpa)  &amp;quot;&lt;br /&gt;
		read TYPE&lt;br /&gt;
		if [ [ -z &amp;quot;$TYPE&amp;quot; -o &amp;quot;$TYPE&amp;quot; == &amp;quot;wpa&amp;quot; -o &amp;quot;$TYPE&amp;quot; == &amp;quot;WPA&amp;quot; ] -a [ &amp;quot;$MODE&amp;quot; == &amp;quot;managed&amp;quot; -o &amp;quot;$MODE&amp;quot; == &amp;quot;Managed&amp;quot;] ]; then&lt;br /&gt;
&lt;br /&gt;
			# WPA&lt;br /&gt;
			echo &amp;quot;Hai scelto WPA&amp;quot;&lt;br /&gt;
			echo &amp;quot;ctrl_interface=/var/run/wpa_supplicant&amp;quot; &amp;gt; $CONF_WPA&lt;br /&gt;
			echo &amp;quot;ctrl_interface_group=0&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
			echo &amp;quot;eapol_version=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
			echo &amp;quot;ap_scan=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
			echo &amp;quot;fast_reauth=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
			echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
			chmod 600 $CONF_WPA&lt;br /&gt;
&lt;br /&gt;
			# Chiedo quale tipo di WPA&lt;br /&gt;
			echo &amp;quot;Che tipo di criptaggio devo usare?&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\tWPA-PSK\n\tWPA-EAP\n\tNONE\t(per chiavi WEP)&amp;quot;&lt;br /&gt;
			read TYPE&lt;br /&gt;
			case &amp;quot;$TYPE&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
				# WPA-PSK&lt;br /&gt;
				WPA-PSK)&lt;br /&gt;
&lt;br /&gt;
					# Chiedo la password&lt;br /&gt;
					echo &amp;quot;Adesso dovrai inserire la password.&amp;quot;&lt;br /&gt;
					echo &amp;quot;Vuoi che i caratteri digitati vengano visualizzati? (s/n)  &amp;quot;&lt;br /&gt;
					read risp&lt;br /&gt;
					echo -n &amp;quot;Inserisci la password: &amp;quot;&lt;br /&gt;
					if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
						read -s PSK&lt;br /&gt;
					elif [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
						read PSK&lt;br /&gt;
					else&lt;br /&gt;
						echo&lt;br /&gt;
						echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
						echo&lt;br /&gt;
						exit 1&lt;br /&gt;
					fi&lt;br /&gt;
&lt;br /&gt;
					# Creo il file di configurazione&lt;br /&gt;
					echo -n &amp;quot;Creo il file di configurazione...&amp;quot;&lt;br /&gt;
					echo &amp;quot;network={&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tscan_ssid=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tssid=\&amp;quot;$ESSID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tmode=0&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tproto=WPA WPA2&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tkey_mgmt=WPA-PSK&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tpairwise=CCMP TKIP&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tgroup=CCMP TKIP WEP104 WEP40&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tpsk=\&amp;quot;$PSK\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo &amp;quot;}&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
					;;&lt;br /&gt;
				&lt;br /&gt;
				# WPA-EAP&lt;br /&gt;
				WPA-EAP)&lt;br /&gt;
&lt;br /&gt;
					# Chiedo quale tipo di EAP&lt;br /&gt;
					echo &amp;quot;Quale tipo di EAP vuoi usare?&amp;quot;&lt;br /&gt;
					echo -e &amp;quot;\tTLS\n\tPEAP\n\tTTLS&amp;quot;&lt;br /&gt;
					read TYPE&lt;br /&gt;
					case &amp;quot;$TYPE&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
						# WPA-EAP --&amp;gt; TLS&lt;br /&gt;
						TLS)&lt;br /&gt;
&lt;br /&gt;
							# Chiedo l'identita'&lt;br /&gt;
							echo -n &amp;quot;Inserisci la tua identita': &amp;quot;&lt;br /&gt;
							read ID&lt;br /&gt;
							if [ -z &amp;quot;$ID&amp;quot; ]; then&lt;br /&gt;
								echo&lt;br /&gt;
								echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
								echo &amp;quot;Devi inserire il tuo identificativo per connetterti alla rete!&amp;quot;&lt;br /&gt;
								echo&lt;br /&gt;
								exit 1&lt;br /&gt;
							fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo il file del certificato&lt;br /&gt;
							echo &amp;quot;Inserisci il nome del file che contiene&amp;quot;&lt;br /&gt;
							echo -n &amp;quot;l'autorizzazione del server (comprensivo di path assoluto!): &amp;quot;&lt;br /&gt;
							read CA&lt;br /&gt;
							if [ -z &amp;quot;$CA&amp;quot; -o ! -e $CA ]; then&lt;br /&gt;
								echo&lt;br /&gt;
								echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
								echo &amp;quot;Devi inserire il nome del certificato del server, comprensivo di path assoluto!&amp;quot;&lt;br /&gt;
								echo&lt;br /&gt;
								exit 1&lt;br /&gt;
							fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo il file del certificato&lt;br /&gt;
							echo &amp;quot;Inserisci il nome del file che contiene &amp;quot;&lt;br /&gt;
							echo -n &amp;quot;il certificato del client (comprensivo di path assoluto!): &amp;quot;&lt;br /&gt;
							read CLIENT&lt;br /&gt;
							if [ -z &amp;quot;$CLIENT&amp;quot; -o ! -e $CLIENT ]; then&lt;br /&gt;
								echo&lt;br /&gt;
								echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
								echo &amp;quot;Devi inserire il nome del certicficato del tuo client, comprensivo di path assoluto!&amp;quot;&lt;br /&gt;
								echo&lt;br /&gt;
								exit 1&lt;br /&gt;
							fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo il file della chiave privata&lt;br /&gt;
							echo &amp;quot;Inserisci il nome del file che contiene&amp;quot;&lt;br /&gt;
							echo -n &amp;quot;la chiave privata (comprensivo di path assoluto!): &amp;quot;&lt;br /&gt;
							read KEY&lt;br /&gt;
							if [ -z &amp;quot;$KEY&amp;quot; -o ! -e $KEY ]; then&lt;br /&gt;
								echo&lt;br /&gt;
								echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
								echo &amp;quot;Devi inserire il nome della chiave primaria, comprensivo di path assololuto!&amp;quot;&lt;br /&gt;
								echo&lt;br /&gt;
								exit 1&lt;br /&gt;
							fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo la password&lt;br /&gt;
							echo &amp;quot;Adesso dovrai inserire la password.&amp;quot;&lt;br /&gt;
							echo -n &amp;quot;Vuoi che i caratteri digitati vengano visualizzati? (s/n)  &amp;quot;&lt;br /&gt;
							read risp&lt;br /&gt;
							echo -n &amp;quot;Inserisci la password: &amp;quot;&lt;br /&gt;
							if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
								read -s PASSWD&lt;br /&gt;
							elif [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
								read PASSWD&lt;br /&gt;
							else&lt;br /&gt;
								echo&lt;br /&gt;
								echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
								echo&lt;br /&gt;
								exit 1&lt;br /&gt;
							fi&lt;br /&gt;
&lt;br /&gt;
							# Creo il file di configurazione&lt;br /&gt;
							echo -n &amp;quot;Creo il file di configurazione...&amp;quot;&lt;br /&gt;
							echo &amp;quot;network={&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo -e &amp;quot;\tscan_ssid=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo -e &amp;quot;\tssid=\&amp;quot;$ESSID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo -e &amp;quot;\tmode=0&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo -e &amp;quot;\tproto=WPA WPA2&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo -e &amp;quot;\tkey_mgmt=WPA-EAP&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo -e &amp;quot;\tpairwise=CCMP TKIP&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo -e &amp;quot;\tgroup=CCMP TKIP WEP104 WEP40&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\teap=TLS&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tidentity=\&amp;quot;$ID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tca_cert=\&amp;quot;$CA\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tclient_cert=\&amp;quot;$CLIENT\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tprivate_key=\&amp;quot;$KEY\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tprivate_key_passwd=\&amp;quot;$PASSWD\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo &amp;quot;}&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
		                                        echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		                                        ;;&lt;br /&gt;
&lt;br /&gt;
						# WPA-EAP --&amp;gt; PEAP&lt;br /&gt;
						PEAP)&lt;br /&gt;
&lt;br /&gt;
							# Chiedo l'identita'&lt;br /&gt;
							echo -n &amp;quot;Inserisci la tua identita': &amp;quot;&lt;br /&gt;
      	                                                	read ID&lt;br /&gt;
							if [ -z &amp;quot;$ID&amp;quot; ]; then&lt;br /&gt;
                                                               	echo&lt;br /&gt;
                                                               	echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                                               	echo &amp;quot;Devi inserire il tuo identificativo per connetterti alla rete!&amp;quot;&lt;br /&gt;
                                                               	echo&lt;br /&gt;
                                                                exit 1&lt;br /&gt;
                                                       	fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo il file del certificato&lt;br /&gt;
                                                       	echo &amp;quot;Inserisci il nome del file che contiene&amp;quot;&lt;br /&gt;
                                                       	echo -n &amp;quot;l'autorizzazione del server (comprensivo di path assoluto!): &amp;quot;&lt;br /&gt;
                                                       	read CA&lt;br /&gt;
							if [ -z &amp;quot;$CA&amp;quot; -o ! -e $CA ]; then&lt;br /&gt;
                                                        	echo&lt;br /&gt;
                                                               	echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                                               	echo &amp;quot;Devi inserire il nome del certificato del server, comprensivo di path assoluto!&amp;quot;&lt;br /&gt;
                                                               	echo&lt;br /&gt;
                                                               	exit 1&lt;br /&gt;
                                                       	fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo la password&lt;br /&gt;
							echo &amp;quot;Adesso dovrai inserire la password.&amp;quot;&lt;br /&gt;
                                                       	echo -n &amp;quot;Vuoi che i caratteri digitati vengano visualizzati? (s/n)  &amp;quot;&lt;br /&gt;
                                                       	read risp&lt;br /&gt;
                                                       	echo -n &amp;quot;Inserisci la password: &amp;quot;&lt;br /&gt;
                                                       	if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
								read -s PASSWD&lt;br /&gt;
                                                       	elif [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
                                                               	read PASSWD&lt;br /&gt;
                                                       	else&lt;br /&gt;
                                                               	echo&lt;br /&gt;
                                                               	echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                                               	echo&lt;br /&gt;
                                                               	exit 1&lt;br /&gt;
                                                       	fi&lt;br /&gt;
&lt;br /&gt;
							# Creo il file di configurazione&lt;br /&gt;
                                                       	echo -n &amp;quot;Creo il file di configurazione...&amp;quot;&lt;br /&gt;
                                                       	echo &amp;quot;network={&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tscan_ssid=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tssid=\&amp;quot;$ESSID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tmode=0&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tproto=WPA WPA2&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tkey_mgmt=WPA-EAP&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\teap=PEAP&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tidentity=\&amp;quot;$ID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tpassword=\&amp;quot;$PASSWD\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tca_cert=\&amp;quot;$CA\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tphase1=\&amp;quot;peaplabel=0\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tphase2=\&amp;quot;auth=MSCHAPV2\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo &amp;quot;}&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
							;;&lt;br /&gt;
							&lt;br /&gt;
						# WPA-EAP --&amp;gt; TTLS&lt;br /&gt;
						TTLS)&lt;br /&gt;
							&lt;br /&gt;
							# Chiedo l'identita'&lt;br /&gt;
							echo -n &amp;quot;Inserisci la tua identita': &amp;quot;&lt;br /&gt;
                                                       	read ID&lt;br /&gt;
                                                       	if [ -z &amp;quot;$ID&amp;quot; ]; then&lt;br /&gt;
                                                       	        echo&lt;br /&gt;
                                                       	        echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                                       	        echo &amp;quot;Devi inserire il tuo identificativo per connetterti alla rete!&amp;quot;&lt;br /&gt;
                                                       	        echo&lt;br /&gt;
                                                       	        exit 1&lt;br /&gt;
                                                       	fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo l'identita' anonima&lt;br /&gt;
							echo -n &amp;quot;Inserisci la tua identita' anonima: &amp;quot;&lt;br /&gt;
							read ANON_ID&lt;br /&gt;
&lt;br /&gt;
							# Chiedo il file del certificato&lt;br /&gt;
                                                       	echo &amp;quot;Inserisci il nome del file che contiene&amp;quot;&lt;br /&gt;
                                                       	echo -n &amp;quot;l'autorizzazione del server (comprensivo di path assoluto!): &amp;quot;&lt;br /&gt;
                                                       	read CA&lt;br /&gt;
                                                       	if [ -z &amp;quot;$CA&amp;quot; -o ! -e $CA ]; then&lt;br /&gt;
                                                       	        echo&lt;br /&gt;
                                                       	        echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                                       	        echo &amp;quot;Devi inserire il nome del certificato del server, comprensivo di path assoluto!&amp;quot;&lt;br /&gt;
                                                       	        echo&lt;br /&gt;
                                                       	        exit 1&lt;br /&gt;
                                                       	fi&lt;br /&gt;
&lt;br /&gt;
							# Chiedo la password&lt;br /&gt;
                                                       	echo &amp;quot;Adesso dovrai inserire la password.&amp;quot;&lt;br /&gt;
                                                       	echo -n &amp;quot;Vuoi che i caratteri digitati vengano visualizzati? (s/n)  &amp;quot;&lt;br /&gt;
                                                       	read risp&lt;br /&gt;
                                                       	echo -n &amp;quot;Inserisci la password: &amp;quot;&lt;br /&gt;
                                                       	if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
                                                       	        read -s PASSWD&lt;br /&gt;
                                                	        elif [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
                                                       	        read PASSWD&lt;br /&gt;
                                                       	else&lt;br /&gt;
                                                       	        echo&lt;br /&gt;
                                                       	        echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                                               	echo&lt;br /&gt;
                                                               	exit 1&lt;br /&gt;
                                                       	fi&lt;br /&gt;
&lt;br /&gt;
							# Creo il file di configurazione&lt;br /&gt;
                                                       	echo -n &amp;quot;Creo il file di configurazione...&amp;quot;&lt;br /&gt;
							echo &amp;quot;network={&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tscan_ssid=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tssid=\&amp;quot;$ESSID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tmode=0&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tproto=WPA WPA2&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tkey_mgmt=WPA-EAP&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\teap=TTLS&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tidentity=\&amp;quot;$ID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo -e &amp;quot;\tanonymous_identity=\&amp;quot;$ANON_ID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tpassword=\&amp;quot;$PASSWD\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tca_cert=\&amp;quot;$CA\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo -e &amp;quot;\tphase2=\&amp;quot;auth=MD5\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                                       	echo &amp;quot;}&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
							echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
                                                       	;;&lt;br /&gt;
						&lt;br /&gt;
						# Spazio per gli errori&lt;br /&gt;
						*)&lt;br /&gt;
							echo&lt;br /&gt;
							echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
							echo &amp;quot;Devi inserire un tipo di EAP tra quelli proposti!&amp;quot;&lt;br /&gt;
							echo&lt;br /&gt;
							exit 1&lt;br /&gt;
							;;&lt;br /&gt;
					esac&lt;br /&gt;
					;;&lt;br /&gt;
				&lt;br /&gt;
				# NONE (static WEP)&lt;br /&gt;
				NONE)&lt;br /&gt;
&lt;br /&gt;
					# Chiedo la password&lt;br /&gt;
					echo &amp;quot;Adesso dovrai inserire la password.&amp;quot;&lt;br /&gt;
                                        echo -n &amp;quot;Vuoi che i caratteri digitati vengano visualizzati? (s/n)  &amp;quot;&lt;br /&gt;
                                        read risp&lt;br /&gt;
                                        echo -n &amp;quot;Inserisci la password in esadecimale (controlla le impostazioni dell'access point): &amp;quot;&lt;br /&gt;
                                        if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
	                                        read -s PASSWD&lt;br /&gt;
                                        elif [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
                                                read PASSWD&lt;br /&gt;
                                        else&lt;br /&gt;
                                                echo&lt;br /&gt;
                                                echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                                echo&lt;br /&gt;
                                                exit 1&lt;br /&gt;
                                        fi&lt;br /&gt;
&lt;br /&gt;
					# Creo il file di configurazione&lt;br /&gt;
					echo -n &amp;quot;Creo il file di configurazione...&amp;quot;&lt;br /&gt;
                                        echo &amp;quot;network={&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                        echo -e &amp;quot;\tscan_ssid=1&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                        echo -e &amp;quot;\tssid=\&amp;quot;$ESSID\&amp;quot;&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                        echo -e &amp;quot;\tmode=0&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo -e &amp;quot;\tkey_mgmt=NONE&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                        echo -e &amp;quot;\twep_tx_keyidx=0&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                        echo -e &amp;quot;\twep_key0=$PASSWD&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
					echo &amp;quot;}&amp;quot; &amp;gt;&amp;gt; $CONF_WPA&lt;br /&gt;
                                        echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
                                        ;;&lt;br /&gt;
				&lt;br /&gt;
				# Spazio per gli errori&lt;br /&gt;
				*)&lt;br /&gt;
					echo&lt;br /&gt;
					echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
					echo &amp;quot;Devi inserire un tipo di criptaggio tra quelli proposti!&amp;quot;&lt;br /&gt;
					echo&lt;br /&gt;
					exit 1&lt;br /&gt;
					;;&lt;br /&gt;
			esac&lt;br /&gt;
&lt;br /&gt;
			# Chiedo che driver deve usare wpa_supplicant&lt;br /&gt;
			echo &amp;quot;Che driver deve usare wpa_supplicant?&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\twext\t(Generic driver)\tDefault&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\tralink\t(Ralink driver)&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\thostap\t(Prism2/2.5/3 driver)&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\tprism54\t(PrismGT/Duette/Indigo driver)&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\tmadwifi\t(Atheros driver)&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\tatmel\t(Atmel AT76C5XXx driver)&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\tipw\t(IntelProWireless 2100/2200 driver)&amp;quot;&lt;br /&gt;
			echo -e &amp;quot;\tndiswrapper\t(Ndiswrapper driver)&amp;quot;&lt;br /&gt;
			read DRIVER&lt;br /&gt;
			if [ -z &amp;quot;$DRIVER&amp;quot; ]; then&lt;br /&gt;
				DRIVER=&amp;quot;wext&amp;quot;&lt;br /&gt;
			fi&lt;br /&gt;
&lt;br /&gt;
			# Imposto i parametri wireless&lt;br /&gt;
			echo &amp;quot;Setto i parametri wireless per $DEV e avvio wpa_supplicant...&amp;quot;&lt;br /&gt;
			if $IWCONFIG $DEV mode $MODE essid $ESSID channel $CHAN &amp;amp;&amp;amp; $WPA_SUPPLICANT -D$DRIVER -i$DEV -c$CONF_WPA -B ; then&lt;br /&gt;
				echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
				wired $DEV&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		elif [ &amp;quot;$TYPE&amp;quot; == &amp;quot;wep&amp;quot; -o &amp;quot;$TYPE&amp;quot; == &amp;quot;WEP&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
			# Se non e' WPA, allora e' WEP&lt;br /&gt;
			echo &amp;quot;Hai scelto WEP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
			# Chiedo la password&lt;br /&gt;
			echo &amp;quot;Adesso dovrai inserire la password.&amp;quot;&lt;br /&gt;
                        echo &amp;quot;Vuoi che i caratteri digitati vengano visualizzati? (s/n)  &amp;quot;&lt;br /&gt;
                        read risp&lt;br /&gt;
                        echo -n &amp;quot;Inserisci la password in esadecimale (controlla le impostazioni dell'access point): &amp;quot;&lt;br /&gt;
                        if [ -z &amp;quot;$risp&amp;quot; -o &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
	                        read -s PASSWD&lt;br /&gt;
                        elif [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
                                read PASSWD&lt;br /&gt;
                        else&lt;br /&gt;
                                echo&lt;br /&gt;
                                echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
                                echo&lt;br /&gt;
                                exit 1&lt;br /&gt;
                        fi&lt;br /&gt;
&lt;br /&gt;
			# Imposto i parametri wireless&lt;br /&gt;
			echo &amp;quot;Setto i parametri wireless per $DEV...&amp;quot;&lt;br /&gt;
			if $IWCONFIG $DEV mode $MODE essid $ESSID channel $CHAN &amp;amp;&amp;amp; $IWCONFIG $DEV key $PASSWD ; then&lt;br /&gt;
				echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
				wired $DEV&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
			echo &amp;quot;Devi inserire un tipo di password tra quelli proposti!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	elif [ &amp;quot;$risp&amp;quot; == &amp;quot;n&amp;quot; ]; then&lt;br /&gt;
		&lt;br /&gt;
		# La rete wireless non ha bisogno di password&lt;br /&gt;
		echo &amp;quot;La rete scelta non e' protetta.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		# Imposto i parametri wireless&lt;br /&gt;
		echo &amp;quot;Setto i parametri wireless per $DEV...&amp;quot;&lt;br /&gt;
		if $IWCONFIG $DEV mode $MODE essid $ESSID channel $CHAN ; then&lt;br /&gt;
			echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
			$IWCONFIG $DEV key off &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
			wired $DEV&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;**ERRORE**&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Imposto gli eseguibili&lt;br /&gt;
utilities&lt;br /&gt;
&lt;br /&gt;
# Controllo i parametri passati allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	&amp;quot;--wired&amp;quot;)&lt;br /&gt;
		wired $2&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	&amp;quot;--wireless&amp;quot;)&lt;br /&gt;
		wireless $2&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 --wired [dev] --&amp;gt; per configurare reti cablate&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 --wireless [dev] --&amp;gt; per configurare reti wireless&amp;quot;&lt;br /&gt;
		echo -e &amp;quot;\t\t[dev] --&amp;gt; l'interfaccia da usare (opzionale, da usare senza '[]')&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 1.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Conf-network</id>
		<title>Conf-network</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Conf-network"/>
				<updated>2008-11-05T22:59:52Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Requisiti */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Questo è il mio secondo script (il primo è stato Compiz-git) e questa volta ero indaffarato nelle configurazioni della mia rete...&lt;br /&gt;
&lt;br /&gt;
Così è nato Conf-ntwork!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usando questo script anche gli utenti meno esperti potranno configurare la loro rete (wireless o cablata) in pochi passi e senza bisogno dell'interfaccia grafica (dunque è utile se per caso dovete connettervi ad internet proprio per cercare informazioni su come configurare X.org).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lo script è un po' lungo, ed è stato testato su Slackware 12.1 -- kernel 2.6.26.3 (ma dovrebbe funzionare con qualsiasi distro...).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
&lt;br /&gt;
NET-TOOL --&amp;gt; per i comandi di base&lt;br /&gt;
&lt;br /&gt;
WIRELESS-TOOL --&amp;gt; per configurare le reti wireless&lt;br /&gt;
&lt;br /&gt;
DHCPCD --&amp;gt; per poter ricevere l'ip da un server dhcp&lt;br /&gt;
&lt;br /&gt;
WPA_SUPPLICANT --&amp;gt; [http://hostap.epitest.fi/wpa_supplicant/ wpa_supplicant]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=3 Conf-network-v1.0 (home)]&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Conf-network</id>
		<title>Conf-network</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Conf-network"/>
				<updated>2008-11-05T22:57:47Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Descrizione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Questo è il mio secondo script (il primo è stato Compiz-git) e questa volta ero indaffarato nelle configurazioni della mia rete...&lt;br /&gt;
&lt;br /&gt;
Così è nato Conf-ntwork!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usando questo script anche gli utenti meno esperti potranno configurare la loro rete (wireless o cablata) in pochi passi e senza bisogno dell'interfaccia grafica (dunque è utile se per caso dovete connettervi ad internet proprio per cercare informazioni su come configurare X.org).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lo script è un po' lungo, ed è stato testato su Slackware 12.1 -- kernel 2.6.26.3 (ma dovrebbe funzionare con qualsiasi distro...).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
&lt;br /&gt;
NET-TOOL --&amp;gt; per i comandi di base&lt;br /&gt;
&lt;br /&gt;
WIRELESS-TOOL --&amp;gt; per configurare le reti wireless&lt;br /&gt;
&lt;br /&gt;
DHCPCD --&amp;gt; per poter ricevere l'ip da un server dhcp&lt;br /&gt;
&lt;br /&gt;
WPA_SUPPLICANT --&amp;gt; [http://hostap.epitest.fi/wpa_supplicant/ wpa_supplicant]&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Conf-network</id>
		<title>Conf-network</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Conf-network"/>
				<updated>2008-11-05T22:55:42Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Questo è il mio secondo script (il primo è stato Compiz-git) e questa volta ero indaffarato nelle configurazioni della mia rete...&lt;br /&gt;
Così è nato Conf-ntwork!&lt;br /&gt;
&lt;br /&gt;
Usando questo script anche gli utenti meno esperti potranno configurare la loro rete (wireless o cablata) in pochi passi e senza bisogno dell'interfaccia grafica (dunque è utile se per caso dovete connettervi ad internet proprio per cercare informazioni su come configurare X.org).&lt;br /&gt;
&lt;br /&gt;
Lo script è un po' lungo, ed è stato testato su Slackware 12.1 -- kernel 2.6.26.3 (ma dovrebbe funzionare con qualsiasi distro...).&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Conf-network</id>
		<title>Conf-network</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Conf-network"/>
				<updated>2008-11-05T22:55:16Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Requisiti =&lt;br /&gt;
&lt;br /&gt;
NET-TOOL --&amp;gt; per avere i comandi base&lt;br /&gt;
WIRELESS-TOOL --&amp;gt; per configurare le reti wireless&lt;br /&gt;
DHCPCD --&amp;gt; per poter ricevere l'ip da un server dhcp&lt;br /&gt;
WPA_SUPPLICANT --&amp;gt; [http://hostap.epitest.fi/wpa_supplicant/ wpa_supplicant] (anche se la rete da configurare è cablata, lo script necessita di questo tool)&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Conf-network</id>
		<title>Conf-network</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Conf-network"/>
				<updated>2008-11-05T22:49:53Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descrizione =&lt;br /&gt;
Questo è il mio secondo script (il primo è stato Compiz-git) e questa volta ero indaffarato nelle configurazioni della mia rete...&lt;br /&gt;
Così è nato Conf-ntwork!&lt;br /&gt;
&lt;br /&gt;
Usando questo script anche gli utenti meno esperti potranno configurare la loro rete (wireless o cablata) in pochi passi e senza bisogno dell'interfaccia grafica (dunque è utile se per caso dovete connettervi ad internet proprio per cercare informazioni su come configurare X.org).&lt;br /&gt;
&lt;br /&gt;
Lo script è un po' lungo, ed è stato testato su Slackware 12.1 -- kernel 2.6.26.3 (ma dovrebbe funzionare con qualsiasi distro...).&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Conf-network</id>
		<title>Conf-network</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Conf-network"/>
				<updated>2008-11-05T22:48:54Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Descrizione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Questo è il mio secondo script (il primo è stato Compiz-git) e questa volta ero indaffarato nelle configurazioni della mia rete...&lt;br /&gt;
Così è nato Conf-ntwork!&lt;br /&gt;
&lt;br /&gt;
Usando questo script anche gli utenti meno esperti potranno configurare la loro rete (wireless o cablata) in pochi passi e senza bisogno dell'interfaccia grafica (dunque è utile se per caso dovete connettervi ad internet proprio per cercare informazioni su come configurare X.org).&lt;br /&gt;
&lt;br /&gt;
Lo script è un po' lungo, ed è stato testato su Slackware 12.1 -- kernel 2.6.26.3 (ma dovrebbe funzionare con qualsiasi distro...).&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Compiz-git</id>
		<title>Compiz-git</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Compiz-git"/>
				<updated>2008-11-02T22:52:39Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Download (Slackware 12.0) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Script]]&lt;br /&gt;
= Descrizione =&lt;br /&gt;
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 --&amp;gt; /usr/local).&lt;br /&gt;
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 :-)&lt;br /&gt;
&lt;br /&gt;
Finalmente viene creato un pacchetto &amp;quot;.tgz&amp;quot; per ogni ramo del progetto!! In questo modo è pi semplice tenere traccia dell'installazione di compiz :-D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'attuale versione NON è compatibile con distro a 64bit. Sto cercando di aggiungere il supporto anche per questo tipo di cpu, ma per il momento lo script si può usare solo con distro 32bit.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
GIT --&amp;gt; [http://git.or.cz/ home]&lt;br /&gt;
&lt;br /&gt;
PYTHON --&amp;gt; [http://www.python.it/ python-italia] // [http://www.python.org sito_ufficiale]&lt;br /&gt;
&lt;br /&gt;
CONNESSIONE A INTERNET ATTIVA --&amp;gt; per scaricare i vari componenti&lt;br /&gt;
&lt;br /&gt;
ACCELERAZIONE 3D ATTIVATA --&amp;gt; per poter avviare compiz e godersi al meglio tutte le meraviglie di questo window-manager (per sapere come abilitare l'accelerazione 3D consultate [http://www.slacky.eu/wikislack/index.php?title=Compiz_e_compiz-fusion_su_Slackware#Introduzione questa guida], la quale contiene anche alcuni consigli utili per avviare compiz e risolvere problemi comuni)&lt;br /&gt;
&lt;br /&gt;
= Download (Slackware 12.1) =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=2 get-compiz-v5.0 (home)]&lt;br /&gt;
&lt;br /&gt;
= Download (Slackware 12.0) =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=1 get-compiz-v4.0 (home)]&lt;br /&gt;
&lt;br /&gt;
Oppure&lt;br /&gt;
&lt;br /&gt;
[http://www.slacky.eu/wikislack/script/get-compiz-v4.0.sh get-compiz-v4.0 (slacky.eu)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice degli script.&lt;br /&gt;
&lt;br /&gt;
Versione 5.0 (per Slackware 12.1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=&amp;quot;1as&amp;quot;&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://anongit.compiz-fusion.org/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se git è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se python è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se intltool è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which intltoolize)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo intltool...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/development/intltool/0.40.4/intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new intltool-0.40.4-noarch-1sl.tgz&amp;quot;&lt;br /&gt;
		rm -f intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se orbit2 e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo orbit2...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/orbit2/2.14.10/orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se gconf e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo gconf...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/gconf/2.20.1/gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare se si ha internet&lt;br /&gt;
check_net() {&lt;br /&gt;
	if ! ping -c 1 www.kernel.org &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	check_net&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $item...&amp;quot;&lt;br /&gt;
			git-clone $REPO$item&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $item...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		oggetto=$(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
		cd $COMPIZDIR/$oggetto&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Controllo se il ramo che devo compilare e' ccsm&lt;br /&gt;
		if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;ccsm&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLAKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				mkdir -p $PKG/usr/local/&lt;br /&gt;
				python setup.py install --prefix=$PKG/usr/local/&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
				su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		elif [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				compiz=&amp;quot;&amp;quot;&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-main&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-extra&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-unsupported&amp;quot; ]; then&lt;br /&gt;
					compiz=&amp;quot;compiz-&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
		python setup.py clean&lt;br /&gt;
		python setup.py build&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per installare la fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py install --prefix=/usr/&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Fusion-icon non installata.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
&lt;br /&gt;
	# Path dei sorgenti&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Dove  si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep i18n&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc &amp;amp;&amp;amp; cd $COMPIZDIR/fusion-icon &amp;amp;&amp;amp; python setup.py uninstall --prefix=/usr/&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		elif [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ ! -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non ho trovato nessun pacchetto che assomiglia a compiz :-(&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi	&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se devo rimuovere anche i sorgenti di compiz-git&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche rimuovere la cartella contenente i sorgenti? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		risp=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $dir&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for item in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $item ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 5.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Versione 4.0 (per Slackware 12.0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 8/4/2008 da Ansa89 (avrei dovuto studiare Bergson e Dewey...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=1&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://git.freedesktop.org/git/xorg/app/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Controllo se git è installato&lt;br /&gt;
if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Controllo se python è installato&lt;br /&gt;
if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
	exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	if ! ping -c 5 www.slacky.eu &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico e installo due pacchetti che servono&lt;br /&gt;
	if ! ls /var/log/packages/ | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if ! ls /var/log/packages/ | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for z in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $z...&amp;quot;&lt;br /&gt;
			git-clone $REPO$z&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $z...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do&lt;br /&gt;
		cd $COMPIZDIR/$i&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		if [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $i&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$i&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$i&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $i-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$i&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $i&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	&lt;br /&gt;
	# Adesso compilo CCSM perchè devo usare python&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	cd ccsm&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	else&lt;br /&gt;
		VERSION2=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	python setup.py clean&lt;br /&gt;
	python setup.py build&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		python setup.py --prefix=$PKG/&lt;br /&gt;
		mkdir -p $PKG/usr/doc/ccsm/&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/ccsm/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto ccsm-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
		su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non sono riuscito ad installare ccsm&amp;quot;&lt;br /&gt;
		echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		cd ../&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		icon=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			if [ -e VERSION ]; then&lt;br /&gt;
				VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
			else&lt;br /&gt;
				VERSION2=$VERSION&lt;br /&gt;
			fi&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			python setup.py install --prefix=$PKG/&lt;br /&gt;
			mkdir -p $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto fusion-icon-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
			su -c &amp;quot;makepkg -l y -c n $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/* &amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep fusion-icon&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo &amp;quot;Non ho trovato pacchetti installati che assomigliano a compiz.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		&lt;br /&gt;
		# Path contenente i sorgenti&lt;br /&gt;
		echo &amp;quot;Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read dir&lt;br /&gt;
		if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			dir=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		if [ ! -d $dir ]; then&lt;br /&gt;
			echo &amp;quot;La cartella $dir non esiste!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		cd $dir&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n; do&lt;br /&gt;
			if [ -d $i ]; then&lt;br /&gt;
				cd $i&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per rimuovere $i&amp;quot;&lt;br /&gt;
				su -c &amp;quot;make uninstall&amp;quot;&lt;br /&gt;
				cd ../&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		&lt;br /&gt;
		# Adesso rimuovo CCSM perchè devo usare python&lt;br /&gt;
		cd $dir/ccsm/&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere ccsm&amp;quot;&lt;br /&gt;
		su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		# Chiedo se devo rimuovere anche la fusion-icon&lt;br /&gt;
		echo -n &amp;quot;Devo rimuovere anche la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
		read risp&lt;br /&gt;
		if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
			cd $dir/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per rimuovere fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		fi&lt;br /&gt;
		&lt;br /&gt;
		# Rimuovo anche tutti i sorgenti di compiz-git&lt;br /&gt;
		cd $dir&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $i ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 4.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
Inizio una sezione &amp;quot;news&amp;quot; per spiegare le migliorie che cerco di introdurre nelle nuove versioni:&lt;br /&gt;
&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...con un sacco di bug (eh oh)&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Dopo un bel periodo di prove ho capito come evitare alcuni problemi durante la compilazione dei vari componenti&lt;br /&gt;
&lt;br /&gt;
- V 2.1 --&amp;gt; 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&lt;br /&gt;
&lt;br /&gt;
- V 2.2 --&amp;gt; &amp;quot;plugins-main&amp;quot; non trovava &amp;quot;bcop&amp;quot; durante la configurazione a causa di un path errato ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=185048#p185048 spiegazione]). Un ringraziamento a JohnnyMnemonic :-)&lt;br /&gt;
&lt;br /&gt;
- V 3.0 --&amp;gt; Adesso si può scegliere se installare/aggiornare compiz o semplicemente rimuoverlo :-D&lt;br /&gt;
&lt;br /&gt;
- V 3.1b --&amp;gt; Versione BETA: adesso crea un pacchetto .tgz (per ogni componente) e lo installa; inoltre ho introdotto il &amp;quot;solo download/update&amp;quot;, così l'utente può anche scaricare compiz-git senza doverlo installare&lt;br /&gt;
&lt;br /&gt;
- V 3.1b2 --&amp;gt; Ancora BETA: c'erano troppe variabili e richieste: ne ho tolte un po' per snellire lo script&lt;br /&gt;
&lt;br /&gt;
- V 3.1b3 --&amp;gt; Aggiunta la modalità &amp;quot;only_install&amp;quot; che permette di installare compiz-git senza riscaricare/aggiornare tutti i rami del progetto (ovviamente i sorgenti devono essere già presenti sul computer)&lt;br /&gt;
&lt;br /&gt;
- V 3.1 --&amp;gt; Ultime correzioni di bug; lo script sembra completo, pertanto lo sviluppo si ferma (almeno fino a quando non verranno fuori altri problemi)&lt;br /&gt;
&lt;br /&gt;
- V 3.2 --&amp;gt; Bugfix: adesso entra nella cartella &amp;quot;$PKG&amp;quot; prima di creare i pacchetti &amp;quot;.tgz&amp;quot; ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=187923#p187923 errore segnalato da alexxxius]). Inoltre la fusion-icon non dà più problemi di compilazione&lt;br /&gt;
&lt;br /&gt;
- V 3.3 --&amp;gt; Altri bugfix ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;start=30 sempre su un errore segnalato da alexxxius]). Stavolta non dovrebbero più esserci problemi&lt;br /&gt;
&lt;br /&gt;
- V 4.0 --&amp;gt; Adesso per _OGNI_ ramo del progetto viene creato un pacchetto (prima ccsm e fusion-icon non erano pacchettizzati...) --Ultima release per Slackware 12.0--&lt;br /&gt;
&lt;br /&gt;
- V 5.0 --&amp;gt; Prima release per Slackware 12.1! Fixati alcuni bug che impedivano la compilazione di compiz con la nuova Slack, create nuove funzioni per il check della connessione e delle dipendenze, migliorato l'aspetto dello script. Inoltre la fusion-icon _NON_ viene pacchettizzata perché dà dei problemi quando si cerca di installare il pacchetto creato&lt;br /&gt;
&lt;br /&gt;
= Consigli =&lt;br /&gt;
1) 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 &amp;quot;fusion-icon&amp;quot; (posizionato in &amp;quot;/usr/bin&amp;quot;): 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 :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Compizconfig setting manager, a causa di un errore, non ha le icone delle varie categorie (generale, accessibilità, desktop, ...): per correggere questo bug esiste un workaround che potete trovare [http://www.slacky.eu/forum/viewtopic.php?f=4&amp;amp;t=23568 qui]. Un ringraziamento a mimmoforlug :-D&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Compiz-git</id>
		<title>Compiz-git</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Compiz-git"/>
				<updated>2008-11-02T22:51:50Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Download (Slackware 12.1) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Script]]&lt;br /&gt;
= Descrizione =&lt;br /&gt;
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 --&amp;gt; /usr/local).&lt;br /&gt;
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 :-)&lt;br /&gt;
&lt;br /&gt;
Finalmente viene creato un pacchetto &amp;quot;.tgz&amp;quot; per ogni ramo del progetto!! In questo modo è pi semplice tenere traccia dell'installazione di compiz :-D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'attuale versione NON è compatibile con distro a 64bit. Sto cercando di aggiungere il supporto anche per questo tipo di cpu, ma per il momento lo script si può usare solo con distro 32bit.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
GIT --&amp;gt; [http://git.or.cz/ home]&lt;br /&gt;
&lt;br /&gt;
PYTHON --&amp;gt; [http://www.python.it/ python-italia] // [http://www.python.org sito_ufficiale]&lt;br /&gt;
&lt;br /&gt;
CONNESSIONE A INTERNET ATTIVA --&amp;gt; per scaricare i vari componenti&lt;br /&gt;
&lt;br /&gt;
ACCELERAZIONE 3D ATTIVATA --&amp;gt; per poter avviare compiz e godersi al meglio tutte le meraviglie di questo window-manager (per sapere come abilitare l'accelerazione 3D consultate [http://www.slacky.eu/wikislack/index.php?title=Compiz_e_compiz-fusion_su_Slackware#Introduzione questa guida], la quale contiene anche alcuni consigli utili per avviare compiz e risolvere problemi comuni)&lt;br /&gt;
&lt;br /&gt;
= Download (Slackware 12.1) =&lt;br /&gt;
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&amp;amp;lid=2 get-compiz-v5.0 (home)]&lt;br /&gt;
&lt;br /&gt;
= Download (Slackware 12.0) =&lt;br /&gt;
[http://stiiv.netsons.org/modules/PDdownloads/singlefile.php?cid=1&amp;amp;lid=1 get-compiz-v4.0 (home)]&lt;br /&gt;
&lt;br /&gt;
Oppure&lt;br /&gt;
&lt;br /&gt;
[http://www.slacky.eu/wikislack/script/get-compiz-v4.0.sh get-compiz-v4.0 (slacky.eu)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice degli script.&lt;br /&gt;
&lt;br /&gt;
Versione 5.0 (per Slackware 12.1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=&amp;quot;1as&amp;quot;&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://anongit.compiz-fusion.org/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se git è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se python è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se intltool è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which intltoolize)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo intltool...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/development/intltool/0.40.4/intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new intltool-0.40.4-noarch-1sl.tgz&amp;quot;&lt;br /&gt;
		rm -f intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se orbit2 e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo orbit2...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/orbit2/2.14.10/orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se gconf e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo gconf...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/gconf/2.20.1/gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare se si ha internet&lt;br /&gt;
check_net() {&lt;br /&gt;
	if ! ping -c 1 www.kernel.org &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	check_net&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $item...&amp;quot;&lt;br /&gt;
			git-clone $REPO$item&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $item...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for item in $ITEMS; do&lt;br /&gt;
		oggetto=$(echo $item | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
		cd $COMPIZDIR/$oggetto&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Controllo se il ramo che devo compilare e' ccsm&lt;br /&gt;
		if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;ccsm&amp;quot; ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLAKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				mkdir -p $PKG/usr/local/&lt;br /&gt;
				python setup.py install --prefix=$PKG/usr/local/&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto/&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
				su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		elif [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $oggetto&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$oggetto&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				compiz=&amp;quot;&amp;quot;&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-main&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-extra&amp;quot; ] || [ &amp;quot;$oggetto&amp;quot; == &amp;quot;plugins-unsupported&amp;quot; ]; then&lt;br /&gt;
					compiz=&amp;quot;compiz-&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$oggetto&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $oggetto&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
		python setup.py clean&lt;br /&gt;
		python setup.py build&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per installare la fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py install --prefix=/usr/&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Fusion-icon non installata.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
&lt;br /&gt;
	# Path dei sorgenti&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Dove  si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep i18n&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc &amp;amp;&amp;amp; cd $COMPIZDIR/fusion-icon &amp;amp;&amp;amp; python setup.py uninstall --prefix=/usr/&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		elif [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; [ ! -d $COMPIZDIR/fusion-icon ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
			echo &amp;quot;Hai rimosso compiz-git.&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non ho trovato nessun pacchetto che assomiglia a compiz :-(&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi	&lt;br /&gt;
&lt;br /&gt;
	# Chiedo se devo rimuovere anche i sorgenti di compiz-git&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche rimuovere la cartella contenente i sorgenti? (s/n)  &amp;quot;&lt;br /&gt;
	read risp&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		risp=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $dir&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo le dipendenze&lt;br /&gt;
check_dep&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for item in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $item ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 5.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Versione 4.0 (per Slackware 12.0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 8/4/2008 da Ansa89 (avrei dovuto studiare Bergson e Dewey...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=1&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://git.freedesktop.org/git/xorg/app/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Controllo se git è installato&lt;br /&gt;
if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
        exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Controllo se python è installato&lt;br /&gt;
if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
	exit 1;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	if ! ping -c 5 www.slacky.eu &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico e installo due pacchetti che servono&lt;br /&gt;
	if ! ls /var/log/packages/ | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if ! ls /var/log/packages/ | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		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&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&lt;br /&gt;
	if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		dir=$HERE&lt;br /&gt;
	fi&lt;br /&gt;
	if [ ! -e $dir/compiz-git ]; then&lt;br /&gt;
		mkdir -p $dir/compiz-git&lt;br /&gt;
	fi&lt;br /&gt;
	COMPIZDIR=$dir/compiz-git&lt;br /&gt;
	PKG=$COMPIZDIR/$PKG&lt;br /&gt;
	if [ ! -d $PKG ]; then&lt;br /&gt;
		mkdir -p $PKG&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	COMPIZDIR=$(pwd)&lt;br /&gt;
	if [ ! -e compiz ]; then&lt;br /&gt;
		echo &amp;quot;Scarico compiz...&amp;quot;&lt;br /&gt;
		git-clone $COMPIZ&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd compiz&lt;br /&gt;
		echo &amp;quot;Sto aggiornando compiz...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	for z in $ITEMS; do&lt;br /&gt;
		if [ ! -e $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2) ]; then&lt;br /&gt;
			echo &amp;quot;Scarico il ramo $z...&amp;quot;&lt;br /&gt;
			git-clone $REPO$z&lt;br /&gt;
			echo&lt;br /&gt;
		else&lt;br /&gt;
			cd $(echo $z | cut -d &amp;quot;/&amp;quot; -f 2)&lt;br /&gt;
			echo &amp;quot;Sto aggiornando il ramo $z...&amp;quot;&lt;br /&gt;
			git-pull&lt;br /&gt;
			cd ../&lt;br /&gt;
			echo&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	if [ ! -e fusion-icon ]; then&lt;br /&gt;
		echo &amp;quot;Scarico il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-clone $EXTRA&lt;br /&gt;
		echo&lt;br /&gt;
	else&lt;br /&gt;
		cd fusion-icon&lt;br /&gt;
		echo &amp;quot;Sto aggiornando il ramo fusion-icon...&amp;quot;&lt;br /&gt;
		git-pull&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Ho terminato tutti i download :-)&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per installare compiz-git&lt;br /&gt;
installa () {&lt;br /&gt;
&lt;br /&gt;
	# Imposto il numero di versione&lt;br /&gt;
	cd $COMPIZDIR/libcompizconfig&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Compilo compiz per primo (è una dipendenza degli altri pacchetti)&lt;br /&gt;
	cd $COMPIZDIR/compiz&lt;br /&gt;
	echo -n &amp;quot;Per primo compilo compiz con i seguenti flags: &amp;quot;&lt;br /&gt;
	echo $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	CXXFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
	./autogen.sh $ARGS&lt;br /&gt;
	sleep 2&lt;br /&gt;
	make&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		make install DESTDIR=$PKG&lt;br /&gt;
		mkdir -p $PKG/usr/doc/compiz&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Qualcosa non è andato bene...&amp;quot;&lt;br /&gt;
		echo &amp;quot;Esco&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Entro in tutte le cartelle&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do&lt;br /&gt;
		cd $COMPIZDIR/$i&lt;br /&gt;
&lt;br /&gt;
		# Imposto il numero di versione&lt;br /&gt;
		if [ -e VERSION ]; then&lt;br /&gt;
			VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
		else&lt;br /&gt;
			VERSION2=$VERSION&lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		# Compilo e installo se trovo &amp;quot;autogen.sh&amp;quot;&lt;br /&gt;
		if [ -e autogen.sh ]; then&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Compilo $i&amp;quot;&lt;br /&gt;
			CFLAGS=&amp;quot;$SLKCFLAGS&amp;quot;&lt;br /&gt;
			CXXFLAGS=&amp;quot;$SLKFLAGS&amp;quot;&lt;br /&gt;
			./autogen.sh&lt;br /&gt;
			./configure&lt;br /&gt;
			make clean&lt;br /&gt;
			make&lt;br /&gt;
			if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
				make install DESTDIR=$PKG&lt;br /&gt;
				mkdir -p $PKG/usr/doc/$i&lt;br /&gt;
				cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$i&lt;br /&gt;
				cd $PKG&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto $i-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
				su -c &amp;quot;makepkg -l y -c n $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
				cd $COMPIZDIR&lt;br /&gt;
				if [ &amp;quot;$i&amp;quot; == &amp;quot;bcop&amp;quot; ] &amp;amp;&amp;amp; [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then&lt;br /&gt;
					echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
					su -c &amp;quot;ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/&amp;quot;&lt;br /&gt;
				fi&lt;br /&gt;
			else&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Non sono riuscito ad installare $i&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				cd ../&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
	&lt;br /&gt;
	# Adesso compilo CCSM perchè devo usare python&lt;br /&gt;
	cd $COMPIZDIR&lt;br /&gt;
	cd ccsm&lt;br /&gt;
	if [ -e VERSION ]; then&lt;br /&gt;
		VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
	else&lt;br /&gt;
		VERSION2=$VERSION&lt;br /&gt;
	fi&lt;br /&gt;
	python setup.py clean&lt;br /&gt;
	python setup.py build&lt;br /&gt;
	if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
		python setup.py --prefix=$PKG/&lt;br /&gt;
		mkdir -p $PKG/usr/doc/ccsm/&lt;br /&gt;
		cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/ccsm/&lt;br /&gt;
		cd $PKG&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto ccsm-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
		su -c &amp;quot;makepkg -l y -c n $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/*&amp;quot;&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Reinserisci la password di root&amp;quot;&lt;br /&gt;
		su -c &amp;quot;ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Non sono riuscito ad installare ccsm&amp;quot;&lt;br /&gt;
		echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		cd ../&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Chiedo se vuoi anche la fusion-icon&lt;br /&gt;
	echo -n &amp;quot;Vuoi anche installare la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
	read icon&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
		icon=&amp;quot;n&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$icon&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
		cd $COMPIZDIR/fusion-icon&lt;br /&gt;
		if [ &amp;quot;$(echo $?)&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
			if [ -e VERSION ]; then&lt;br /&gt;
				VERSION2=$(cat VERSION | cut -d &amp;quot;=&amp;quot; -f 2)&lt;br /&gt;
			else&lt;br /&gt;
				VERSION2=$VERSION&lt;br /&gt;
			fi&lt;br /&gt;
			python setup.py clean&lt;br /&gt;
			python setup.py build&lt;br /&gt;
			python setup.py install --prefix=$PKG/&lt;br /&gt;
			mkdir -p $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per creare e installare il pacchetto fusion-icon-$VERSION2-$ARCH-$BUILD.tgz&amp;quot;&lt;br /&gt;
			su -c &amp;quot;makepkg -l y -c n $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; upgradepkg --install-new --reinstall $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz &amp;amp;&amp;amp; rm -Rf $PKG/* &amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		else&lt;br /&gt;
			echo&lt;br /&gt;
			echo &amp;quot;Non sono riuscito ad installare fusion-icon&amp;quot;&lt;br /&gt;
			echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			cd ../&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
	echo&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Congratulazioni!&amp;quot;&lt;br /&gt;
	echo &amp;quot;Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!&amp;quot;&lt;br /&gt;
	echo&lt;br /&gt;
	echo &amp;quot;Have a lot of fun :-)&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per disinstallare compiz-git&lt;br /&gt;
uninstall () {&lt;br /&gt;
	# Cerco se ci sono pacchetti installati&lt;br /&gt;
	if ls /var/log/packages/ | grep compiz &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Ho trovato questi pacchetti installati che assomigliano a compiz:&amp;quot;&lt;br /&gt;
		ls /var/log/packages/ | grep compiz&lt;br /&gt;
		ls /var/log/packages/ | grep emerald&lt;br /&gt;
		ls /var/log/packages/ | grep ccsm&lt;br /&gt;
		ls /var/log/packages/ | grep fusion-icon&lt;br /&gt;
		ls /var/log/packages/ | grep bcop&lt;br /&gt;
		ls /var/log/packages/ | grep plugins&lt;br /&gt;
		echo &amp;quot;Quali devo rimuovere?&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;(Lista di pacchetti separati da UNO SPAZIO)  &amp;quot;&lt;br /&gt;
		read canc&lt;br /&gt;
		if [ ! &amp;quot;$canc&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per eliminare i pacchetti $canc&amp;quot;&lt;br /&gt;
			su -c &amp;quot;removepkg $canc&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
	else&lt;br /&gt;
		echo &amp;quot;Non ho trovato pacchetti installati che assomigliano a compiz.&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		&lt;br /&gt;
		# Path contenente i sorgenti&lt;br /&gt;
		echo &amp;quot;Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read dir&lt;br /&gt;
		if [ &amp;quot;$dir&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			dir=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		if [ ! -d $dir ]; then&lt;br /&gt;
			echo &amp;quot;La cartella $dir non esiste!&amp;quot;&lt;br /&gt;
			echo&lt;br /&gt;
			exit 1&lt;br /&gt;
		fi&lt;br /&gt;
		cd $dir&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n; do&lt;br /&gt;
			if [ -d $i ]; then&lt;br /&gt;
				cd $i&lt;br /&gt;
				echo &amp;quot;Inserisci la password di root per rimuovere $i&amp;quot;&lt;br /&gt;
				su -c &amp;quot;make uninstall&amp;quot;&lt;br /&gt;
				cd ../&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		&lt;br /&gt;
		# Adesso rimuovo CCSM perchè devo usare python&lt;br /&gt;
		cd $dir/ccsm/&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere ccsm&amp;quot;&lt;br /&gt;
		su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		# Chiedo se devo rimuovere anche la fusion-icon&lt;br /&gt;
		echo -n &amp;quot;Devo rimuovere anche la fusion-icon? (s/n)  &amp;quot;&lt;br /&gt;
		read risp&lt;br /&gt;
		if [ &amp;quot;$risp&amp;quot; == &amp;quot;&amp;quot; ] || [ &amp;quot;$risp&amp;quot; == &amp;quot;s&amp;quot; ]; then&lt;br /&gt;
			cd $dir/fusion-icon/&lt;br /&gt;
			echo &amp;quot;Inserisci la password di root per rimuovere fusion-icon&amp;quot;&lt;br /&gt;
			su -c &amp;quot;python setup.py uninstall&amp;quot;&lt;br /&gt;
			cd ../&lt;br /&gt;
		fi&lt;br /&gt;
		&lt;br /&gt;
		# Rimuovo anche tutti i sorgenti di compiz-git&lt;br /&gt;
		cd $dir&lt;br /&gt;
		cd ../&lt;br /&gt;
		echo &amp;quot;Inserisci la password di root per rimuovere la cartella dei sorgenti&amp;quot;&lt;br /&gt;
		su -c &amp;quot;echo -n 'Sto eliminando i sorgenti di compiz-git...' &amp;amp;&amp;amp; rm -Rf compiz-git/ &amp;amp;&amp;amp; echo 'Fatto'&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Controllo il parametro passato allo script&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
	download)&lt;br /&gt;
		download&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	install)&lt;br /&gt;
		download&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	only_install)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
		echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
		read COMPIZDIR&lt;br /&gt;
		if [ &amp;quot;$COMPIZDIR&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
			COMPIZDIR=$HERE&lt;br /&gt;
		fi&lt;br /&gt;
		cd $COMPIZDIR&lt;br /&gt;
		for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do&lt;br /&gt;
			if [ ! -d $i ]; then&lt;br /&gt;
				echo&lt;br /&gt;
				echo &amp;quot;Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!&amp;quot;&lt;br /&gt;
				echo &amp;quot;Prova con '$0 install'...&amp;quot;&lt;br /&gt;
				echo &amp;quot;Mi fermo&amp;quot;&lt;br /&gt;
				echo&lt;br /&gt;
				exit 1&lt;br /&gt;
			fi&lt;br /&gt;
		done&lt;br /&gt;
		installa&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
	&lt;br /&gt;
	uninstall)&lt;br /&gt;
		uninstall&lt;br /&gt;
		exit 0&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Opzioni valide:&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 download --&amp;gt; per scaricare/aggiornare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 install --&amp;gt; per scricare/aggiornare e installare compiz-git&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 only_install --&amp;gt; per installare compiz-git se i sorgenti sono già stati scaricati&amp;quot;&lt;br /&gt;
		echo &amp;quot;$0 uninstall --&amp;gt; per rimuovere una versione di compiz-git precedentemente installata&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Versione 4.0&amp;quot;&lt;br /&gt;
		echo &amp;quot;By Ansa89  (ansa89@slacky.it || http://stiiv.netsons.org)&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1&lt;br /&gt;
		;;&lt;br /&gt;
esac&lt;br /&gt;
#EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Autore: Ansa89&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
Inizio una sezione &amp;quot;news&amp;quot; per spiegare le migliorie che cerco di introdurre nelle nuove versioni:&lt;br /&gt;
&lt;br /&gt;
- V 1.0 --&amp;gt; Prima versione...con un sacco di bug (eh oh)&lt;br /&gt;
&lt;br /&gt;
- V 2.0 --&amp;gt; Dopo un bel periodo di prove ho capito come evitare alcuni problemi durante la compilazione dei vari componenti&lt;br /&gt;
&lt;br /&gt;
- V 2.1 --&amp;gt; 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&lt;br /&gt;
&lt;br /&gt;
- V 2.2 --&amp;gt; &amp;quot;plugins-main&amp;quot; non trovava &amp;quot;bcop&amp;quot; durante la configurazione a causa di un path errato ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=185048#p185048 spiegazione]). Un ringraziamento a JohnnyMnemonic :-)&lt;br /&gt;
&lt;br /&gt;
- V 3.0 --&amp;gt; Adesso si può scegliere se installare/aggiornare compiz o semplicemente rimuoverlo :-D&lt;br /&gt;
&lt;br /&gt;
- V 3.1b --&amp;gt; Versione BETA: adesso crea un pacchetto .tgz (per ogni componente) e lo installa; inoltre ho introdotto il &amp;quot;solo download/update&amp;quot;, così l'utente può anche scaricare compiz-git senza doverlo installare&lt;br /&gt;
&lt;br /&gt;
- V 3.1b2 --&amp;gt; Ancora BETA: c'erano troppe variabili e richieste: ne ho tolte un po' per snellire lo script&lt;br /&gt;
&lt;br /&gt;
- V 3.1b3 --&amp;gt; Aggiunta la modalità &amp;quot;only_install&amp;quot; che permette di installare compiz-git senza riscaricare/aggiornare tutti i rami del progetto (ovviamente i sorgenti devono essere già presenti sul computer)&lt;br /&gt;
&lt;br /&gt;
- V 3.1 --&amp;gt; Ultime correzioni di bug; lo script sembra completo, pertanto lo sviluppo si ferma (almeno fino a quando non verranno fuori altri problemi)&lt;br /&gt;
&lt;br /&gt;
- V 3.2 --&amp;gt; Bugfix: adesso entra nella cartella &amp;quot;$PKG&amp;quot; prima di creare i pacchetti &amp;quot;.tgz&amp;quot; ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;p=187923#p187923 errore segnalato da alexxxius]). Inoltre la fusion-icon non dà più problemi di compilazione&lt;br /&gt;
&lt;br /&gt;
- V 3.3 --&amp;gt; Altri bugfix ([http://www.slacky.eu/forum/viewtopic.php?f=12&amp;amp;t=22069&amp;amp;start=30 sempre su un errore segnalato da alexxxius]). Stavolta non dovrebbero più esserci problemi&lt;br /&gt;
&lt;br /&gt;
- V 4.0 --&amp;gt; Adesso per _OGNI_ ramo del progetto viene creato un pacchetto (prima ccsm e fusion-icon non erano pacchettizzati...) --Ultima release per Slackware 12.0--&lt;br /&gt;
&lt;br /&gt;
- V 5.0 --&amp;gt; Prima release per Slackware 12.1! Fixati alcuni bug che impedivano la compilazione di compiz con la nuova Slack, create nuove funzioni per il check della connessione e delle dipendenze, migliorato l'aspetto dello script. Inoltre la fusion-icon _NON_ viene pacchettizzata perché dà dei problemi quando si cerca di installare il pacchetto creato&lt;br /&gt;
&lt;br /&gt;
= Consigli =&lt;br /&gt;
1) 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 &amp;quot;fusion-icon&amp;quot; (posizionato in &amp;quot;/usr/bin&amp;quot;): 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 :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Compizconfig setting manager, a causa di un errore, non ha le icone delle varie categorie (generale, accessibilità, desktop, ...): per correggere questo bug esiste un workaround che potete trovare [http://www.slacky.eu/forum/viewtopic.php?f=4&amp;amp;t=23568 qui]. Un ringraziamento a mimmoforlug :-D&lt;br /&gt;
&lt;br /&gt;
= Feedback =&lt;br /&gt;
Per commenti e suggerimenti inviatemi una e-mail a&lt;br /&gt;
&lt;br /&gt;
ansa89[AT]slacky[DOT]it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oppure venite sul mio sito internet&lt;br /&gt;
&lt;br /&gt;
[http://stiiv.netsons.org http://stiiv.netsons.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAVE A LOT OF FUN&lt;/div&gt;</summary>
		<author><name>Ansa89</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Compiz-git</id>
		<title>Compiz-git</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Compiz-git"/>
				<updated>2008-10-11T06:46:24Z</updated>
		
		<summary type="html">&lt;p&gt;Ansa89: /* Download (Slackware 12.1) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Script]]&lt;br /&gt;
= Descrizione =&lt;br /&gt;
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 --&amp;gt; /usr/local).&lt;br /&gt;
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 :-)&lt;br /&gt;
&lt;br /&gt;
Finalmente viene creato un pacchetto &amp;quot;.tgz&amp;quot; per ogni ramo del progetto!! In questo modo è pi semplice tenere traccia dell'installazione di compiz :-D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** ATTENZIONE ***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'attuale versione NON è compatibile con distro a 64bit. Sto cercando di aggiungere il supporto anche per questo tipo di cpu, ma per il momento lo script si può usare solo con distro 32bit.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
GIT --&amp;gt; [http://git.or.cz/ home]&lt;br /&gt;
&lt;br /&gt;
PYTHON --&amp;gt; [http://www.python.it/ python-italia] // [http://www.python.org sito_ufficiale]&lt;br /&gt;
&lt;br /&gt;
CONNESSIONE A INTERNET ATTIVA --&amp;gt; per scaricare i vari componenti&lt;br /&gt;
&lt;br /&gt;
ACCELERAZIONE 3D ATTIVATA --&amp;gt; per poter avviare compiz e godersi al meglio tutte le meraviglie di questo window-manager (per sapere come abilitare l'accelerazione 3D consultate [http://www.slacky.eu/wikislack/index.php?title=Compiz_e_compiz-fusion_su_Slackware#Introduzione questa guida], la quale contiene anche alcuni consigli utili per avviare compiz e risolvere problemi comuni)&lt;br /&gt;
&lt;br /&gt;
= Download (Slackware 12.1) =&lt;br /&gt;
[http://stiiv.netsons.org/modules/PDdownloads/singlefile.php?cid=1&amp;amp;lid=2 get-compiz-v5.0 (home)]&lt;br /&gt;
&lt;br /&gt;
= Download (Slackware 12.0) =&lt;br /&gt;
[http://stiiv.netsons.org/modules/PDdownloads/singlefile.php?cid=1&amp;amp;lid=1 get-compiz-v4.0 (home)]&lt;br /&gt;
&lt;br /&gt;
Oppure&lt;br /&gt;
&lt;br /&gt;
[http://www.slacky.eu/wikislack/script/get-compiz-v4.0.sh get-compiz-v4.0 (slacky.eu)]&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
Di seguito è riportato il codice degli script.&lt;br /&gt;
&lt;br /&gt;
Versione 5.0 (per Slackware 12.1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script che scarica, compila e installa compiz-fusion versione git&lt;br /&gt;
#&lt;br /&gt;
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;&lt;br /&gt;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1&lt;br /&gt;
# :-)&lt;br /&gt;
#&lt;br /&gt;
# Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...)&lt;br /&gt;
&lt;br /&gt;
# Variabili per la creazione del pacchetto .tgz&lt;br /&gt;
HERE=$(pwd)&lt;br /&gt;
PKG=&amp;quot;package-getcompiz&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;git&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;i686&amp;quot;&lt;br /&gt;
ARCH=${ARCH:-i686}&lt;br /&gt;
BUILD=&amp;quot;1as&amp;quot;&lt;br /&gt;
if [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i386&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i386 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i486&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2 -march=i486 -mcpu=i686&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;s390&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$ARCH&amp;quot; == &amp;quot;x86_64&amp;quot; ]; then&lt;br /&gt;
	SLKCFLAGS=&amp;quot;-O2&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Variabili per il download di compiz&lt;br /&gt;
COMPIZ=&amp;quot;git://anongit.compiz-fusion.org/compiz&amp;quot;&lt;br /&gt;
REPO=&amp;quot;git://anongit.compiz-fusion.org/fusion/&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;compizconfig/libcompizconfig&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/compizconfig-python&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS libraries/bcop&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS plugins-main plugins-extra plugins-unsupported&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS decorators/emerald decorators/emerald-themes&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS i18n&amp;quot;&lt;br /&gt;
ITEMS=&amp;quot;$ITEMS compizconfig/ccsm&amp;quot;&lt;br /&gt;
EXTRA=&amp;quot;git://anongit.compiz-fusion.org/users/crdlb/fusion-icon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Gli argomenti da passare a &amp;quot;autogen.sh di compiz&amp;quot;&lt;br /&gt;
ARGS=&amp;quot; --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare le dipendenze&lt;br /&gt;
check_dep() {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se git è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which git-clone)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -z &amp;quot;$(which git-pull)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
	        echo &amp;quot;Devi avere GIT installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	        exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se python è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which python)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo &amp;quot;Devi avere PYTHON installato per usare questo script!&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        # Controllo se intltool è installato&lt;br /&gt;
	if [ -z &amp;quot;$(which intltoolize)&amp;quot; ]; then&lt;br /&gt;
		echo&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo intltool...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/development/intltool/0.40.4/intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new intltool-0.40.4-noarch-1sl.tgz&amp;quot;&lt;br /&gt;
		rm -f intltool-0.40.4-noarch-1sl.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se orbit2 e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep orbit2 &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo orbit2...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/orbit2/2.14.10/orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f orbit2-2.14.10-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Controllo se gconf e' installato&lt;br /&gt;
	if ! ls /var/log/packages | grep gconf &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo -n &amp;quot;Scarico e installo gconf...&amp;quot;&lt;br /&gt;
		wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/libraries/gconf/2.20.1/gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		su -c &amp;quot;upgradepkg --install-new gconf-2.20.1-i686-7as.tgz&amp;quot;&lt;br /&gt;
		rm -f gconf-2.20.1-i686-7as.tgz&lt;br /&gt;
		echo &amp;quot;Fatto&amp;quot;&lt;br /&gt;
		echo&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per controllare se si ha internet&lt;br /&gt;
check_net() {&lt;br /&gt;
	if ! ping -c 1 www.kernel.org &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
		echo &amp;quot;Devi poter accedere a internet per scaricare i sorgenti!&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Funzione per scaricare compiz-git&lt;br /&gt;
download () {&lt;br /&gt;
&lt;br /&gt;
	# Controllo se hai internet&lt;br /&gt;
	check_net&lt;br /&gt;
	&lt;br /&gt;
	# Path dove si vuole scaricare i sorgenti&lt;br /&gt;
	echo &amp;quot;Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)&amp;quot;&lt;br /&gt;
	echo &amp;quot;Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)&amp;quot;&lt;br /&gt;
	echo -n &amp;quot;($HERE)  &amp;quot;&lt;br /&gt;
	read dir&l