[pkgbuild] desmume, mon premier paquet!!(résolu)

Mise à jour / Création /debug de paquetages
Répondre
Avatar de l’utilisateur
Berillions
archer
Messages : 136
Inscription : sam. 21 nov. 2009, 12:14
Localisation : Nancy

[pkgbuild] desmume, mon premier paquet!!(résolu)

Message par Berillions »

Et pas le dernier... Enfin j'espère :humour:

Premièrement bonsoir,

J'essaie actuellement de crée un petit paquet pour un émulateur Nintendo DS (desmume) vu qu'il n'est ni dans AUR ni dans archlinuxfr, je me demande si c'est un simple oubli ou si c'est normal. :mrgreen:

Soit, j'ai crée un petit PKGBUILD que voici :

Code : Tout sélectionner

# Contributor: Berillions
pkgname=desmume
pkgver=0.9.5
pkgrel=1
pkgdesc="Nintendo DS Emulator"
arch=(i686 x86_64)
url="http://desmume.org/"
license=('GPL')
depends=('agg')
source=(http://sunet.dl.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz)
md5sums=('aca40a8507d4104626da7086d451037b')
 
build() {
  cd $srcdir/$pkgname-$pkgver
  ./configure
  make || return 1
  make install
}
En lisant le fichier README-LIN, il est dit que desmume est écrit en C utilisant les librairies gtk+ et SDL.
En ne mettant rien dans la partie "depends", ca a gueulé lors de la compile.

Code : Tout sélectionner

configure: error: Antigrain library is required to build desmume
Ce qui a eu pour conséquence l'installation et son rajout dans le pkgbuild d'agg.

Ceci rajouté, je relance la commande makepkg et cette fois-ci cela plante lors du passage dans la commande "make" :

Code : Tout sélectionner

mkdir: impossible de créer le répertoire « /usr/local/share/locale »: Permission non accordée
mkdir: impossible de créer le répertoire « /usr/local/share/locale »: Permission non accordée
/bin/install: impossible de créer le fichier standard « /usr/local/share/locale/fr/LC_MESSAGES/desmume.mo »: Aucun fichier ou dossier de ce type
installing fr.gmo as /usr/local/share/locale/fr/LC_MESSAGES/desmume.mo
mkdir: impossible de créer le répertoire « /usr/local/share/locale »: Permission non accordée
mkdir: impossible de créer le répertoire « /usr/local/share/locale »: Permission non accordée
/bin/install: impossible de créer le fichier standard « /usr/local/share/locale/nb/LC_MESSAGES/desmume.mo »: Aucun fichier ou dossier de ce type
installing nb.gmo as /usr/local/share/locale/nb/LC_MESSAGES/desmume.mo
mkdir: impossible de créer le répertoire « /usr/local/share/locale »: Permission non accordée
mkdir: impossible de créer le répertoire « /usr/local/share/locale »: Permission non accordée
/bin/install: impossible de créer le fichier standard « /usr/local/share/locale/pt_BR/LC_MESSAGES/desmume.mo »: Aucun fichier ou dossier de ce type
installing pt_BR.gmo as /usr/local/share/locale/pt_BR/LC_MESSAGES/desmume.mo
mkdir: impossible de créer le répertoire « /usr/local/share/locale »: Permission non accordée
mkdir: impossible de créer le répertoire « /usr/local/share/locale »: Permission non accordée
/bin/install: impossible de créer le fichier standard « /usr/local/share/locale/sv/LC_MESSAGES/desmume.mo »: Aucun fichier ou dossier de ce type
installing sv.gmo as /usr/local/share/locale/sv/LC_MESSAGES/desmume.mo
mkdir: impossible de créer le répertoire « /usr/local/share/locale »: Permission non accordée
mkdir: impossible de créer le répertoire « /usr/local/share/locale »: Permission non accordée
/bin/install: impossible de créer le fichier standard « /usr/local/share/locale/zh_CN/LC_MESSAGES/desmume.mo »: Aucun fichier ou dossier de ce type
installing zh_CN.gmo as /usr/local/share/locale/zh_CN/LC_MESSAGES/desmume.mo
make[1]: quittant le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/po »
Making install in src
make[1]: entrant dans le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src »
Making install in .
make[2]: entrant dans le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src »
make[3]: entrant dans le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src »
make[3]: Rien à faire pour « install-exec-am ».
make[3]: Rien à faire pour « install-data-am ».
make[3]: quittant le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src »
make[2]: quittant le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src »
Making install in gtk-glade
make[2]: entrant dans le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src/gtk-glade »
Making install in doc
make[3]: entrant dans le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src/gtk-glade/doc »
make[4]: entrant dans le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src/gtk-glade/doc »
make[4]: Rien à faire pour « install-exec-am ».
test -z "/usr/local/share/man/man1" || /bin/mkdir -p "/usr/local/share/man/man1"
/bin/mkdir: impossible de créer le répertoire « /usr/local/share/man/man1 »: Permission non accordée
make[4]: *** [install-man1] Erreur 1
make[4]: quittant le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src/gtk-glade/doc »
make[3]: *** [install-am] Erreur 2
make[3]: quittant le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src/gtk-glade/doc »
make[2]: *** [install-recursive] Erreur 1
make[2]: quittant le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src/gtk-glade »
make[1]: *** [install-recursive] Erreur 1
make[1]: quittant le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src »
make: *** [install-recursive] Erreur 1
Et je vous avoue que je n'y comprends rien. Du ce message d'appel à l'aide.
Autre petite question, pour désinstaller desmume, il suffit de faire un "make uninstall". Faut-il faire un fichier .install.

Merci pour vos aides et n'hésitez pas à me taper sur les doigts si j'ai mal lu la documentation quelque part. :non:
Dernière modification par Berillions le sam. 01 mai 2010, 09:55, modifié 2 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17235
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Paquet]C'est mon premier !!

