====== Créer un paquet Debian ====== Voici la méthode que j'utilise pour créer un paquet Debian en utilisant qmake, dh_make et dpkg-buildpackage. ===== Installation des paquets nécessaires ===== Les outils pour la génération de paquets Debian sont : apt-get install cdbs dh-make fakeroot devscripts ===== Préparation des sources ===== * Nettoyer au maximum l'arbre des sources pour n'avoir que le minimum. * Placer les sources dans un répertoire qui porte le nom - 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 - qmake programme.pro ===== Préparation du paquet ===== 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 programme * ''DEBFULLNAME'' donne le nom du responsable du paquet Ensuite 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 ===== Génération du paquet ===== 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. ===== Littérature ===== * Le guide du dev Debian : http://www.debian.org/doc/developers-reference/ particulierement le chapitre 6 sur les paquets. * Utilisation de cdbs : https://perso.duckcorp.org/duck/cdbs-doc/cdbs-doc.xhtml * http://www.debian.org/doc/packaging-manuals/menu.html/ch3.html#s3.7 * http://www.mail-archive.com/debian-med@lists.debian.org/msg01376.html * http://wiki.ubuntu.com/MOTU/Packages/DesktopFiles