Aller au contenu principal
Sujet: Je cherche un bon tuto qui explique comment faire un paquet rpm. (Lu 16142 fois) sujet précédent - sujet suivant

Je cherche un bon tuto qui explique comment faire un paquet rpm.

Hello,

Souhaitant réaliser des paquets rpm à partir du source pour les proposer dans les dépôts d'opensuse, je cherche un bon tuto qui explique comment faire. J'avais vaguement trouvé quelques explication sur le site de Fedora, mais il manquait les spécificités d'opensuse. Je souhaite donc savoir si quelqu'un a écrit une bonne documentation sur ce sujet et si oui, où puis-je la trouver. Avec Google je n'ai pas réussi à trouver quelque chose de pertinent. Merci.

       Serge

Re : Je cherche un bon tuto qui explique comment faire un paquet rpm.

Répondre #1
Il y a plusieurs docs, dont la documentation de OBS utilisé chez openSUSE.
https://passiongnulinux.tuxfamily.org/post/2018-01-01-comment-participer-a-opensuse-obs/
https://fr.opensuse.org/Portal:Build_Service/Tutoriel
https://en.opensuse.org/openSUSE:Build_Service_Tutorial

Ça c'est plus artisanal et donc un peu moins opensuse qui utilise OBS et OSC pour automatiser un max la chose.
https://blog.microlinux.fr/rpm-build/

Du reste pourquoi pas faire dans la partie développement ou programmation, un post où on s'entraiderait tous? Ça fait longtemps que je freve de ça, il y a un temps pour debian mais on m'a gentiment expliqué que c'etait pas trop le style de la maison, et puis avec opensuse et donc OBS on peut se monter un home alionet qui ferait du taff et pourquoi pas enverrait par la suite le travail directement dans opensuse. Sogal si tu lis tu en dis quoi?

Re : Je cherche un bon tuto qui explique comment faire un paquet rpm.

Répondre #2
Il y a plusieurs docs, dont la documentation de OBS utilisé chez openSUSE.
https://passiongnulinux.tuxfamily.org/post/2018-01-01-comment-participer-a-opensuse-obs/
https://fr.opensuse.org/Portal:Build_Service/Tutoriel
https://en.opensuse.org/openSUSE:Build_Service_Tutorial

Ça c'est plus artisanal et donc un peu moins opensuse qui utilise OBS et OSC pour automatiser un max la chose.
https://blog.microlinux.fr/rpm-build/

Du reste pourquoi pas faire dans la partie développement ou programmation, un post où on s'entraiderait tous? Ça fait longtemps que je freve de ça, il y a un temps pour debian mais on m'a gentiment expliqué que c'etait pas trop le style de la maison, et puis avec opensuse et donc OBS on peut se monter un home alionet qui ferait du taff et pourquoi pas enverrait par la suite le travail directement dans opensuse. Sogal si tu lis tu en dis quoi?


Merci pour tes infos seb95. J'ai consulté les liens avec une grande curiosité et un réel désir d'apprendre. C'est une bonne idée de monter un home alionet. Trop de gens voudraient faire des paquets avec des sources qu'ils trouvent sur le net et ne savent pas comment faire. De plus ça augmenterait de beaucoup la logithèque d'opensuse. En attendant je vais relire avec attention les informations données dans les liens avec l'espoir de faire un paquet sur OBS!

          Serge

Re : Je cherche un bon tuto qui explique comment faire un paquet rpm.

Répondre #3
Oui à l'époque c'est ce que je m'etais dis, au lieu de faire chacun dans son coin... Mais ça c'était pour debian, et ce fut pas trop, pas du tout suivi...
https://debian-facile.org/viewtopic.php?id=21244

