{"id":44,"date":"2016-02-09T01:06:53","date_gmt":"2016-02-09T01:06:53","guid":{"rendered":"https:\/\/www.freebyte.fr\/?p=44"},"modified":"2016-02-09T01:24:13","modified_gmt":"2016-02-09T01:24:13","slug":"packaging-de-texomaker-sous-ubuntu","status":"publish","type":"post","link":"https:\/\/www.freebyte.fr\/?p=44","title":{"rendered":"Packaging de TeXoMaker sous Ubuntu"},"content":{"rendered":"<h1>Installer les paquets n\u00e9cessaires<\/h1>\n<pre><code>sudo apt-get install pbuilder dh-make debhelper ubuntu-dev-tools<\/code><\/pre>\n<h2>Cr\u00e9er l\u2019environnement chroot<\/h2>\n<pre><code>pbuilder-dist trusty amd64 create<\/code><\/pre>\n<p>ou pour i386 :<\/p>\n<pre><code>pbuilder-dist trusty i386 create<\/code><\/pre>\n<p>Cela cr\u00e9e un dossier <code>pbuilder<\/code> dans le home. Dans celui-ci on trouve deux dossiers : <code>trusty_result<\/code> et <code>trusty-i386_result<\/code> o\u00f9 arriveront les compilations effectu\u00e9es avec <code>pbuilder-dist<\/code>.<\/p>\n<h2>Cr\u00e9er le paquet source <code>.dsc<\/code><\/h2>\n<p>Exemples avec la version 3.0.3 de TeXoMaker.<\/p>\n<p>Cr\u00e9er un dossier sp\u00e9cifique du genre <code>packaging<\/code>.<\/p>\n<p>Y Placer le dossier texomaker\u20133.0.3 contenant les sources de d\u00e9part pour linux.<\/p>\n<h3>Makefiles<\/h3>\n<p>Pour faire des builds pour 32 et 64 bits, il est n\u00e9cessaire de pr\u00e9parer deux Makefiles sp\u00e9cifiques.<\/p>\n<p>Sur la machine 64 bits (a priori celle sur laquelle on travaille) :<\/p>\n<pre><code>qmake<\/code><\/pre>\n<p>Puis renommer le Makefile en <code>make64.mk<\/code>, Enlever les premi\u00e8res lignes. Le fichier doit commencer par :<\/p>\n<pre><code>####### Compiler, tools and options<\/code><\/pre>\n<p>Cr\u00e9er un fichier <code>make32.mk<\/code> vide.<\/p>\n<p>Sur la machine 32 bits, faire pareil. Copier le contenu du Makefile cr\u00e9\u00e9, \u00e0 partir de <code>####### Compiler, tools and options<\/code>, et le coller dans le fichier <code>make32.mk<\/code> de la machine 64 bits. Cr\u00e9er enfin le fichier <code>Makefile<\/code> contenant :<\/p>\n<pre><code>MAKEFILE      = Makefile\r\n\r\nARCH :=$(shell getconf LONG_BIT)\r\n\r\nifeq ($(ARCH),32)\r\ninclude make32.mk\r\nelse\r\ninclude make64.mk\r\nendif\r\n<\/code><\/pre>\n<h3>Pr\u00e9paration<\/h3>\n<p>On est donc dans le dossier <code>packaging<\/code> dans lequel on a le dossier original <code>texomaker-3.0.3<\/code>.<\/p>\n<pre><code>cp texomaker-3.0.3 texomaker\r\ntar czf texomaker-3.0.3.tar.gz texeomaker-3.0.3\r\ncp texomaker-3.0.3.tar.gz texomaker_3.0.3.orig.tar.gz<\/code><\/pre>\n<p>Cr\u00e9er dans <code>texomaker<\/code> le dossier <code>debian<\/code>. En pratique on copiera le dossier exemple de ce r\u00e9pertoire \u00e0 adapter.<\/p>\n<p>\u00c0 priori le seul fichier \u00e0 adapter est le fichier <code>changelog<\/code> : changer la version\u2026.<\/p>\n<h3>Cr\u00e9ation du fichier source <code>.dsc<\/code><\/h3>\n<p>On se place dans le dossier <code>texomaker<\/code> :<\/p>\n<pre><code>debuild -S -sa<\/code><\/pre>\n<p>Il faut avoir configur\u00e9 les cl\u00e9s gpg correspondantes et les avoir synchronis\u00e9es avec le serveur Ubuntu.<\/p>\n<h2>Essai de construction des paquets<\/h2>\n<p>On remonte d\u2019un cran :<\/p>\n<pre><code>cd ..<\/code><\/pre>\n<p>Avant d\u2019envoyer sur le ppa, il faut tester que la construction se passe bien pour les deux architectures :<\/p>\n<pre><code>pbuilder-dist trusty amd64 build texomaker_3.0.3-0ubuntu1.dsc<\/code><\/pre>\n<p>puis<\/p>\n<pre><code>pbuilder-dist trusty i386 build texomaker_3.0.3-0ubuntu1.dsc<\/code><\/pre>\n<p>Si tout se passe bien les paquets <code>.deb<\/code> sont dans les dossiers <code>result<\/code> dans le r\u00e9pertoire <code>pbuilder<\/code>.<\/p>\n<h2>Envoi sur le ppa<\/h2>\n<p>Si tout s\u2019est bien pass\u00e9, on est pr\u00eat \u00e0 uploader sur le ppa. Rappelons que l\u2019on envoie sur le Launchpad uniquement les sources qui sont construites sur les serveurs de Canonical :<\/p>\n<pre><code>dput ppa:gwenael-m\/freebyte texomaker_3.0.3-0ubuntu1_source.changes\r\n<\/code><\/pre>\n<h2>Ajout du ppa sur une machine<\/h2>\n<pre><code>sudo apt-add-repository ppa:gwenael-m\/freebyte<\/code><\/pre>\n<p>En cas de probl\u00e8me de cl\u00e9 GPG :<\/p>\n<pre><code>sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 920E8E730C666B93\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Installer les paquets n\u00e9cessaires sudo apt-get install pbuilder dh-make debhelper ubuntu-dev-tools Cr\u00e9er l\u2019environnement chroot pbuilder-dist trusty amd64 create ou pour i386 : pbuilder-dist trusty i386 create Cela cr\u00e9e un dossier pbuilder dans le home. Dans celui-ci on trouve deux dossiers : trusty_result et trusty-i386_result o\u00f9 arriveront les compilations effectu\u00e9es avec pbuilder-dist. Cr\u00e9er le paquet source [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,7,5],"tags":[],"class_list":{"0":"post-44","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-info","7":"category-linux","8":"category-qt","9":"czr-hentry"},"_links":{"self":[{"href":"https:\/\/www.freebyte.fr\/index.php?rest_route=\/wp\/v2\/posts\/44"}],"collection":[{"href":"https:\/\/www.freebyte.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.freebyte.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.freebyte.fr\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.freebyte.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=44"}],"version-history":[{"count":9,"href":"https:\/\/www.freebyte.fr\/index.php?rest_route=\/wp\/v2\/posts\/44\/revisions"}],"predecessor-version":[{"id":55,"href":"https:\/\/www.freebyte.fr\/index.php?rest_route=\/wp\/v2\/posts\/44\/revisions\/55"}],"wp:attachment":[{"href":"https:\/\/www.freebyte.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=44"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.freebyte.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=44"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.freebyte.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=44"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}