Compiz-git: differenze tra le versioni
(→Download (Slackware 12.1)) |
(→Script) |
||
| Riga 29: | Riga 29: | ||
Di seguito è riportato il codice degli script. |
Di seguito è riportato il codice degli script. |
||
| − | Versione 4.0 (per Slackware 12.0) |
+ | Versione 5.0 (per Slackware 12.1) |
<pre> |
<pre> |
||
| Riga 36: | Riga 36: | ||
# |
# |
||
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf; |
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf; |
||
| − | # in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0 |
+ | # in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1 |
# :-) |
# :-) |
||
# |
# |
||
| − | # Script creato il 8/4/2008 da Ansa89 (avrei dovuto studiare Bergson e Dewey...) |
+ | # Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...) |
# Variabili per la creazione del pacchetto .tgz |
# Variabili per la creazione del pacchetto .tgz |
||
| Riga 47: | Riga 47: | ||
CHOST="i686" |
CHOST="i686" |
||
ARCH=${ARCH:-i686} |
ARCH=${ARCH:-i686} |
||
| − | BUILD=1 |
+ | BUILD="1as" |
if [ "$ARCH" == "i386" ]; then |
if [ "$ARCH" == "i386" ]; then |
||
SLKCFLAGS="-O2 -march=i386 -mcpu=i686" |
SLKCFLAGS="-O2 -march=i386 -mcpu=i686" |
||
| Riga 61: | Riga 61: | ||
# Variabili per il download di compiz |
# Variabili per il download di compiz |
||
| − | COMPIZ="git://git.freedesktop.org/git/xorg/app/compiz" |
+ | COMPIZ="git://anongit.compiz-fusion.org/compiz" |
REPO="git://anongit.compiz-fusion.org/fusion/" |
REPO="git://anongit.compiz-fusion.org/fusion/" |
||
| − | ITEMS="libraries/bcop" |
+ | ITEMS="compizconfig/libcompizconfig" |
| + | ITEMS="$ITEMS compizconfig/compizconfig-python" |
||
| + | ITEMS="$ITEMS libraries/bcop" |
||
ITEMS="$ITEMS plugins-main plugins-extra plugins-unsupported" |
ITEMS="$ITEMS plugins-main plugins-extra plugins-unsupported" |
||
ITEMS="$ITEMS decorators/emerald decorators/emerald-themes" |
ITEMS="$ITEMS decorators/emerald decorators/emerald-themes" |
||
| − | ITEMS="$ITEMS compizconfig/libcompizconfig" |
||
| − | ITEMS="$ITEMS compizconfig/compizconfig-python" |
||
| − | ITEMS="$ITEMS compizconfig/ccsm" |
||
ITEMS="$ITEMS i18n" |
ITEMS="$ITEMS i18n" |
||
| + | ITEMS="$ITEMS compizconfig/ccsm" |
||
EXTRA="git://anongit.compiz-fusion.org/users/crdlb/fusion-icon" |
EXTRA="git://anongit.compiz-fusion.org/users/crdlb/fusion-icon" |
||
| Riga 75: | Riga 73: | ||
ARGS=" --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local" |
ARGS=" --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local" |
||
| − | # Controllo se git è installato |
+ | # Funzione per controllare le dipendenze |
| − | if [ -z "$(which git-clone)" ]; then |
+ | check_dep() { |
| − | echo "Devi avere GIT installato per usare questo script!" |
||
| − | exit 1; |
||
| − | fi |
||
| − | if [ -z "$(which git-pull)" ]; then |
||
| − | echo "Devi avere GIT installato per usare questo script!" |
||
| − | exit 1; |
||
| − | fi |
||
| − | # Controllo se python è installato |
+ | # Controllo se git è installato |
| − | if [ -z "$(which python)" ]; then |
+ | if [ -z "$(which git-clone)" ]; then |
| − | echo "Devi avere PYTHON installato per usare questo script!" |
+ | echo |
| − | exit 1; |
+ | echo "Devi avere GIT installato per usare questo script!" |
| − | fi |
+ | echo |
| + | exit 1; |
||
| + | fi |
||
| + | if [ -z "$(which git-pull)" ]; then |
||
| + | echo |
||
| + | echo "Devi avere GIT installato per usare questo script!" |
||
| + | echo |
||
| + | exit 1; |
||
| + | fi |
||
| − | # Funzione per scaricare compiz-git |
+ | # Controllo se python è installato |
| − | download () { |
+ | if [ -z "$(which python)" ]; then |
| − | # Controllo se hai internet |
+ | echo |
| − | if ! ping -c 5 www.slacky.eu &> /dev/null; then |
+ | echo "Devi avere PYTHON installato per usare questo script!" |
| − | echo "Devi poter accedere a internet per scaricare i sorgenti!" |
+ | echo |
exit 1; |
exit 1; |
||
fi |
fi |
||
| − | + | ||
| − | # Scarico e installo due pacchetti che servono |
+ | # Controllo se orbit2 e' installato |
| − | if ! ls /var/log/packages/ | grep gconf &> /dev/null; then |
+ | if ! ls /var/log/packages | grep orbit2 &> /dev/null; then |
| − | 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 |
+ | echo -n "Scarico e installo orbit2..." |
| − | su -c "upgradepkg --install-new gconf-2.20.1-i686-6as.tgz" |
+ | 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 |
| + | su -c "upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz" |
||
| + | rm -f orbit2-2.14.10-i686-7as.tgz |
||
| + | echo "Fatto" |
||
| + | echo |
||
fi |
fi |
||
| − | if ! ls /var/log/packages/ | grep orbit2 &> /dev/null; then |
+ | |
| − | 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 |
+ | # Controllo se gconf e' installato |
| − | su -c "upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz" |
+ | if ! ls /var/log/packages | grep gconf &> /dev/null; then |
| + | echo -n "Scarico e installo gconf..." |
||
| + | 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 |
||
| + | su -c "upgradepkg --install-new gconf-2.20.1-i686-7as.tgz" |
||
| + | rm -f gconf-2.20.1-i686-7as.tgz |
||
| + | echo "Fatto" |
||
| + | echo |
||
fi |
fi |
||
| − | rm -f gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz |
+ | } |
| + | |||
| + | # Funzione per controllare se si ha internet |
||
| + | check_net() { |
||
| + | if ! ping -c 1 www.kernel.org &> /dev/null; then |
||
| + | echo "Devi poter accedere a internet per scaricare i sorgenti!" |
||
| + | exit 1; |
||
| + | fi |
||
| + | } |
||
| + | |||
| + | # Funzione per scaricare compiz-git |
||
| + | download () { |
||
| + | |||
| + | # Controllo se hai internet |
||
| + | check_net |
||
# Path dove si vuole scaricare i sorgenti |
# Path dove si vuole scaricare i sorgenti |
||
| Riga 134: | Riga 132: | ||
echo |
echo |
||
fi |
fi |
||
| − | for z in $ITEMS; do |
+ | for item in $ITEMS; do |
| − | if [ ! -e $(echo $z | cut -d "/" -f 2) ]; then |
+ | if [ ! -e $(echo $item | cut -d "/" -f 2) ]; then |
| − | echo "Scarico il ramo $z..." |
+ | echo "Scarico il ramo $item..." |
| − | git-clone $REPO$z |
+ | git-clone $REPO$item |
echo |
echo |
||
else |
else |
||
| − | cd $(echo $z | cut -d "/" -f 2) |
+ | cd $(echo $item | cut -d "/" -f 2) |
| − | echo "Sto aggiornando il ramo $z..." |
+ | echo "Sto aggiornando il ramo $item..." |
git-pull |
git-pull |
||
cd ../ |
cd ../ |
||
| Riga 201: | Riga 199: | ||
# Entro in tutte le cartelle |
# Entro in tutte le cartelle |
||
cd $COMPIZDIR |
cd $COMPIZDIR |
||
| − | for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do |
+ | for item in $ITEMS; do |
| − | cd $COMPIZDIR/$i |
+ | oggetto=$(echo $item | cut -d "/" -f 2) |
| + | cd $COMPIZDIR/$oggetto |
||
# Imposto il numero di versione |
# Imposto il numero di versione |
||
| Riga 210: | Riga 208: | ||
VERSION2=$VERSION |
VERSION2=$VERSION |
||
fi |
fi |
||
| + | |||
| + | # Controllo se il ramo che devo compilare e' ccsm |
||
| + | if [ "$oggetto" == "ccsm" ]; then |
||
| + | echo |
||
| + | echo "Compilo $oggetto" |
||
| + | CFLAGS="$SLAKCFLAGS" |
||
| + | CXXFLAGS="$SLKCFLAGS" |
||
| + | python setup.py clean |
||
| + | python setup.py build |
||
| + | if [ "$(echo $?)" == "0" ]; then |
||
| + | mkdir -p $PKG/usr/local/ |
||
| + | python setup.py install --prefix=$PKG/usr/local/ |
||
| + | mkdir -p $PKG/usr/doc/$oggetto/ |
||
| + | cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto/ |
||
| + | cd $PKG |
||
| + | echo "Inserisci la password di root per creare e installare il pacchetto compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz" |
||
| + | su -c "makepkg -l y -c n $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/*" |
||
| + | cd $COMPIZDIR |
||
| + | echo "Reinserisci la password di root" |
||
| + | su -c "ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/" |
||
| + | else |
||
| + | echo |
||
| + | echo "Non sono riuscito ad installare $oggetto" |
||
| + | echo "Mi fermo" |
||
| + | echo |
||
| + | cd ../ |
||
| + | exit 1 |
||
| + | fi |
||
# Compilo e installo se trovo "autogen.sh" |
# Compilo e installo se trovo "autogen.sh" |
||
| − | if [ -e autogen.sh ]; then |
+ | elif [ -e autogen.sh ]; then |
echo |
echo |
||
| − | echo "Compilo $i" |
+ | echo "Compilo $oggetto" |
CFLAGS="$SLKCFLAGS" |
CFLAGS="$SLKCFLAGS" |
||
| − | CXXFLAGS="$SLKFLAGS" |
+ | CXXFLAGS="$SLKCFLAGS" |
./autogen.sh |
./autogen.sh |
||
./configure |
./configure |
||
| Riga 223: | Riga 249: | ||
if [ "$(echo $?)" == "0" ]; then |
if [ "$(echo $?)" == "0" ]; then |
||
make install DESTDIR=$PKG |
make install DESTDIR=$PKG |
||
| − | mkdir -p $PKG/usr/doc/$i |
+ | mkdir -p $PKG/usr/doc/$oggetto |
| − | cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$i |
+ | cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto |
cd $PKG |
cd $PKG |
||
| − | echo "Inserisci la password di root per creare e installare il pacchetto $i-$VERSION2-$ARCH-$BUILD.tgz" |
+ | compiz="" |
| − | su -c "makepkg -l y -c n $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/*" |
+ | if [ "$oggetto" == "plugins-main" ] || [ "$oggetto" == "plugins-extra" ] || [ "$oggetto" == "plugins-unsupported" ]; then |
| + | compiz="compiz-" |
||
| + | fi |
||
| + | echo "Inserisci la password di root per creare e installare il pacchetto $compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz" |
||
| + | su -c "makepkg -l y -c n $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/*" |
||
cd $COMPIZDIR |
cd $COMPIZDIR |
||
| − | if [ "$i" == "bcop" ] && [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then |
+ | if [ "$oggetto" == "bcop" ] && [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then |
echo "Reinserisci la password di root" |
echo "Reinserisci la password di root" |
||
su -c "ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/" |
su -c "ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/" |
||
| Riga 235: | Riga 261: | ||
else |
else |
||
echo |
echo |
||
| − | echo "Non sono riuscito ad installare $i" |
+ | echo "Non sono riuscito ad installare $oggetto" |
echo "Mi fermo" |
echo "Mi fermo" |
||
echo |
echo |
||
| Riga 243: | Riga 269: | ||
fi |
fi |
||
done |
done |
||
| − | + | ||
| − | # Adesso compilo CCSM perchè devo usare python |
||
| − | cd $COMPIZDIR |
||
| − | cd ccsm |
||
| − | if [ -e VERSION ]; then |
||
| − | VERSION2=$(cat VERSION | cut -d "=" -f 2) |
||
| − | else |
||
| − | VERSION2=$VERSION |
||
| − | fi |
||
| − | python setup.py clean |
||
| − | python setup.py build |
||
| − | if [ "$(echo $?)" == "0" ]; then |
||
| − | python setup.py --prefix=$PKG/ |
||
| − | mkdir -p $PKG/usr/doc/ccsm/ |
||
| − | cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/ccsm/ |
||
| − | cd $PKG |
||
| − | echo "Inserisci la password di root per creare e installare il pacchetto ccsm-$VERSION2-$ARCH-$BUILD.tgz" |
||
| − | su -c "makepkg -l y -c n $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/*" |
||
| − | cd ../ |
||
| − | echo "Reinserisci la password di root" |
||
| − | su -c "ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/" |
||
| − | else |
||
| − | echo |
||
| − | echo "Non sono riuscito ad installare ccsm" |
||
| − | echo "Mi fermo" |
||
| − | echo |
||
| − | cd ../ |
||
| − | exit 1 |
||
| − | fi |
||
| − | |||
# Chiedo se vuoi anche la fusion-icon |
# Chiedo se vuoi anche la fusion-icon |
||
echo -n "Vuoi anche installare la fusion-icon? (s/n) " |
echo -n "Vuoi anche installare la fusion-icon? (s/n) " |
||
read icon |
read icon |
||
| − | if [ "$icon" == "" ]; then |
+ | if [ "$icon" == "" ] || [ "$icon" == "s" ]; then |
| − | icon="n" |
||
| − | fi |
||
| − | if [ "$icon" == "s" ]; then |
||
cd $COMPIZDIR/fusion-icon |
cd $COMPIZDIR/fusion-icon |
||
| + | if [ -e VERSION ]; then |
||
| + | VERSION2=$(cat VERSION | cut -d "=" -f 2) |
||
| + | else |
||
| + | VERSION2=$VERSION |
||
| + | fi |
||
| + | python setup.py clean |
||
| + | python setup.py build |
||
if [ "$(echo $?)" == "0" ]; then |
if [ "$(echo $?)" == "0" ]; then |
||
| − | if [ -e VERSION ]; then |
+ | echo "Inserisci la password di root per installare la fusion-icon" |
| − | VERSION2=$(cat VERSION | cut -d "=" -f 2) |
+ | su -c "python setup.py install --prefix=/usr/" |
| − | else |
||
| − | VERSION2=$VERSION |
||
| − | fi |
||
| − | python setup.py clean |
||
| − | python setup.py build |
||
| − | python setup.py install --prefix=$PKG/ |
||
| − | mkdir -p $PKG/usr/doc/fusion-icon/ |
||
| − | cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/fusion-icon/ |
||
| − | echo "Inserisci la password di root per creare e installare il pacchetto fusion-icon-$VERSION2-$ARCH-$BUILD.tgz" |
||
| − | su -c "makepkg -l y -c n $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/* " |
||
cd ../ |
cd ../ |
||
else |
else |
||
| Riga 261: | Riga 294: | ||
exit 1 |
exit 1 |
||
fi |
fi |
||
| + | else |
||
| + | echo |
||
| + | echo "Fusion-icon non installata." |
||
| + | echo |
||
fi |
fi |
||
echo |
echo |
||
| Riga 268: | Riga 305: | ||
echo |
echo |
||
echo "Have a lot of fun :-)" |
echo "Have a lot of fun :-)" |
||
| + | echo |
||
} |
} |
||
# Funzione per disinstallare compiz-git |
# Funzione per disinstallare compiz-git |
||
uninstall () { |
uninstall () { |
||
| + | |||
| + | # Path dei sorgenti |
||
| + | echo |
||
| + | echo "Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)" |
||
| + | echo -n "($HERE) " |
||
| + | read dir |
||
| + | if [ "$dir" == "" ]; then |
||
| + | dir=$HERE |
||
| + | fi |
||
| + | COMPIZDIR=$dir/compiz-git |
||
| + | |||
# Cerco se ci sono pacchetti installati |
# Cerco se ci sono pacchetti installati |
||
if ls /var/log/packages/ | grep compiz &> /dev/null; then |
if ls /var/log/packages/ | grep compiz &> /dev/null; then |
||
| Riga 278: | Riga 327: | ||
ls /var/log/packages/ | grep emerald |
ls /var/log/packages/ | grep emerald |
||
ls /var/log/packages/ | grep ccsm |
ls /var/log/packages/ | grep ccsm |
||
| − | ls /var/log/packages/ | grep fusion-icon |
+ | ls /var/log/packages/ | grep i18n |
ls /var/log/packages/ | grep bcop |
ls /var/log/packages/ | grep bcop |
||
ls /var/log/packages/ | grep plugins |
ls /var/log/packages/ | grep plugins |
||
| Riga 284: | Riga 333: | ||
echo -n "(Lista di pacchetti separati da UNO SPAZIO) " |
echo -n "(Lista di pacchetti separati da UNO SPAZIO) " |
||
read canc |
read canc |
||
| − | if [ ! "$canc" == "" ]; then |
+ | if [ ! "$canc" == "" ] && [ -d $COMPIZDIR/fusion-icon ]; then |
| + | echo "Inserisci la password di root per eliminare i pacchetti $canc" |
||
| + | su -c "removepkg $canc && cd $COMPIZDIR/fusion-icon && python setup.py uninstall --prefix=/usr/" |
||
| + | echo "Hai rimosso compiz-git." |
||
| + | echo |
||
| + | elif [ ! "$canc" == "" ] && [ ! -d $COMPIZDIR/fusion-icon ]; then |
||
echo "Inserisci la password di root per eliminare i pacchetti $canc" |
echo "Inserisci la password di root per eliminare i pacchetti $canc" |
||
su -c "removepkg $canc" |
su -c "removepkg $canc" |
||
| + | echo "Hai rimosso compiz-git." |
||
| + | echo |
||
fi |
fi |
||
else |
else |
||
| − | echo "Non ho trovato pacchetti installati che assomigliano a compiz." |
||
echo |
echo |
||
| − | + | echo "Non ho trovato nessun pacchetto che assomiglia a compiz :-(" |
|
| − | # Path contenente i sorgenti |
+ | echo |
| − | echo "Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)" |
+ | exit 1 |
| − | echo -n "($HERE) " |
+ | fi |
| − | read dir |
+ | |
| − | if [ "$dir" == "" ]; then |
+ | # Chiedo se devo rimuovere anche i sorgenti di compiz-git |
| − | dir=$HERE |
+ | echo -n "Vuoi anche rimuovere la cartella contenente i sorgenti? (s/n) " |
| − | fi |
+ | read risp |
| − | if [ ! -d $dir ]; then |
+ | if [ "$risp" == "" ]; then |
| − | echo "La cartella $dir non esiste!" |
+ | risp="n" |
| − | echo |
+ | fi |
| − | exit 1 |
+ | if [ "$risp" == "s" ]; then |
| − | fi |
||
cd $dir |
cd $dir |
||
| − | for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n; do |
||
| − | if [ -d $i ]; then |
||
| − | cd $i |
||
| − | echo "Inserisci la password di root per rimuovere $i" |
||
| − | su -c "make uninstall" |
||
| − | cd ../ |
||
| − | fi |
||
| − | done |
||
| − | |||
| − | # Adesso rimuovo CCSM perchè devo usare python |
||
| − | cd $dir/ccsm/ |
||
| − | echo "Inserisci la password di root per rimuovere ccsm" |
||
| − | su -c "python setup.py uninstall" |
||
| − | |||
| − | # Chiedo se devo rimuovere anche la fusion-icon |
||
| − | echo -n "Devo rimuovere anche la fusion-icon? (s/n) " |
||
| − | read risp |
||
| − | if [ "$risp" == "" ] || [ "$risp" == "s" ]; then |
||
| − | cd $dir/fusion-icon/ |
||
| − | echo "Inserisci la password di root per rimuovere fusion-icon" |
||
| − | su -c "python setup.py uninstall" |
||
| − | cd ../ |
||
| − | fi |
||
| − | |||
| − | # Rimuovo anche tutti i sorgenti di compiz-git |
||
| − | cd $dir |
||
| − | cd ../ |
||
echo "Inserisci la password di root per rimuovere la cartella dei sorgenti" |
echo "Inserisci la password di root per rimuovere la cartella dei sorgenti" |
||
su -c "echo -n 'Sto eliminando i sorgenti di compiz-git...' && rm -Rf compiz-git/ && echo 'Fatto'" |
su -c "echo -n 'Sto eliminando i sorgenti di compiz-git...' && rm -Rf compiz-git/ && echo 'Fatto'" |
||
| Riga 336: | Riga 359: | ||
fi |
fi |
||
} |
} |
||
| + | |||
| + | # Controllo le dipendenze |
||
| + | check_dep |
||
# Controllo il parametro passato allo script |
# Controllo il parametro passato allo script |
||
| Riga 359: | Riga 385: | ||
fi |
fi |
||
cd $COMPIZDIR |
cd $COMPIZDIR |
||
| − | for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do |
+ | for item in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do |
| − | if [ ! -d $i ]; then |
+ | if [ ! -d $item ]; then |
echo |
echo |
||
echo "Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!" |
echo "Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!" |
||
| Riga 386: | Riga 412: | ||
echo "$0 uninstall --> per rimuovere una versione di compiz-git precedentemente installata" |
echo "$0 uninstall --> per rimuovere una versione di compiz-git precedentemente installata" |
||
echo |
echo |
||
| − | echo "Versione 4.0" |
+ | echo "Versione 5.0" |
echo "By Ansa89 (ansa89@slacky.it)" |
echo "By Ansa89 (ansa89@slacky.it)" |
||
echo |
echo |
||
| Riga 398: | Riga 424: | ||
---- |
---- |
||
| − | Versione 5.0 (per Slackware 12.1) |
+ | Versione 4.0 (per Slackware 12.0) |
<pre> |
<pre> |
||
| Riga 405: | Riga 431: | ||
# |
# |
||
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf; |
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf; |
||
| − | # in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1 |
+ | # in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0 |
# :-) |
# :-) |
||
# |
# |
||
| − | # Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...) |
+ | # Script creato il 8/4/2008 da Ansa89 (avrei dovuto studiare Bergson e Dewey...) |
# Variabili per la creazione del pacchetto .tgz |
# Variabili per la creazione del pacchetto .tgz |
||
| Riga 416: | Riga 442: | ||
CHOST="i686" |
CHOST="i686" |
||
ARCH=${ARCH:-i686} |
ARCH=${ARCH:-i686} |
||
| − | BUILD="1as" |
+ | BUILD=1 |
if [ "$ARCH" == "i386" ]; then |
if [ "$ARCH" == "i386" ]; then |
||
SLKCFLAGS="-O2 -march=i386 -mcpu=i686" |
SLKCFLAGS="-O2 -march=i386 -mcpu=i686" |
||
| Riga 430: | Riga 456: | ||
# Variabili per il download di compiz |
# Variabili per il download di compiz |
||
| − | COMPIZ="git://anongit.compiz-fusion.org/compiz" |
+ | COMPIZ="git://git.freedesktop.org/git/xorg/app/compiz" |
REPO="git://anongit.compiz-fusion.org/fusion/" |
REPO="git://anongit.compiz-fusion.org/fusion/" |
||
| − | ITEMS="compizconfig/libcompizconfig" |
+ | ITEMS="libraries/bcop" |
| − | ITEMS="$ITEMS compizconfig/compizconfig-python" |
||
| − | ITEMS="$ITEMS libraries/bcop" |
||
ITEMS="$ITEMS plugins-main plugins-extra plugins-unsupported" |
ITEMS="$ITEMS plugins-main plugins-extra plugins-unsupported" |
||
ITEMS="$ITEMS decorators/emerald decorators/emerald-themes" |
ITEMS="$ITEMS decorators/emerald decorators/emerald-themes" |
||
| + | ITEMS="$ITEMS compizconfig/libcompizconfig" |
||
| + | ITEMS="$ITEMS compizconfig/compizconfig-python" |
||
| + | ITEMS="$ITEMS compizconfig/ccsm" |
||
ITEMS="$ITEMS i18n" |
ITEMS="$ITEMS i18n" |
||
| − | ITEMS="$ITEMS compizconfig/ccsm" |
||
EXTRA="git://anongit.compiz-fusion.org/users/crdlb/fusion-icon" |
EXTRA="git://anongit.compiz-fusion.org/users/crdlb/fusion-icon" |
||
| Riga 442: | Riga 470: | ||
ARGS=" --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local" |
ARGS=" --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local" |
||
| − | # Funzione per controllare le dipendenze |
+ | # Controllo se git è installato |
| − | check_dep() { |
+ | if [ -z "$(which git-clone)" ]; then |
| + | echo "Devi avere GIT installato per usare questo script!" |
||
| + | exit 1; |
||
| + | fi |
||
| + | if [ -z "$(which git-pull)" ]; then |
||
| + | echo "Devi avere GIT installato per usare questo script!" |
||
| + | exit 1; |
||
| + | fi |
||
| − | # Controllo se git è installato |
+ | # Controllo se python è installato |
| − | if [ -z "$(which git-clone)" ]; then |
+ | if [ -z "$(which python)" ]; then |
| − | echo |
+ | echo "Devi avere PYTHON installato per usare questo script!" |
| − | echo "Devi avere GIT installato per usare questo script!" |
+ | exit 1; |
| − | echo |
+ | fi |
| − | exit 1; |
||
| − | fi |
||
| − | if [ -z "$(which git-pull)" ]; then |
||
| − | echo |
||
| − | echo "Devi avere GIT installato per usare questo script!" |
||
| − | echo |
||
| − | exit 1; |
||
| − | fi |
||
| − | # Controllo se python è installato |
+ | # Funzione per scaricare compiz-git |
| − | if [ -z "$(which python)" ]; then |
+ | download () { |
| − | echo |
+ | # Controllo se hai internet |
| − | echo "Devi avere PYTHON installato per usare questo script!" |
+ | if ! ping -c 5 www.slacky.eu &> /dev/null; then |
| − | echo |
+ | echo "Devi poter accedere a internet per scaricare i sorgenti!" |
exit 1; |
exit 1; |
||
fi |
fi |
||
| − | + | ||
| − | # Controllo se orbit2 e' installato |
+ | # Scarico e installo due pacchetti che servono |
| − | if ! ls /var/log/packages | grep orbit2 &> /dev/null; then |
+ | if ! ls /var/log/packages/ | grep gconf &> /dev/null; then |
| − | echo -n "Scarico e installo orbit2..." |
+ | 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 |
| − | 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 |
+ | su -c "upgradepkg --install-new gconf-2.20.1-i686-6as.tgz" |
| − | su -c "upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz" |
||
| − | rm -f orbit2-2.14.10-i686-7as.tgz |
||
| − | echo "Fatto" |
||
| − | echo |
||
fi |
fi |
||
| − | + | if ! ls /var/log/packages/ | grep orbit2 &> /dev/null; then |
|
| − | # Controllo se gconf e' installato |
+ | 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 |
| − | if ! ls /var/log/packages | grep gconf &> /dev/null; then |
+ | su -c "upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz" |
| − | echo -n "Scarico e installo gconf..." |
||
| − | 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 |
||
| − | su -c "upgradepkg --install-new gconf-2.20.1-i686-7as.tgz" |
||
| − | rm -f gconf-2.20.1-i686-7as.tgz |
||
| − | echo "Fatto" |
||
| − | echo |
||
fi |
fi |
||
| − | } |
+ | rm -f gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz |
| − | |||
| − | # Funzione per controllare se si ha internet |
||
| − | check_net() { |
||
| − | if ! ping -c 1 www.kernel.org &> /dev/null; then |
||
| − | echo "Devi poter accedere a internet per scaricare i sorgenti!" |
||
| − | exit 1; |
||
| − | fi |
||
| − | } |
||
| − | |||
| − | # Funzione per scaricare compiz-git |
||
| − | download () { |
||
| − | |||
| − | # Controllo se hai internet |
||
| − | check_net |
||
# Path dove si vuole scaricare i sorgenti |
# Path dove si vuole scaricare i sorgenti |
||
| Riga 501: | Riga 529: | ||
echo |
echo |
||
fi |
fi |
||
| − | for item in $ITEMS; do |
+ | for z in $ITEMS; do |
| − | if [ ! -e $(echo $item | cut -d "/" -f 2) ]; then |
+ | if [ ! -e $(echo $z | cut -d "/" -f 2) ]; then |
| − | echo "Scarico il ramo $item..." |
+ | echo "Scarico il ramo $z..." |
| − | git-clone $REPO$item |
+ | git-clone $REPO$z |
echo |
echo |
||
else |
else |
||
| − | cd $(echo $item | cut -d "/" -f 2) |
+ | cd $(echo $z | cut -d "/" -f 2) |
| − | echo "Sto aggiornando il ramo $item..." |
+ | echo "Sto aggiornando il ramo $z..." |
git-pull |
git-pull |
||
cd ../ |
cd ../ |
||
| Riga 568: | Riga 596: | ||
# Entro in tutte le cartelle |
# Entro in tutte le cartelle |
||
cd $COMPIZDIR |
cd $COMPIZDIR |
||
| − | for item in $ITEMS; do |
+ | for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do |
| − | oggetto=$(echo $item | cut -d "/" -f 2) |
+ | cd $COMPIZDIR/$i |
| − | cd $COMPIZDIR/$oggetto |
||
# Imposto il numero di versione |
# Imposto il numero di versione |
||
| Riga 577: | Riga 605: | ||
VERSION2=$VERSION |
VERSION2=$VERSION |
||
fi |
fi |
||
| − | |||
| − | # Controllo se il ramo che devo compilare e' ccsm |
||
| − | if [ "$oggetto" == "ccsm" ]; then |
||
| − | echo |
||
| − | echo "Compilo $oggetto" |
||
| − | CFLAGS="$SLAKCFLAGS" |
||
| − | CXXFLAGS="$SLKCFLAGS" |
||
| − | python setup.py clean |
||
| − | python setup.py build |
||
| − | if [ "$(echo $?)" == "0" ]; then |
||
| − | mkdir -p $PKG/usr/local/ |
||
| − | python setup.py install --prefix=$PKG/usr/local/ |
||
| − | mkdir -p $PKG/usr/doc/$oggetto/ |
||
| − | cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto/ |
||
| − | cd $PKG |
||
| − | echo "Inserisci la password di root per creare e installare il pacchetto compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz" |
||
| − | su -c "makepkg -l y -c n $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/*" |
||
| − | cd $COMPIZDIR |
||
| − | echo "Reinserisci la password di root" |
||
| − | su -c "ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/" |
||
| − | else |
||
| − | echo |
||
| − | echo "Non sono riuscito ad installare $oggetto" |
||
| − | echo "Mi fermo" |
||
| − | echo |
||
| − | cd ../ |
||
| − | exit 1 |
||
| − | fi |
||
# Compilo e installo se trovo "autogen.sh" |
# Compilo e installo se trovo "autogen.sh" |
||
| − | elif [ -e autogen.sh ]; then |
+ | if [ -e autogen.sh ]; then |
echo |
echo |
||
| − | echo "Compilo $oggetto" |
+ | echo "Compilo $i" |
CFLAGS="$SLKCFLAGS" |
CFLAGS="$SLKCFLAGS" |
||
| − | CXXFLAGS="$SLKCFLAGS" |
+ | CXXFLAGS="$SLKFLAGS" |
./autogen.sh |
./autogen.sh |
||
./configure |
./configure |
||
| Riga 618: | Riga 618: | ||
if [ "$(echo $?)" == "0" ]; then |
if [ "$(echo $?)" == "0" ]; then |
||
make install DESTDIR=$PKG |
make install DESTDIR=$PKG |
||
| − | mkdir -p $PKG/usr/doc/$oggetto |
+ | mkdir -p $PKG/usr/doc/$i |
| − | cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto |
+ | cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$i |
cd $PKG |
cd $PKG |
||
| − | compiz="" |
+ | echo "Inserisci la password di root per creare e installare il pacchetto $i-$VERSION2-$ARCH-$BUILD.tgz" |
| − | if [ "$oggetto" == "plugins-main" ] || [ "$oggetto" == "plugins-extra" ] || [ "$oggetto" == "plugins-unsupported" ]; then |
+ | su -c "makepkg -l y -c n $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/*" |
| − | compiz="compiz-" |
||
| − | fi |
||
| − | echo "Inserisci la password di root per creare e installare il pacchetto $compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz" |
||
| − | su -c "makepkg -l y -c n $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/*" |
||
cd $COMPIZDIR |
cd $COMPIZDIR |
||
| − | if [ "$oggetto" == "bcop" ] && [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then |
+ | if [ "$i" == "bcop" ] && [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then |
echo "Reinserisci la password di root" |
echo "Reinserisci la password di root" |
||
su -c "ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/" |
su -c "ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/" |
||
| Riga 630: | Riga 630: | ||
else |
else |
||
echo |
echo |
||
| − | echo "Non sono riuscito ad installare $oggetto" |
+ | echo "Non sono riuscito ad installare $i" |
echo "Mi fermo" |
echo "Mi fermo" |
||
echo |
echo |
||
| Riga 638: | Riga 638: | ||
fi |
fi |
||
done |
done |
||
| − | + | ||
| + | # Adesso compilo CCSM perchè devo usare python |
||
| + | cd $COMPIZDIR |
||
| + | cd ccsm |
||
| + | if [ -e VERSION ]; then |
||
| + | VERSION2=$(cat VERSION | cut -d "=" -f 2) |
||
| + | else |
||
| + | VERSION2=$VERSION |
||
| + | fi |
||
| + | python setup.py clean |
||
| + | python setup.py build |
||
| + | if [ "$(echo $?)" == "0" ]; then |
||
| + | python setup.py --prefix=$PKG/ |
||
| + | mkdir -p $PKG/usr/doc/ccsm/ |
||
| + | cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/ccsm/ |
||
| + | cd $PKG |
||
| + | echo "Inserisci la password di root per creare e installare il pacchetto ccsm-$VERSION2-$ARCH-$BUILD.tgz" |
||
| + | su -c "makepkg -l y -c n $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/*" |
||
| + | cd ../ |
||
| + | echo "Reinserisci la password di root" |
||
| + | su -c "ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/" |
||
| + | else |
||
| + | echo |
||
| + | echo "Non sono riuscito ad installare ccsm" |
||
| + | echo "Mi fermo" |
||
| + | echo |
||
| + | cd ../ |
||
| + | exit 1 |
||
| + | fi |
||
| + | |||
# Chiedo se vuoi anche la fusion-icon |
# Chiedo se vuoi anche la fusion-icon |
||
echo -n "Vuoi anche installare la fusion-icon? (s/n) " |
echo -n "Vuoi anche installare la fusion-icon? (s/n) " |
||
read icon |
read icon |
||
| − | if [ "$icon" == "" ] || [ "$icon" == "s" ]; then |
+ | if [ "$icon" == "" ]; then |
| + | icon="n" |
||
| + | fi |
||
| + | if [ "$icon" == "s" ]; then |
||
cd $COMPIZDIR/fusion-icon |
cd $COMPIZDIR/fusion-icon |
||
| − | if [ -e VERSION ]; then |
||
| − | VERSION2=$(cat VERSION | cut -d "=" -f 2) |
||
| − | else |
||
| − | VERSION2=$VERSION |
||
| − | fi |
||
| − | python setup.py clean |
||
| − | python setup.py build |
||
if [ "$(echo $?)" == "0" ]; then |
if [ "$(echo $?)" == "0" ]; then |
||
| − | echo "Inserisci la password di root per installare la fusion-icon" |
+ | if [ -e VERSION ]; then |
| − | su -c "python setup.py install --prefix=/usr/" |
+ | VERSION2=$(cat VERSION | cut -d "=" -f 2) |
| + | else |
||
| + | VERSION2=$VERSION |
||
| + | fi |
||
| + | python setup.py clean |
||
| + | python setup.py build |
||
| + | python setup.py install --prefix=$PKG/ |
||
| + | mkdir -p $PKG/usr/doc/fusion-icon/ |
||
| + | cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/fusion-icon/ |
||
| + | echo "Inserisci la password di root per creare e installare il pacchetto fusion-icon-$VERSION2-$ARCH-$BUILD.tgz" |
||
| + | su -c "makepkg -l y -c n $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/* " |
||
cd ../ |
cd ../ |
||
else |
else |
||
| Riga 663: | Riga 656: | ||
exit 1 |
exit 1 |
||
fi |
fi |
||
| − | else |
||
| − | echo |
||
| − | echo "Fusion-icon non installata." |
||
| − | echo |
||
fi |
fi |
||
echo |
echo |
||
| Riga 674: | Riga 663: | ||
echo |
echo |
||
echo "Have a lot of fun :-)" |
echo "Have a lot of fun :-)" |
||
| − | echo |
||
} |
} |
||
# Funzione per disinstallare compiz-git |
# Funzione per disinstallare compiz-git |
||
uninstall () { |
uninstall () { |
||
| − | |||
| − | # Path dei sorgenti |
||
| − | echo |
||
| − | echo "Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)" |
||
| − | echo -n "($HERE) " |
||
| − | read dir |
||
| − | if [ "$dir" == "" ]; then |
||
| − | dir=$HERE |
||
| − | fi |
||
| − | COMPIZDIR=$dir/compiz-git |
||
| − | |||
# Cerco se ci sono pacchetti installati |
# Cerco se ci sono pacchetti installati |
||
if ls /var/log/packages/ | grep compiz &> /dev/null; then |
if ls /var/log/packages/ | grep compiz &> /dev/null; then |
||
| Riga 696: | Riga 673: | ||
ls /var/log/packages/ | grep emerald |
ls /var/log/packages/ | grep emerald |
||
ls /var/log/packages/ | grep ccsm |
ls /var/log/packages/ | grep ccsm |
||
| − | ls /var/log/packages/ | grep i18n |
+ | ls /var/log/packages/ | grep fusion-icon |
ls /var/log/packages/ | grep bcop |
ls /var/log/packages/ | grep bcop |
||
ls /var/log/packages/ | grep plugins |
ls /var/log/packages/ | grep plugins |
||
| Riga 702: | Riga 679: | ||
echo -n "(Lista di pacchetti separati da UNO SPAZIO) " |
echo -n "(Lista di pacchetti separati da UNO SPAZIO) " |
||
read canc |
read canc |
||
| − | if [ ! "$canc" == "" ] && [ -d $COMPIZDIR/fusion-icon ]; then |
+ | if [ ! "$canc" == "" ]; then |
| − | echo "Inserisci la password di root per eliminare i pacchetti $canc" |
||
| − | su -c "removepkg $canc && cd $COMPIZDIR/fusion-icon && python setup.py uninstall --prefix=/usr/" |
||
| − | echo "Hai rimosso compiz-git." |
||
| − | echo |
||
| − | elif [ ! "$canc" == "" ] && [ ! -d $COMPIZDIR/fusion-icon ]; then |
||
echo "Inserisci la password di root per eliminare i pacchetti $canc" |
echo "Inserisci la password di root per eliminare i pacchetti $canc" |
||
su -c "removepkg $canc" |
su -c "removepkg $canc" |
||
| − | echo "Hai rimosso compiz-git." |
||
| − | echo |
||
fi |
fi |
||
else |
else |
||
| + | echo "Non ho trovato pacchetti installati che assomigliano a compiz." |
||
echo |
echo |
||
| − | echo "Non ho trovato nessun pacchetto che assomiglia a compiz :-(" |
+ | |
| − | echo |
+ | # Path contenente i sorgenti |
| − | exit 1 |
+ | echo "Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)" |
| − | fi |
+ | echo -n "($HERE) " |
| − | + | read dir |
|
| − | # Chiedo se devo rimuovere anche i sorgenti di compiz-git |
+ | if [ "$dir" == "" ]; then |
| − | echo -n "Vuoi anche rimuovere la cartella contenente i sorgenti? (s/n) " |
+ | dir=$HERE |
| − | read risp |
+ | fi |
| − | if [ "$risp" == "" ]; then |
+ | if [ ! -d $dir ]; then |
| − | risp="n" |
+ | echo "La cartella $dir non esiste!" |
| − | fi |
+ | echo |
| − | if [ "$risp" == "s" ]; then |
+ | exit 1 |
| + | fi |
||
cd $dir |
cd $dir |
||
| + | for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n; do |
||
| + | if [ -d $i ]; then |
||
| + | cd $i |
||
| + | echo "Inserisci la password di root per rimuovere $i" |
||
| + | su -c "make uninstall" |
||
| + | cd ../ |
||
| + | fi |
||
| + | done |
||
| + | |||
| + | # Adesso rimuovo CCSM perchè devo usare python |
||
| + | cd $dir/ccsm/ |
||
| + | echo "Inserisci la password di root per rimuovere ccsm" |
||
| + | su -c "python setup.py uninstall" |
||
| + | |||
| + | # Chiedo se devo rimuovere anche la fusion-icon |
||
| + | echo -n "Devo rimuovere anche la fusion-icon? (s/n) " |
||
| + | read risp |
||
| + | if [ "$risp" == "" ] || [ "$risp" == "s" ]; then |
||
| + | cd $dir/fusion-icon/ |
||
| + | echo "Inserisci la password di root per rimuovere fusion-icon" |
||
| + | su -c "python setup.py uninstall" |
||
| + | cd ../ |
||
| + | fi |
||
| + | |||
| + | # Rimuovo anche tutti i sorgenti di compiz-git |
||
| + | cd $dir |
||
| + | cd ../ |
||
echo "Inserisci la password di root per rimuovere la cartella dei sorgenti" |
echo "Inserisci la password di root per rimuovere la cartella dei sorgenti" |
||
su -c "echo -n 'Sto eliminando i sorgenti di compiz-git...' && rm -Rf compiz-git/ && echo 'Fatto'" |
su -c "echo -n 'Sto eliminando i sorgenti di compiz-git...' && rm -Rf compiz-git/ && echo 'Fatto'" |
||
| Riga 728: | Riga 731: | ||
fi |
fi |
||
} |
} |
||
| − | |||
| − | # Controllo le dipendenze |
||
| − | check_dep |
||
# Controllo il parametro passato allo script |
# Controllo il parametro passato allo script |
||
| Riga 754: | Riga 754: | ||
fi |
fi |
||
cd $COMPIZDIR |
cd $COMPIZDIR |
||
| − | for item in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do |
+ | for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do |
| − | if [ ! -d $item ]; then |
+ | if [ ! -d $i ]; then |
echo |
echo |
||
echo "Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!" |
echo "Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!" |
||
| Riga 781: | Riga 781: | ||
echo "$0 uninstall --> per rimuovere una versione di compiz-git precedentemente installata" |
echo "$0 uninstall --> per rimuovere una versione di compiz-git precedentemente installata" |
||
echo |
echo |
||
| − | echo "Versione 5.0" |
+ | echo "Versione 4.0" |
echo "By Ansa89 (ansa89@slacky.it)" |
echo "By Ansa89 (ansa89@slacky.it)" |
||
echo |
echo |
||
Versione delle 20:56, 30 giu 2008
Indice |
Descrizione
Questo script esegue il download dell'ultima versione GIT di compiz-fusion, lo compila e lo installa (il prefix di default è lo stesso usato da Patrik --> /usr/local). Oltre a compiz vengono scaricati i rami del progetto di cui necessita per il suo corretto funzionamento (libcompizconfig, ccsm, emerald,...) e tutti i plugins disponibili :-)
Finalmente viene creato un pacchetto ".tgz" per ogni ramo del progetto!! In questo modo è pi semplice tenere traccia dell'installazione di compiz :-D
*** ATTENZIONE ***
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.
Requisiti
GIT --> home
PYTHON --> python-italia // sito_ufficiale
CONNESSIONE A INTERNET ATTIVA --> per scaricare i vari componenti
ACCELERAZIONE 3D ATTIVATA --> per poter avviare compiz e godersi al meglio tutte le meraviglie di questo window-manager (per sapere come abilitare l'accelerazione 3D consultate questa guida, la quale contiene anche alcuni consigli utili per avviare compiz e risolvere problemi comuni)
Download (Slackware 12.1)
http://www.slacky.eu/wikislack/script/get-compiz-v5.0.sh
Download (Slackware 12.0)
http://www.slacky.eu/wikislack/script/get-compiz-v4.0.sh
Script
Di seguito è riportato il codice degli script.
Versione 5.0 (per Slackware 12.1)
#!/bin/bash
# Script che scarica, compila e installa compiz-fusion versione git
#
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.1
# :-)
#
# Script creato il 20/6/2008 da Ansa89 (avrei dovuto fare la mia tesina per l'esame...)
# Variabili per la creazione del pacchetto .tgz
HERE=$(pwd)
PKG="package-getcompiz"
VERSION="git"
CHOST="i686"
ARCH=${ARCH:-i686}
BUILD="1as"
if [ "$ARCH" == "i386" ]; then
SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" == "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
elif [ "$ARCH" == "i686" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" == "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" == "x86_64" ]; then
SLKCFLAGS="-O2"
fi
# Variabili per il download di compiz
COMPIZ="git://anongit.compiz-fusion.org/compiz"
REPO="git://anongit.compiz-fusion.org/fusion/"
ITEMS="compizconfig/libcompizconfig"
ITEMS="$ITEMS compizconfig/compizconfig-python"
ITEMS="$ITEMS libraries/bcop"
ITEMS="$ITEMS plugins-main plugins-extra plugins-unsupported"
ITEMS="$ITEMS decorators/emerald decorators/emerald-themes"
ITEMS="$ITEMS i18n"
ITEMS="$ITEMS compizconfig/ccsm"
EXTRA="git://anongit.compiz-fusion.org/users/crdlb/fusion-icon"
# Gli argomenti da passare a "autogen.sh di compiz"
ARGS=" --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local"
# Funzione per controllare le dipendenze
check_dep() {
# Controllo se git è installato
if [ -z "$(which git-clone)" ]; then
echo
echo "Devi avere GIT installato per usare questo script!"
echo
exit 1;
fi
if [ -z "$(which git-pull)" ]; then
echo
echo "Devi avere GIT installato per usare questo script!"
echo
exit 1;
fi
# Controllo se python è installato
if [ -z "$(which python)" ]; then
echo
echo "Devi avere PYTHON installato per usare questo script!"
echo
exit 1;
fi
# Controllo se orbit2 e' installato
if ! ls /var/log/packages | grep orbit2 &> /dev/null; then
echo -n "Scarico e installo orbit2..."
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
su -c "upgradepkg --install-new orbit2-2.14.10-i686-7as.tgz"
rm -f orbit2-2.14.10-i686-7as.tgz
echo "Fatto"
echo
fi
# Controllo se gconf e' installato
if ! ls /var/log/packages | grep gconf &> /dev/null; then
echo -n "Scarico e installo gconf..."
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
su -c "upgradepkg --install-new gconf-2.20.1-i686-7as.tgz"
rm -f gconf-2.20.1-i686-7as.tgz
echo "Fatto"
echo
fi
}
# Funzione per controllare se si ha internet
check_net() {
if ! ping -c 1 www.kernel.org &> /dev/null; then
echo "Devi poter accedere a internet per scaricare i sorgenti!"
exit 1;
fi
}
# Funzione per scaricare compiz-git
download () {
# Controllo se hai internet
check_net
# Path dove si vuole scaricare i sorgenti
echo "Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)"
echo "Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)"
echo -n "($HERE) "
read dir
if [ "$dir" == "" ]; then
dir=$HERE
fi
if [ ! -e $dir/compiz-git ]; then
mkdir -p $dir/compiz-git
fi
COMPIZDIR=$dir/compiz-git
PKG=$COMPIZDIR/$PKG
if [ ! -d $PKG ]; then
mkdir -p $PKG
fi
# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)
cd $COMPIZDIR
COMPIZDIR=$(pwd)
if [ ! -e compiz ]; then
echo "Scarico compiz..."
git-clone $COMPIZ
echo
else
cd compiz
echo "Sto aggiornando compiz..."
git-pull
cd ../
echo
fi
for item in $ITEMS; do
if [ ! -e $(echo $item | cut -d "/" -f 2) ]; then
echo "Scarico il ramo $item..."
git-clone $REPO$item
echo
else
cd $(echo $item | cut -d "/" -f 2)
echo "Sto aggiornando il ramo $item..."
git-pull
cd ../
echo
fi
done
cd $COMPIZDIR
if [ ! -e fusion-icon ]; then
echo "Scarico il ramo fusion-icon..."
git-clone $EXTRA
echo
else
cd fusion-icon
echo "Sto aggiornando il ramo fusion-icon..."
git-pull
cd ../
echo
fi
echo
echo "Ho terminato tutti i download :-)"
echo
}
# Funzione per installare compiz-git
installa () {
# Imposto il numero di versione
cd $COMPIZDIR/libcompizconfig
if [ -e VERSION ]; then
VERSION=$(cat VERSION | cut -d "=" -f 2)
fi
# Compilo compiz per primo (è una dipendenza degli altri pacchetti)
cd $COMPIZDIR/compiz
echo -n "Per primo compilo compiz con i seguenti flags: "
echo $ARGS
sleep 2
CFLAGS="$SLKCFLAGS"
CXXFLAGS="$SLKCFLAGS"
./autogen.sh $ARGS
sleep 2
make
if [ "$(echo $?)" == "0" ]; then
make install DESTDIR=$PKG
mkdir -p $PKG/usr/doc/compiz
cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/
cd $PKG
echo "Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz"
su -c "makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz && rm -Rf $PKG/*"
cd $COMPIZDIR
else
echo
echo "Qualcosa non è andato bene..."
echo "Esco"
echo
exit 1
fi
# Entro in tutte le cartelle
cd $COMPIZDIR
for item in $ITEMS; do
oggetto=$(echo $item | cut -d "/" -f 2)
cd $COMPIZDIR/$oggetto
# Imposto il numero di versione
if [ -e VERSION ]; then
VERSION2=$(cat VERSION | cut -d "=" -f 2)
else
VERSION2=$VERSION
fi
# Controllo se il ramo che devo compilare e' ccsm
if [ "$oggetto" == "ccsm" ]; then
echo
echo "Compilo $oggetto"
CFLAGS="$SLAKCFLAGS"
CXXFLAGS="$SLKCFLAGS"
python setup.py clean
python setup.py build
if [ "$(echo $?)" == "0" ]; then
mkdir -p $PKG/usr/local/
python setup.py install --prefix=$PKG/usr/local/
mkdir -p $PKG/usr/doc/$oggetto/
cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto/
cd $PKG
echo "Inserisci la password di root per creare e installare il pacchetto compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz"
su -c "makepkg -l y -c n $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/compiz-$oggetto-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/*"
cd $COMPIZDIR
echo "Reinserisci la password di root"
su -c "ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/"
else
echo
echo "Non sono riuscito ad installare $oggetto"
echo "Mi fermo"
echo
cd ../
exit 1
fi
# Compilo e installo se trovo "autogen.sh"
elif [ -e autogen.sh ]; then
echo
echo "Compilo $oggetto"
CFLAGS="$SLKCFLAGS"
CXXFLAGS="$SLKCFLAGS"
./autogen.sh
./configure
make clean
make
if [ "$(echo $?)" == "0" ]; then
make install DESTDIR=$PKG
mkdir -p $PKG/usr/doc/$oggetto
cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$oggetto
cd $PKG
compiz=""
if [ "$oggetto" == "plugins-main" ] || [ "$oggetto" == "plugins-extra" ] || [ "$oggetto" == "plugins-unsupported" ]; then
compiz="compiz-"
fi
echo "Inserisci la password di root per creare e installare il pacchetto $compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz"
su -c "makepkg -l y -c n $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/$compiz$oggetto-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/*"
cd $COMPIZDIR
if [ "$oggetto" == "bcop" ] && [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then
echo "Reinserisci la password di root"
su -c "ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/"
fi
else
echo
echo "Non sono riuscito ad installare $oggetto"
echo "Mi fermo"
echo
cd ../
exit 1
fi
fi
done
# Chiedo se vuoi anche la fusion-icon
echo -n "Vuoi anche installare la fusion-icon? (s/n) "
read icon
if [ "$icon" == "" ] || [ "$icon" == "s" ]; then
cd $COMPIZDIR/fusion-icon
if [ -e VERSION ]; then
VERSION2=$(cat VERSION | cut -d "=" -f 2)
else
VERSION2=$VERSION
fi
python setup.py clean
python setup.py build
if [ "$(echo $?)" == "0" ]; then
echo "Inserisci la password di root per installare la fusion-icon"
su -c "python setup.py install --prefix=/usr/"
cd ../
else
echo
echo "Non sono riuscito ad installare fusion-icon"
echo "Mi fermo"
echo
cd ../
exit 1
fi
else
echo
echo "Fusion-icon non installata."
echo
fi
echo
echo
echo "Congratulazioni!"
echo "Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!"
echo
echo "Have a lot of fun :-)"
echo
}
# Funzione per disinstallare compiz-git
uninstall () {
# Path dei sorgenti
echo
echo "Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)"
echo -n "($HERE) "
read dir
if [ "$dir" == "" ]; then
dir=$HERE
fi
COMPIZDIR=$dir/compiz-git
# Cerco se ci sono pacchetti installati
if ls /var/log/packages/ | grep compiz &> /dev/null; then
echo "Ho trovato questi pacchetti installati che assomigliano a compiz:"
ls /var/log/packages/ | grep compiz
ls /var/log/packages/ | grep emerald
ls /var/log/packages/ | grep ccsm
ls /var/log/packages/ | grep i18n
ls /var/log/packages/ | grep bcop
ls /var/log/packages/ | grep plugins
echo "Quali devo rimuovere?"
echo -n "(Lista di pacchetti separati da UNO SPAZIO) "
read canc
if [ ! "$canc" == "" ] && [ -d $COMPIZDIR/fusion-icon ]; then
echo "Inserisci la password di root per eliminare i pacchetti $canc"
su -c "removepkg $canc && cd $COMPIZDIR/fusion-icon && python setup.py uninstall --prefix=/usr/"
echo "Hai rimosso compiz-git."
echo
elif [ ! "$canc" == "" ] && [ ! -d $COMPIZDIR/fusion-icon ]; then
echo "Inserisci la password di root per eliminare i pacchetti $canc"
su -c "removepkg $canc"
echo "Hai rimosso compiz-git."
echo
fi
else
echo
echo "Non ho trovato nessun pacchetto che assomiglia a compiz :-("
echo
exit 1
fi
# Chiedo se devo rimuovere anche i sorgenti di compiz-git
echo -n "Vuoi anche rimuovere la cartella contenente i sorgenti? (s/n) "
read risp
if [ "$risp" == "" ]; then
risp="n"
fi
if [ "$risp" == "s" ]; then
cd $dir
echo "Inserisci la password di root per rimuovere la cartella dei sorgenti"
su -c "echo -n 'Sto eliminando i sorgenti di compiz-git...' && rm -Rf compiz-git/ && echo 'Fatto'"
echo
fi
}
# Controllo le dipendenze
check_dep
# Controllo il parametro passato allo script
case "$1" in
download)
download
exit 0
;;
install)
download
installa
exit 0
;;
only_install)
echo
echo "Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)"
echo -n "($HERE) "
read COMPIZDIR
if [ "$COMPIZDIR" == "" ]; then
COMPIZDIR=$HERE
fi
cd $COMPIZDIR
for item in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do
if [ ! -d $item ]; then
echo
echo "Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!"
echo "Prova con '$0 install'..."
echo "Mi fermo"
echo
exit 1
fi
done
installa
exit 0
;;
uninstall)
uninstall
exit 0
;;
*)
echo
echo "Opzioni valide:"
echo "$0 download --> per scaricare/aggiornare compiz-git"
echo "$0 install --> per scricare/aggiornare e installare compiz-git"
echo "$0 only_install --> per installare compiz-git se i sorgenti sono già stati scaricati"
echo "$0 uninstall --> per rimuovere una versione di compiz-git precedentemente installata"
echo
echo "Versione 5.0"
echo "By Ansa89 (ansa89@slacky.it)"
echo
exit 1
;;
esac
#EOF
Versione 4.0 (per Slackware 12.0)
#!/bin/bash
# Script che scarica, compila e installa compiz-fusion versione git
#
# Compiz sarà compilato senza il supporto per metacity, gnome e gconf;
# in pratica sarà una versione per chi usa esclusivamente KDE su slackware 12.0
# :-)
#
# Script creato il 8/4/2008 da Ansa89 (avrei dovuto studiare Bergson e Dewey...)
# Variabili per la creazione del pacchetto .tgz
HERE=$(pwd)
PKG="package-getcompiz"
VERSION="git"
CHOST="i686"
ARCH=${ARCH:-i686}
BUILD=1
if [ "$ARCH" == "i386" ]; then
SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" == "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
elif [ "$ARCH" == "i686" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" == "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" == "x86_64" ]; then
SLKCFLAGS="-O2"
fi
# Variabili per il download di compiz
COMPIZ="git://git.freedesktop.org/git/xorg/app/compiz"
REPO="git://anongit.compiz-fusion.org/fusion/"
ITEMS="libraries/bcop"
ITEMS="$ITEMS plugins-main plugins-extra plugins-unsupported"
ITEMS="$ITEMS decorators/emerald decorators/emerald-themes"
ITEMS="$ITEMS compizconfig/libcompizconfig"
ITEMS="$ITEMS compizconfig/compizconfig-python"
ITEMS="$ITEMS compizconfig/ccsm"
ITEMS="$ITEMS i18n"
EXTRA="git://anongit.compiz-fusion.org/users/crdlb/fusion-icon"
# Gli argomenti da passare a "autogen.sh di compiz"
ARGS=" --enable-librsvg --enable-gtk --disable-metacity --disable-static --disable-gconf --enable-kde --build=i686-slackware-linux --prefix=/usr/local"
# Controllo se git è installato
if [ -z "$(which git-clone)" ]; then
echo "Devi avere GIT installato per usare questo script!"
exit 1;
fi
if [ -z "$(which git-pull)" ]; then
echo "Devi avere GIT installato per usare questo script!"
exit 1;
fi
# Controllo se python è installato
if [ -z "$(which python)" ]; then
echo "Devi avere PYTHON installato per usare questo script!"
exit 1;
fi
# Funzione per scaricare compiz-git
download () {
# Controllo se hai internet
if ! ping -c 5 www.slacky.eu &> /dev/null; then
echo "Devi poter accedere a internet per scaricare i sorgenti!"
exit 1;
fi
# Scarico e installo due pacchetti che servono
if ! ls /var/log/packages/ | grep gconf &> /dev/null; then
wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.0/network/gizmo/3.1.0.79/gconf-2.20.1-i686-6as.tgz
su -c "upgradepkg --install-new gconf-2.20.1-i686-6as.tgz"
fi
if ! ls /var/log/packages/ | grep orbit2 &> /dev/null; then
wget -c http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.0/network/gizmo/3.1.0.79/orbit2-2.14.10-i686-6as.tgz
su -c "upgradepkg --install-new orbit2-2.14.10-i686-6as.tgz"
fi
rm -f gconf-2.20.1-i686-6as.tgz orbit2-2.14.10-i686-6as.tgz
# Path dove si vuole scaricare i sorgenti
echo "Dove vuoi creare la cartella per i sorgenti? (usare un path assoluto, non relativo!!)"
echo "Se la cartella contiene già i sorgenti scaricati, questi verranno aggiornati ;-)"
echo -n "($HERE) "
read dir
if [ "$dir" == "" ]; then
dir=$HERE
fi
if [ ! -e $dir/compiz-git ]; then
mkdir -p $dir/compiz-git
fi
COMPIZDIR=$dir/compiz-git
PKG=$COMPIZDIR/$PKG
if [ ! -d $PKG ]; then
mkdir -p $PKG
fi
# Scarico tutti i rami del progetto di cui ho bisogno (oppure li aggiorno)
cd $COMPIZDIR
COMPIZDIR=$(pwd)
if [ ! -e compiz ]; then
echo "Scarico compiz..."
git-clone $COMPIZ
echo
else
cd compiz
echo "Sto aggiornando compiz..."
git-pull
cd ../
echo
fi
for z in $ITEMS; do
if [ ! -e $(echo $z | cut -d "/" -f 2) ]; then
echo "Scarico il ramo $z..."
git-clone $REPO$z
echo
else
cd $(echo $z | cut -d "/" -f 2)
echo "Sto aggiornando il ramo $z..."
git-pull
cd ../
echo
fi
done
cd $COMPIZDIR
if [ ! -e fusion-icon ]; then
echo "Scarico il ramo fusion-icon..."
git-clone $EXTRA
echo
else
cd fusion-icon
echo "Sto aggiornando il ramo fusion-icon..."
git-pull
cd ../
echo
fi
echo
echo "Ho terminato tutti i download :-)"
echo
}
# Funzione per installare compiz-git
installa () {
# Imposto il numero di versione
cd $COMPIZDIR/libcompizconfig
if [ -e VERSION ]; then
VERSION=$(cat VERSION | cut -d "=" -f 2)
fi
# Compilo compiz per primo (è una dipendenza degli altri pacchetti)
cd $COMPIZDIR/compiz
echo -n "Per primo compilo compiz con i seguenti flags: "
echo $ARGS
sleep 2
CFLAGS="$SLKCFLAGS"
CXXFLAGS="$SLKCFLAGS"
./autogen.sh $ARGS
sleep 2
make
if [ "$(echo $?)" == "0" ]; then
make install DESTDIR=$PKG
mkdir -p $PKG/usr/doc/compiz
cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/compiz/
cd $PKG
echo "Inserisci la password di root per creare e installare il pacchetto compiz-$VERSION-$ARCH-$BUILD.tgz"
su -c "makepkg -l y -c n $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/compiz-$VERSION-$ARCH-$BUILD.tgz && rm -Rf $PKG/*"
cd $COMPIZDIR
else
echo
echo "Qualcosa non è andato bene..."
echo "Esco"
echo
exit 1
fi
# Entro in tutte le cartelle
cd $COMPIZDIR
for i in libcompizconfig compizconfig-python bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes i18n; do
cd $COMPIZDIR/$i
# Imposto il numero di versione
if [ -e VERSION ]; then
VERSION2=$(cat VERSION | cut -d "=" -f 2)
else
VERSION2=$VERSION
fi
# Compilo e installo se trovo "autogen.sh"
if [ -e autogen.sh ]; then
echo
echo "Compilo $i"
CFLAGS="$SLKCFLAGS"
CXXFLAGS="$SLKFLAGS"
./autogen.sh
./configure
make clean
make
if [ "$(echo $?)" == "0" ]; then
make install DESTDIR=$PKG
mkdir -p $PKG/usr/doc/$i
cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$i
cd $PKG
echo "Inserisci la password di root per creare e installare il pacchetto $i-$VERSION2-$ARCH-$BUILD.tgz"
su -c "makepkg -l y -c n $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/$i-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/*"
cd $COMPIZDIR
if [ "$i" == "bcop" ] && [ ! -e /usr/local/lib/pkgconfig/bcop.pc ]; then
echo "Reinserisci la password di root"
su -c "ln -s /usr/local/share/pkgconfig/bcop.pc /usr/local/lib/pkgconfig/"
fi
else
echo
echo "Non sono riuscito ad installare $i"
echo "Mi fermo"
echo
cd ../
exit 1
fi
fi
done
# Adesso compilo CCSM perchè devo usare python
cd $COMPIZDIR
cd ccsm
if [ -e VERSION ]; then
VERSION2=$(cat VERSION | cut -d "=" -f 2)
else
VERSION2=$VERSION
fi
python setup.py clean
python setup.py build
if [ "$(echo $?)" == "0" ]; then
python setup.py --prefix=$PKG/
mkdir -p $PKG/usr/doc/ccsm/
cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/ccsm/
cd $PKG
echo "Inserisci la password di root per creare e installare il pacchetto ccsm-$VERSION2-$ARCH-$BUILD.tgz"
su -c "makepkg -l y -c n $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/ccsm-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/*"
cd ../
echo "Reinserisci la password di root"
su -c "ln -sf /usr/local/lib/python2.5/site-packages/c* /usr/lib/python2.5/site-packages/"
else
echo
echo "Non sono riuscito ad installare ccsm"
echo "Mi fermo"
echo
cd ../
exit 1
fi
# Chiedo se vuoi anche la fusion-icon
echo -n "Vuoi anche installare la fusion-icon? (s/n) "
read icon
if [ "$icon" == "" ]; then
icon="n"
fi
if [ "$icon" == "s" ]; then
cd $COMPIZDIR/fusion-icon
if [ "$(echo $?)" == "0" ]; then
if [ -e VERSION ]; then
VERSION2=$(cat VERSION | cut -d "=" -f 2)
else
VERSION2=$VERSION
fi
python setup.py clean
python setup.py build
python setup.py install --prefix=$PKG/
mkdir -p $PKG/usr/doc/fusion-icon/
cp -a AUTHORS COPYING* ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/fusion-icon/
echo "Inserisci la password di root per creare e installare il pacchetto fusion-icon-$VERSION2-$ARCH-$BUILD.tgz"
su -c "makepkg -l y -c n $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz && upgradepkg --install-new --reinstall $HERE/fusion-icon-$VERSION2-$ARCH-$BUILD.tgz && rm -Rf $PKG/* "
cd ../
else
echo
echo "Non sono riuscito ad installare fusion-icon"
echo "Mi fermo"
echo
cd ../
exit 1
fi
fi
echo
echo
echo "Congratulazioni!"
echo "Ora hai installato l'ultima versione di compiz-fusion (GIT) sul tuo PC!"
echo
echo "Have a lot of fun :-)"
}
# Funzione per disinstallare compiz-git
uninstall () {
# Cerco se ci sono pacchetti installati
if ls /var/log/packages/ | grep compiz &> /dev/null; then
echo "Ho trovato questi pacchetti installati che assomigliano a compiz:"
ls /var/log/packages/ | grep compiz
ls /var/log/packages/ | grep emerald
ls /var/log/packages/ | grep ccsm
ls /var/log/packages/ | grep fusion-icon
ls /var/log/packages/ | grep bcop
ls /var/log/packages/ | grep plugins
echo "Quali devo rimuovere?"
echo -n "(Lista di pacchetti separati da UNO SPAZIO) "
read canc
if [ ! "$canc" == "" ]; then
echo "Inserisci la password di root per eliminare i pacchetti $canc"
su -c "removepkg $canc"
fi
else
echo "Non ho trovato pacchetti installati che assomigliano a compiz."
echo
# Path contenente i sorgenti
echo "Dove si trova la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)"
echo -n "($HERE) "
read dir
if [ "$dir" == "" ]; then
dir=$HERE
fi
if [ ! -d $dir ]; then
echo "La cartella $dir non esiste!"
echo
exit 1
fi
cd $dir
for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n; do
if [ -d $i ]; then
cd $i
echo "Inserisci la password di root per rimuovere $i"
su -c "make uninstall"
cd ../
fi
done
# Adesso rimuovo CCSM perchè devo usare python
cd $dir/ccsm/
echo "Inserisci la password di root per rimuovere ccsm"
su -c "python setup.py uninstall"
# Chiedo se devo rimuovere anche la fusion-icon
echo -n "Devo rimuovere anche la fusion-icon? (s/n) "
read risp
if [ "$risp" == "" ] || [ "$risp" == "s" ]; then
cd $dir/fusion-icon/
echo "Inserisci la password di root per rimuovere fusion-icon"
su -c "python setup.py uninstall"
cd ../
fi
# Rimuovo anche tutti i sorgenti di compiz-git
cd $dir
cd ../
echo "Inserisci la password di root per rimuovere la cartella dei sorgenti"
su -c "echo -n 'Sto eliminando i sorgenti di compiz-git...' && rm -Rf compiz-git/ && echo 'Fatto'"
echo
fi
}
# Controllo il parametro passato allo script
case "$1" in
download)
download
exit 0
;;
install)
download
installa
exit 0
;;
only_install)
echo
echo "Dov'è la cartella contenente i sorgenti? (usare un path assoluto, non relativo!!)"
echo -n "($HERE) "
read COMPIZDIR
if [ "$COMPIZDIR" == "" ]; then
COMPIZDIR=$HERE
fi
cd $COMPIZDIR
for i in compiz bcop plugins-main plugins-extra plugins-unsupported emerald emerald-themes libcompizconfig compizconfig-python i18n fusion-icon; do
if [ ! -d $i ]; then
echo
echo "Il percorso $COMPIZDIR non è corretto o non contiene tutti i rami del progetto!"
echo "Prova con '$0 install'..."
echo "Mi fermo"
echo
exit 1
fi
done
installa
exit 0
;;
uninstall)
uninstall
exit 0
;;
*)
echo
echo "Opzioni valide:"
echo "$0 download --> per scaricare/aggiornare compiz-git"
echo "$0 install --> per scricare/aggiornare e installare compiz-git"
echo "$0 only_install --> per installare compiz-git se i sorgenti sono già stati scaricati"
echo "$0 uninstall --> per rimuovere una versione di compiz-git precedentemente installata"
echo
echo "Versione 4.0"
echo "By Ansa89 (ansa89@slacky.it)"
echo
exit 1
;;
esac
#EOF
- Autore: Ansa89
News
Inizio una sezione "news" per spiegare le migliorie che cerco di introdurre nelle nuove versioni:
- V 1.0 --> Prima versione...con un sacco di bug (eh oh)
- V 2.0 --> Dopo un bel periodo di prove ho capito come evitare alcuni problemi durante la compilazione dei vari componenti
- V 2.1 --> Ehm...avevo sbagliato a scrivere alcune linee di codice e mentre le correggevo mi è venuto in mente di aggiungere qualcosina: finalmente possiamo avere la fusion-icon!! :-D
- V 2.2 --> "plugins-main" non trovava "bcop" durante la configurazione a causa di un path errato (spiegazione). Un ringraziamento a JohnnyMnemonic :-)
- V 3.0 --> Adesso si può scegliere se installare/aggiornare compiz o semplicemente rimuoverlo :-D
- V 3.1b --> Versione BETA: adesso crea un pacchetto .tgz (per ogni componente) e lo installa; inoltre ho introdotto il "solo download/update", così l'utente può anche scaricare compiz-git senza doverlo installare
- V 3.1b2 --> Ancora BETA: c'erano troppe variabili e richieste: ne ho tolte un po' per snellire lo script
- V 3.1b3 --> Aggiunta la modalità "only_install" che permette di installare compiz-git senza riscaricare/aggiornare tutti i rami del progetto (ovviamente i sorgenti devono essere già presenti sul computer)
- V 3.1 --> Ultime correzioni di bug; lo script sembra completo, pertanto lo sviluppo si ferma (almeno fino a quando non verranno fuori altri problemi)
- V 3.2 --> Bugfix: adesso entra nella cartella "$PKG" prima di creare i pacchetti ".tgz" (errore segnalato da alexxxius). Inoltre la fusion-icon non dà più problemi di compilazione
- V 3.3 --> Altri bugfix (sempre su un errore segnalato da alexxxius). Stavolta non dovrebbero più esserci problemi
- V 4.0 --> Adesso per _OGNI_ ramo del progetto viene creato un pacchetto (prima ccsm e fusion-icon non erano pacchettizzati...) --Ultima release per Slackware 12.0--
- V 5.0 --> 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
Consigli
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 "fusion-icon" (posizionato in "/usr/bin"): questo lancerà automaticamente compiz e farà comparire una comoda icona nella tray-bar (la quale ovviamente avrà il simbolo di compiz-fusion); facendo click destro su questa icona si potrà scegliere il window-manager, il window-decorator e aprire il centro di controllo di compiz (ccsm). Inoltre offre altre funzionalità abbastanza comode :-)
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 qui. Un ringraziamento a mimmoforlug :-D
Feedback
Per commenti e suggerimenti inviatemi una e-mail a
ansa89[AT]slacky[DOT]it
HAVE A LOT OF FUN