Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
tutoriel:comment_publier_une_application_java [Le 20/11/2017, 16:34] scaph {{tag>tutoriel}} |
tutoriel:comment_publier_une_application_java [Le 11/09/2022, 12:25] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
|---|---|---|---|
| Ligne 6: | Ligne 6: | ||
| Ce tutoriel décrit une méthode pour publier une application java et la rendre installable via un ppa. | Ce tutoriel décrit une méthode pour publier une application java et la rendre installable via un ppa. | ||
| - | A noter que cette méthode peut également être utilisée pour publier une application réalisée dans un autre langage et dont l'installation ne requiert pas une recompilation des sources. | + | A noter que cette méthode peut également être utilisée pour publier une application réalisée dans un autre langage et dont l'installation ne requiert pas une re-compilation des sources. |
| ===== Pré-requis ===== | ===== Pré-requis ===== | ||
| Ligne 13: | Ligne 13: | ||
| Il est indispensable de créer un ppa sur launchpad.net. Cette [[http://developer.ubuntu.com/publish/apps/other-forms-of-submitting-apps/ppa/|page]] vous y aidera. | Il est indispensable de créer un ppa sur launchpad.net. Cette [[http://developer.ubuntu.com/publish/apps/other-forms-of-submitting-apps/ppa/|page]] vous y aidera. | ||
| - | Pour ce faire il faut : | + | Pour ce faire il faut : |
| * Se créer un compte sur launchpad.net | * Se créer un compte sur launchpad.net | ||
| * Se créer une clef gpg (à l'aide de SeaHorse ou Kgpg) | * Se créer une clef gpg (à l'aide de SeaHorse ou Kgpg) | ||
| Ligne 38: | Ligne 38: | ||
| ===== dh_make : initialisation des fichiers debian ===== | ===== dh_make : initialisation des fichiers debian ===== | ||
| - | Dans le répertoire $PPA_HOME/monappli/monappli-0.1.0 : | + | Dans le répertoire $PPA_HOME/monappli/monappli-0.1.0 : |
| <code> | <code> | ||
| dh_make --single --native --copyright apache --email moi@email.com | dh_make --single --native --copyright apache --email moi@email.com | ||
| Ligne 44: | Ligne 44: | ||
| A noter que le paramètre "copyright" indique la licence sous laquelle vous souhaitez publier votre oeuvre (ici apache). Pour plus de détails : [[http://developer.ubuntu.com/publish/apps/choosing-a-license/|ici]] | A noter que le paramètre "copyright" indique la licence sous laquelle vous souhaitez publier votre oeuvre (ici apache). Pour plus de détails : [[http://developer.ubuntu.com/publish/apps/choosing-a-license/|ici]] | ||
| Il est également important que l'email soit le même que celui avec lequel vous avez la clef GPG. | Il est également important que l'email soit le même que celui avec lequel vous avez la clef GPG. | ||
| - | Ceci va créer un sous-répertoire debian contenant différents fichiers. Les fichiers avec les extensions .ex et .EX sont sans intérêts. Donc sous $PPA_HOME/monappli/monappli-0.1.0 : | + | Ceci va créer un sous-répertoire debian contenant différents fichiers. Les fichiers avec les extensions .ex et .EX sont sans intérêts. Donc sous $PPA_HOME/monappli/monappli-0.1.0 : |
| <code> | <code> | ||
| rm debian/*.ex debian/*.EX | rm debian/*.ex debian/*.EX | ||
| Ligne 51: | Ligne 51: | ||
| Voyons maintenant les fichiers importants sous $PPA_HOME/monappli/monappli-0.1.0/debian. | Voyons maintenant les fichiers importants sous $PPA_HOME/monappli/monappli-0.1.0/debian. | ||
| ==== Fichier changelog ==== | ==== Fichier changelog ==== | ||
| - | Ce fichier contient les informations décrivant les changements opérés depuis la dernière version. Vous devez avoir cela : | + | Ce fichier contient les informations décrivant les changements opérés depuis la dernière version. Vous devez avoir cela : |
| <code> | <code> | ||
| monappli (0.1.0) unstable; urgency=low | monappli (0.1.0) unstable; urgency=low | ||
| Ligne 59: | Ligne 59: | ||
| -- Moi <moi@email.com> Sat, 04 Oct 2014 19:07:31 +0200 | -- Moi <moi@email.com> Sat, 04 Oct 2014 19:07:31 +0200 | ||
| </code> | </code> | ||
| - | A modifier pour obtenir quelque chose de plus pertinent : | + | A modifier pour obtenir quelque chose de plus pertinent : |
| * Remplacer "unstable" par une version d'ubuntu ("trusty" par exemple pour la 14.04). | * Remplacer "unstable" par une version d'ubuntu ("trusty" par exemple pour la 14.04). | ||
| * Compléter les éléments de modification. | * Compléter les éléments de modification. | ||
| * Changer éventuellement la date en conservant le formalisme. | * Changer éventuellement la date en conservant le formalisme. | ||
| - | Finalement : | + | Finalement : |
| <code> | <code> | ||
| monappli (0.1.0) trusty; urgency=low | monappli (0.1.0) trusty; urgency=low | ||
| Ligne 74: | Ligne 74: | ||
| ==== Fichier control ==== | ==== Fichier control ==== | ||
| - | Ce fichier est un descriptif de l'application et ressemble à cela : | + | Ce fichier est un descriptif de l'application et ressemble à cela : |
| <code> | <code> | ||
| Source: monappli | Source: monappli | ||
| Ligne 94: | Ligne 94: | ||
| Il convient de changer la section. Typiquement on peut mettre "utils". Plus de détails [[https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections|ici]]. | Il convient de changer la section. Typiquement on peut mettre "utils". Plus de détails [[https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections|ici]]. | ||
| - | Le plus important est la zone "depends" qui décrit les dépendances d'autres paquets. Pour une application java, manifestement on doit dépendre du paquet java. | + | Le plus important est la zone "depends" qui décrit les dépendances d'autres paquets. Pour une application java, manifestement on doit dépendre du paquet java. |
| Au final on a quelque chose comme ça : | Au final on a quelque chose comme ça : | ||
| Ligne 129: | Ligne 129: | ||
| </code> | </code> | ||
| - | Ci-dessous un exemple de fichier monappli.desktop | + | Ci-dessous un exemple de fichier monappli.desktop |
| <code> | <code> | ||
| Version=0.1.0 | Version=0.1.0 | ||
| Ligne 151: | Ligne 151: | ||
| ===== debuild : construction du package ===== | ===== debuild : construction du package ===== | ||
| - | Sous $PPA_HOME/monappli/monappli-0.1.0 : | + | Sous $PPA_HOME/monappli/monappli-0.1.0 : |
| <code> | <code> | ||
| debuild -S | debuild -S | ||
| </code> | </code> | ||
| - | L'exécution de cette commande crée un ensemble de fichier sous $PPA_HOME/monappli : | + | L'exécution de cette commande crée un ensemble de fichier sous $PPA_HOME/monappli : |
| - | * monappli_0.1.0.dsc : descriptif technique du paquet | + | * monappli_0.1.0.dsc : descriptif technique du paquet |
| * monappli_0.1.0_source.build : journal d'exécution du build | * monappli_0.1.0_source.build : journal d'exécution du build | ||
| * monappli_0.1.0_source.changes : autre descriptif technique du paquet | * monappli_0.1.0_source.changes : autre descriptif technique du paquet | ||
| Ligne 164: | Ligne 164: | ||
| ===== dput : upload sur launchpad ===== | ===== dput : upload sur launchpad ===== | ||
| - | Il ne reste plus qu'à uploader le package sur launchpad.net. Sous $PPA_HOME/monappli/monappli-0.1.0: | + | Il ne reste plus qu'à uploader le package sur launchpad.net. Sous $PPA_HOME/monappli/monappli-0.1.0: |
| <code> | <code> | ||
| dput ppa:monlaunchpad/monppa ../monappli_0.1.0_source.changes | dput ppa:monlaunchpad/monppa ../monappli_0.1.0_source.changes | ||
| </code> | </code> | ||
| - | A la suite de cette commande, les fichiers (.tar.gz, .dsc, .changes) sont chargés sur launchpad.net. Un mail vous est envoyé sur moi@email.com pour vous indiquer que la paquet a été accepté dans launchpad.net. En vous connectant sur https://launchpad.net/~monlaunchpad/+archive/ubuntu/monppa vous devez voir votre package. | + | A la suite de cette commande, les fichiers (.tar.gz, .dsc, .changes) sont chargés sur launchpad.net. Un mail vous est envoyé sur moi@email.com pour vous indiquer que la paquet a été accepté dans launchpad.net. En vous connectant sur https://launchpad.net/~monlaunchpad/+archive/ubuntu/monppa vous devez voir votre package. |
| Par contre il n'est pas forcément directement opérationnel car des process en background sur launchpad vont construire des paquets .deb directement opérationnels (1 en amd64, 1 en i386) ce qui peut prendre un peu de temps (de quelques minutes à 1h). | Par contre il n'est pas forcément directement opérationnel car des process en background sur launchpad vont construire des paquets .deb directement opérationnels (1 en amd64, 1 en i386) ce qui peut prendre un peu de temps (de quelques minutes à 1h). | ||
| Ligne 174: | Ligne 174: | ||
| Cliquer sur le lien "view package details". | Cliquer sur le lien "view package details". | ||
| - | Une liste cliquable des paquets apparait. En cliquant sur le lien "monappli-0.1.1", vous voyez apparaitre le détail du package : au minimum un fichier .dsc et un .tar.gz. Si launchpad a déjà effectué son travail vous voyez également un fichier amd64.deb et un i386.deb, sinon il faut attendre. | + | Une liste cliquable des paquets apparait. En cliquant sur le lien "monappli-0.1.1", vous voyez apparaitre le détail du package : au minimum un fichier .dsc et un .tar.gz. Si launchpad a déjà effectué son travail vous voyez également un fichier amd64.deb et un i386.deb, sinon il faut attendre. |
| ===== Installation du package par le gestionnaire de logiciel ===== | ===== Installation du package par le gestionnaire de logiciel ===== | ||
| - | Pour pouvoir installer l'application monappli il faut ajouter le ppa à votre liste : | + | Pour pouvoir installer l'application monappli il faut ajouter le ppa à votre liste : |
| <code> | <code> | ||
| sudo add-apt-repository ppa:monlaunchpad/monppa | sudo add-apt-repository ppa:monlaunchpad/monppa | ||
| Ligne 183: | Ligne 183: | ||
| </code> | </code> | ||
| - | Il reste à installer l'application via le gestionnaire de logiciel ou via la ligne de commande : | + | Il reste à installer l'application via le gestionnaire de logiciel ou via la ligne de commande : |
| <code> | <code> | ||
| sudo apt-get install monappli | sudo apt-get install monappli | ||
| Ligne 190: | Ligne 190: | ||
| ===== Mise à jour des versions ===== | ===== Mise à jour des versions ===== | ||
| Si vous faites évoluer votre application, pour publier la version suivante, il suffit de copier le sous-répertoire de la dernière version, d'en actualiser le contenu (fichiers changelog, control, install, ...) et de reprendre les commandes depuis l'étape "debuild : construction du package". | Si vous faites évoluer votre application, pour publier la version suivante, il suffit de copier le sous-répertoire de la dernière version, d'en actualiser le contenu (fichiers changelog, control, install, ...) et de reprendre les commandes depuis l'étape "debuild : construction du package". | ||
| - | Par exemple sous $PPA_HOME/monappli : | + | Par exemple sous $PPA_HOME/monappli : |
| <code> | <code> | ||
| cp -r monappli_0.1.0 monappli_0.2.0 | cp -r monappli_0.1.0 monappli_0.2.0 | ||