Repository 32bit  Forum
Repository 64bit  Wiki

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

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

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

Messaggioda Procopio » mer gen 22, 2014 1:30

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
Ultima modifica di Procopio il gio gen 23, 2014 12:42, modificato 5 volte in totale.
Avatar utente
Procopio
Linux 2.6
Linux 2.6
 
Messaggi: 593
Iscritto il: ven lug 29, 2011 10:50
Località: Torino
Nome Cognome: Matteo Micheletto Oddino
Kernel: 3.16.1-1-ARCH
Desktop: awesome 3.5.5-1
Distribuzione: ArchLinux

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

Messaggioda miklos » mer gen 22, 2014 9:38

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
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1207
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.12.6
Desktop: openbox 3.5.2

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

Messaggioda Procopio » mer gen 22, 2014 14:35

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?
Avatar utente
Procopio
Linux 2.6
Linux 2.6
 
Messaggi: 593
Iscritto il: ven lug 29, 2011 10:50
Località: Torino
Nome Cognome: Matteo Micheletto Oddino
Kernel: 3.16.1-1-ARCH
Desktop: awesome 3.5.5-1
Distribuzione: ArchLinux

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

Messaggioda miklos » mer gen 22, 2014 14:53

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)
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1207
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.12.6
Desktop: openbox 3.5.2

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

Messaggioda Procopio » mer gen 22, 2014 15:07

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!
Avatar utente
Procopio
Linux 2.6
Linux 2.6
 
Messaggi: 593
Iscritto il: ven lug 29, 2011 10:50
Località: Torino
Nome Cognome: Matteo Micheletto Oddino
Kernel: 3.16.1-1-ARCH
Desktop: awesome 3.5.5-1
Distribuzione: ArchLinux

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

Messaggioda miklos » mer gen 22, 2014 15:09

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.
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1207
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.12.6
Desktop: openbox 3.5.2

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

Messaggioda Procopio » gio gen 23, 2014 12:49

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?
Avatar utente
Procopio
Linux 2.6
Linux 2.6
 
Messaggi: 593
Iscritto il: ven lug 29, 2011 10:50
Località: Torino
Nome Cognome: Matteo Micheletto Oddino
Kernel: 3.16.1-1-ARCH
Desktop: awesome 3.5.5-1
Distribuzione: ArchLinux


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti