#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 debianen 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 :
/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
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
!
ç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 !!
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
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
pour mieux expliquer la structure des dossiers à créer (en supposant que le home soit celui de kevlar
:
/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