Creare pacchetti debian personalizzati

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

4 Risposte a “Creare pacchetti debian personalizzati”

  1. maverick Dice:

    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

  2. montoya Dice:

    @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!

  3. Anubis Dice:

    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!

  4. underground0 Dice:

    good job! :D

Lascia una Risposta