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 05/01/2015, à 23:08

xunil2003

Comment créer un paquet deb pour une apllication en python

Bonjour,

J'ai créé plusieurs applications libres en Python.
Je voudrais créer des fichiers deb afin de faciliter l'utilisateur pour une installation et désinstallation rapide de mes programmes.
Mais je ne comprends pas plusieurs points :
- Pour certaines de mes applications, je n'ai rien à compiler, y a juste un fichier "mon_appli.py" et pour lancer l'application "python /chemin/mon_appli.py"
- Pour d'autres de mes applications il y a des images en plus et pour lancer l'application "python /chemin/mon_appli.py" alors comment faire ?
- Dans quel dossier système faut-il installer les applications, et icones de l'application deb ?
- Comment ajouter automatiquement l'application dans le menu de ou des interface(s) graphique(s), à savoir : Ubuntu, Kubuntu, Lubuntu, Xubuntu selon le ou les l'interphace(s) graphique(s) de l'utilisateur ?

Pouvez vous m'aiguiller ?

Merci.


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#2 Le 05/01/2015, à 23:48

Gaara

Re : Comment créer un paquet deb pour une apllication en python

Salut,

Tu peux regarder ce fil qui te donneras pas mal d'infos (surtout le post #14), et aussi ce tuto que je cite dans ce fil.
N'hésites pas si tu as des questions précises sur lesquelles tu bloques


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#3 Le 06/01/2015, à 01:46

xunil2003

Re : Comment créer un paquet deb pour une apllication en python

Bonsoir,

Merci pour votre réponse.
Afin d'effectuer un test j'ai suivi ce tuto :
http://openclassrooms.com/courses/creer-un-paquet-deb
Mais j'ai eu des messages d'erreur, voila comment j'ai procédé :

Arborescence

laurent@MSI-GT683:~/dossier-des-paquets$ tree /home/laurent/dossier-des-paquets/carotte
/home/laurent/dossier-des-paquets/carotte
├── DEBIAN
│   ├── control
│   ├── control~
│   ├── Control~
│   ├── postinst
│   ├── postinst~
│   ├── postrm
│   └── postrm~
└── usr
    └── bin
        ├── carotte
        └── carotte~

3 directories, 9 files
laurent@MSI-GT683:~/dossier-des-paquets$ 

Contenu du fichier control :

Package: carotte
Version: 1.0-sdz
Section: base
Priority: optional
Architecture: all
Depends: bash
Maintainer: testmail <testmail@fai.fr>
Description: carotte est un test pour la cree un paquet deb.
Homepage: http://site-web.fai.fr

Contenu du fichier postinst :

#!/bin/bash 
echo "L'installation de carotte est terminé"
echo
exit 0

Contenu du fichier postrm :

#!/bin/bash 
echo "L'application carotte est désinstaller"
echo
exit 0 

Une fois les fichiers "postinst" et "postrm" de créé, je leur attribue les permissions 755 :

sudo chmod 755 /home/laurent/dossier-des-paquets/carotte/DEBIAN/post*
sudo chmod 755 /home/laurent/dossier-des-paquets/carotte/DEBIAN/pre*

Contenu du fichier carotte :

#!/bin/bash
echo "Test de l'application carotte"
echo "APPLICATION DEMARRER !"
echo "http://openclassrooms.com/courses/creer-un-paquet-deb"
echo
exit 0

Qand je crée le paquet j'ai ce message d'erreur :

laurent@MSI-GT683:~/dossier-des-paquets$ sudo dpkg-deb --build carotte
dpkg-deb : erreur : analyse du fichier 'carotte/DEBIAN/control' vers la ligne 8 paquet 'carotte' :
 EOF dans la valeur du champ « Homepage » (il manque le saut de ligne final) 
laurent@MSI-GT683:~/dossier-des-paquets$ 

Pourquoi ?

Et qand je supprime du fichier "control" la ligne 8 :

Homepage: http://site-web.fai.fr

Puis je recompile le paquet :

laurent@MSI-GT683:~/dossier-des-paquets$ sudo dpkg-deb --build carotte
dpkg-deb : construction du paquet « carotte » dans « carotte.deb ».
laurent@MSI-GT683:~/dossier-des-paquets$

Et installe le paquet :

laurent@MSI-GT683:~/dossier-des-paquets$ sudo dpkg -i carotte.deb
Sélection du paquet carotte précédemment désélectionné.
(Lecture de la base de données... 269575 fichiers et répertoires déjà installés.)
Dépaquetage de carotte (à partir de carotte.deb) ...
Paramétrage de carotte (1.0-sdz) ...
L'installation de carotte est terminé

