[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: