[pkgbuild] Nouveau paquet pour jeu de Tarot

Mise à jour / Création /debug de paquetages
Répondre
Belegar
Hankyu
Messages : 10
Inscription : mer. 05 nov. 2014, 22:41

[pkgbuild] Nouveau paquet pour jeu de Tarot

Message par Belegar »

Bonjour à tous,

Je suis le créateur d'un jeu de Tarot fonctionnant sous Linux (http://www.tarotclub.fr) et j'ai essayé de construire un script PKGBUILD pour ARCH qui n'est pas une distribution que je connais très bien. Heureusement j'ai reçu un peu d'aide :)

Je ne sais pas si je procède comme il faut, mais serait-il possible de placer ce script dans le dépôt ArchLinuxFr ?

Voici un lien contenant le PKGBUILD et les scripts associés : https://bitbucket.org/tarotclub/packagi ... pkg.tar.gz

Merci d'avance pour votre aide !

Addendum: je l'ai testé sous Manjaro.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17235
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par benjarobin »

Bonsoir,
AUR est fait pour cela : https://aur.archlinux.org/index.php?setlang=fr
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Belegar
Hankyu
Messages : 10
Inscription : mer. 05 nov. 2014, 22:41

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par Belegar »

Mmh, je n'ai pas tout compris alors, pourtant je suis la procédure du Wiki : https://wiki.archlinux.fr/Depot_archlinuxfr.

Me conseilles-tu plutôt d'essayer de placer mon paquet dans le dépôt officiel AUR ?
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17235
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par benjarobin »

Il est toujours mieux de mettre les sources sur AUR, cela permet d'avoir une meilleur visibilité.
Et une fois que c'est sur AUR, alors il est envisageable de le mettre sur le dépôt binaire. N'importe qui peut créer un compte sur AUR, ce n'est pas le cas pour archlinuxfr, il faut faire une demande.
Le dépôt archlinuxfr stock le paquet construit, ce qui permet de gagner du temps, en effet.
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Belegar
Hankyu
Messages : 10
Inscription : mer. 05 nov. 2014, 22:41

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par Belegar »

Ah d'accord, pigé!
Belegar
Hankyu
Messages : 10
Inscription : mer. 05 nov. 2014, 22:41

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par Belegar »

J'ai l'erreur suivante quand j'exécute mkaurball:

Code : Tout sélectionner

/usr/bin/mkaurball: line 251: .: PKGBUILD: cannot execute binary file
ERROR: Unable to source /home/anthony/Documents/packaging/arch/PKGBUILD
Une idée quelqu'un ?
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17235
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par benjarobin »

Tu dois faire ceci, attention il manque en tant que dépendance : qt5-svg

Code : Tout sélectionner

wget https://bitbucket.org/tarotclub/packaging/downloads/tarotclub.pkg.tar.gz
tar xvf tarotclub.pkg.tar.gz
cd arch
makepkg -s
mkaurball
mkaurball est fournit par le paquet pkgbuild-introspection
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Belegar
Hankyu
Messages : 10
Inscription : mer. 05 nov. 2014, 22:41

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par Belegar »

Ok super merci je n'étais pas loin. Mon fichier était corrompu, d'où l'erreur. Je l'ai placé sur AUR.

Mon sentiment est que le process de package est *vraiment* sympa et simple comparé à Ubuntu ...
bobo
Elfe
Messages : 593
Inscription : mar. 08 avr. 2014, 22:47

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par bobo »

tarotclub-hg ? C'est ça ? Tu y es :bravo:

Code : Tout sélectionner

$ yaourt -Ss tarot
aur/mse-tarot-template 2.0.0-2 (0)
    Tarot template for Magic Set Editor
aur/qtarot-git 0.5.9-1 (2)
    A simple tarot reading program
aur/tarotclub-hg 1430.45896f4bd03b-1 (0)
    A local/network French Tarot card game.
J'essaie ça tout de suite…
dwm — BÉPO — vim — “more is less !”
bobo
Elfe
Messages : 593
Inscription : mar. 08 avr. 2014, 22:47

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par bobo »

