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 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:

Erreur du paquet a écrit :

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. smile

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.


Vincent
Oqapy      Qarte      PaQager

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.


Vincent
Oqapy      Qarte      PaQager

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... big_smile

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.


Vincent
Oqapy      Qarte      PaQager

Hors ligne

#7 Le 14/07/2012, à 12:39

Spitfire 95

Re : Problèmes après la création d'un paquet .deb

milink a écrit :
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:

Erreurs a écrit :

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.


Vincent
Oqapy      Qarte      PaQager

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.

VinsS a écrit :

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.


Vincent
Oqapy      Qarte      PaQager

Hors ligne