Message par benjarobin »

Bon tout est normal. Je te rassure...

Code : Tout sélectionner

make install
fait une copie des fichier compile sur le système. Hors ici tu es dans fakeroot qui t'isole du système pour question de sécurité. Et ici le but et de créer un paquage et pas d'installer directement sur le système. Il faut dire donc au make installe que tu n'installe pas depuis la racine mais depuis $pkg

Voici la "correction"

Code : Tout sélectionner

# Contributor: Berillions
pkgname=desmume
pkgver=0.9.5
pkgrel=1
pkgdesc="Nintendo DS Emulator"
arch=(i686 x86_64)
url="http://desmume.org/"
license=('GPL')
depends=('agg')
source=(http://sunet.dl.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz)
md5sums=('aca40a8507d4104626da7086d451037b')

build() {
  cd $srcdir/$pkgname-$pkgver || return 1
  ./configure --prefix=/usr --program-prefix=$pkgdir || return 1
  make || return 1
  make install || return 1
}
Je n'ai pas tester mais c'est quelque chose dans ce genre, je n'ai fait que lire le fichier INSTALL
Dernière modification par benjarobin le ven. 30 avr. 2010, 23:01, modifié 1 fois.
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
ddup1
Chu Ko Nu
Messages : 338
Inscription : lun. 15 sept. 2008, 20:59
Localisation : Toulouse

Re: [Paquet]C'est mon premier !!

Message par ddup1 »

Dans ton fichier PKGBUILD remplace :

Code : Tout sélectionner

make install
Par :

Code : Tout sélectionner

make PREFIX=${pkgdir}/usr install || return 1
En effet avec makepkg l'objectif est de générer un paquet non pas de faire un make install sur le système de fichier courant, donc on change le chemin d'installation en ajoutant PREFIX=${pkgdir}/usr au make install.

Concernant la désinstallation tu n'as pas à t'en occupé, pacman s'en chargera.
Bon me suis fait devancé et oui il faut aussi modifier le ./configure --prefix=/usr
Un clavier azerty en vaut deux :D
http://www.dupnet.org/dotclear/
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17235
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Paquet]C'est mon premier !!

Message par benjarobin »

J'ai lu le fichier INSTALL et je ne pense pas que
make PREFIX=${pkgdir}/usr install || return 1
soit la bonne solution. J'ai édité... Bref n'ayant pas testé je ne dirai rien
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
Berillions
archer
Messages : 136
Inscription : sam. 21 nov. 2009, 12:14
Localisation : Nancy