Bon je ne suis pas un as du tarot, si bien qu'il m'a fallu un peu de temps avant d'être sûr qu'il y avait un bug, et de le reproduire.
J'ai capture d'écran + texte de debug…

Voici le rapport de bug :
https://bitbucket.org/tarotclub/tarotcl ... -certaines
dwm — BÉPO — vim — “more is less !”
Belegar
Hankyu
Messages : 10
Inscription : mer. 05 nov. 2014, 22:41

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par Belegar »

Oui vu super merci, ça va m'aider à le corriger.

Concernant le paquet AUR, je vais peut-être le corriger pour mettre une version plus parlante que le numéro de commit mercurial :?
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par FoolEcho »

Belegar a écrit :Concernant le paquet AUR, je vais peut-être le corriger pour mettre une version plus parlante que le numéro de commit mercurial :?
Surtout pas. Ton paquet doit suivre les recommandations d'Arch en matière de systèmes de gestion de version (d'ailleurs tu peux rajouter un petit "r" devant :wink: ):
https://wiki.archlinux.org/index.php/VC ... #Mercurial
«The following statement is not true. The previous statement is true.» :nage:
Belegar
Hankyu
Messages : 10
Inscription : mer. 05 nov. 2014, 22:41

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par Belegar »

Ah oui ok!
Belegar
Hankyu
Messages : 10
Inscription : mer. 05 nov. 2014, 22:41

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par Belegar »

Mise à jour du paquet suite à la sortie de la version 2.5.0
Avatar de l’utilisateur
Xorg
Maître du Kyudo
Messages : 1933
Inscription : dim. 22 janv. 2012, 19:25
Localisation : Entre le clavier et la chaise.

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par Xorg »

Hum, j'ai bien deux-trois trucs à dire sur le PKGBUILD... :non:

Déjà, un namcap tarotclub-hg-1531.318ebe275da7-1-any.pkg.tar.xz donne beaucoup d'informations utiles, comme tout ce qui ne va pas dans un paquet.

Par exemple, arch=('any') est valable quand il n'y a pas de fichier binaires dans le paquet, or lorsque je fais un file /usr/share/tarotclub/TarotClub, je m'aperçois que c'est un binaire, donc arch=('i686' 'x86_64') serait plus adapté.
Ensuite, attention, toutes les licences (pour la variable license=()) valides appartiennent au paquet licenses, et les licences se trouvent dans /usr/share/licenses/common/. Donc GPLv3 n'est pas conforme, et de plus il n'est pas nécessaire de réinstaller une nouvelle fois cette licence.
Enfin, le préfixe -hg d'un paquet sert à indiquer que ce sont les dernières sources du dépôt Mercurial, et donc utiliser un tag va à l'encontre de cela. Si tu désires utiliser un tag, alors il te faudra créer un nouveau paquet simplement nommé tarotclub (et ça donnera un paquet du type tarotclub-2.5.1-1, plutôt que tarotclub-hg-r1532.b9333bbd7b72-1), et là tu auras besoin d'utiliser les variables conflicts=() ainsi que provides=().

Voici un exemple de paquet : https://gist.github.com/X0rg/0328afe8a4c3c09b32df
J'ai modifié plusieurs fichiers, et j'ai corrigé les permissions qui n'allaient pas.

Sinon je constate que tu aimes beaucoup Futurama. :mrgreen:
Arch Linux x86_64 - Sway
AMD Ryzen 5 3600X - 32 Go de DDR4 - SSD NVMe 1 To + SSD SATA 250 Go - Sapphire NITRO+ Radeon RX 580
Image AUR___Image Wiki___Image GitHub
Avatar de l’utilisateur
milouse
Hankyu
Messages : 24
Inscription : dim. 14 août 2011, 17:56
Localisation : Nantes
Contact :

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par milouse »

J'abonde dans le sens de Xorg.

