Pagina 1 di 1

il mio primo script!!^.^utility per installare lo slackbuild

Inviato: mer 22 gen 2014, 1:30
da Procopio
Ciao a tutti!!

Dopo l'ennesima installazione di slackware non avevo nessuna voglia di installare da capo lo slackbuild di vlc con tutte e 40(?) le dipendenze che si porta dietro...
Ho creato quindi uno scriptino bash che semplicemente scompatta lo slackbuild, ci incolla dentro il sorgente, compila lo slackbuild e installa il pacchetto creato, lasciando tutto pulito...

Ovviamente lo script va ripetuto per ogni pacchetto e le dipendenze vanno curate a mano.
Io ad esempio per utilizzarlo ho creato una directory nella mia home, nella quale scarico l'archivio dello slackbuild e dei sorgenti che voglio dare in pasto allo script. Questa directory viene poi lascia vuota dallo script e pronta per gli archivi di un altro slackbuild.
Le eventuali opzioni di compilazione (si veda ad esempio aMule) possono essere inserite prima del comando che lancia lo script, ad esempio:

Codice: Seleziona tutto

DAEMON=yes CMD=yes WEBSERVER=yes ALC=yes ALCC=yes XAS=yes GEOIP=yes MMAP=yes OPTIMIZE=no sh slackbuild
Ora, non so gli utenti esperti, o più furbi di me, come si regolino quando devono compilare gli slackbuild con molte dipendenze...io reiteravo a mano la procedura che fa questo script ed era veramente una cosa pesante, quando non hai particolari esigenze di editing sui singoli files...

Prima che qualcuno leggendo quello script mi insulti, mi banni, tenti di uccidermi, dica che quelli come me gli fanno tanta rabbia, etc... sappiate che questo è il mio primo script e che ho inniziato a leggere un po di bash scripting alle sei di oggi pomeriggio, e mi sono fermato al primo capitolo: assegnazione delle variabili :D
Infatti in questo scriptino altro non c'è che assegnazione delle variabili. Il fatto però che per il mio scopo si sia rivelato soddisfacente mi ha convinto a condividerlo qua con voi:)


EDIT: Ho fixato il bug iniziale che non permetteva allo script di funzionare quando il sorgente ha più archivi
procopio ha scritto:Un bug che immediatamente salta all'occhio è poi che: per gli slackbuild che hanno i sorgenti su più archivi (tipo texlive) questo script non funge, e bisogna installarli a mano.
ora funziona anche in quel caso, basta scaricare nella directory di DIR_LOG tutti gli archivi dei sorgenti e l'archivio dello slackbuild, e ci pensa lo script a riconoscere i vari archivi ed utilizzarli nella maniera corretta.

Codice: Seleziona tutto

#!/bin/bash
shopt -s extglob

DIR_LOG=/home/matteo/slackbuilds
cd $DIR_LOG

SLKBUILD=$(ls -S |tail -1)
tar xpzf $DIR_LOG/$SLKBUILD
rm $DIR_LOG/$SLKBUILD

DIR_SB=$(ls -u -r |tail -1)
mv $DIR_LOG/!($DIR_SB) $DIR_LOG/$DIR_SB
cd $DIR_LOG/$DIR_SB


chmod +x $DIR_LOG/$DIR_SB/*.SlackBuild
echo "compilo lo slackbuild"
sh $DIR_LOG/$DIR_SB/*.SlackBuild


cd $DIR_LOG
rm -r $DIR_LOG/*


PAKAGE=/tmp
echo "installo il pacchetto"
upgradepkg --install-new $PAKAGE/*.tgz


rm $PAKAGE/*.tgz

Re: il mio primo script!!^.^utility per installare lo slackb

Inviato: mer 22 gen 2014, 9:38
da ilmich
L'idea non è male, io mi trovo raramente (per questioni di principio relative al fatto che non utilizzo software con troppe dipendenze) nella tua situazione, ma compilo (e devo prepararmi a farlo qui' su slacky) mate desktop che è un bel mattoncino e in passato mi sono ispirato a questo script che pat utilizza per xfce

ciau

Re: il mio primo script!!^.^utility per installare lo slackb

Inviato: mer 22 gen 2014, 14:35
da Procopio
be` si quell e` un altro metodo, ma, ad esempio nel mio caso, non potrei gestire la configurazione di ffmpeg, e soprattutto gestire la compilazione e installazione di texlive, senza la quale i pacchetti dopo non si compilano...

Una domanda importante e` questa: se io elimino la directory /tmp/SBo o la ripulisco periodicamente, posso avere dei problemi nelle compilazioni future? qual e` il suo scopo esattamente? So che l'installazione di un programma comporta che i suoi files di sistema vadano a modificare alcuni files di sistema, piuttosto che non crearne altri in vari percorsi etc, ma la compilazione dovrebbe non intaccare il mio sistema, giusto? dovrebbe essere contingente alla directory in cui si esegue, no?

Re: il mio primo script!!^.^utility per installare lo slackb

Inviato: mer 22 gen 2014, 14:53
da ilmich
Procopio ha scritto:Una domanda importante e` questa: se io elimino la directory /tmp/SBo o la ripulisco periodicamente, posso avere dei problemi nelle compilazioni future? qual e` il suo scopo esattamente?
Assolutamente no.
Se ti ci fai un giro dentro vedrai la seguente struttura

Codice: Seleziona tutto

+ nome pacchetto
+--- sorgente scompattato
+--- installazione dal quale poi viene generato il pacchetto
ogni qualvolta lanci uno slackbuild questo percorso viene ripulito (chiaramente se lo slackbuild è fatto secondo standard piu' o meno diffusi)

Re: il mio primo script!!^.^utility per installare lo slackb

Inviato: mer 22 gen 2014, 15:07
da Procopio
eh no, nel mio caso e` piena con tutti gli slackbuild che ho compilato da quando ho installato la slack, e mi sta saturando la /, allora la svuoto, grazie!

Re: il mio primo script!!^.^utility per installare lo slackb

Inviato: mer 22 gen 2014, 15:09
da ilmich
mi sono espresso male, intendevo che a fronte della compilazione dello stesso pacchetto, questo percorso viene ripulito, non tutta la directory /tmp/SBo.
se la vuoi svuotare, devi farlo manualmente.

Re: il mio primo script!!^.^utility per installare lo slackb

Inviato: gio 23 gen 2014, 12:49
da Procopio
ho fixato il problema dei sorgenti multipli, ora funziona anche su slackbuilds che hanno i sorgenti compattati in più archivi..
per farlo ho aggiunto shopt -s extglob, dite che dovrei aggiungerlo più che altro in .bashrc?