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 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 |
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
Per maggiori informazioni su CDBS, si veda la guida di Marc Dequènes su https://perso.duckcorp.org/duck/cdbs-doc/cdbs-doc.xhtml.