J'irai même un petit peu plus loin. Le principe d'un package manager (sous ubuntu, archlinux ou autre) c'est de veiller à rester le plus atomique possible du point de vue des paquets, de façon à éviter les conflits lorsque l'on installe des fichiers au sein du système. En l'occurence, je constate que ton jeu dépend d'une police de caractère « kanzlei.ttf » (il s'agit de celle-ci http://www.dafont.com/fr/kanzlei.font ?) D'une part cette police de caractère n'est PAS sous licence GPLv3 (a priori l'auteur, sur son site, parle d'un usage gratuit non commercial, mais à aucun moment il ne parle d'un droit de modification et d'ailleurs les sources ne sont pas disponibles) et d'autre part tu l'installes dans /usr/share/fonts... c'est à dire que quelqu'un d'autre (voir la distro elle-même) pourrait à tout moment installer cette police au même endroit et avoir une vieille erreur de conflit.

Solutions :
  • Soit tu supprimes l'installation de cette police dans /usr/share/fonts/ pour la placer uniquement dans le sous dossier /usr/share/tarotclub (d'ailleurs je constate que tu places déjà une copie de cette police à cet endroit. Quel est le but de l'avoir à deux endroits ?). C'est la solution la moins « prise de tête » sans doute pour toi, mais la plus crade d'un point de vue licence/modularité. Moyennant quoi ça te permettra également de supprimer le fichier tarotclub-hg.install du paquet
  • Soit tu supprimes toute référence à cette police dans ton paquet tarotclub (ce qui ne t'empêche pas de conserver le fichier sur ton dépôt... juste au moment de la création du paquet tu ne l'inclues pas dans le paquet final) et tu crée un second paquet uniquement pour cette police de caractère là. La convention sur archlinux est de l'appeler kanzlei-ttf ou kanzlei-font si tu distribues d'autres formats. Enfin, tu ajoutes une dépendance vers cette police de caractère sur ton paquet tarotclub. Je constate que tu as un ppa pour ubuntu, du coup je t'invite très franchement à faire de même sur cette distribution. Ce qui te permettra d'être au clair avec les licences : le contenu du paquet tarotclub est bien sous licence GPLv3 et tu dépends d'une police de caractère qui elle est sous licence « custom » (verbiage archlinux) et tu ajoutes un fichier LICENCE contenant « Free for personnal use only » au paquet de la police.
Voilà... Le but était vraiment pas de faire de la critique gratuite, tu as largement déjà fait le plus gros en réalisant ton jeu (ça va me permettre de peut-être enfin comprendre comment on y joue), mais il faut faire attention à bien respecter les conventions lorsque l'on veut déployer mondialement des logiciels :)

Au final, hésite pas à demander si tu n'es pas à l'aise avec Archlinux (par exemple parce que ce n'est pas ta distro principale), je suis sûr que tu trouveras ici des tas de gens super content de faire le boulot de packaging pour toi :)

Bonne année !
Belegar
Hankyu
Messages : 10
Inscription : mer. 05 nov. 2014, 22:41

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par Belegar »

Ouah super merci les gars pour vos commentaires, tout à fait justifiés.

J'ai mis en ligne sur AUR une version corrigée 2.5.2 de mon logiciel par contre c'était avant de voir vos réponses.
Je corrige tout ça et je re-upload.
Belegar
Hankyu
Messages : 10
Inscription : mer. 05 nov. 2014, 22:41

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par Belegar »

Corrigé, j'ai uploadé une version 2.5.3 du logiciel.
J'ai chois l'option d'intégrer la fonte dans l'exécutable, comme ça c'est carrément invisible :D Il faudrait que j'ajoute une info dans la licence quand même.

Merci encore pour vos commentaires.
Avatar de l’utilisateur
milouse
Hankyu
Messages : 24
Inscription : dim. 14 août 2011, 17:56
Localisation : Nantes
Contact :

Re: [pkgbuild] Nouveau paquet pour jeu de Tarot

Message par milouse »

Hum, essaye de le faire assez vite pour la notification de licence (également dans la boîte « à propos » du logiciel lui-même, car en l'état ton paquet (et d'ailleurs par extension ton logiciel) n'est pas légal. Au passage ça ne te coûte rien mais je serai toi j'enverrai un mail à l'auteur de la police pour le prévenir de l'usage que tu en fait. Sachant qu'il ne s'agit pas d'un usage commercial ce serait étonnant qu'il refuse et c'est plus légal et tout simplement poli de le prévenir de ton utilisation.
Répondre