Re: [Paquet]C'est mon premier !!

Message par Berillions »

Voici mes retours et rien ne fonctionne. :mrgreen:
J'ai la même erreur pour vos 2 corrections.

Code : Tout sélectionner

/bin/install: impossible de créer le fichier standard « /usr/share/locale/fr/LC_MESSAGES/desmume.mo »: Permission non accordée
installing fr.gmo as /usr/share/locale/fr/LC_MESSAGES/desmume.mo
/bin/install: impossible de créer le fichier standard « /usr/share/locale/nb/LC_MESSAGES/desmume.mo »: Permission non accordée
installing nb.gmo as /usr/share/locale/nb/LC_MESSAGES/desmume.mo
/bin/install: impossible de créer le fichier standard « /usr/share/locale/pt_BR/LC_MESSAGES/desmume.mo »: Permission non accordée
installing pt_BR.gmo as /usr/share/locale/pt_BR/LC_MESSAGES/desmume.mo
/bin/install: impossible de créer le fichier standard « /usr/share/locale/sv/LC_MESSAGES/desmume.mo »: Permission non accordée
installing sv.gmo as /usr/share/locale/sv/LC_MESSAGES/desmume.mo
/bin/install: impossible de créer le fichier standard « /usr/share/locale/zh_CN/LC_MESSAGES/desmume.mo »: Permission non accordée
installing zh_CN.gmo as /usr/share/locale/zh_CN/LC_MESSAGES/desmume.mo
make[1]: quittant le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/po »
Making install in src
make[1]: entrant dans le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src »
Making install in .
make[2]: entrant dans le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src »
make[3]: entrant dans le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src »
make[3]: Rien à faire pour « install-exec-am ».
make[3]: Rien à faire pour « install-data-am ».
make[3]: quittant le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src »
make[2]: quittant le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src »
Making install in gtk-glade
make[2]: entrant dans le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src/gtk-glade »
Making install in doc
make[3]: entrant dans le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src/gtk-glade/doc »
make[4]: entrant dans le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src/gtk-glade/doc »
make[4]: Rien à faire pour « install-exec-am ».
test -z "/usr/share/man/man1" || /bin/mkdir -p "/usr/share/man/man1"
 /bin/install -c -m 644 'desmume-glade.1' '/usr/share/man/man1//home/berillions/Desktop/desmume/pkgdesmume-glade.1'
/bin/install: impossible de créer le fichier standard « /usr/share/man/man1//home/berillions/Desktop/desmume/pkgdesmume-glade.1 »: Aucun fichier ou dossier de ce type
make[4]: *** [install-man1] Erreur 1
make[4]: quittant le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src/gtk-glade/doc »
make[3]: *** [install-am] Erreur 2
make[3]: quittant le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src/gtk-glade/doc »
make[2]: *** [install-recursive] Erreur 1
make[2]: quittant le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src/gtk-glade »
make[1]: *** [install-recursive] Erreur 1
make[1]: quittant le répertoire « /home/berillions/Desktop/desmume/src/desmume-0.9.5/src »
make: *** [install-recursive] Erreur 1
==> ERREUR: La compilation a échoué.
    Abandon...
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [Paquet]C'est mon premier !!

Message par tuxce »

remplace "make install" par:

Code : Tout sélectionner

make DESTDIR="$pkgdir" install
le dernier || return 1 est inutile

@benjarobin, --program-prefix (ou suffix) permet de modifier le nom des executable, par exemple si tu sais qu'un programme va fournir disons, un /usr/bin/urxvt, si tu configures avec --program-sufix=mieux (et bien sûr si le Makefile est bien fait), il t'installera /usr/bin/urxvt-mieux
Avatar de l’utilisateur
Berillions
archer
Messages : 136
Inscription : sam. 21 nov. 2009, 12:14
Localisation : Nancy

Re: [pkgbuild] desmume, mon premier paquet!!

Message par Berillions »

Bonsoir 'sieur Tuxce,

Concernant ta correction, c'est bon, le paquet est bien crée.

Ensuite, j'ai lancé un "pacman -U fichier.pkg.tar.xz" et il s'est installé correctement. Le hic, j'ai bien un lanceur dans le menu mais il ne se passe rien, nada quand je le lance.

