openSUSE:Contrib

Aller à : navigation, rechercher
Attention Depuis openSUSE 12.1, le dépôt Contrib est considéré comme obsolète.

Si vous êtes utilisateur, soyez assuré que la grande majorité des paquets de Contrib est maintenant intégrée dans le dépôt principal d'openSUSE. Certains paquets ne sont disponibles que sur le Build Service mais vous pouvez toujours les retrouver via cette page.
Si vous êtes développeur, placez vos paquets dans Factory (voir cette page pour la marche à suivre).


Contrib: Le dépôt universel openSUSE pour les paquetages additionnels

Contrib.png

Notre vision ou ce que nous souhaitons

Le modèle actuel des paquetages additionnels dans le Build Service est compliqué à utiliser. Il y a beaucoup de paquetages parmi des centaines de projets du Build Service, ce qui amène quelques problèmes. Il est difficile de naviguer entre les dépôts, il y a des paquetages doublons, des problèmes de compatibilité. La vraie solution serait de mettre tous les paquetages dans Factory.

Le but est d'avoir un dépôt universel pour les paquetages additionnels. Ce dépôt est vu comme une extension de Factory dirigée par la communauté, avec tous les standards et les limitations appliqués.

Les règles ou ce que nous faisons

En général, Contrib a les mêmes règles que Factory, comme par exemple les dates de sorties, etc...

Règles pour le dépôt

  • Tout est construit contre les dépôts de base ou paquetages à partir de ce dépôt
  • Pas de doublon de ce paquetage avec Factory
  • Le dépôt est relié à la sortie d'une nouvelle version d'openSUSE (openSUSE:Factory:Contrib -> openSUSE:<version>:Contrib)
    • Après avoir été relié, aucune version mise à jour n'est autorisée
    • Les bogues sont réparés par des patches

