« Koji/Utilisation » : différence entre les versions

De TartareFR
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 54 : Ligne 54 :
=== Mise à jour d'un paquet ===
=== Mise à jour d'un paquet ===
{{Admon/todo}}
{{Admon/todo}}
== Utilisation avancée ==
Supprimer un paquet pour cause de mauvaise typo ( aucun build )
<pre>
psql -U koji koji
If you have really added a package with an incorrect name and it has not
been used, then it will only be referenced in two tables: package and
tag_packages. Frankly, this is pretty harmless, but if you must remove
the entry, then this will do it.
-- begin;
-- delete from tag_packages where package_id = (select id from package
where name = 'SOME-TYPO');
-- delete from package where name = 'SOME-TYPO';
-- commit;
...or if something goes wrong:
-- rollback;
</pre>


== Utilisation du repository ==
== Utilisation du repository ==

Version du 31 janvier 2013 à 12:03

Généralités

Ajout d'un paquet au repository

Un admin du koji ajoute le paquet et le place sous la responsabilité d'un utilisateur Koji

koji add-pkg --owner didier centos-5 b2pweb
Idea.png
Construction d'un paquet scratch
Koji permet de construire des paquets sans qu'il soit nécessaire de les ajouter au repository: scratch

La commande de construction devient donc

koji build --scratch centos-5 b2pweb-1.1.0-8.fc17.src.rpm
Toutefois cette méthode n'est pas recommandé si on cherche à construire un paquet pour notre repository.

Construction d'un paquet

Depuis un paquet source

koji build centos-5 b2pweb-1.1.0-8.fc17.src.rpm

Depuis un système de contrôle de version

Il faut tout d'abord autoriser le serveur et le dépôt sur tous les constructeurs koji ( kojid ).

allowed_scms=didier.b2pweb.com:/rpm:yes didier.b2pweb.com:/svn/rpm/trunk:yes

Le système doit fournir un Makefile qui contient une cible sources, dont la tâche est de fournir les sources via une commande de téléchargement. Si celles-ci sont incluses dans le SCM, la cible doit être vide.

sources:

Il ne reste plus qu'à lancer la construction depuis koji avec SVN

koji build centos-5 svn+http://didier.b2pweb.com/svn/rpm/trunk?b2pweb-release#head

avec git

koji build centos-5 git://didier.b2pweb.com/rpm?b2pweb-release#5153396fc3bf204b74e745759eee33ed5dad0ffe
Important.png
Différence entre les SCM
  • Avec svn, le répertoire common sera téléchargé en plus de celui du paquet en cours
  • Avec git c'est un dépôt common qui sera ajouté et l'intégralité du dépôt rpm sera téléchargé.

Interface Web

KojiwebScreenshot.png

Dépôt B2PWeb

Il faut tout d'abord avoir une copie de travail des sources accessible en lecture/écriture.

Pour cela il faut disposer d'un compte associé à une paire de clés ( publique et privée ) <app>ssh</app>.

  1. Génération de la paire de clé
    • Sous GNU/Linux, il suffit de lancer la commande
       ssh-keygen -t rsa
    • Sous Windows il faut utiliser le programme <app>puttygen.exe</app> pour générer la paire de clé. La clé publique porte l'extension pub et la clé privé ppk.
      Il faut ensuite utiliser un agent ( ex: <app>pageant.exe</app> )
  2. Puis il faut insérer le contenu de la clé publique ( à la suite des autres ) dans le fichier <path>/var/lib/git/.ssh/authorized_keys</path> sur le serveur.
    Afin de tester avant le checkout, on doit pouvoir se connecter au serveur sans mot de passe
     ssh git@didier.b2pweb.com
  3. Si le login est possible, on peut alors obtenir une copie du dépôt
    git clone git@didier.b2pweb.com/rpm

Ajout d'un paquet

Todo.png
TODO

Mise à jour d'un paquet

Todo.png
TODO


Utilisation avancée

Supprimer un paquet pour cause de mauvaise typo ( aucun build )

psql -U koji koji

If you have really added a package with an incorrect name and it has not 
been used, then it will only be referenced in two tables: package and 
tag_packages. Frankly, this is pretty harmless, but if you must remove 
the entry, then this will do it.

-- begin;
-- delete from tag_packages where package_id = (select id from package 
where name = 'SOME-TYPO');
-- delete from package where name = 'SOME-TYPO';
-- commit;
...or if something goes wrong:
-- rollback;

Utilisation du repository

Il suffit de renseigné <package>yum</package> pour qu'il pointe sur le repository

http://didier.b2pweb.com/kojifiles/repos/centos-5-build/latest/$arch

Skins

Modification à partir du thème osg[1]

Références