## Creazione dei pacchetti con CDBS

CDBS è uno strumento che si basa su debhelper per rendere la creazione e la manutenzione dei pacchetti Debian ancora più facile. Ha molti vantaggi:

- Crea un breve, leggibile ed efficiente `debian/rules`

- Automatizza debhelper e autotools per te, in modo che tu non debba preoccuparti a riguardo delle rispettive procedure

- Ti aiuta nel focalizzarti su problemi più rilevanti, dato che fornisce un aiuto senza limitare la personalizzazione

- Le sue classi sono state verificate attentamente, così puoi evitare sporchi trucchetti per risolvere problemi comuni

- Migrare a CDBS è facile

- E' estensibile

### Usare CDBS nei pacchetti

Usare CDBS per i pacchetti di Ubuntu è molto facile. Dopo aver aggiunto cdbs a Build-Depends in `debian/control`, un semplice file `debian/rules` che USA occupa solo due rughe. Per una semplice applicazione C/C++ senza regole aggiuntive, come hello, `debian/rules` assomiglia a:

    #!/usr/bin/make -f

    include /usr/share/cdbs/1/rules/debhelper.mk
    include /usr/share/cdbs/1/class/autotools.mk

Questo è tutto quello che ti occorre per compilare il programma! CDBS gestisce l'installazione e la pulizia. Puoi usare i file `.install` e `.info` files per adattare il tuo pacchetto con le classiche funzioni di debhelper nelle varie sezioni di `debian/rules`.

Non usare DEB_AUTO_UPDATE_DEBIAN_CONTROL:=yes per cambiare automaticamente `debian/control`. Può creare gravi problemi, e Debian lo considera un motivo per rifiutare un pacchetto per l'inclusione negli archivi. Si veda http://ftp-master.debian.org/REJECT-FAQ.html per maggiori informazioni.

Come puoi vedere CDBS lavora per la gran parte inserendo i Makefile `.mk` in `debian/rules`. Il pacchetto cdbs fornisce tali file in `/usr/share/cdbs/1/` e ti permettono di svolgere parecchie operazioni per la creazione di pacchetti. Altri pacchetti, come quilt, aggiungono moduli a CDBS e devono essere usati come Build-Depends. Osserva che puoi usare una regola CDBS creata da te e includerla nel pacchetto. I moduli più utili inclusi nel pacchetto cdbs sono:

- `rules/debhelper.mk`: Richiama debhelper in tutte le sezioni richieste

- `rules/dpatch.mk`: Ti permette di usare dpatch per applicare modifiche ai sorgenti con facilità

- `rules/simple-patchsys.mk`: Fornisce un semplice meccanismo per applicare modifiche ai sorgenti

- `rules/tarball.mk`: Ti permette di costruire i pacchetti usando l'archivio compresso nel pacchetto

- `class/autotools.mk`: Richiama autotools in tutte le sezioni richieste

- `class/gnome.mk`: Crea i programmi per GNOME (richiede le relative Build-Depends in `debian/control`)

- `class/kde.mk`: Crea i programmi per KDE (richiede le relative Build-Depends in `debian/control`)

- `class/python-distutils.mk`: Facilita la creazione di pacchetti per programmi basati su Python

### Maggiori informazioni su CDBS

Per maggiori informazioni su CDBS, si veda la guida di Marc Dequènes su https://perso.duckcorp.org/duck/cdbs-doc/cdbs-doc.xhtml.

Creare pacchetti con Debhelper |  | Errori comuni