Ici on n'a que votre IP, votre pseudo et votre adresse mail que nous ne traitons pas.
Quand vous êtes enregistrés, une seule requête permet de vous afficher les messages que vous n'avez pas lus.
NOUVELLE ADRESSE PERMANENTE DU DÉPÔT: https://mirrors.o2switch.fr/primtux/repo/debs
ATTENTION, MERCI DE NE PAS METTRE À JOUR PRIMTUX7 UBUNTU 20.04 VERS LA 22.04, LES HANDYMENUS NE SONT PAS ENCORE COMPATIBLES!
Merci de cliquer ici si vous souhaitez vous inscrire sur le forum.

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
clicmenu: l'ordre alphabétique
#26
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
Répondre
#27
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 :
Code :
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.
Répondre
#28
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é.
Répondre
#29
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 :
Code :
dpkg-buildpackage -us -uc

Je ne connais pas Debreat donc j'ai peu d'éléments de comparaison.
Répondre
#30
Je suppose qu'il y a une syntaxe à respecter pour ces différents fichiers ?
Répondre
#31
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.
Répondre
#32
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 ?
Répondre
#33
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..)
All you need : #!/bin/bash
Répondre
#34
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
Répondre
#35
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
Répondre
#36
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/blo...bian/rules

et aussi https://www.debian-fr.org/t/faire-un-paq...ete/4662/9
All you need : #!/bin/bash
Répondre
#37
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.
Répondre
#38
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.
Répondre
#39
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.
Répondre
#40
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.
Répondre
#41
Citation :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.
Répondre
#42
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 ?
Répondre
#43
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.
Répondre
#44
Si je trouve le temps, je testerais debreat pour me donner une idée.
Répondre
#45
Pour info, pour la création de paquets par debuild ou dpkg-buildpackage, j'ai trouvé un tutoriel :
https://www.debian.org/doc/manuals/packa...ial.fr.pdf
ainsi qu'un document de référence, construit comme un tutoriel (voir également les chapitres suivantes)
http://l.github.io/debian-handbook/html/...aging.html

Nous avons quelques discussions techniques de développement éparpillées. Ne serait-il pas judicieux de créer un sous-forum "Développement - questions techniques" pour les regrouper, et y placer les nouvelles discussions telles que celle sur Git initié par mothsart ?
Répondre
#46
Existe déjà dans le forum privé.
Répondre
#47
Je suppose que tu peux autoriser les développeurs PrimTux non membres de l'association à y avoir accès ?

Si tous les intéressés en sont d'accord, je peux me charger d'y déplacer les discussions concernées, et faire des copier-coller des messages éparpillés dans les autres discussions.
Répondre
#48
En théorie tous les modérateurs y ont accès, donc cyrille et mothsart. Je peux passer Guillaume en modérateur.
Répondre
#49
Tous les messages, ou parties de messages, concernant la construction de paquets Debian, ont été copiés-collés dans une discussion du sous-forum "Maintien, ajout de logiciels, développement, problèmes techniques"
https://forum.primtux.fr/viewtopic.php?id=2093

Ce sous-forum regroupera toutes les discussions sur les questions techniques utiles aux développeurs afin de les retrouver plus facilement.

Merci de poursuivre la discussion concernant la construction de paquets dans cette nouvelle discussion.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)