openSUSE:Comment contribuer à Leap
Sommaire
- 1 Quand est-ce qu'un paquet peut être soumis pour inclusion dans Leap ?
- 2 Comment ajouter un nouveau paquet dans une version d'openSUSE Leap en phase de développement ?
- 3 Comment mettre à jour un paquet dans une version d'openSUSE Leap en phase de développement ?
- 4 Comment ajouter un nouveau paquet
- 5 Comment ajouter un nouveau paquet dans une version de Leap déjà publiée
- 6 Informations sur le développement
Quand est-ce qu'un paquet peut être soumis pour inclusion dans Leap ?
En général, les paquets ne peuvent être ajouté à une version de Leap que durant sa phase de développement et non après sa sortie. Toute exception doit être traitée et approuvée par l'équipe de maintenance.
Les paquets déjà présents dans openSUSE Factory ne seront pas inclus automatiquement dans Leap. Leur acceptation dans Factory reste toutefois un prérequis.
Comment ajouter un nouveau paquet dans une version d'openSUSE Leap en phase de développement ?
Notez qu'openSUSE Leap 15.1 et 15.2 sont à présente en phase de maintenance. Cette section s'applique donc à openSUSE Leap 15.3
Leap est une version stable, construite en combinant des paquets provenant de SUSE Linux Enterprise et openSUSE Tumbleweed.
Pour les personnes familières avec le Modèle de Développement de Factory, cette dernière a la même utilité vis-à-vis de Leap qu'un projet Devel vis-à-vis de Factory.
Par défaut, les nouveaux paquets à destination de Leap doivent provenir de SLE ou bien avoir été acceptés au préalable dans Factory.
Il est préférable que les nouveaux paquets soient tout d'abord présentés sur la liste de diffusion opensuse-factory avec un lien vers la demande d'intégration. Une bonne présentation devrait contenir des informations sur l'état du projet amont, sa capacité à être maintenu et en quoi il est utile de l'avoir dans la distribution.
Exemple de demande d'intégration depuis le projet de développement :
Il est également possible de soumettre directement depuis Factory mais selon demandera des arrangements supplémentaires :
À cause d'un bogue dans OBS, ~/.oscrc doit avoir la variable submitrequest_on_accept_action désactivée et il ne doit pas y avoir les options --cleanup ou --no-cleanup activée dans la ligne de commande, sans quoi OBS renverra une erreur de permissions.
L'exemple ci-dessous montre comment soumettre un paquet depuis SLE :
Si un paquet pour Leap ne pouvait, pour quelque raison que ce soit, pas être importé depuis SLE ou Factory, la raison doit être précisée dans la demande d'intégration.
Comment mettre à jour un paquet dans une version d'openSUSE Leap en phase de développement ?
En général, les mises à jour de version de paquets au sein des mises à jour mineures de Leap sont possibles. Le mainteneur du paquet doit toutefois évaluer avec précaution les bénéfices et possibles problèmes qu'une telle mise à jour implique pour les utilisateurs du paquet en question. Au cours de la vie d'une version majeure, Leap est considérée stable, en conséquence les changements importants ou cassant des compatibilités doivent être évités.
Une fois les pour et les contre d'une telle mise à jour bien évalués, c'est le même processus que pour les nouveaux paquets qui s'applique, à savoir que ces derniers doivent tout d'abord être acceptés dans Factory.
Comment ajouter un nouveau paquet
Comment ajouter un nouveau paquet dans une version de Leap déjà publiée
Voir Portail Maintenance et Ajout de maintenance.
Informations sur le développement
Organisation du projet
- openSUSE:Leap:15.1
- paquets publiés sous licences libres [1]
- openSUSE:Leap:15.1:NonFree
- paquets publiés sous licences non libres [2]
- openSUSE:Leap:15.1:Update
- mises à jour des paquets publiés sous licences libres [3]
- openSUSE:Leap:15.1:NonFree:Updates
- mises à jour des paquets publiés sous licences non libres [4]
Projets amont
De nombreux paquets dans openSUSE Leap 15.1 proviennent d'autres projets. Au cours de la phase de publication, les développeurs peuvent inclure des mises à jour pour ces paquets. Un fichier de correspondance précise l'origine de chaque paquet.
- SUSE:SLE-15-*
- paquets issus de SUSE Linux Enterprise : tirés automatiquement
- openSUSE:Factory
- paquets issus de Factory package : tirés automatiquement jusqu'au gel du paquet
Macros RPM des versions de distributions
- suse_version 1315 pour toute la durée de vie de SLE12 et openSUSE:Leap:42.x
- suse_version 1500 pour toute la durée de vie de SLE15 et openSUSE:Leap:15.x
- en complément il est possible d'utiliser is_opensuse 1 pour openSUSE:Leap:* afin de marquer la différence
SLE15:GA | SLE15:SP1 | Backports:SLE-15 | Leap 15.0 | Leap 15.1 | Tumbleweed | |
suse_version | 1500 | 1500 | 1500 | 1500 | 1500 | 1550¹ |
sle_version | 150000 | 150100 | 150000³ | 150000 | 150100 | undefined |
is_opensuse | undefined | undefined | 1 | 1 | 1 | 1 |
is_backports | undefined | undefined | 1⁴ | undefined | undefined | undefined |
SLE12:GA | SLE12:SP1 | SLE12:SP2 | SLE12:SP3 | SLE12:SP4 | Backports:SLE-12 | Leap 42.1 | Leap 42.2 | Leap 42.3 | |
suse_version | 1315 | 1315 | 1315 | 1315 | 1315 | 1315 | 1315 | 1315 | 1315 |
sle_version | 120000 | 120100 | 120200 | 120300 | 120400 | 120000³ | 120100 | 120200 | 120300 |
is_opensuse | undefined | undefined | undefined | undefined | undefined | undefined | 1 | 1 | 1 |
leap_version² | undefined | undefined | undefined | undefined | undefined | undefined | undefined | ||
is_backports | undefined | undefined | undefined | undefined | undefined | 1⁴ | undefined | undefined | undefined |
- ne pas se fier à cette version, susceptible de changer
- leap_version est dépréciée, utiliser is_opensuse et sle_version à la place
- Backports:* ces projets héritent de la macro %sle_version correspondant à la version de SLE en cours
- la macro %is_backports est définie pour tous les projets openSUSE:Backports:SLE-*-*
Pour les constructions de paquets inter distribution se référer à : openSUSE:Build_Service_cross_distribution_howto
Conseils et astuces
Paquets non inclus depuis plusieurs semaines
Erreur de construction dans Staging:adi
Toutes les inclusions de paquet sont construites de façon isolée dans openSUSE:Leap:15.1:Staging:adi:<number> afin d'assurer que l'intégration sera complète. Cela échoue parfois du fait de configurations différentes dans le projet de développement par exemple. Parfois d'autres paquets ont besoin d'être regroupés dans le même projet. Dans un tel cas, il vaut mieux demander de l'aide à l'équipe en charge de la publication.
Contrôle de Factory
Les demandes d'inclusion dans Leap 15.1 attendent leur acceptation dans Factory afin d'y être revues. Parfois des paquets enfants restent longtemps à cette étape du fait de leur faible priorité. Si un requête dans Factory est bloquée, du fait de vérification légale et que cela affecte Leap 15.1, il vaut mieux prendre contact avec l'équipe en charge de la publication afin qu'elle ajuste les priorités.
Revue par les mainteneurs
Les paquets soumis par une personne autre que le mainteneur du paquet dans Factory doivent être contrôlés par celui-ci dans leur projet de développement. Si votre demande n'obtient pas de réponse après un certain laps de temps, essayez d'ajouter un commentaire à celle-ci afin d'attirer l'attention ou prenez contact avec le mainteneur directement.