Nella guida “Creare pacchetti debian partendo dai sorgenti” avevamo visto come era facile costruirsi un pacchetto deb, partendo da un tarball comprensivo di configure e Makefile. Ma se noi volessimo creare un pacchetto del tutto personale?

Supponiamo ad esempio di avere un programma fatto da noi che non contenga nessun sistema automatizzato per la compilazione ed installazione… un banale programma che stampi a video “Ciao ToastedTech”. Se lo volessimo redistribuire sarebbe un problema! Vediamo quindi come creare un pacchetto debian partendo da un qualsiasi insieme di file (nel nostro caso, un semplicissimo file binario).
Nota: ovviamente la guida può essere estesa a programmi leggermente più complicati :)
Installiamo prima di tutto i strumenti necessari:
# apt-get install devscripts dh-make make build-essential dpkg dpkg-dev apt
Prima di tutto dovete creare una cartella con indicato il nome e versione del pacchetto. Il nome è molto importante perché deve avere una certa sintassi. In genere è del tipo <pacchetto>-<versione> quindi ad esempio:
$ mkdir prova-1.0
Il passo successivo sarà quello di creare una cartella DEBIAN e un file control:
$ cd prova-1.0
$ mkdir DEBIAN
$ cd DEBIAN
$ vim control
Dentro al file dovrete mettere tutte le caratteristiche del pacchetto, come nome, dipendenze, dimensione ecc. Un esempio di file control è indicato sotto:
Package: prova
Version: 1.0
Section: devel
Priority: optional
Architecture: all
Essential: no
Depends: libc6, binutils (>= 2.12)
Pre-Depends: perl
Recommends: iceweasel | konqueror
Suggests: dolphin
Installed-Size: 1234
Maintainer: Nome Cognome [nc@provider.com]
Conflicts: gaim
Replaces: gaim
Description: Descrizione breve del programma.
La configurazione principale è finita.
Ritorniamo alla cartella prova-1.0. Questa simula l’inizio del filesystem (/). A partire da essa potete creare altre sottocartelle e inserire tutti i file che volete in modo da far rispecchiare una ipotetica collocazione dei file.
Un binario (nostro esempio) dovrà essere piazzato in /usr/bin, quindi avremo una situazione del genere.

Ora è possibile creare il pacchetto debian. Posizionatevi nella directory padre di prova-1.0 e lanciate questo semplice comando:
$ dpkg -b prova-1.0/ prova-1.0.deb
Ora non basta che installare il pacchetto:
# dpkg -i prova-1.0.deb
Wow, il pacchetto è stato creato ed installato. Per scrupolo proviamo il nostro programmone da shell:
$ prova
Ciao ToastedTech
Questo significa che è andato tutto nel verso giusto. Per disinstallare il programma, lanciate un:
# apt-get remove prova
29 Novembre 2007 @ 10:02 alle 10:02
ciao molto interessante ma senti per creare dei pacchetti di repository la procedura è la stessa??
per capirci volevo fare dei pacchetti .deb per installare i repository sul sources.list in modo automatico senza dover editare a mano sempre tutto quanto… come si fa??
grazie per la risposta
29 Novembre 2007 @ 10:13 alle 10:13
@maverick
A breve farò un post sulla creazione di repository locali da aggiungere al sources.list
Comunque sì, per creare i pacchetti personali da inserire in un proprio repos puoi sempre seguire questa guida.
ciao!
29 Novembre 2007 @ 14:34 alle 14:34
Ciao, leggendo i tuoi 2 articoli sulla pacchettizzazione deb volevo chiederti se volevi collaborare con linuxpedia. Abbiamo iniziato infatti un progetto per “spiegare” la creazione dei pacchetti, io personalmente gestisco la parte sugli rpm, non so nulla riguardo ai deb però. puoi dare un occhio qui: http://www.linuxpedia.netsons.org/index.php/Guida_alla_creazione_di_file_rpm
grazie ciao!
29 Novembre 2007 @ 15:19 alle 15:19
good job! :D