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
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
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
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.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.
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