laurent@MSI-GT683:~/dossier-des-paquets$

Quand j'exécute l'appli, j'ai ce message :

laurent@MSI-GT683:~/dossier-des-paquets$ carotte
bash: /usr/bin/carotte: Permission non accordée
laurent@MSI-GT683:~/dossier-des-paquets$ 

Comment y donner les permissions et les quels 755 ??
Faut-il donner les permissions 755 avant de créer le paquet  genre :

sudo chmod 755 /home/laurent/dossier-des-paquets/carotte/usr/bin/carotte

Merci.

Dernière modification par xunil2003 (Le 06/01/2015, à 03:24)


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#4 Le 06/01/2015, à 09:08

jplemoine

Re : Comment créer un paquet deb pour une apllication en python

xunil2003 a écrit :

Contenu du fichier control :

--> il faut un retour à la ligne avant la fin du fichier

xunil2003 a écrit :

Comment y donner les permissions et les quels 755 ??
Faut-il donner les permissions 755 avant de créer le paquet  genre :

sudo chmod 755 /home/laurent/dossier-des-paquets/carotte/usr/bin/carotte

oui. c'est la bonne méthode.
Le paquet doit être le reflet de ce qui devra être mis sur le disque. Donc, carotte doit être exécutable.

Dernière modification par jplemoine (Le 06/01/2015, à 09:08)


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#5 Le 06/01/2015, à 18:08

Gaara

Re : Comment créer un paquet deb pour une apllication en python

Ou bien, /usr/bin/carotte est un lien symbolique pointant vers un fichier par exemple dans /usr/share/carotte/carotte, si le paquet contient plusieurs fichiers.
Dans ce cas, l’exécutable sera dans /usr/share/carotte


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#6 Le 06/01/2015, à 18:39

xunil2003

Re : Comment créer un paquet deb pour une apllication en python

Bonjour,

J'ai pas très bien compris pour ceci :

Vous dites :

il faut un retour à la ligne avant la fin du fichier

Comment ?

Contenu du fichier control :

Package: carotte
Version: 1.0-sdz
Section: base
Priority: optional
Architecture: all
Depends: bash
Maintainer: testmail <testmail@fai.fr>
Description: carotte est un test pour la cree un paquet deb.
Homepage: http://site-web.fai.fr

Et qand je crée le paquet, j'ai ce message d'erreur :

laurent@MSI-GT683:~/dossier-des-paquets$ sudo dpkg-deb --build carotte
dpkg-deb : erreur : analyse du fichier 'carotte/DEBIAN/control' vers la ligne 8 paquet 'carotte' :
 EOF dans la valeur du champ « Homepage » (il manque le saut de ligne final) 
laurent@MSI-GT683:~/dossier-des-paquets$ 

D'ou vient le problème ?

Merci.


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#7 Le 06/01/2015, à 18:47

Gaara

Re : Comment créer un paquet deb pour une apllication en python

Essaie avec ce control:

Source: carotte
Maintainer: testmail <testmail@fai.fr>
Section: base
Priority: optional
Version: 1.0-sdz
Package: carotte
Architecture: all
Depends: bash
Description: carotte est un test pour la cree un paquet deb
 

A la dernière ligne après "deb", rajoute une ligne en appuyant sur entrée


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#8 Le 06/01/2015, à 19:15

xunil2003

Re : Comment créer un paquet deb pour une apllication en python

Re,

J'ai compris d'ou vient le problème, il faut carrément faire un saut de ligne a la fin du fichier après :

Homepage: http://site-web.fai.fr

Merci.


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#9 Le 07/01/2015, à 17:26

xunil2003

Re : Comment créer un paquet deb pour une apllication en python

Bonjour,

Aujourd'hui j'ai voulu faire un paquet de l'une de mes applications python avec les imges.

Dans le tuto que j'ai suivi précédemment ici :
http://openclassrooms.com/courses/creer-un-paquet-deb

Il est indiqué :

un paquet .deb est en fait un dossier compressé contenant les éléments à installer et des informations sur le paquet. 

Donc je fait l'archive.

laurent@MSI-GT683:~/dossier-des-paquets/tfbx_v6/usr/bin$ tar -zcvf tf6.tar.gz /home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/
tar: Suppression de « / » au début des noms des membres
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-on-off_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-5_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-jaune_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-fleche-haut_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-2_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-1_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-programme_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-7_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-volume-moins_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-volume-plus_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-4_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-9_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-mute_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-fleche-gauche_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-programme-plus_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-0_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-fleche-bas_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-fleche-droite_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-verte_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-rec_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-retour-arriere_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-rouge_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-3_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/telecommande-freebox-revolution-1_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-ok_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/aide.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/telecommande-freebox-revolution.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-avance-rapide_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-6_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-av_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-bleu_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-8_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-lecture-pause_2.jpg
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/tf6.py
/home/laurent/dossier-des-paquets/tfbx_v6/usr/bin/tf6/touche-programme-moins_2.jpg
laurent@MSI-GT683:~/dossier-des-paquets/tfbx_v6/usr/bin$ 

