Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/06/2009, à 07:13

omc

paquet deb., deployer son appli sous ubuntu

Bonjour,
J'ai fait un pt'it logiciel et j'aimerais faire un paquet deb (ou autre ?) pour déployer mon appli sous ubuntu/kubuntu.
J'ai regarder un peu les tutos sur la creation des paquets deb mais je ne trouve pas mon compte.

En fait, mon appli est linké à une lib dont la license n'est pas libre. J'ai galéré à mort pour la compiler sous linux. Ne pouvant pas mettre les sources de cette lib à disposition, ça ne sert à rien de joindre mes sources au paquet deb vu qu'elles seront incompilables sans cette librairie.

Est-il possible de ne mettre que l'éxécutable de mon appli dans mon paquet deb ?
(Sachant que les seules lib auxquels l'appli est linké dynamiquement est la librairie Qt qui est dispo dans les dépots standarts.)
Ensuite comment faire pour ajouter l'icone de l'application, et que les fichiers portant l'extension *.omc doivent s'ouvrir avec mon appli ?

Voilou, j'espère ne pas trop être confu dans mes explications,
Bonne journée !!!!
Damien.

Hors ligne

#2 Le 06/06/2009, à 09:13

ADcomp

Re : paquet deb., deployer son appli sous ubuntu

hello ,

tu devrais jeter un coup d'œil sur ce post :  [Python & .DEB] Créer un paquet DEB d'un programme en Python


David [aka] ADcomp

Hors ligne

#3 Le 06/06/2009, à 12:18

kevlar

Re : paquet deb., deployer son appli sous ubuntu

j'ai encore un peu mieux et plus simple (après x heures de galère, c'est ce que je fais, et en plus ça marche autant sous Ubuntu que sous Debian ...)
Adapter en fonction du nom de ton programme (le mien s'appelle claire ...)

Créer un paquet debian binaire
------------------------------
Toutes les opérations doivent se faire à la RACINE du dossier utilisateur.
faire cd ~
créer un dossier nommé debian (en minuscules).
aller dans ce dossier.
créer un dosier DEBIAN (majuscules)
dans le dossier /DEBIAN, créer un fichier control comme ci-dessous (finir par un SAUT de ligne) :
----------------
Package: claire-0.1
Version: 0.1
Section: office
Priority: optional
Architecture: i386
Depends: libgtk2.0-0 (>=2.6),libzip1,libsdl-mixer1.2(>=1.2),libswfdec-0.6-90(>=0.6),libpoppler-glib2
Suggests: vlc,mplayer,xfmedia,xine,audacious
Maintainer: Kevlar<Kevlar@nowhere.seti>
Description: Claire is a presentation program

-----------------

créer dans /DEBIAN un fichier postinst sur ce modèle (il n'est pas parfait, pas de moi, mais il marche !)
Ce fichier est un executable batch qui copie la fichier .desktop nécessaire à Gnome et co pour que le programme apparaisse dans le menu principal
----------------
#!/bin/bash
LAUNCHER="/usr/share/applications/claire.desktop"
touch $LAUNCHER
echo "[Desktop Entry]" > $LAUNCHER
echo "Name=Claire" >> $LAUNCHER
echo "Name[fr]=Logiciel de presentation Claire" >> $LAUNCHER
echo "Comment=Set up presentations" >> $LAUNCHER
echo "Comment[fr]=Realise des présentations multimédia" >> $LAUNCHER
echo "TryExec=claire" >> $LAUNCHER
echo "Exec=claire" >> $LAUNCHER
echo "Icon=claire-pe" >> $LAUNCHER
echo "Terminal=false" >> $LAUNCHER
echo "Type=Application" >> $LAUNCHER
echo "Categories=Graphics;2DGraphics;RasterGraphics;GTK;" >> $LAUNCHER
echo "MimeType=text/plain;" >> $LAUNCHER
echo "Claire successfully installed."

----------------
puis un fichier postrm comme ceci(ce fichier sera exécuté si l'on demande à GDebi de désinstaller le programme)
----------------
#!/bin/bash
LAUNCHER="/usr/share/applications/claire.desktop"
rm $LAUNCHER
echo "Claire successfully uninstalled"

----------------
dans le dossier debian (minuscules) , créer un dossier usr
dans le dossier usr, créer un dossier bin, et un dossier share
dans le dossier bin, mettre le programme déjà compilé.
Aller dans le dossier bin, et lancer le programme comme ceci :
dpkg-depcheck -m ./nom_executable
Ce programme liste les dépendances minimales nécessaires, qu'il suffit de copier dans le fichier control (le mien est juste un modèle, à adapter suivant tes propres dépendances).


Aller maintenant à la racine du répertoire utilisateur, et taper :
sudo dpkg-deb --build debian

en supposant que c'est le dossier claire qui contient tout les éléments précédents.
On vérifie que c'est correct en tentant une pseudo installation via gdebi.

C'est tout !

sudo dpkg-deb --build debian, puis renommer le paquet nommé debian.deb

remarque : il suffit de créer dans /DEBIAN/usr
un dossier nommé /share/pixmaps
et d'y glisser les icônes utiles, en particulier celle du programme.

Dernière modification par kevlar (Le 06/06/2009, à 12:25)

Hors ligne

#4 Le 06/06/2009, à 12:30

kevlar

Re : paquet deb., deployer son appli sous ubuntu

pour mieux expliquer la structure des dossiers à créer (en supposant que le home soit celui de kevlar wink :
/home/kevlar/+
                    /debian+
                              /DEBIAN
                             /usr+
                                   /bin
                                   /share+
                                            /pixmaps

Hors ligne

#5 Le 06/06/2009, à 12:32

kevlar

Re : paquet deb., deployer son appli sous ubuntu

autre remarque : dans la méthode ci-dessus, passer par la méthode echo (fichiers postinst ...) est non optimal mais pédagogique, c'est le but du jeu wink

Hors ligne

#6 Le 06/06/2009, à 16:16

omc

Re : paquet deb., deployer son appli sous ubuntu

Merci beaucoup,
Je vais tenter ça dans le week-end...

Hors ligne

#7 Le 07/06/2009, à 06:46

omc

Re : paquet deb., deployer son appli sous ubuntu

Youpi big_smile big_smile big_smile !
ça marche impecc !!
J'ai encore des petites questions :
- Comment associer des fichiers de certaines extensions à des icones et des programmes ?
- La méthode ci-dessus est-elle compatible avec KDE ?

En fait je n'ai pas beaucoup de connaissance dans la gestion des bureaux gnome et KDE...
Par exemple j'aimerais bien comprendre un peu mieux ce que fait ton script postinst... As tu quelques liens concernant ces opérations ?

En tout cas merci !!!!

Dernière modification par omc (Le 07/06/2009, à 06:47)

Hors ligne

#8 Le 07/06/2009, à 09:47

kevlar

Re : paquet deb., deployer son appli sous ubuntu

j'en sais à peine plus que toi :
- la norme freedesktop est commune à Gnome, Xfce, Kde (entre autres) ; donc le fichier .desktop produit par le 1er script sera reconnu par les principaux environnements.
- l'association de fichier est très complexe : j'ai commencé à le faire, mais ce n'est pas satisfaisant pour le moment. Sache que mis à part Kde qui est plus simple, il faut construire un fichier .xml décrivant le type de fichier, les associations, etc. Voir sur le site de freedesktop Pour le moment (et en ce moment je n'ai pas le temps, ...) je parviens à cérer automatiquement une association, et à provoquer le lancement automatique du programme, MAIS je ne sais pas imposer une icône maison pour mes fichiers.
- le dernier est lancé automatiquement par le gestionnaire de paquets lorsque le programme est désinstallé : il efface le fichier .desktop, tout simplement !

Hors ligne

#9 Le 07/06/2009, à 11:03

omc

Re : paquet deb., deployer son appli sous ubuntu

ok,
Je vais voir de mon coté. Si je trouve quelque chose de sympatique, je reviendrais poster ici.
Encore merci pour ton aide,
@ bientôt,
Damien.

Hors ligne

#10 Le 07/06/2009, à 13:21

kevlar

Re : paquet deb., deployer son appli sous ubuntu

tu trouveras de la doc ici :
http://developers.sun.com/solaris/artic … gnome.html
et là : http://www.freedesktop.org/wiki/Specifi … info-spec/
Normalement, quand tout sera au point, ton fichier xml décrivant le nouveau type MIME sera installé avec le paquet .deb, via le script postint.

dans mon cas, voici le type de fichier xml, pas encore satisfaisant, auquel je suis arrivé (Nautilus associe mes fichiers avec une icone d'image par défaut, mais je dois encore, me semble-t-il (pas touché depuis 15 jours) faire l'association fichier<>executable à la main

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="image/claire">
  <comment>Claire document</comment>
  <comment xml:lang="bg">Документ — Claire</comment>
  <comment xml:lang="ca">document Claire</comment>
  <comment xml:lang="cs">Dokument Claire</comment>
  <comment xml:lang="cy">Dogfen Claire</comment>
  <comment xml:lang="da">Claire-dokument</comment>
  <comment xml:lang="de">Claire-Dokument</comment>
  <comment xml:lang="el">έγγραφο Claire</comment>
  <comment xml:lang="en_GB">Claire document</comment>
  <comment xml:lang="eo">Claire-dokumento</comment>
  <comment xml:lang="es">documento Claire</comment>
  <comment xml:lang="eu">Claire dokumentua</comment>
  <comment xml:lang="fi">Claire-asiakirja</comment>
  <comment xml:lang="fr">document Claire</comment>
  <comment xml:lang="hu">Claire-dokumentum</comment>
  <comment xml:lang="it">Documento Claire</comment>
  <comment xml:lang="ja">Claire ドキュメント</comment>
  <comment xml:lang="ko">Claire 문서</comment>
  <comment xml:lang="lt">Claire dokumentas</comment>
  <comment xml:lang="ms">Dokumen Claire</comment>
  <comment xml:lang="nb">Claire-dokument</comment>
  <comment xml:lang="nl">Claire-document</comment>
  <comment xml:lang="nn">Claire-dokument</comment>
  <comment xml:lang="pl">Dokument Claire</comment>
  <comment xml:lang="pt">documento Claire</comment>
  <comment xml:lang="pt_BR">Documento Claire</comment>
  <comment xml:lang="ru">документ Claire</comment>
  <comment xml:lang="sq">Dokument Claire</comment>
  <comment xml:lang="sr">Claire документ</comment>
  <comment xml:lang="sv">Claire-dokument</comment>
  <comment xml:lang="uk">Документ Claire</comment>
  <comment xml:lang="vi">Tài liệu Claire</comment>
  <comment xml:lang="zh_CN">Claire 文档</comment>
  <comment xml:lang="zh_TW">Claire 文件</comment>
  <acronym>Claire</acronym>
  <expanded-acronym>Claire presentation Document Format</expanded-acronym>
  <alias type="application/x-claire"/>
  <alias type="image/claire"/>
  <glob pattern="*.claire"/>
  </mime-type>
</mime-info>

Hors ligne

#11 Le 09/06/2009, à 09:33

omc

Re : paquet deb., deployer son appli sous ubuntu

Bon c'est fait !! tongue
Voila le résultat http://openmeca.fr.nf/?telecharger.
Si il y a des problèmes d'install ou autre n'hésitez pas à me le faire savoir !

Hors ligne

#12 Le 09/06/2009, à 11:27

kevlar

Re : paquet deb., deployer son appli sous ubuntu

n'hésite pas à faire un tuto sur l'association de fichiers, ce serait bien utile smile

Hors ligne

#13 Le 09/06/2009, à 12:18

omc

Re : paquet deb., deployer son appli sous ubuntu

Pour l'instant il n'y a pas d'association de fichier....:(
Mais bon... c'est déjà pas mal !

Hors ligne

#14 Le 15/09/2010, à 10:35

survietamine

Re : paquet deb., deployer son appli sous ubuntu

kevlar a écrit :

pour mieux expliquer la structure des dossiers à créer (en supposant que le home soit celui de kevlar wink :
/home/kevlar/+
                    /debian+
                              /DEBIAN
                             /usr+
                                   /bin
                                   /share+
                                            /pixmaps

salut,
je m'intéresse à ce topic car j'veux créer un paquet pour déploiement relativement simple.
C'est parce qu'on change de PABX (Avaya -> Cisco).
La solution Cisco a besoin d'une "bannière" en java, soit un launcher.
Du coup, j'dois déployer ce lanceur sur toutes nos stations.
J'ai créé avec succès l'icône en .desktop et fait un /etc/xdg/autostart/cisco-banner.desktop pour le démarrage auto lors de l'ouverture de session.
Comme mon lanceur n'est rien d'autre qu'un simple script shell, il n'y a pas beaucoup de dépendances à part sun-java6-jre pour le fonctionnement du "bandeau".

Plus haut, tu as écrit qu'il faut créer /usr/share/pixmaps dans le DEBIAN (majuscules) et ici j'ai l'impression qu'il est dans celui en minuscules.
Je pense que c'est dans celui en minuscules, mais peux-tu confirmer stp ?

Dernière modification par survietamine (Le 15/09/2010, à 10:36)


Ðɸ Ƴơц ℕεєđ Şø₥€ √іêŤąɱίɳƸʂ ?

Hors ligne

#15 Le 15/09/2010, à 10:58

survietamine

Re : paquet deb., deployer son appli sous ubuntu

ça a l'air d'être bon dans ~/debian/
Par contre, j'ai un autre problème.
Pour mon déploiement, j'ai modifié les fichiers de menus de KDE et Gnome.
Et ça ne plait pas à dpkg :

# dpkg -i bandeau.deb 
Sélection du paquet cisco-banner-1.0 précédemment désélectionné.
(Lecture de la base de données... 187876 fichiers et répertoires déjà installés.)
Dépaquetage de cisco-banner-1.0 (à partir de bandeau.deb) ...
dpkg : erreur de traitement de bandeau.deb (--install) :
 tentative de remplacement de « /etc/xdg/menus/kde4-applications.menu », qui appartient aussi au paquet kdelibs5-data 4:4.3.4-3
dpkg-deb: sous-processus coller tué par le signal (Relais brisé (pipe))
rm: ne peut enlever `/usr/share/applications/cisco-banner.desktop': Aucun fichier ou dossier de ce type
Cisco banner successfully uninstalled
Traitement des actions différées (« triggers ») pour « gnome-menus »...
Traitement des actions différées (« triggers ») pour « desktop-file-utils »...
Des erreurs ont été rencontrées pendant l'exécution :
 bandeau.deb

Pensez-vous que je puisse outrepasser cet avertissement et écraser quand même le fichier ?
Ou peut-être est-il préférable que je pose mon fichier de menu ailleurs.

Dernière modification par survietamine (Le 15/09/2010, à 11:00)


Ðɸ Ƴơц ℕεєđ Şø₥€ √іêŤąɱίɳƸʂ ?

Hors ligne

#16 Le 15/09/2010, à 12:22

kevlar

Re : paquet deb., deployer son appli sous ubuntu

je ne connais rien à KDE, mais attention à ne chose : ton paquet doit s'installer dans une rubrique XFdesktop idoine, PAS modifier le paquet qui contient le menu de base de KDE qui contient la structure spécifique du menu conforme à Freedesktop ...
J'espère que je ne suis pas trop confus ...

Hors ligne

#17 Le 15/09/2010, à 14:51

survietamine

Re : paquet deb., deployer son appli sous ubuntu

d'accord avec toi, mais j'ai essayé d'ajouter différents mots-clefs sur la ligne 'Categories=' du fichier .desktop sans avoir ce que je souhaite.
Je veux que l'entrée de menu se fasse le plus possible "à la racine" et pas dans un sous-menu.
C'est pour ça que j'ai bidouillé les fichiers dans /etc/xdg/menus/gnome* et kde*.


Ðɸ Ƴơц ℕεєđ Şø₥€ √іêŤąɱίɳƸʂ ?

Hors ligne

#18 Le 15/09/2010, à 15:20

kevlar

Re : paquet deb., deployer son appli sous ubuntu

à mon avis, mauvaise manip, même si elle se fait pour la bonne cause. Pourquoi n'essaye-tu pas de voir à quoi ressemble ce fichier sur la distribution Linux Mint, qui dispose d'un menu modifié dans Kde et/ou Gnome ?

Hors ligne

#19 Le 03/01/2016, à 23:05

kamoba

Re : paquet deb., deployer son appli sous ubuntu

Salut!

J'ai essayé de suivre le tuto je me retrouve avec une erreur lors de l'installation du paquet:

joe@ubuntu:~/Desktop$ sudo dpkg -i debian.deb
(Reading database ... 171182 files and directories currently installed.)
Preparing to unpack debian.deb ...
Unpacking monAppli (0.1) over (0.1) ...
rm: cannot remove ‘/usr/share/applications/monAppli.desktop’: No such file or directory
monAppli successfully uninstalled
dpkg: dependency problems prevent configuration of monAppli:
 monAppli depends on fonts-khmeros-core.
 monAppli depends on language-selector-common.
 monAppli depends on language-pack-fr-base.
 monAppli depends on fonts-takao-pgothic.
 monAppli depends on language-pack-gnome-fr-base.
 monAppli depends on dmz-cursor-theme.
 monAppli depends on cups-filters.
 monAppli depends on ttf-indic-fonts-core.

dpkg: error processing package monAppli (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 monAppli
joe@ubuntu:~/Desktop$ 

lors du  j'ai eu:

----------------------------------------------------------------------
The following files did not appear to belong to any package:
/usr/share/glib-2.0/schemas/gschemas.compiled
/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules.cache
/usr/lib/x86_64-linux-gnu/gio/modules/giomodule.cache
/etc/nsswitch.conf
/etc/passwd
/etc/localtime
/usr/lib/locale/locale-archive
Packages needed:
  libtxc-dxtn-s2tc0:amd64
  fonts-tlwg-typo
  libgtk2.0-common
  libx11-data
  fonts-takao-pgothic
  fonts-lohit-guru
  fonts-tlwg-laksaman
  fonts-guru-extra
  fonts-tlwg-mono
  udev
  fonts-tlwg-kinnari
  fonts-droid
  ttf-indic-fonts-core
  fonts-tlwg-umpush
  fonts-tlwg-typist
  fonts-tlwg-waree
  fonts-tlwg-garuda
  language-pack-gnome-fr-base
  libsm6:amd64
  fonts-tlwg-loma
  fonts-nanum
  fonts-tlwg-norasi
  light-themes
  fonts-khmeros-core
  language-selector-common
  cups-filters
  dconf-gsettings-backend:amd64
  language-pack-fr-base
  gvfs:amd64
  ttf-ubuntu-font-family
  fontconfig-config
  dmz-cursor-theme
  libpulse0:amd64
  gstreamer0.10-plugins-good:amd64
  overlay-scrollbar-gtk2:amd64
  gtk2-engines-murrine:amd64
  unity-gtk2-module:amd64
  libcanberra-gtk-module:amd64
  ibus-gtk:amd64
  libgl1-mesa-glx:amd64
  gstreamer0.10-x:amd64

que j'ai mis dans mon fichier control, c'est bizarre d'ailleurs que je n'ai pas eu les libQt5Core.so libQt5Gui.so libQt5Multimedia.so ect...

une idée?

Dernière modification par kamoba (Le 04/01/2016, à 02:04)

Hors ligne