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:

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.

[Avvertimento]

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.