PrimTux

La distribution éducative pour débutants et initiés.

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

Annonce

CARTE DES MEMBRES POUVANT AIDER ET DES ÉCOLES SOUS PRIMTUX
Merci de vous y inscrire en nous envoyant un email si vous souhaitez y apparaître.

  • Pour être automatiquement informé des réponses à vos messages sur le forum, n'oubliez pas de cliquer sur "Suivre cette discussion" en bas de page. Mieux, en vous abonnant au flux RSS du forum, vous pourrez suivre tout nouveau message sur l'ensemble du forum.
  • En allant dans votre Profil, ligne "Vie privée", vous pouvez également cocher "Suivre automatiquement les sujets auxquels on a répondu.", vous n'aurez plus à cliquer sur "Suivre cette discussion" lorsque vous postez un message.
  • Abonnez-vous à la newsletter sur le site principal pour être informé des nouveaux paquets, nouvelles versions, bugs...

#26 31-01-2020 11:26:43

Philippe Dpt35
Administrateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 3 150
Site Web

Re : clicmenu: l'ordre alphabétique

Là c'est un problème avec le handymenu.
Il faut voir avec mothsart. Tu peux lui signaler le problème dans ce fil : http://forum.primtux.fr/viewtopic.php?id=1221

Hors ligne

#27 01-02-2020 18:59:27

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 093

Re : clicmenu: l'ordre alphabétique

Hello Philippe Dpt 35,

Suite au correctif des handymenus, je me suis posé la question de la légitimité d'avoir l'icône de l'app dans /var/www. Sa place est plutôt dans /usr/share/icons/
Du coup, tu peux uniquement renseigner le nom dans le .desktop sans préciser de chemin absolu ni d'extension de fichier.
Pour garder l'icône dans /var/www, le mieux est d'avoir un lien symbolique.

L'objectif est d'avoir des règles d'empaquetages le plus proche de celle de Debian/Ubuntu. (ça permettrais par exemple de les proposer upstream à l'avenir)
De plus, avec .desktop avec un chemin relatif, ça permettrait d'empaqueter pour des distribs hors debian. (archlinux, nix etc.)

Autre question : pourquoi tu ne met pas le dossier debian dans ton dépôt.
Je trouve intéressant de versionner également ce qui permet de créer un paquet debian.

Comme ça, n'importe qui peut obtenir un paquet  debian avec cette commande :

dpkg-buildpackage -us -uc

Ce que j'aimerais mettre en place également à l'avenir c'est de l'intégration continue (CI) : en gros, à chaque push sur le dépôt, un processus va tenter de créer le paquet (plus lancer des tests) et informer le mainteneur si sa modif casse ou non la création de paquet.

Si le temps le permet, j'en parlerais à la réunion dev du 28.

Hors ligne

#28 01-02-2020 21:00:51

Philippe Dpt35
Administrateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 3 150
Site Web

Re : clicmenu: l'ordre alphabétique

Tu as une doc sur les règles à suivre pour construire un paquet avec dpkg-buildpackage ?
En ce qui me concerne, j'utilise Debreat, simple d'utilisation. Pas sûr que je change si c'est pour plus compliqué.

Hors ligne

#29 01-02-2020 21:34:04

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 093

Re : clicmenu: l'ordre alphabétique