Mais je ne comprends pas comment procéder avec une archive.
Faut-il crée un dossier au nom de mon appli dans mon dossier de travail de création de paquet

/home/laurent/dossier-des-paquets/usr/bin/tf6

et que j'y colle dedans tous mes fichiers et ensuite que je crée une archive tar.gz
Comment insérer l'archive a la création du paquet ?

Pouvez-vous m'en dire plus ?

Merci.

Dernière modification par xunil2003 (Le 07/01/2015, à 23:34)


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#10 Le 07/01/2015, à 19:44

Gaara

Re : Comment créer un paquet deb pour une apllication en python

Non non, ne crée pas l'archive, c'est la commande sudo dpkg-deb --build ton_logiciel qui crée l'archive.
Tu dois mettre tous tes fichiers dans l'arborescence et c'est dpkg qui fait tout le reste.

Mais comme je le dis plus haut, il vaut mieux mettre ton logiciel dans /usr/share/ton_logiciel que dans /usr/bin/, en ne mettant qu'un lien symbolique dans /usr/bin/
Si tu navigues dans /usr/bin/, il n'y a pas de dossiers, il y a que des scripts simples ou des liens symboliques. Donc il vaut mieux faire qqch de propre !


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#11 Le 09/01/2015, à 22:16

xunil2003

Re : Comment créer un paquet deb pour une apllication en python

bonsoir,

J'ai bien pris note qu'il vaut mieux mettre mon logiciel dans /usr/share/dossier_appli/mon_appli que dans /usr/bin/, et ajouter un lien symbolique dans /usr/bin/mon_appli qui pointe vers /usr/share/dossier_appli/mon appli.
j'ai rencontré deux petits problèmes.

1/ Pour le lien symbolique dans /usr/bin de mon appli, j'ai fait ceci :

laurent@MSI-GT683:/usr/bin$ sudo ln -s /usr/share/tf6/tf6.py tf6
laurent@MSI-GT683:/usr/bin$

Et quand j'exécute mon aplli j'ai ce message :

laurent@MSI-GT683:/usr/bin$ tf6
bash: /usr/share/tf6/tf6.py : /usr/bin/PYTHON : mauvais interpréteur: Aucun fichier ou dossier de ce type
laurent@MSI-GT683:/usr/bin$

Vérification :

laurent@MSI-GT683:/usr/bin$ ls -al tf*
lrwxrwxrwx 1 root root 25 janv.  9 21:34 tf6 -> /usr/share/tf6/tf6.py
laurent@MSI-GT683:/usr/bin$

Comment dire au lien symboilque que c'est du python ?
Et qu'il faut l'exécuter comme ceci :

python  /usr/share/tf6/tf6.py

2/ Dans /DEBIAN/ j'ai créé le fichier menu avec ceci dedans :

laurent@MSI-GT683:/usr/bin$ cat /home/laurent/dossier-des-paquets/tfbx-v1.0.0/DEBIAN/menu
?package(tf6):needs="X11"\
 section="Applications/Utility"\
 hints="tf6"\
 title="tf6"\
 icon="/usr/share/pixmaps/tf6_16x16.png"\
 command="python /usr/share/tf6/tf6.py"
laurent@MSI-GT683:/usr/bin$

Mais après installation du paquet, l'application ne sait pas ajouté dans le menu ?

Comment faire ?

Merci.

Dernière modification par xunil2003 (Le 09/01/2015, à 23:53)


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#12 Le 10/01/2015, à 01:30

jplemoine

Re : Comment créer un paquet deb pour une apllication en python

Je crois que les applications hors dépôts sont plutôt à mettre dans /opt.
pour le lien symbolique, est-ce que le fichier pointé fonctionne ?
Normalement, pour les fichiers py, il faut mettre en première ligne :

#!  /usr/bin/python 

(ou python2 ou python3).
--> en exécutant directement le fichier py, ça doit fonctionner.
Une fois que c'est bon, voir le lien.


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#13 Le 10/01/2015, à 12:19

xunil2003

Re : Comment créer un paquet deb pour une apllication en python

Bonjour,

Oui mon fichier de l'application python a en première ligne :

#!/usr/bin/python
# -*-coding:utf-8 -*
......
......

Mais depuis que j'ai démarré mon pc ce matin ça marche.

Reste à voir pour la création du menu ce qui cloche ?

Merci.

Dernière modification par xunil2003 (Le 10/01/2015, à 12:20)


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#14 Le 10/01/2015, à 14:07

Gaara

Re : Comment créer un paquet deb pour une apllication en python

Pour le menu tu dois créer un fichier tf6.desktop dans /usr/share/applications/, et pas dans /DEBIAN/menu
Regarde les fichiers dans ce dossier et prend modèle dessus.
Par exemple:

[Desktop Entry]
Categories=AudioVideo
Comment[fr]=commentaire en fr
Comment=commentaire en eng
Exec=python /usr/share/tf6/tf6.py
GenericName[fr]=
GenericName=
Icon=/usr/share/pixmaps/tf6_16x16.png
MimeType=
Name[fr]=tf6
Name=tf6
Path=/usr/share/tf6/
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application

Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#15 Le 19/01/2015, à 21:32

xunil2003

Re : Comment créer un paquet deb pour une apllication en python

Bonjour,

Etant en déplacement, je n'ai pas pu répondre avant.
J'ai plusieurs questions .

1/ Quand j'ajoute dans le fichier "postinst" les commandes pour ajouter mon appli dans le menu :

#!/bin/bash 
destination="/usr/share/applications/tf6.desktop"
sudo touch $destination
echo "[Desktop Entry]" > $destination
echo "Comment[fr]=Télécommande" >> $destination #commentaire en Fr
echo "Comment=Remote" >> $destination #commentaire en Eng
echo "Exec=/usr/share/tf6/tf6.py" >> $destination
echo "GenericName[fr]=" >> $destination
echo "GenericName=" >> $destination
echo "Icon=/usr/share/pixmaps/tf6_16x16.png" >> $destination
echo "MimeType=" >> $destination
echo "Name[fr]=tf6" >> $destination
echo "Name=tf6" >> $destination
echo "Path=/usr/share/tf6/" >> $destination
echo "StartupNotify=true" >> $destination
echo "Terminal=false" >> $destination
echo "TerminalOptions=" >> $destination
echo "Type=Application" >> $destination
echo "Categories=Application;Utility" >> $destination
echo
echo "Ajout de l'application au menu."
echo "L'installation de tf6 est terminé."
echo
exit 0

Mais comment l'executer sans pouvoir indiquer le mot de passe (sudo) ?

laurent@MSI-GT683:~/dossier-des-paquets$ sudo /home/laurent/dossier-des-paquets/tfbx-v1.0.0/DEBIAN/postinst

Ajout de l'application au menu.
L'installation de tf6 est terminé.

laurent@MSI-GT683:~/dossier-des-paquets$

2/ Dans le fichier "/usr/share/applications/tf6.desktop" de mon application, j'ai ajouté en fin de ligne :

Categories=Application;Utility

Afin d'ajouter l'application dans "Menu/Utilitaires".
Si je veut l'ajouter dans "Menu/Utilitaires/autres applications" comment dois-je m'y prendre ?


3/ Pour supprimer du menu l'application a la désinstallation du paquet,  j'ai mis dans le fichier "postrm" ceci :

laurent@MSI-GT683:~/dossier-des-paquets$ cat -n /home/laurent/dossier-des-paquets/tfbx-v1.0.0/DEBIAN/postrm
     1  #!/bin/bash
     2  sudo rm -v /usr/share/applications/tfbx6.desktop
     3  echo
     4  echo "Supression de l'application au menu."
     5  echo "L'application tf6 est désinstallé"
     6  echo
     7  exit 0 
laurent@MSI-GT683:~/dossier-des-paquets$ 

Mais là aussi comment l'executer sans pouvoir indiquer le mot de passe (sudo) ?

Merci.


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#16 Le 19/01/2015, à 23:52

Gaara

Re : Comment créer un paquet deb pour une apllication en python

salut,
1/ Ce n'est pas avec un script postinst que tu dois créer le fichier.desktop
Tu dois le créer avant, puis le mettre dans l'arborescence de ton deb
2/ ça je sais pas trop, je pense qu'on peut mettre qu'une seule catégorie mais je peux me tromper
3/ Le fichier.desktop se supprimera tout seul s'il est créé avec la méthode du 1/, pas besoin de postrm non plus

Je mets en exemple l'arborescence de mon paquet: il y a un script python et 2 scripts bash, avec tout le reste (liens symboliques, fichier.desktop etc)
1421707782.png


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne