logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#51 11-06-2021 10:34:18

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 27-09-2012
Site Web

Re : KingsAndShips : Graphismes et Game Design

@Dylan,
Je pense aussi que je vais le faire à la main. J'ai ajouté des règles pour générer un paquet source depuis CMake, ce qui est déjà bien. J'ai testé ensuite debmake, mais il bute un peu sur le fichier copyright, ce sera plus facile de le faire à la main pour commencer.

Hors ligne

#52 11-06-2021 11:16:07

Dylan
Membre
Inscription : 19-06-2019
Site Web

Re : KingsAndShips : Graphismes et Game Design

Pas besoin de se préoccuper de générer le paquet source pour le moment wink Tout sera fait automatiquement avec gbp buildpackage à partir du dépot git.

Hors ligne

#53 15-06-2021 09:36:59

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 27-09-2012
Site Web

Re : KingsAndShips : Graphismes et Game Design

J'ai commencé à créer le dossier Debian : https://github.com/kaochen/KingsAndShip … ian/debian
Mais je bute sur la création, je n'arrive pas à déclencher la construction du paquet avec debuild.

Il me demande l'archive source mais pour moi c'est son taf de le faire :

dpkg-source: error: can't build with source format '3.0 (quilt)': no upstream tarball found at ../kingsandships_0.1.1.orig.tar.{bz2,gz,lzma,xz}



J'ai dû rater quelque chose.

Hors ligne

#54 15-06-2021 10:44:58

Dylan
Membre
Inscription : 19-06-2019
Site Web

Re : KingsAndShips : Graphismes et Game Design

Un paquet source est composé de plusieurs choses dont l'archive de l'upstream (que l'on ne doit pas toucher) et une archive contenant seulement le dossier debian.

Il n'est pas content car il ne trouve pas l'archive d'origine : ../kingsandships_0.1.1.orig.tar.{bz2,gz,lzma,xz}

Le plus simple pour la générer facilement est de finir le fichier debian/watch puis de lancer un "uscan".

Dernière modification par Dylan (15-06-2021 10:52:28)

Hors ligne

#55 15-06-2021 20:45:51

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 27-09-2012
Site Web

Re : KingsAndShips : Graphismes et Game Design

J'ai configuré le fichier watch correctement je pense.
J'ai réussi à générer un paquet signé à l'aide de la commande :

dpkg-buildpackage -B



Le paquet s'installe correctement et fonctionne.

Il manque juste le raccourcis .desktop qui lui pose problème pour le moment.
Il est généré à la volet par cmake normalement.

Il faut lancer le jeu à l'ancienne :

/usr/bin/kingsandships



J'avance, merci de m'avoir mis sur la bonne piste.

Hors ligne

#56 16-06-2021 06:59:09

Dylan
Membre
Inscription : 19-06-2019
Site Web

Re : KingsAndShips : Graphismes et Game Design

kao a écrit :


Le paquet s'installe correctement et fonctionne.



Super!

kao a écrit :


Il manque juste le raccourcis .desktop qui lui pose problème pour le moment.
Il est généré à la volet par cmake normalement.

Il faut lancer le jeu à l'ancienne :

/usr/bin/kingsandships



Normalement, cela ne pose pas de problème s'il est installé au bon endroit par cmake. Sinon faut "corriger" son installation dans le fichier debian/rules avec un coup de override_dh_auto_install par exemple.

Hors ligne

#57 17-06-2021 08:39:17

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 27-09-2012
Site Web

Re : KingsAndShips : Graphismes et Game Design

Dylan a écrit :


Normalement, cela ne pose pas de problème s'il est installé au bon endroit par cmake. Sinon faut "corriger" son installation dans le fichier debian/rules avec un coup de override_dh_auto_install par exemple.


C'est bon, j'ai corrigé mon fichier CMakeLists.txt et j'ai même pu y ajouter un icône basique. Le raccourcis fonctionne.
Je fais encore quelques tests sur la génération du paquet Debian et je pousserai les modifs dans la branche develop.

Hors ligne

#58 17-06-2021 09:56:50

Dylan
Membre
Inscription : 19-06-2019
Site Web

Re : KingsAndShips : Graphismes et Game Design

Une fois le paquet généré, tu peux lancer un coup de lintian -EvIL +pedantic pour vérifier s'il n'y a pas de problème sur ton paquet. Si tu veux qu'il passe l'étape de review par les ftpmasters, il ne faut pas d'erreur, ni de warning.

Hors ligne

#59 17-06-2021 14:35:17

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 27-09-2012
Site Web

Re : KingsAndShips : Graphismes et Game Design

Dylan a écrit :

Une fois le paquet généré, tu peux lancer un coup de lintian -EvIL +pedantic pour vérifier s'il n'y a pas de problème sur ton paquet. Si tu veux qu'il passe l'étape de review par les ftpmasters, il ne faut pas d'erreur, ni de warning.


Pratique!
J'ai suivi les recommandations et corrigeais quelques trucs, il me manque le man à faire...

Hors ligne

#60 17-06-2021 19:30:53

vv222
Administrateur
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : KingsAndShips : Graphismes et Game Design

Tu vas voir, la syntaxe des manpages est un cauchemar wink

Je te conseille de faire comme nous avec ./play.it : la page de manuel est écrite en Markdown, et ensuite transformée dans la bonne syntax avec pandoc via une tâche Make.

J’ai extrait de notre Makefile les morceaux pertinents, avec quelques commentaires ajoutés pour y voir plus clair :

# Définition des chemins d’installation,
# selon que le Makefile soit lancé par root ou un utilisateur sans privilèges.
ifeq ($(UID),0)
    prefix = /usr/local
    mandir = $(prefix)/share/man
else
    ifeq ($(XDG_DATA_HOME),)
        XDG_DATA_HOME := $(HOME)/.local/share
    endif
    prefix = $(XDG_DATA_HOME)
    mandir = $(prefix)/man
endif

# Vérification de la présence de pandoc,
# qui est ici une dépendance optionnelle du Makefile.
PANDOC := $(shell command -v pandoc 2> /dev/null)

# Si pandoc est présent,
# on génère la page de manuel à partir de sa source en Markdown.
%.6: %.6.md
ifneq ($(PANDOC),)
  $(PANDOC) --standalone $< --to man --output $@
else
  @echo "pandoc not installed; skipping $@"
endif

# Si la page de manuel a été générée,
# on l’installe.
install-manpage:
ifneq ($(wildcard play.it.6),)
  mkdir --parents $(DESTDIR)$(mandir)/man6
  gzip -c play.it.6 > $(DESTDIR)$(mandir)/man6/play.it.6.gz
else
  @echo "manpage not generated; skipping its installation"
endif


Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

En ligne

#61 17-06-2021 20:50:43

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 27-09-2012
Site Web

Re : KingsAndShips : Graphismes et Game Design

@vv222, merci pour le script, j'avais déjà regardé pour faire la conversion avec PANDOC, mais comme je n'ai pas grand chose à mettre dedans, j'ai adapté ce que j'avais fait pour un autre projet :

NAME
       KingsAndShips0.1.1
        - 2D isometric Tower defense game.

SYNOPSIS
       kingsandships [OPTIONS]

DESCRIPTION
        The king is going back with his ships, but you have taken
        his throne during his journey. You don't want him to go back.
        Organize  your  defense to push him back away and enjoy your new life‐
       style.

OPTIONS
       -v     verbose mode

COMMANDS
       l      next level

       n      send next wave

       r      reset level

       d      debug mode

       dp     debug get access to the debug path mode

       q      quit

SEE ALSO
BUGS
       No known bugs.
 


En tout cas le script m’intéresse pour un autre projet plus compliqué.

@Dylan
Pour Lintian, j'ai traité quelques conseils d'empaquetage
Il y en a un sur lequel j'ai un doute mais je pense qu'il est important :

kingsandships: arch-dep-package-has-big-usr-share 47570kB 98%



https://lintian.debian.org/tags/arch-de … -usr-share
https://www.debian.org/doc/manuals/deve … ndent-data

Comme j'ai beaucoup de PNG, je dépasse largement la taille recommandé.
Je comprends le principe et la volonté d'économiser de l'espace sur les serveurs. Il faudrait que je fasse deux paquets, un avec le binaire et un avec les data....

Hors ligne

#62 17-06-2021 21:52:54

vv222
Administrateur
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : KingsAndShips : Graphismes et Game Design

De ce que je comprends de la dernière erreur, il faudrait générer deux paquets .deb :

  • kings-and-ships, paquet contenant uniquement les binaires et les bibliothèques

  • kings-and-ships-data, paquet contenant les données indépendantes de l’architectures


Avec une dépendance de kings-and-ships sur kings-and-ships-data.
Ça évitera de dupliquer toutes les données statiques alors qu’elles sont identiques d’une architecture à l’autre.


Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

En ligne

#63 18-06-2021 09:08:49

Dylan
Membre
Inscription : 19-06-2019
Site Web

Re : KingsAndShips : Graphismes et Game Design

Exactement, il suffit de rajouter un paquet binaire dans le debian/control puis tu peux répartir les fichiers entre les 2 paquets binaires avec des fichiers .install  (kings-and-ships.install et kings-and-ships-data.install).

Voici un exemple pour scummvm :
https://salsa.debian.org/games-team/scu … an/control
https://salsa.debian.org/games-team/scu … vm.install
https://salsa.debian.org/games-team/scu … ta.install

Hors ligne

#64 18-06-2021 19:42:51

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 27-09-2012
Site Web

Re : KingsAndShips : Graphismes et Game Design

Merci pour le tuyau.
Ça n'a pas l'air compliqué, j'essayerai de faire ça la semaine prochaine.
Si je déplace juste le dossier "data" ça devrait le faire. Il fait 48 Mo à lui seul.

Hors ligne

#65 22-06-2021 15:10:59

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 27-09-2012
Site Web

Re : KingsAndShips : Graphismes et Game Design

J'ai eu un peu de temps, j'ai commencé à couper le paquet en deux.
Mais pour l'instant il ne m'en génère qu'un avec la commande :

dpkg-buildpackage -B


Je n'obtiens que celui là : kingsandships_0.1.1_amd64.deb  il manque le data.

Voici le fichier control, je ne dois pas être loin:
https://github.com/kaochen/KingsAndShip … an/control

Hors ligne

#66 22-06-2021 15:43:13

vv222
Administrateur
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : KingsAndShips : Graphismes et Game Design

C’est le rôle du -B si je ne me plante pas de ne contruire que les paquets spécifiques à l’architecture. Essaie plutôt avec -b.

Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

En ligne

#67 22-06-2021 15:43:56

Dylan
Membre
Inscription : 19-06-2019
Site Web

Re : KingsAndShips : Graphismes et Game Design

kao a écrit :

dpkg-buildpackage -B



-B     Équivalent de --build=any


Le paquet -data est de type all donc normal qu'il ne soit pas construit là ;-)

Essaie avec :

dpkg-buildpackage -b



-b    Équivalent de --build=binary ou --build=any,all.




En effet, ça se jouait à pas grand chose ^^

Hors ligne

#68 22-06-2021 19:24:58

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 27-09-2012
Site Web

Re : KingsAndShips : Graphismes et Game Design

AaaAaaah ! C'est magique. Merci, parce que je n'aurai pas dû tout chercher dans cette direction big_smile. Je resterai ça bientôt.

Hors ligne

#69 23-06-2021 16:31:41

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 27-09-2012
Site Web

Re : KingsAndShips : Graphismes et Game Design

J'ai testé ça fonctionne bien. J'ai les deux paquets, ils sont créé dans le dossier parent du jeux.

-rw-r--r-- 1 kao kao 314K juin  23 17:17 ../kingsandships_0.1.1_amd64.deb
-rw-r--r-- 1 kao kao  46M juin  23 17:17 ../kingsandships-data_0.1.1_all.deb
 


On peut les installer comme ça pour tester :

sudo apt install ./../kingsandships_*.deb ./../kingsandships-data*.deb



Par contre, je n'ai pas de proposition de désinstallation du data quand je supprime le paquet du binaire.


sudo apt remove kingsandships
 


Il n'apparait pas non plus dans l'autoremove. Il doit y avoir un truc pour indiquer qu'il ne sert à rien sans le paquet avec le binaire.

Sinon, ça marche bien.

Et Lintian ne remonte plus grand chose, c'est top.

lintian -EvIL +pedantic ../kingsandships_*.deb



N: Using profile ubuntu/main.
N: Starting on group kingsandships/0.1.1
N: Unpacking packages in group kingsandships/0.1.1
N: Finished processing group kingsandships/0.1.1
N: ----
N: Processing binary package kingsandships
N: (version 0.1.1, arch amd64) ...
I: kingsandships: spelling-error-in-binary usr/games/kingsandships Characte Character
I: kingsandships: spelling-error-in-binary usr/games/kingsandships afe safe

Hors ligne

#70 23-06-2021 16:54:38

vv222
Administrateur
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : KingsAndShips : Graphismes et Game Design

La commande apt que tu as lancée a marqué les deux paquets comme installés manuellement, c’est normal donc que le -data ne soit pas proposé à la désinstallation. Pour le marquer comme installé uniquement pour satisfaire une dépendance :

apt-mark auto kingsandships-data


À savoir que ce sera automatique pour ceux installant le jeu depuis un dépôt avec apt install kingsandships.


Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

En ligne

#71 23-06-2021 17:16:39

Debian Alain
Membre
Lieu : Bretagne
Distrib. : sid (unstable) / bullseye (stable)
Noyau : Linux sid 6.4.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : KingsAndShips : Graphismes et Game Design

tu en es où , kao ?

comment  avance ton jeu ?

il est prêt ?

amicalement ,

alain.

coyotus.png

Hors ligne

#72 23-06-2021 19:58:49

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 27-09-2012
Site Web

Re : KingsAndShips : Graphismes et Game Design

Là, j'en suis à la construction d'un paquet Debian pouvant être éligible à l'intégration dans les dépôts. C'est une bonne chose, ça permet de corriger pas mal de détails dans l'installation du programme.
Ensuite il faut que je travaille quelques trucs pour que cela ressemble à un jeu complet. Quelques niveaux en plus, faire l'équilibrage, un panneau de bienvenue, un menu un peu moins vide etc...

Ensuite ça dépendra du temps que j'ai avant les prochaines échéances capitale.
J'ai raté le créneau pour la Debian 11. Je peux peut-être espérer Ubuntu 22.04 ou encore plus loin Debian 12.
En fonction de l'objectif de temps, je pourrais améliorer les choses. Si je veux une première version utilisable, il ne faut pas de révolution, il faut que je taille dans ce qui existe et affiner ce qui reste. Les grosses évolutions seront pour plus tard. Une todo list pourrait aider à y voir plus clair.

On dit souvent que les derniers 10% de la construction du jeu prennent 90% du temps. Donc, il ne faut pas trop que je me disperse si je veux quelque chose de crédible prochainement dans les dépôts.

Hors ligne

#73 24-06-2021 13:25:56

Dylan
Membre
Inscription : 19-06-2019
Site Web

Re : KingsAndShips : Graphismes et Game Design

Maintenant que le paquet semble fonctionnel, il faut choisir comment tu veux le maintenir : seul (pas recommandé) ou au sein de l’équipe Debian Games.

L'avantage de le maintenir seul est d'être totalement libre des choix concernant le workflow utilisé, le dépôt utilisé pour les sources du pkg (github vs salsa), etc. Par contre, tu risques d'avoir du mal à trouver un sponsor pour les prochaines versions du paquet. Il te faudra sûrement passer par https://mentors.debian.net/.

Pas mal de DD préfèrent sponsoriser des paquets maintenus au sein d'équipes car si le paquet nécessite une mise à jour et que son seul mainteneur ne répond pas, il faut alors se lancer dans des procédures assez chiantes (NonMaintainerUpload ou PackageSalvaging).

Si tu souhaites le maintenir au sein de l'équipe Debian Games, je t'invite à créer un compte sur salsa et à regarder la doc sur l'empaquetage avec git.

Hors ligne

#74 28-06-2021 10:01:58

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 27-09-2012
Site Web

Re : KingsAndShips : Graphismes et Game Design

Salut et merci pour les liens,
Ce qui est le plus pérenne sera le mieux je pense. Donc en passant pas l'équipe de Debian Games.
L'empaquetage avec git n'a pas l'air super compliqué.
J'ai poussé les modifs dans la branche master.
J'ai fait un test

gbp buildpackage


J'ai encore quelques erreurs mais ça ne devrait pas être compliqué à corriger.

 dpkg-genbuildinfo
Can't stat /usr/local/bin: No such file or directory
 at /usr/share/perl5/Dpkg/Vendor/Debian.pm line 469.
 dpkg-genchanges  >../kingsandships_0.1.1_amd64.changes
dpkg-genchanges: info: inclusion du code source original dans l'envoi (« upload »)
 dpkg-source -i -I --after-build .
dpkg-buildpackage: info: envoi complet ; paquet Debian natif (inclusion du code source complet)
Now running lintian kingsandships_0.1.1_amd64.changes ...
E: kingsandships changes: bad-distribution-in-changes-file unstable
E: kingsandships source: build-depends-on-build-essential build-depends
E: kingsandships source: source-is-missing bin/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin
E: kingsandships source: source-is-missing bin/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin
E: kingsandships source: source-is-missing bin/CMakeFiles/3.16.3/CompilerIdC/a.out
E: kingsandships source: source-is-missing bin/CMakeFiles/3.16.3/CompilerIdCXX/a.out
E: kingsandships source: source-is-missing bin/_CPack_Packages/Linux/DEB/kingsandships-0.1.1-Linux/usr/games/bin/kingsandships
E: kingsandships source: source-is-missing bin/_CPack_Packages/Linux/RPM/kingsandships-0.1.1-Linux/usr/games/bin/kingsandships
E: kingsandships source: source-is-missing bin/_CPack_Packages/Linux/TGZ/kingsandships-0.1.1-Linux/usr/games/bin/kingsandships
E: kingsandships source: source-is-missing bin/kingsandships
W: kingsandships source: debhelper-but-no-misc-depends kingsandships-data
W: kingsandships source: debian-watch-file-in-native-package
W: kingsandships source: syntax-error-in-dep5-copyright line 96: Continuation line outside a paragraph (maybe line 95 should be " .").
 


Il faut que je trouve une nomenclature pour le nommage des versions...

J'essaye aussi de relier l'authen sur Salsa en passant par mon compte Gitlab mais comme celui-ci se sert de l'authen Github, je ne sais pas si je peux faire le lien.
Je vais retenter

Hors ligne

#75 30-06-2021 21:00:27

Dylan
Membre
Inscription : 19-06-2019
Site Web

Re : KingsAndShips : Graphismes et Game Design

Hello!

Le contenu de ton fichier debian/source/format est bien 3.0 (quilt) et non 3.0 (native). Je viens de regarder la doc et effectivement ce n'est pas super bien expliqué. Pour faire simple les paquets dit native sont ceux dont l'existence en dehors de debian n'a pas vraiment de sens, par exemple le paquet debhelper ou lintian sont native. Tous les autres logiciels qui proviennent de "l'extérieur" auront donc un format quilt. Lorsque l'on fait un paquet, on prend soin de bien séparer le travail du développeur en amont et de l'empaqueteur et cela est facilité par le format quilt. Donc ton cas effectivement cela n'a pas vraiment de sens car tu es les deux mais les paquets debian sont ainsi fait.

Cela étant dit, il est préférable de ne pas maintenir un dossier debian dans ta branche master sur GitHub cela risque de provoquer un conflit avec celui de l'empaqueteur. Il faudrait alors ré-empaqueter les sources du logiciel ce qui est préférable d’éviter. Je te conseille plutôt de garder le dossier debian dans une autre branche, si bien sûr tu veux absolument le garder sur GitHub.

Le dépôt sur salsa sera différent de celui de github, l'un pour l'empaquetage et l'autre pour le dev. Le dépot sur salsa devrait contenir 3 branches :
- une avec seulement les sources de ton logiciel dite "upstream"
- une avec les sources upstream + le dossier debian dite "master"
- et la dernière avec les info pristine-tar pour recréer l'archive upstream à l'identique et donc appelée "pristine-tar"

Cela se fait très facilement avec un coup de uscan pour récuperer l'archive upstream puis :

mkdir kingsandships-pkg
cd kingsandships-pkg
git init
gbp import-orig --pristine-tar ../kingsandships_0.1.1.orig.tar.gz
 


Là tu devrait avoir un beau dépot à envoyer sur salsa :-).

Ne t’inquiète pas des erreurs renvoyées par lintian pour le moment, une fois le dépôt correctement mis en place, elles disparaîtront.
Pour la nomenclature des versions, pas besoin de se précipiter, tu peux nous tagguer une version 0.0.1 pour le moment histoire de savoir ce que l'on va empaqueter et pour éviter de prendre un commit random.

Hors ligne

Pied de page des forums