Re: pacchetti .deb (LUNGA)
Erano le 10 e 18 circa, del 28 settembre 2001, quando, armeggiando con la tastiera, Andrea Barbaglia scrisse:
<cut>
> non crearsi un bel deb da installare con dpkg -i e cosi' quando mi sono
> stufato me lo tolgo
> con dpkg --remove o ---purge?
> Solamente che non ho ben capito come crearmi un pacchetto deb da un source.
> C'e' qualcuno che potrebbe per favore indicarmi come crearlo???
<cut>
I puristi quasi certamente mi linceranno, ma io semplicemente faccio
cosi':
1- compilo e installo il prog in un dir di prova (es /usr/src/tmp)
2- apro il deb originale del prog compilato (per es con mc)
3- ricreo la struttura della directory (es /usr/bin /usr/lib etc) in un
altra dir (es /usr/src/debian) e ci copio i file corrispondenti compilati.
Esempio:
il pacchetto originale XXX ha il file YYY in /usr/ZZZ. Io copio il file
yyy compilato che si trova in /usr/src/tmp/usr/zzz e lo copio in
/usr/src/debian/usr/ZZZ.
4- apro il control originale (nient'altro che la dir DEBIAN di mc) e in una dir temporanea (diciamo
/usr/src/debian/control) copio tutti i file che ci trovo (control pre
postins pre postrm)
5- adatto il control (cambiando versione a quella compilato es
x.y.z-1a: 1a mi serve per ricordare che la prima versione alpha dato
che l'ho compilato io) e i file *inst *rm (facendo attenzione a cosa
fanno e quali path hanno)
6- modifico il changelog.Debian.gz aggiungendo delle righe per la nuova
versione (copiando le precedenti)
7- compatto il tutto e creo il file data.tar.gz cosi':
(da /usr/src/debian/usr) tar zcvf ../data.tar.gz .
8- analogo comando per la dir control:
(da /usr/src/debian/control) tar zcvf ../control.tar.gz .
9- creo il file di testo debian-binary (contiene la versione del
sistema): echo "2.2" > debian.binary
10- ora dovrei avere in un'unica dir i file:
debian-binary
control.tar.gz
data.tar.gz
11- do il comando:
ar r nomepacchetto_versione.deb debian-binary
ar r nomepacchetto_versione.deb control.tar.gz
ar r nomepacchetto_versione.deb data.tar.gz
dove versione e' VERSIONECOMPILATA-1a
12- dpkg -i nomepacchetto e via
Lo so un po' macchinoso ma l'ho trovato il modo piu' semplice per creare
un pacchetto deb a partire da sorgente (avevo gia' letto tutto il
materiale disponibile su debian.org e pacchetti vari (Debian Manteiners
Guide) ma non avevo capito granche'.
Aggiungo che volendo si potrebbe (anzi dovrebbe) aggiornare le
dipendenze per il control (librerie necessarie).
Io faccio cosi':
ldd * #per ogni file seguibile del pacchetto
dpkg -S * #per ogni librerie richiesta -> ottengo i pacchetti che
contengono quella libreria
aggiungo i pacchetti in depends e il gioco fatto.
I miei programmi compilati (wmaker, wmakerconf, gimp, blender e altri)
ringraziono
Linuxian
--
Non credo che la bomba atomica spazzera' via il genere umano. Anche se
ne uccidesse i due terzi, rimarrebbero abbastanza uomini in grado di
pensare, e abbastanza libri per ricominciare daccapo.
Reply to: