#1 Le 13/07/2012, à 14:05
- milink
Problèmes après la création d'un paquet .deb
Bonjour,
Après avoir fini de développer mon logiciel, j'ai souhaité faire un paquet .deb pour le distribuer plus facilement.
La création et la compilation du paquet se passe correctement, mais après, lors de l’exécution du paquet dans la logithéque:
- au lieu de m'afficher le nom du logiciel, il m'affiche le nom du paquet;
- il me met une icône par défaut, alors que j'aimerai bien que ce soit l'icône du programme, mais je ne sais pas comment faire;
- il marque que la licence est inconnue alors que j'aimerai qu'il marque Propriétaire. Où faut-il renseigner ça ?
- quand je lance l'installation, il me dit que le paquet est de mauvaise qualité avec ces détails:
Lintian check results for /home/philippe/Documents/Direct Easy/0.2/directeasy_linux.deb:
Use of uninitialized value $ENV{"HOME"} in concatenation (.) or string at /usr/bin/lintian line 108.
E: directeasy: arch-independent-package-contains-binary-or-object usr/bin/directeasy
E: directeasy: arch-independent-package-contains-binary-or-object usr/lib/libfmodex-4.40.08.so
E: directeasy: wrong-file-owner-uid-or-gid home/ 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid home/~/ 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid home/~/.directeasy_configs.db 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/ 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/ 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_about.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_calendar.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_charger.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_delete.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_ecran.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f1.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f2.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f3.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f4.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f5.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f6.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f7.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f8.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f9.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_icone.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_open.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_options.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_pause.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_pause_focus.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_play.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_quitter.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_save.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_stop.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_vider.png 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/icone.ico 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/lib/ 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/lib/libfmodex-4.40.08.so 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/share/ 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/share/applications/ 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/share/applications/directeasy.desktop 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/share/pixmaps/ 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/share/pixmaps/directeasy.png 1000/1000
Si vous voulez tester le paquet, vous pouvez le télécharger ici
Ensuite, j'aimerai savoir comment faire rentrer son logiciel dans la logithèque de Ubuntu sachant que ce n'est pas un logiciel libre.
Merci par avance.
Hors ligne
#2 Le 13/07/2012, à 14:12
- Haleth
Re : Problèmes après la création d'un paquet .deb
404, c'est un beau paquet
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#3 Le 14/07/2012, à 03:50
- VinsS
Re : Problèmes après la création d'un paquet .deb
Salut,
Le bon lien pour ton paquet est celui-ci: http://direct-easy.comule.com/index.php/web/download
Le paquet est effectivement tout à fait incorrect.
Lintian nous montre des chemins pour le moins inattendus, tu ne peux pas étaler toutes les icônes de ton programme dans /usr/bin/.
/usr/bin/ contient généralement un seul fichier, l'exécutable ou le lien vers /usr/share/nom_du_programme-1.2.3/
Ensuite le dossier utilisateur ce n'est pas '/home/~/' mais '~/' tout court. Il y a aussi des questions de permission qui ne vont pas.
Un paquet comme celui-là ne sera jamais accepté dans un ppa, si tu comptais t'en créer un.
Avec l'option -v, Lintian est un peu plus complet:
Lintian Sat, 14 Jul 2012 04:30:00 +0200
Run ['lintian', '-v', u'/home/vincent/Bureau/linux_directeasy.deb']
N: Setting up lab in /tmp/aLLRFllq89 ...
N: Processing 1 packages...
N: ----
N: Processing binary package directeasy (version 0.2) ...
E: directeasy: arch-independent-package-contains-binary-or-object ./usr/bin/directeasy
E: directeasy: arch-independent-package-contains-binary-or-object ./usr/lib/libfmodex-4.40.08.so
E: directeasy: missing-dependency-on-libc needed by ./usr/bin/directeasy and 1 others
W: directeasy: unknown-control-file control~
E: directeasy: no-copyright-file
E: directeasy: extended-description-is-empty
W: directeasy: unknown-section base
E: directeasy: wrong-file-owner-uid-or-gid home/ 1000/1000
W: directeasy: non-standard-dir-perm home/ 0775 != 0755
E: directeasy: wrong-file-owner-uid-or-gid home/~/ 1000/1000
W: directeasy: non-standard-dir-perm home/~/ 0775 != 0755
E: directeasy: wrong-file-owner-uid-or-gid home/~/.directeasy_configs.db 1000/1000
W: directeasy: file-in-unusual-dir home/~/.directeasy_configs.db
W: directeasy: non-standard-file-perm home/~/.directeasy_configs.db 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/ 1000/1000
W: directeasy: non-standard-dir-perm usr/ 0775 != 0755
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/ 1000/1000
W: directeasy: non-standard-dir-perm usr/bin/ 0775 != 0755
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy 1000/1000
W: directeasy: non-standard-executable-perm usr/bin/directeasy 0775 != 0755
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_about.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_about.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_calendar.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_calendar.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_charger.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_charger.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_delete.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_delete.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_ecran.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_ecran.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f1.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_f1.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f2.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_f2.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f3.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_f3.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f4.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_f4.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f5.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_f5.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f6.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_f6.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f7.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_f7.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f8.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_f8.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_f9.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_f9.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_icone.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_icone.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_open.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_open.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_options.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_options.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_pause.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_pause.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_pause_focus.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_pause_focus.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_play.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_play.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_quitter.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_quitter.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_save.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_save.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_stop.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_stop.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/directeasy_vider.png 1000/1000
W: directeasy: non-standard-file-perm usr/bin/directeasy_vider.png 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/bin/icone.ico 1000/1000
W: directeasy: non-standard-file-perm usr/bin/icone.ico 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/lib/ 1000/1000
W: directeasy: non-standard-dir-perm usr/lib/ 0775 != 0755
E: directeasy: wrong-file-owner-uid-or-gid usr/lib/libfmodex-4.40.08.so 1000/1000
E: directeasy: wrong-file-owner-uid-or-gid usr/share/ 1000/1000
W: directeasy: non-standard-dir-perm usr/share/ 0775 != 0755
E: directeasy: wrong-file-owner-uid-or-gid usr/share/applications/ 1000/1000
W: directeasy: non-standard-dir-perm usr/share/applications/ 0775 != 0755
E: directeasy: wrong-file-owner-uid-or-gid usr/share/applications/directeasy.desktop 1000/1000
W: directeasy: non-standard-file-perm usr/share/applications/directeasy.desktop 0664 != 0644
E: directeasy: wrong-file-owner-uid-or-gid usr/share/pixmaps/ 1000/1000
W: directeasy: non-standard-dir-perm usr/share/pixmaps/ 0775 != 0755
E: directeasy: wrong-file-owner-uid-or-gid usr/share/pixmaps/directeasy.png 1000/1000
W: directeasy: non-standard-file-perm usr/share/pixmaps/directeasy.png 0664 != 0644
W: directeasy: binary-without-manpage usr/bin/directeasy
W: directeasy: binary-without-manpage usr/bin/directeasy_about.png
W: directeasy: binary-without-manpage usr/bin/directeasy_calendar.png
W: directeasy: binary-without-manpage usr/bin/directeasy_charger.png
W: directeasy: binary-without-manpage usr/bin/directeasy_delete.png
W: directeasy: binary-without-manpage usr/bin/directeasy_ecran.png
W: directeasy: binary-without-manpage usr/bin/directeasy_f1.png
W: directeasy: binary-without-manpage usr/bin/directeasy_f2.png
W: directeasy: binary-without-manpage usr/bin/directeasy_f3.png
W: directeasy: binary-without-manpage usr/bin/directeasy_f4.png
W: directeasy: binary-without-manpage usr/bin/directeasy_f5.png
W: directeasy: binary-without-manpage usr/bin/directeasy_f6.png
W: directeasy: binary-without-manpage usr/bin/directeasy_f7.png
W: directeasy: binary-without-manpage usr/bin/directeasy_f8.png
W: directeasy: binary-without-manpage usr/bin/directeasy_f9.png
W: directeasy: binary-without-manpage usr/bin/directeasy_icone.png
W: directeasy: binary-without-manpage usr/bin/directeasy_open.png
W: directeasy: binary-without-manpage usr/bin/directeasy_options.png
W: directeasy: binary-without-manpage usr/bin/directeasy_pause.png
W: directeasy: binary-without-manpage usr/bin/directeasy_pause_focus.png
W: directeasy: binary-without-manpage usr/bin/directeasy_play.png
W: directeasy: binary-without-manpage usr/bin/directeasy_quitter.png
W: directeasy: binary-without-manpage usr/bin/directeasy_save.png
W: directeasy: binary-without-manpage usr/bin/directeasy_stop.png
W: directeasy: binary-without-manpage usr/bin/directeasy_vider.png
W: directeasy: binary-without-manpage usr/bin/icone.ico
E: directeasy: sharedobject-in-library-directory-missing-soname usr/lib/libfmodex-4.40.08.so
N: Removing /tmp/aLLRFllq89 ...File created:
/home/vincent/Bureau/lintian.log
Le .desktop a aussi des erreurs:
Run process: ['desktop-file-validate', '/home/vincent/.paqager/temp/validTmp']
: error: line " " starts with a space. Comment, group and key-value lines should not start with a space. The validation will continue, with the leading spaces ignored.
: warning: key "Encoding" in group "Desktop Entry" is deprecated
: warning: value "Application;AudioVideo;" for key "Categories" in group "Desktop Entry" contains a deprecated value "Application"
End process, found 3 error(s).
Bref, t'as de quoi t'occuper le week-end.
Hors ligne
#4 Le 14/07/2012, à 04:18
- VinsS
Re : Problèmes après la création d'un paquet .deb
Ceci est un desktop valide.
[Desktop Entry]
Version=1.0
Name=Direct Easy
Comment=Logiciel cartoucheur de 9 cartouches indépendants
Exec=directeasy
Icon=directeasy
Terminal=false
Type=Application
Categories=HardwareSettings;Printing;Settings;Utility;
Si j'ai bien compris qu'il s'agit de cartouches d'imprimante.
Hors ligne
#5 Le 14/07/2012, à 10:56
- milink
Re : Problèmes après la création d'un paquet .deb
Merci pour ces réponses.
Cependant...
Comment fait-on pour avoir ce "rapport" de Lintian ?
Je pense avoir compris qu'il faut placer mes images dans le dossier /usr/share/mon_programme/.
Dans mon paquet, je n'ai pas créé le dossier home mais directement le dossier ~ et mon fichier n'a pas été copié !
Quelles sont les erreurs de permissions ?
J'ai changé le desktop comme tu m'a dit, mais du coup, l'icône du programme est inconnue ! Et mon programme va dans la catégorie Audio/Multimédia. Quelle catégorie faut-il mettre alors ?
Hors ligne
#6 Le 14/07/2012, à 12:34
- VinsS
Re : Problèmes après la création d'un paquet .deb
Pour le rapport détaillé de Lintian, il faut ajouter l'option -v
En voyant le contenu du paquet je dirais que tu devrais avoir quelque chose comme ceci:
===========================================
/usr/share/directeasy/directeasy (l'executable)
/directeasy_about.png
/directeasy_calendar.png
/ ... (toutes les icônes)
/usr/share/applications/directeasy.desktop
/usr/share/pixmaps/directeasy.png
/usr/lib/libfmodex-4.40.08.so
/usr/bin/directeasy (là tu met un lanceur, simple bash ou un lien qui pointe
vers /usr/share/directeasy/directeasy)
=============================================
Pour le .desktop, je me suis trompé, j'avais cru que c'était un gestionnaire de
cartouches d'imprimante.
Alors, si c'est un programme audio vidéo, utilise ceci
[Desktop Entry]
Version=1.0
Name=Direct Easy
Comment=Logiciel cartoucheur de 9 cartouches indépendants
Exec=directeasy
Icon=directeasy
Terminal=false
Type=Application
Categories=AudioVideo;
Pour tester un fichier .desktop il faut le programme 'desktop-file-utils'
$ sudo apt-get install desktop-file-utils
et puis faire
$ desktop-file-validate directeasy.desktop
Pour l'icône, si c'est un .png dans /usr/share/pixmap/, la règle est de ne pas mettre le chemin ni l'extension.
Si ton appli a besoin d'un dossier de travail '~/.directeasy' il est préférable
qu'elle le crée à la première utilisation que de le mettre dans le paquet .deb,
cela entraîne toujours des problèmes de permissions.
Lintian râle aussi parce que tu déclares un programme all platformes mais tu fournis
des binaires. Je ne sais pas si c'est critique, mais peut-être devras-tu faire
un 32 bytes et un 64 séparément.
Hors ligne
#7 Le 14/07/2012, à 12:39
- Spitfire 95
Re : Problèmes après la création d'un paquet .deb
Erreur du paquet a écrit :E: directeasy: arch-independent-package-contains-binary-or-object usr/bin/directeasy
Architecture doit être sur all au lieu de any
Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.
Hors ligne
#8 Le 13/08/2012, à 13:23
- milink
Re : Problèmes après la création d'un paquet .deb
J'ai réussi à éliminer le plus gros des erreurs en changeant les droits des fichiers et en mettant comme propriétaire root.
Cependant, il me reste toujours ces erreurs que je n'arrive pas à corriger:
Lintian check results for /home/philippe/Documents/Direct Easy/0.2/paquet2.deb:
Use of uninitialized value $ENV{"HOME"} in concatenation (.) or string at /usr/bin/lintian line 108.
E: directeasy: arch-independent-package-contains-binary-or-object usr/bin/directeasy
E: directeasy: arch-independent-package-contains-binary-or-object usr/lib/libfmodex-4.40.08.so
J'ai trouvé ça. Si j'ai bien compris, il est écrit qu'il faut ajouter une exception à Lintian. Dans ce cas, comment faire ? Est-ce la bonne solution ?
Hors ligne
#9 Le 14/08/2012, à 09:31
- VinsS
Re : Problèmes après la création d'un paquet .deb
Salut,
Avec ces fichiers j'arrive à construire le .deb et à l'installer.
Malheureusement, ton exécutable cherche les icônes dans /usr/bin/ au lieu de /usr/share/directeasy-0.2/
et donc se plante au démarrage.
! pour le forum, j'ai remplacé ton adresse mail par <MAIL>, faudra changer.
control
Source: directeasy
Section: sound
Priority: optional
Maintainer: Philippe Milink <MAIL>
Build-Depends: debhelper (>= 7)
Standards-Version: 3.8.4
Homepage: http://direct-easy.comule.com/
Package: directeasy
Version: 0.2
Architecture: i386
Section: sound
Priority: optional
Installed-Size: 1716
Depends: ${misc:Depends}, libgtk2.0-0
Conflicts: directeasy (<=0.1)
Description: Cartoucheur composé de 9 cartouches
Direct Easy est composé de de 9 cartouches - lecteurs - indépendants
et a pour but de vous faciliter vos directs.
Je n'ai trouvé aucune info de licence, donc j'ai mis LGPL3, tu corriges s'il faut.
rules
#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
configure: configure-stamp
configure-stamp:
dh_testdir
# Add here commands to configure the package.
touch configure-stamp
build: build-stamp
build-stamp: configure-stamp
dh_testdir
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
dh_clean
install: build
dh_testdir
dh_testroot
#dh_clean -k
dh_installdirs
#==========================================
#$(MAKE) DESTDIR="$(CURDIR)/debian/directeasy" install
mkdir -p "$(CURDIR)/debian/directeasy"
mkdir -p "$(CURDIR)/debian/directeasy/usr/bin"
cp -a "$(CURDIR)/bin/directeasy" "$(CURDIR)/debian/directeasy/usr/bin/directeasy"
mkdir -p "$(CURDIR)/debian/directeasy/usr/lib"
cp -a "$(CURDIR)/libfmodex-4.40.08.so" "$(CURDIR)/debian/directeasy/usr/lib/libfmodex-4.40.08.so"
mkdir -p "$(CURDIR)/debian/directeasy/usr/share/applications"
cp -a "$(CURDIR)/directeasy.desktop" "$(CURDIR)/debian/directeasy/usr/share/applications/directeasy.desktop"
mkdir -p "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2"
cp -a "$(CURDIR)/directeasy" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy"
cp -a "$(CURDIR)/directeasy_about.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_about.png"
cp -a "$(CURDIR)/directeasy_calendar.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_calendar.png"
cp -a "$(CURDIR)/directeasy_charger.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_charger.png"
cp -a "$(CURDIR)/directeasy_delete.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_delete.png"
cp -a "$(CURDIR)/directeasy_ecran.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_ecran.png"
cp -a "$(CURDIR)/directeasy_f1.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_f1.png"
cp -a "$(CURDIR)/directeasy_f2.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_f2.png"
cp -a "$(CURDIR)/directeasy_f3.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_f3.png"
cp -a "$(CURDIR)/directeasy_f4.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_f4.png"
cp -a "$(CURDIR)/directeasy_f5.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_f5.png"
cp -a "$(CURDIR)/directeasy_f6.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_f6.png"
cp -a "$(CURDIR)/directeasy_f7.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_f7.png"
cp -a "$(CURDIR)/directeasy_f8.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_f8.png"
cp -a "$(CURDIR)/directeasy_f9.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_f9.png"
cp -a "$(CURDIR)/directeasy_icone.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_icone.png"
cp -a "$(CURDIR)/directeasy_open.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_open.png"
cp -a "$(CURDIR)/directeasy_options.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_options.png"
cp -a "$(CURDIR)/directeasy_pause.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_pause.png"
cp -a "$(CURDIR)/directeasy_pause_focus.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_pause_focus.png"
cp -a "$(CURDIR)/directeasy_play.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_play.png"
cp -a "$(CURDIR)/directeasy_quitter.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_quitter.png"
cp -a "$(CURDIR)/directeasy_save.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_save.png"
cp -a "$(CURDIR)/directeasy_stop.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_stop.png"
cp -a "$(CURDIR)/directeasy_vider.png" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/directeasy_vider.png"
cp -a "$(CURDIR)/icone.ico" "$(CURDIR)/debian/directeasy/usr/share/directeasy-0.2/icone.ico"
mkdir -p "$(CURDIR)/debian/directeasy/usr/share/pixmaps"
cp -a "$(CURDIR)/directeasy.png" "$(CURDIR)/debian/directeasy/usr/share/pixmaps/directeasy.png"
#==========================================
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs debian/changelog
dh_installdocs
dh_installexamples
# dh_install
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_python
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_perl
# dh_makeshlibs
dh_installdeb
# dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
Normalement il faudrait utiliser 'dh_shlibdeps' pour installer libfmodex-4.40.08.so mais je ne sais pas comment fait on.
changelog
directeasy (0.2) stable; urgency=low
* Initial release
-- Philippe Milink <MAIL> Tue, 14 Aug 2012 10:12:01 +0200
Et le lanceur qui va dans /usr/bin/
directeasy (ne pas mettre d'extension)
#!/bin/sh
set -e
exec /usr/share/directeasy-0.2/directeasy
Lintian a encore des erreurs mais le .deb se crée.
Hors ligne
#10 Le 14/08/2012, à 12:04
- milink
Re : Problèmes après la création d'un paquet .deb
Merci pour cette réponse.
Malheureusement, ton exécutable cherche les icônes dans /usr/bin/ au lieu de /usr/share/directeasy-0.2/
et donc se plante au démarrage.
??! Comment ça ???
Pourquoi est-ce que le fichier control est comme dupliqué en deux ? A quoi sert le premier "paragraphe" ?
Où est-ce que tu as mis LGPL3 ? Je ne vois pas...
A quoi sert le fichier rules ? J'ai l'impression qu'il ressemble à un makefile qui compilerait mon programme depuis les sources (ce que je ne veux pas !).
Et pourquoi ne puis-je pas mettre l'executable directement dans /usr/bin/ ?
Dernière question: est-ce possible de "forcer" l'éxecution de mon programme en root en passant par le lanceur (de gnome par exemple) sans devoir lancer le programme en console avec sudo directeasy ? (j'en ai besoin pour pouvoir écrire dans un fichier, sans root je n'ai pas les droits)
Hors ligne
#11 Le 14/08/2012, à 14:24
- VinsS
Re : Problèmes après la création d'un paquet .deb
En fait, le problème c'est que tu ne peux pas étaler tous les fichiers de ton appli dans /usr/bin.
Il lui faut son dossier /usr/share/directeasy-0.2/
et dans /usr/bin tu mets un lanceur comme le bash que j'ai mis dans mon dernier post.
Seulement voilà, le code de l'appli attribue aux icônes le chemin /usr/bin.
Si je le lance en console:
vincent@tiemoko:~$ directeasy
(directeasy:17208): Gtk-WARNING **: Error loading icon from file '/usr/bin/directeasy_icone.png':
Impossible d'ouvrir le fichier « /usr/bin/directeasy_icone.png » : Aucun fichier ou dossier de ce type
vincent@tiemoko:~$
Pour la licence, oublies, c'est dans le fichier licence que je n'ai pas joint à mon post.
Le fichier rules décrit, pour dpkg, les règles de création du paquet. Dans ce cas ci il n'y a pas de compilation, seulement le placement des bons fichiers aux bons endroits. Je suis surpris que tu ais put faire un paquet .deb sans fichier rules, j'ignorais la chose possible.
Ton programme peut écrire dans ~/.directeasy tout ce qu'il veut sans droit root, si c'est dans un dossier système, sudo et mot de passe resteront toujours nécessaires.
Hors ligne