J'ai dù faire mes armes tout seul pour faire mon premier paquet debian, et ce fut pas des plus simples pour faire accepter mon paquet, c'est bien mieux maintenant que j'en suis mainteneur, mais au moindre soucis, a la moindre complication, je me sens bien seul... Sous opensuse, j'ai trouvé que c'était bien plus convivial car il n'y avait pas de mainteneurs uniques qui eux seules ont le droit de faire évoluer le paquet.

De plus pour opensuse, obs permet quand même de simplifier aux max la chose, tu auras même la possibilité d’héberger et de faire un dépot personnel.

Re : Je cherche un bon tuto qui explique comment faire un paquet rpm.

Répondre #4
Du reste pourquoi pas faire dans la partie développement ou programmation, un post où on s'entraiderait tous? Ça fait longtemps que je freve de ça, il y a un temps pour debian mais on m'a gentiment expliqué que c'etait pas trop le style de la maison, et puis avec opensuse et donc OBS on peut se monter un home alionet qui ferait du taff et pourquoi pas enverrait par la suite le travail directement dans opensuse. Sogal si tu lis tu en dis quoi?

J'en dis que c'est possible mais que :
- je n'y participerai probablement pas activement, ayant déjà du mal à trouver du temps pour gérer convenablement les paquets dont je suis mainteneur ;
- si c'est un compte unique, je m'interroge sur la gestion des accès ;
- il ne faut pas oublier que c'est déjà pas facile de créer des paquets propres (et l'OBS donne une fausse impression de facilité) mais qu'il faut aussi penser qu'en plus des paquets rpm et de la syntaxe des fichiers spec, il faut connaître un minimum les modes de construction des langages dans lesquels sont écrits les logiciels à "empaquetés".

Plus simplement, si plusieurs personnes sont intéressées par le sujet on peut créer une section dédiée dans "Programmation" avec un post épinglé en en-tête listant toutes les ressources dont la lecture est indispensable pour créer des paquets propres.
De la sorte, chacun fait comme il veut, il construit via l'OBS ou pas, en local ou pas et ouvre des sujets dédiés à chaque paquet/logiciel.

Re : Je cherche un bon tuto qui explique comment faire un paquet rpm.

Répondre #5
Hello sogal;

Citer
- je n'y participerai probablement pas activement, ayant déjà du mal à trouver du temps pour gérer convenablement les paquets dont je suis mainteneur ;

Ça aussi c'est un peu le but, des fois on a pas le temps pour faire ce qui doit être fait, UNhome alionet permettrait de t'alleger puisqu'il y aurait plusieurs personnes. Je pense plutôt à un groupe ou un home officiel pour alionet sur obs d'opensuse, et qu'on aille comme mainteneur pour ceux qui sont intéréssés. Je m'explique mal en ce moment alors je sais pas si c'est clair.

Citer
- si c'est un compte unique, je m'interroge sur la gestion des accès ;

Non, ou du moins c'est celui qui porte alionet (donc toi) qui est le principal, donc qui doit créer le home alionet et son compte. Apres nous on se ramene dessus depuis nos compte respectifs du projet OBS opensuse.

Citer
- il ne faut pas oublier que c'est déjà pas facile de créer des paquets propres (et l'OBS donne une fausse impression de facilité) mais qu'il faut aussi penser qu'en plus des paquets rpm et de la syntaxe des fichiers spec, il faut connaître un minimum les modes de construction des langages dans lesquels sont écrits les logiciels à "empaquetés".

C'est pour ça que l'effet groupe est important, ça rassure. De plus OBS effectivement donne une impression de facilité, mais c'est vraiment le cas quand tu le fais avec OBS et OSC et quand tu le fais depuis les outils RPM... OSC par exemple fait ce que pbuilder fait chez debian mais en automatique et presque pas de reglages... Pour utiliser pbuilder pour packager pour debian, c'est vraiment une approche de facilité que opensuse nous offre.
Dans mon cas, je fais surtout ce que personne aime faire, généralement faire de nouveaux paquets c'est chouettes mais les entretenir c'est moins cool. Je crois qu'on pourrait faire plus de taff et faire connaitre Alionet encore plus avec cette méthode.