Pour la construction avec dpkg, j'ai glané sur les docs officiels de debian mais j'ai pas vraiment de tuto. (https://doc.ubuntu-fr.org/tutoriel/creer_un_paquet était un bon début aussi)

En gros, tu crées 1 dossier debian qui contient 1 fichier compat, rules, control, changelog et tonpaquet.files

En réalité, je copie/colle les 2 premiers.
changelog, j'édite juste une entrée pour avoir le n° de version à jour.
control contient les dépendances, le nom, la description, la section dans laquel le paquet va être placé.
Enfin, le fichier install va vraiment être le coeur du dispatch des fichiers :
on renseigne à gauche la provenance et à droite la destination.

Pour générer le paquet, on utilise la commande et zou :

dpkg-buildpackage -us -uc

Je ne connais pas Debreat donc j'ai peu d'éléments de comparaison.

Hors ligne

#30 01-02-2020 23:30:09

Philippe Dpt35
Administrateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 3 150
Site Web

Re : clicmenu: l'ordre alphabétique

Je suppose qu'il y a une syntaxe à respecter pour ces différents fichiers ?

Hors ligne

#31 02-02-2020 00:18:25

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 093

Re : clicmenu: l'ordre alphabétique

Changelog, c'est une syntaxe dédié et ça s'édite le plus souvent avec l'utilitaire dch.
rules c'est en réalité un fichier sh qui lances des programme dh_* propre à debian.
changelog, ça ressemble à du .ini
*.install c'est des dictionnaires clés/valeurs avec la possibilité d'utiliser des expressions régulières

Quand j'ai commencé à créer des paquets debian, je faisais pas mal de "apt-get source nomdupaquet" pour récupérer les sources d'un paquet proche et m'inspirer de son architecture.

Hors ligne

#32 02-02-2020 09:46:25

Philippe Dpt35
Administrateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 3 150
Site Web

Re : clicmenu: l'ordre alphabétique

J'ai commencé à regarder. C'est loin d'être aussi simple que Debreat !

Je n'arrive pas à voir comment se fait l'installation des fichiers dans les répertoires voulus, par ex dans /usr/bin, ou /usr/share/mon-dossier, ou /var/www, etc.
Je n'arrive pas non plus à voir comment se fait la création du fichier .desktop de /usr/share/applications. Dans les sources que j'ai examinées, aucun présence de ce fichier. Et pourtant le lanceur est bien présent à l'installation du paquet.

EDIT:
En regardant les sources du handymenu, on voit bien que cela se fait dans le fichier handymenu.install, et on note bien également la présence du fichier .desktop.

Mais en examinant des paquets du dépôt officiel Debian, on ne note pas toujours la présence du fichier install, ni du fichier desktop.
Comment se font les installations dans ce cas ? Est-ce lors de la compilation par make que se créent ces fichiers ?

Hors ligne

#33 02-02-2020 11:12:41

cyrille
Modérateur
Lieu : Avesnois (59)
Inscription : 21-09-2016
Messages : 172
Site Web

Re : clicmenu: l'ordre alphabétique

Pour créer un paquet debian il faut travailler dans un rep  où tu  recréer une arborescence du system debian ou tu mettras les fichiers que tu veux installer
Ce dossier contiendra aussi un dossier DEBIAN contenant le rules, changelog...

Voilà un tuto hyper simple qui explique bien la base
https://www.it-connect.fr/creer-un-paquet-debian-deb/

Et qq autres liens pa mal
https://fabien.io/creer-un-package-debian/
- désolé vision du net en filait un complet, mais site HS -

Attention pour tester son paquet il faut être dans un env virtuel ou chrooté pour être sûr de ne pas avoir oublié de dépendances...
(Jette un oeil du coté dpkg-depcheck pour la gestion des dependances..)

Dernière modification par cyrille (02-02-2020 11:22:30)


All you need : #!/bin/bash

Hors ligne

#34 02-02-2020 11:27:29

Philippe Dpt35
Administrateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 3 150
Site Web

Re : clicmenu: l'ordre alphabétique

Euh ! Ce n'est pas le sujet de la discussion Cyrille. Je sais créer un paquet Debian, sinon comment aurais-je fait jusqu'à présent pour toutes les applications intégrées à PrimTux !  wink

On discute ici des règles à respecter pour la création d'un paquet depuis les sources en utilisant la commande dpkg-buildpackage

Hors ligne

#35 02-02-2020 12:00:22

cyrille
Modérateur
Lieu : Avesnois (59)
Inscription : 21-09-2016
Messages : 172
Site Web

Re : clicmenu: l'ordre alphabétique

ah  oK, désolé, je prends en cours de route et essaye d'avoir une vision globale, mais pas évident... C'est un peu éparpillé wink
Sorry pour la pollution ...
++


All you need : #!/bin/bash

Hors ligne

#36 02-02-2020 12:04:44

cyrille
Modérateur
Lieu : Avesnois (59)
Inscription : 21-09-2016
Messages : 172
Site Web

Re : clicmenu: l'ordre alphabétique

Donc je retente ma chance, oui c'est make qui va utiliser le fichier rules
Exemple sur la compil d'ASEBA : https://github.com/CyrilleBiot/aseba/bl … bian/rules

et aussi https://www.debian-fr.org/t/faire-un-pa … ete/4662/9

Dernière modification par cyrille (02-02-2020 12:13:23)


All you need : #!/bin/bash

Hors ligne

#37 02-02-2020 12:22:11

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 093

Re : clicmenu: l'ordre alphabétique

Effectivement, certains paquets utilisent rules ou les postinst pour arriver à leur fin.
Dans la plupart des cas, c'est une mauvaise manière de faire. (après, ça devient du cas par cas)

Je n'ai rien contre Debreat Philippe si ce dernier est capable de créer le dossier debian.
Ce que je n'arrive pas à comprendre c'est : à chaque nouveau paquet, tu refais de zéro ?
Parce que l'enjeu est aussi là : ça coûte un peu au début mais après, tu regen un paquet en 1 seconde.

Hors ligne

#38 02-02-2020 13:00:30

Philippe Dpt35
Administrateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 3 150
Site Web

Re : clicmenu: l'ordre alphabétique

mothsart a écrit :

Ce que je n'arrive pas à comprendre c'est : à chaque nouveau paquet, tu refais de zéro ?

Debreat est une interface graphique qui permet de générer facilement tous les fichiers nécessaires au paquet. On peut enregistrer sa configuration dans un fichier propre à Debreat. Du coup, à chaque nouvelle version, il suffit de reprendre la configuration existante et de ne faire que les quelques modifs nécessaires.

Hors ligne

#39 02-02-2020 13:59:21

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 093

Re : clicmenu: l'ordre alphabétique

Dans un fichier propre à debreat : ok, et c'est pas possible de mettre ce fichier dans l'archive git ? Je trouve dommage qu'ils aient pris le parti de ne pas créer un dossier debian... ça aurait été plus "compatible" avec les outils de debian.

Hors ligne

#40 02-02-2020 14:43:06

Steph
Administrateur
Inscription : 03-06-2015
Messages : 5 881

Re : clicmenu: l'ordre alphabétique

debreat a l'avantage de créer des paquets qui contiennent tout ce qu'il faut pour être intégrés dans le dépôt, reprepro étant assez capricieux, j'ai tendance à utiliser ce qui marche.

Hors ligne

#41 02-02-2020 14:50:40

Philippe Dpt35
Administrateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 3 150
Site Web

Re : clicmenu: l'ordre alphabétique

Dans un fichier propre à debreat : ok, et c'est pas possible de mettre ce fichier dans l'archive git ?

Debreat n'est qu'un outil de construction de paquets parmi d'autres. Délicat d'imposer celui-là plutôt qu'un autre.

D'autre part tous les Linux n'utilisent pas les paquets .deb.

Je pense que la responsabilité d'empaqueter ne revient pas forcément au développeur du logiciel qui peut être porté sur différents Linux ou même OS. En tous cas pour les logiciels qui se veulent multiplateformes. C'est pourquoi je ne m'étais pas préoccupé jusqu'à présent de faire le nécessaire dans les sources.

Hors ligne

#42 02-02-2020 16:55:07

Philippe Dpt35
Administrateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 3 150
Site Web

Re : clicmenu: l'ordre alphabétique

Steph a écrit :

debreat a l'avantage de créer des paquets qui contiennent tout ce qu'il faut pour être intégrés dans le dépôt, reprepro étant assez capricieux, j'ai tendance à utiliser ce qui marche.

Abordons les choses sous un angle pragmatique : la construction d'un paquet par dpkg-buildpackage  rend-il l'intégration du paquet dans le dépôt plus ou moins capricieuse qu'avec Debreat, ou cela est-il neutre ?

Hors ligne

#43 02-02-2020 17:20:10

Steph
Administrateur
Inscription : 03-06-2015
Messages : 5 881

Re : clicmenu: l'ordre alphabétique

J'ai tendance à ne pas chercher au-delà quand un outil me convient et qu'il n'y a pas de sources à compiler, donc chez moi c'est debreate si rien à compiler / dpkg-buildpackage à partir de sources, même si checkinstall fonctionne bien aussi après compilation.

Hors ligne

#44 02-02-2020 21:34:47

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 093

Re : clicmenu: l'ordre alphabétique

Si je trouve le temps, je testerais debreat pour me donner une idée.

Hors ligne

Pied de page des forums