Portal:Build Service/CLI
Cet article est à relire ! Cette page demande à être relue pour correction. Si vous pouvez y participer, merci de le faire en accord avec le Guide stylistique openSUSE. |
Les outils en ligne pour accèder au build service openSUSE existent en deux versions, une version Perl et une version Python. D'autres outils peuvent être trouvés sur http://software.opensuse.org/download/openSUSE:/Tools/ pour différentes distributions (SUSE Linux, Fedora, Mandriva, Debian).
Un tutoriel est disponible : Build_Service_Tutorial.
osc, le client Python
osc est un client ressemblant à subversion. Il permet d'accéder au référenciel pour l'extraction et la mise à jour du code source, de compiler. Il peut aussi modifier les métadonnées du projet et consulter les résultats de compilation.
osc est extensible. Vous pouvez en modifier le comportement ou ajouter vos propres commandes.
osc vous demandera votre identité quand vous l'utiliserez pour la première fois. Ces données seront stockées dans ~/.oscrc (mais il utilise aussi .netrc, si ce fichier est présent.)
Pour afficher l'aide d'une commande :
osc help osc help <cmd>
Pour lister le contenu sur le serveur
osc ls # liste les projets osc ls Apache # liste les paquetages du projet Apache osc ls Apache subversion # liste les fichiers d'un paquetage
Extrait le contenu
osc co Apache # le projet entier osc co Apache subversion # un paquetage osc co Apache subversion foo # un seul fichier
Met á jour un répertoire de travail
osc up osc up <répertoire> osc up * # depuis un répertoire projet, met à jour tous les paquetages osc up # depuis un répertoire projet, met à jour tous les paquetages ET extrait tous les paquetages récemment ajoutés
Upload le contenu modifié
osc ci # current dir osc ci <fichier1> <fichier2> # only specific files osc ci <rép1> <rép2> ... # multiple packages osc ci -m "updated foobar" # specify a commit message
Consulte le journal des transactions
osc log
Montre le statut (quels fichiers ont été modifiés localement)
osc st osc st <directory>
Si une mise à jour ne peut être fusionnée automatiquement, un fichier est dans le statut 'C'(conflit). Les lignes en conflits sont marquées avec les <<<<<<< et >>>>>>>. Après avoir fusionner manuellement les fichiers , utilisez :
osc resolved <fichier>
Marque les fichiers pour être ajoutés ou supprimés lors du prochain 'checkin'
osc add foo osc rm foo
Ajoute tous les nouveaux fichiers de la copie local et supprime ceux qui auraient été effacés.
osc addremove
Produit un diff afin de voir les modifications
osc diff [fichier]
Montre les résultats de la compilation du paquetage
osc results osc results <platforme>
Montre le journal de compilation d'un paquetage (il faut être dans un répertoire paquetage)
osc buildlog <platforme> <arch>
Montre les URLs des fichiers .repo qui sont des paquetages sources pour for Yum/YaST/smart
osc repourls [rép]
Déclenche une recompilation du paquetage pour tous les référenciels et architectures du paquetage
osc rebuildpac [rép]
Construit le paquetage pour le plateforme locale
osc build <platforme> <arch> <fichierspec> [--clean|--noinit|...]
Affiche les plateformes matérielles définies.
osc platforms [projet]
Montre les méta-informations
osc meta prj <projet> osc meta pkg <projet> <paquetage> osc meta user <usager>
Édite les méta informations. Crée un nouveau paquetage/projet s'il n'existe pas. Cela ouvrira un éditeur avec les données brutes en XML. Si vous n'êtes pas à l'aise avec XML, utilisez plutôt le client web !
osc meta prj -e <projet> osc meta pkg -e <projet> <paquetage>
Met à jour les métadonnées avec les informations du fichier spec
osc updatepacmetafromspec <rép>
Le client Perl 'opensuse-commandline'
Le client Perl (appelé 'opensuse-commandline') n'est plus maintenu. Utilisez 'osc', voir ci-dessus.
Le client Perl doit être configuré en ajoutant dans le fichier ~/.netrc une ligne telle que:
machine api.opensuse.org login $usager password $mdp
$usager et $mdp doivent être remplacés par les informations de votre compte.
= Interface utilisateur graphique (GUI) et Framework =
MonoOSC est une GUI qui utilise MonoOBSFrameWork, un project qui offre un access 100% C# a l'API openSuse pour leur service de construction de RPM, plus d'infos sont disponibles ici (developpement en cours) : http://sourceforge.net/projects/monoosc/ Dépot OpenSuse Build Service (OBS) : http://download.opensuse.org/repositories/home:/surfzoid/
- Un autre article est ouvert pour fournir de l'aide