Chiarisco:
1) Mea culpa sul --preserve-root, non sapevo esistesse (non mi è mai servito e non leggo proprio tutti i man dei comandi che uso). Comunque se esiste forse è perchè non sono l'unico salamino del mondo
2) Lo scriptino fatto male era, ovviamente, fatto da me!!!
3) La variabile inizia senza la / perchè lo scriptino serviva per modificare il pacchetto in /var/log/package/nome-pacchetto. In questa directory il contenuto dei pacchetti viene mostrato senza la / iniziale.
Ma a voi temerari della programmazione (mi piaceva come frase) vi racconto cosa ho fatto e perchè.
Avete mai fatto dei pacchetti per la slackware? Vi sarete accorti che non è difficile ma che però si ha bisogno del path assoluto in cui installare i file. Ma supponiamo di voler creare un pacchetto con dentro moduli esterni al kernel (nel mio caso era il modulo fglrx per il DRM della ATI).
Ho fatto uno scriptino che, partendo dall'RPM scaricato dal sito della ati ti genera direttamente il pacchetto slackware. Questo significa che lo scriptino fà:
1) Estrae i dati dall'RPM
2) Compila il modulo per il kernel corrente
3) Crea i file slack-desc e doinst.sh
4) Crea il pacchetto slackware con makepkg
E' tutto molto figo ora che funziona
comunque, visto che il modulo va installato nella sottodirectory:
Come faccio, una volta creato il pacchetto, a portarlo su un altra versione del kernel? Mi spiego. Posso creare il pacchetto per la versione corrente, nel mio caso quando creo il pacchetto lo metto in
ma ogni volta che installo il pacchetto questo file mi finirà sempre nella stessa directory e, se ho una versione nuova del kernel, andrà in una directory sbagliata.
Insomma, come risolvo il problema? Ecco la mia soluzione (se avete di meglio suggerite)
Il modulo lo metto in una directory temporanea e poi, con il doinst.sh lo sposto nella directory corretta ed elimino la directory temporanea. Inoltre il doinst.sh si deve preoccupare di modificare il file:
in modo che ogni riferimento alla directory temporanea sia modificato con quello alla directory in cui ho spostato il file.
Il casino è successo al punto 3 (creazione dei file slack-desc e doinst.sh).
Come fa uno script a creare dei file, semplice fa un echo blablabla su un file.
Ma avete mai provato a creare un file che a sua volta faccia un echo? Non è così immediato, e quindi.....
Ciao ciao
Spina
P.S. ahh, se qualcuno vuole vedere il pacchetto, glielo mando volentieri hihihihihi, fidatevi
