Come creare un pacchetto Debian

Un pacchetto .deb puo' essere generato con tecniche differenti.
Se non e' importante verificare le dipendenze dei binari che desiderate installare, allora si puo' usare
questo metodo qui che e' in assoluto il piu' veloce e semplice:

1) Si crea la struttura del pacchetto con le  cartelle in cui i file dovranno essere copiati.
In questo esempio verra' creato un deb che installa il binario chiamato "ilmioprogramma" nella cartella "/usr/local/bin/" e la libreria "lamialibreria" in "/lib/":

$ mkdir ilmioprimodeb
$ cd ilmioprimodeb
~/ilmioprimodeb$ mkdir lib
~/ilmioprimodeb$ mkdir usr/local/bin/ -p
~/ilmioprimodeb$

2) Poi si copia all'interno delle cartelle i file:

~/ilmioprimodeb$ cp /path/ilmioprogramma usr/local/bin/
~/ilmioprimodeb$ cp /path/lamialibreria lib

3) Si genera una archivio:

~/ilmioprimodeb$ tar zcvfp ilmioprimodeb.tar.gz usr/ lib/

4) Si crea infine il .deb con l'applicazione "alien":

alien --to-deb ilmioprimodeb.tar.gz

Quando invece e' necessario dover verificare le dipendere dell'applicazione da installare, allora si dovra' utilizzare quest'altra tecnica:

1) Si crea la struttura del pacchetto con le  cartelle in cui i file dovranno essere copiati.
In questo esempio verra' creato un deb che installa il binario chiamato "ilmioprogramma" nella cartella "/usr/local/sbin/" ed il file "configurazione" in "/etc/":

$ mkdir ilmioprimodeb
$ cd ilmioprimodeb
~/ilmioprimodeb$ mkdir etc
~/ilmioprimodeb$ mkdir usr/local/sbin/ -p
~/ilmioprimodeb$

2) Poi si copiano all'interno delle cartelle i file:

~/ilmioprimodeb$ cp /path/ilmioprogramma usr/local/sbin/
~/ilmioprimodeb$ cp /path/configurazione etc

3) Si crea una cartella chiamata DEBIAN ed il file control:

~/ilmioprimodeb$ mkdir DEBIAN
~/ilmioprimodeb$ touch DEBIAN/control

4) Scriviamo all'interno del file control:
Notate come in questo caso sia richiesta la dipendenza del pacchetto apache2.2-common (>=2.2.0) e dell'architettura i386.
Maggiori informazioni sul file "control" sono disponibili a questa URL: http://www.debian.org/doc/debian-policy/ch-controlfields.html

Package: ilmioprogramma
Version: 1.0
Priority: optional
Section: web
Depends: apache2.2-common (>=2.2.0)
Architecture: i386
Maintainer: Luca Ercoli [luca@lucaercoli.it]
Description: Questa e' la descrizione del mio programma.

5) Si crea infine il .deb:

~/ilmioprimodeb$ cd ..
~/dpkg --build ilmioprimodeb/ ilmioprimodeb.deb