Règles pour les paquetages

  • Les paquetages doivent avoir un responsable maintenance qui prend soin de :
    • la mise à jour de paquetages
    • la maintenance de paquetages (réparer des bugs, travailler avec upstream sur les bugs, etc.)
    • la mise à jour de sécurité (l'équipe de Sécurité SuSE aidera à ce propos)
    • Beta Test pendant la phase beta d'openSUSE
  • les paquetages ont besoin d'être vérifiés pendant le processus de révision de Contrib
  • pas de conflits entre les fichiers avec les paquetages Factory

Permissions ou qui fait quoi

Pour être sûr que nous suivions bien les règles précédemment expliquées, nous avons besoin d'avoir les permissions pour le dépôt et les paquetages. C'est pourquoi, nous avons besoin de deux rôles liés, c'est à dire que la même personne remplit deux rôles. Le mainteneur qui est responsable d'un ou plusieurs paquetages et les vérificateurs qui sont responsables du dépôt lui-même.

openSUSE:Factory:Contrib

  • Le dépôt est tenu par les vérificateurs
    • Les propositions de nouveaux paquetages arrivent dans osc submitreg et sont vérifiés.
    • Le dépot bugowner est opensuse-contrib@opensuse.org
  • Les paquetages sont tenus par les mainteneurs
    • Des développements sur des paquetages qui viennent juste d'arriver, pas de relecture addionnelle.
    • Le bugowner du paquetage est le mainteneur

openSUSE:<version>:Contrib

  • Le dépôt est tenu par les relecteurs
    • Pas de nouveaux paquetages
    • Le dépôt bugowner est opensuse-contrib@opensuse.org
  • Les paquetages sont tenus par les relecteurs
    • Toutest géré par osc submitreg et est relu
    • le bugowner du paquetage est le mainteneur

Processus ou comment faisons nous

Il y a aussi une autre approche: osc-contrib commande.

Nouveau paquetages vers openSUSE:Factory:Contrib

  • Une personne veut maintenir le paquetage foo dans le dépôt Contrib
  • Cette personne crée le paquetage dans son propre dépôt (ou tout autre dépôt dont il a les droits d'écriture)
  • Elle essaye de construire le paquetage vers Contrib pour vérifier qu'il n'y ait pas quelque dépendance manquante ou des réglagles privés dans prjconf.
osc build --debug --alternative-project openSUSE:Factory:Contrib standard [<arch>]
  • Après, si cette personne pense que son paquetage est assez bon, alors elle envoie une demande au dépôt Contrib avec osc

 $ osc submitreq create X11:windowmanagers blackbox openSUSE:Factory:Contrib blackbox -m "add blackbox"

  • Un mail est envoyé à opensuse-contrib@opensuse.org (qui ressemble à http://en.opensuse.org/User:Hennevogel:Tmp)
  • Un relecteur de Contrib répond à la liste de diffusion en disant qu'il fera la relecture (en faisant cela, on évite de faire deux fois le même travail).
  • Le relecteur du dépôt Contrib accepte alors la proposition

 $ osc submitreq accept 6001 --message="reviewed ok. You are now maintainer of foo in Contrib"

ou refuse

 $ osc submitreq decline 6001 --message="Sorry. Declined. Fix the Factory build errors first. If you need help lets talk on opensuse-contrib :)"

  • Enfin, le relecteur ajoute le demande comme mainteneur et le bugowner du paquetage

 $ osc meta pkg -e openSUSE:Factory:Contrib blackbox
 <person userid="jpack" role="maintainer"/>
 <person userid="jpack" role="bugowner"/>

  • Si le paquetage accepté est inclu dans une des distributions que nous construisons pour (11.1 et 11.2 ATM), le relecteur désactive la construction de ce paquetage pour ces distributions. C'est le cas des paquetages qui ont été déplacés de Factory vers Contrib et inversement.

# cgdb was moved from Factory to Contrib between 11.1 and 11.2
$ osc meta pkg -e openSUSE:Factory:Contrib cgdb
<build>
  <disable repository='openSUSE_11.1'/>
</build>

Résolution de bogues pour les paquetages dans openSUSE:Factory:Contrib

  • Une personne vérifie le paquetage à partir d'openSUSE:Factory:Contrib

 $ osc co openSUSE:Factory:Contrib blackbox

  • Cette personne fait ces changements et vérifie le paquetage dans le dépôt

 $ osc ci -m 'fixed bug in init script'

Résolution de bugs pour les paquetages dans openSUSE:<version>:Contrib

  • Une personne relie le paquetage à partir d'openSUSE:<version>:Contrib

 $ osc branch openSUSE:11.1:Contrib blackbox

  • Cette personne peut maintenant vérifier le paquetage et travailler sur ce paquetage

 $ osc co home:jpack:branches:openSUSE:11.1:Contrib/blackbox

  • Une fois que la personne pense qu'elle a résolu le problème, elle propose le paquetage

 $ osc ci -m "fixed serious bug"

  • après que tout soit résolu, elle envoie une demande à openSUSE:<version>:Contrib again

 $ osc sr create -m 'fixed serious bug'

  • Un mail est envoyé à opensuse-contrib@opensuse.org (qui ressemble à http://en.opensuse.org/User:Hennevogel:Tmp)
  • Un relecteur du dépôt Contrib répond à la liste de diffusion disant qu'il va relire (en faisant cela, on évite de faire deux fois le même travail)
  • Le relecteur du dépôt Contrib accepte alors la proposition

 $ osc submitreq accept 6002 --message="reviewed ok. Update is released"

ou la refuse

 $ osc submitreq decline 6002 --message="Sorry. Declined. There is another buffer overflow in main.c line 155"

Bug à propos de la sécurité sur les paquetages dans openSUSE:<version>:Contrib

  • Le même qu'au dessus, seul le rapporteur de bug sera dans l'équipe de sécurité SuSE

Liste de diffusion ou qui parle à qui

Notre liste de diffusion est : opensuse-contrib@opensuse.org

Voir la Mailinglists page pour apprendre comment s'inscrire et comment fonctionne les listes de diffusion openSUSE en général

FAQ

  • Q: Voulons-nous un dépôt contrib-(entre deux périodes de développement|instable|expérimental|en cours de test) où les paquetages doivent subir quelques tests avant qu'ils finissent dans contrib?
  • A: Généralement, je préfère garder instable/expérimental un travail que ce soit dans upstream ou dans un OBS utilisateur, pas dans Contrib. Après qu'un paquetage devient stable, une demande d'intégration de celui-ci peut alors être envoyé.
  • Q: Pouvez définir le cycle de développement (figé, annoncé, etc...)
  • A: "Contrib" sera synchronisé avec le cycle de développement Factory. Il sera développé pendant le cycle de Milestone openSUSE, durant le cycle de développement d'openSUSE, ensembles. Le fait de figer le dépôt de Factory affectera aussi "Contrib".
  • Q: Comment ajouter le dépôt Contrib dans ma openSUSE?
  • A: Pour openSUSE 11.1 utilisez:
     zypper ar http://download.opensuse.org/repositories/openSUSE:Factory:Contrib/openSUSE_11.1 openSUSE:Factory:Contrib:openSUSE_11.1 
  • A: Pour openSUSE Factory utilisez :
     zypper ar http://download.opensuse.org/repositories/openSUSE:Factory:Contrib/standard openSUSE:Factory:Contrib 
  • Q: Mais je n'aime pas Factory, il y a trop de mise à jour. N'y a-t-il pas de patchs permettant de résoudre les bogues des versions précédentes?
  • A: Oui, le dépôt Contrib est construit pour openSUSE 11.1, parce que nous voulons permettre une adoption et tester plus facilement Contrib. Mais considerez Factory (11.2) commme la chose la plus importante, donc ce n'est pas un backport, just une autre build target.