Par exemple comme simplification, OBS et OSC c'est pratiquement zero configuration, pour parler de ce que je connais, pbuilder c'est pas mal de config mais si on se contente du minimum syndicale de la puissance et des possibilité de pbuilder [https://passiongnulinux.tuxfamily.org/post/2019-11-19-construire-des-paquets-deb-pour-debian-3-pbuilder/].

C'est aussi du coté de la signature des paquets, rien a faire OBS s'occupe de tout, c'est pas plus compliqué du coté manuelle avec dpkg ou rpm mais faut quand même passer l'étape de fabrication de sa clé et de la mise en pratique pour l'utiliser et la faire connaitre des outils.

L'obtention des sources RPM sont faciles, juste click sur  "Branch package", bon généralement  c'est pas la partie la plus dure.

La compilation est facilité, tout se passe généralement sur leurs serveurs ou sur ta mavchine si tu en fais la demande.

L'envois des paquets est aussi facilité, on click ou bien on le fait via son terminal et OSC par un commit...
 Et pour finir, hébergement des sources, des paquets rpm, des sources rpm, ect ect sont fait par le projet dans un dépôt qu'on appel home.

Bref, on est loin de certaines complication comme héberger son dépôt personnel, ou d'envoyer notre travail comme on peut le voir chez certain.

Citer
Plus simplement, si plusieurs personnes sont intéressées par le sujet on peut créer une section dédiée dans "Programmation" avec un post épinglé en en-tête listant toutes les ressources dont la lecture est indispensable pour créer des paquets propres.
De la sorte, chacun fait comme il veut, il construit via l'OBS ou pas, en local ou pas et ouvre des sujets dédiés à chaque paquet/logiciel.

Oui j'aimerai si possible qu'on ait une telle section. Car j'ai déjà une question sur comment faire en local sans utiliser OSC mais seulement rpmbuild/rpm et zypper? La question qui me taraude c'est comment installer les sources d'un spec via zypper, chez mandriva/mageia c'est urpmi --buildrequire de mémoire, yum doit être plus ou moins pareil, mais zypper, je cherche encore.

Re : Je cherche un bon tuto qui explique comment faire un paquet rpm.

Répondre #6
@serge-muscat@Seb95Passionlinux‍ 

Très bonne idée, j'y pensais cette semaine.

heu, je ne vais pas reprendre tous les arguements, mais un seul tout de même " l'aspect Marketing".

Oui je pense qu'il est temps que la communauté Francophone d'opensuse sorte un peu des sentiers battus et de son entre-soi...

Je me bats quotidiennement pour faire connaitre opensuse, et j'ai la même réponse : 

Opensuse=Novel donc clan un peu fermé, ou l'on me ressace les débuts de yast usine a gaz pour admin...

Bref, je suis de la partie en tant que novice pour packager des applis rpm(opensuse) qui sont manquants et nécessaires.

Très bonne idée, on pourrait débuter par une nouvelle rubrique , et une sorte de wiki 

Re : Je cherche un bon tuto qui explique comment faire un paquet rpm.

Répondre #7
Hello sogal;

Citer
- je n'y participerai probablement pas activement, ayant déjà du mal à trouver du temps pour gérer convenablement les paquets dont je suis mainteneur ;

Ça aussi c'est un peu le but, des fois on a pas le temps pour faire ce qui doit être fait, UNhome alionet permettrait de t'alleger puisqu'il y aurait plusieurs personnes. Je pense plutôt à un groupe ou un home officiel pour alionet sur obs d'opensuse, et qu'on aille comme mainteneur pour ceux qui sont intéréssés. Je m'explique mal en ce moment alors je sais pas si c'est clair.

Pas très non :)
On peut effectivement créer un compte de "groupe" si on veut dans lequel on attribuerai les droits aux utilisateurs qui le veulent. Pour cela il faut évidement qu'ils aient un compte. Qu'ils aient un dépot "home" à eux ou pas importe peu d'ailleurs.
Et là il ne s'agît pas de m'alléger, je gère globalement mes paquets, si on met ça en place il faut surtout que cela serve à empaqueter des logiciels qui n'existent pas.

Citer
- si c'est un compte unique, je m'interroge sur la gestion des accès ;

Non, ou du moins c'est celui qui porte alionet (donc toi) qui est le principal, donc qui doit créer le home alionet et son compte. Apres nous on se ramene dessus depuis nos compte respectifs du projet OBS opensuse.

L'intention est bonne, mais non! je ne porte pas Alionet. J'y contribue activement à la hauteur de mes moyens comme le font les modérateurs, rédacteurs et simples membres en postant et en aidant.
Je vois ce que tu veux dire et à la limite si on en arrive là, il faudra en effet une personne responsable des accès de ce compte-projet central.
Mais ce ne sera pas moi, dans le simple soucis de déléguer, il me paraît néfaste d'une seule personne ait trop de cartes en main dans un groupe.

Citer
- il ne faut pas oublier que c'est déjà pas facile de créer des paquets propres (et l'OBS donne une fausse impression de facilité) mais qu'il faut aussi penser qu'en plus des paquets rpm et de la syntaxe des fichiers spec, il faut connaître un minimum les modes de construction des langages dans lesquels sont écrits les logiciels à "empaquetés".

C'est pour ça que l'effet groupe est important, ça rassure. De plus OBS effectivement donne une impression de facilité, mais c'est vraiment le cas quand tu le fais avec OBS et OSC et quand tu le fais depuis les outils RPM... OSC par exemple fait ce que pbuilder fait chez debian mais en automatique et presque pas de reglages... Pour utiliser pbuilder pour packager pour debian, c'est vraiment une approche de facilité que opensuse nous offre.
Dans mon cas, je fais surtout ce que personne aime faire, généralement faire de nouveaux paquets c'est chouettes mais les entretenir c'est moins cool. Je crois qu'on pourrait faire plus de taff et faire connaitre Alionet encore plus avec cette méthode.

J'en conviens, mais ça ne se fait pas du jour au lendemain, ça demande du travail et je ne suis pas super favorable à faire trop de tests dans le but de se former sur les serveurs openSUSE !
Que les personnes intéressées se forment, testent la création de paquets RPM tout simples, puis se créent un compte sur l'OBS etc...
Si la mayonnaise prend et qu'un noyau solide de contributeurs se forme, on pourra envisager de passer à l'étape "Groupe Alionet sur l'OBS".

Citer
Plus simplement, si plusieurs personnes sont intéressées par le sujet on peut créer une section dédiée dans "Programmation" avec un post épinglé en en-tête listant toutes les ressources dont la lecture est indispensable pour créer des paquets propres.
De la sorte, chacun fait comme il veut, il construit via l'OBS ou pas, en local ou pas et ouvre des sujets dédiés à chaque paquet/logiciel.

Oui j'aimerai si possible qu'on ait une telle section. Car j'ai déjà une question sur comment faire en local sans utiliser OSC mais seulement rpmbuild/rpm et zypper? La question qui me taraude c'est comment installer les sources d'un spec via zypper, chez mandriva/mageia c'est urpmi --buildrequire de mémoire, yum doit être plus ou moins pareil, mais zypper, je cherche encore.

C'est fait : https://www.alionet.org/index.php?board=19.0

Re : Je cherche un bon tuto qui explique comment faire un paquet rpm.

Répondre #8
Merci sogal, je t'avais préparé une belle réponse bien plus complete mais il y a eu une coupure d'edf dans ma région d'une seconde ce qui a fait que j'ai tout perdu et c'était en pleine installation de paquets de de mise a jour donc réinstallation d'opensuse.

Je te la fais un peu plus tard.