J'ai fouillé dans /usr/local et l'executable de l'émulateur se trouve dans /usr/local/bin.

Le lanceur qui se trouve dans /usr/local/share/applications a cette tête là :

Code : Tout sélectionner

[Desktop Entry]
Version=1.0
Type=Application
Name=DeSmuME (Gtk)
Comment=Nintento DS emulator
TryExec=desmume
Exec=desmume
Icon=DeSmuME
Categories=GNOME;GTK;Game;Emulator;
MimeType=application/x-nintendo-ds-rom;
Par contre, l'émulateur se lance correctement si je fais un clic-droit -> Executer ou un simple clic-gauche.
Ai-je oublié de mentionner quelque chose dans le PKGBUILD ?

Merci
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [pkgbuild] desmume, mon premier paquet!!

Message par tuxce »

Berillions a écrit : J'ai fouillé dans /usr/local et l'executable de l'émulateur se trouve dans /usr/local/bin.
c'est que t'as pas mis le --prefix=/usr que t'as indiqué benjarobin
Avatar de l’utilisateur
Berillions
archer
Messages : 136
Inscription : sam. 21 nov. 2009, 12:14
Localisation : Nancy

Re: [pkgbuild] desmume, mon premier paquet!!

Message par Berillions »

Merci Tuxce, ca fonctionne correctement maintenant. Par contre, j'ai 1-2 questions encore (les dernières).

1- Je n'ai qu'un package pour l'arch64. Je suis obligé de relancer un makepkg sur une Archlinux 32 bits pour faire le package de cette architecture?
Je pensais que j'allais faire les deux en même temps. :mrgreen:

2- Je peux envoyer le paquet sur archlinuxfr voire AUR :?:

M'enfin, même avec votre aide, suis fier de moi :bravo:
Avatar de l’utilisateur
ddup1
Chu Ko Nu
Messages : 338
Inscription : lun. 15 sept. 2008, 20:59
Localisation : Toulouse

Re: [pkgbuild] desmume, mon premier paquet!!

Message par ddup1 »

1/ Tu dois pouvoir générer un paquet 32 bits mais faut installer la chaîne pour cross compiler, bref c'est inutile si tu mets ton paquet sur AUR

2/Sur AUR on ne met pas les paquets mais ce qui permet de le construire.
La ou il y a ton fichier pkgbuild, lance la commande makepkg --source cela va te génerer une archive des fichiers nécessaires à l'élaboration du paquet concerné puis tu le déposes sur AUR.

Edit : et mets ton mail dans le PKGBUILD # Maintainer : pseudo <mail>
Edit 2 : le paquet desmume existe déjà sur AUR : http://aur.archlinux.org/packages.php?ID=8059
Un clavier azerty en vaut deux :D
http://www.dupnet.org/dotclear/
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17235
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [pkgbuild] desmume, mon premier paquet!!

Message par benjarobin »

Alors la :bravo: J'aurais du vérifier qu'il n'était pas sur AUR
Sinon :resolu:
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
Berillions
archer
Messages : 136
Inscription : sam. 21 nov. 2009, 12:14
Localisation : Nancy

Re: [pkgbuild] desmume, mon premier paquet!!

Message par Berillions »

Ah tiens oui...
Pourtant j'avais recherché. Bon, c'est pas si grâve que cela, ça m'a permis de m'entrainer :mrgreen:
Avatar de l’utilisateur
chipster
Maître du Kyudo
Messages : 2063
Inscription : ven. 11 août 2006, 22:25
Localisation : Saint-Étienne (42)
Contact :

Re: [pkgbuild] desmume, mon premier paquet!!(résolu)

Message par chipster »

Félicitation :chinois:
Avatar de l’utilisateur
ddup1
Chu Ko Nu
Messages : 338
Inscription : lun. 15 sept. 2008, 20:59
Localisation : Toulouse

Re: [pkgbuild] desmume, mon premier paquet!!(résolu)

Message par ddup1 »

Et c'est là toute la puissance d'Archlinux, il est aisé de générer un paquet pour soi.
Un clavier azerty en vaut deux :D
http://www.dupnet.org/dotclear/
Répondre