Voici la méthode que j'utilise pour créer un paquet Debian en utilisant qmake, dh_make et dpkg-buildpackage.
Les outils pour la génération de paquets Debian sont :
apt-get install cdbs dh-make fakeroot devscripts
Mon programme utilise Qt, donc j'utilise qmake pour générer un Makefile. Le fichier programme.pro ressemble à cela :
INCLUDEPATH += . /usr/include/sigc++-2.0 TEMPLATE = app TARGET = programme target.path = /usr/bin INSTALLS += target OBJECTS_DIR = tmp CONFIG += qt warn_on unix:LIBS += -lpar2 HEADERS += mainwindow.h FORMS += mainwindow.ui SOURCES += mainwindow.cpp main.cpp
Pour générer le Makefile :
cd <programme>-<version> qmake programme.pro
La commande dh_make produit un squelette qui va servir à générer le paquet.
DEBFULLNAME="toto" dh_make -e mail@du.responsable -n -s -c gpl
Le paramètre :
-e contient l'email du responsable du paquet-n produit un paquet natif (paquet fait pour Debian)-s indique que le programme est un simple executable-c gpl donne la licence du programmeDEBFULLNAME donne le nom du responsable du paquetEnsuite on efface les fichiers qui ne servent pas :
rm debian/*.ex debian/*.EX debian/docs debian/dirs
Par défaut dh_make construit un fichier debian/rules générique, on va le remplacer par un script qui utilise cdbs :
#!/usr/bin/make -f include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/class/qmake.mk QMAKE=qmake-qt4
Il faut indiquer les changements apportés par la nouvelles version :
dch -a # pour ajouter de nouvelles remarques à la version courante dch -i # pour incrementer le numéro de version
Pour générer le paquet :
dpkg-buildpackage -rfakeroot
Le paquet .deb sera généré dan le répertoire parent.