[OpenBSD]

CVSup


Table des matières


Qu'est-ce que CVSup ?

CVSup est un ensemble logiciel pour la distribution et mise à jour d'arbres de sources à partir d'un réceptacle primaire cvs(1) sur un serveur distant. Les sources d'OpenBSD se trouvent dans un réceptacle CVS situé sur une machine de développement principale au Canada. A l'aide de CVSup, les utilisateurs d'OpenBSD peuvent maintenir leur propre copie des sources à jour, localement.

CVSup utilise un modèle de mise à jour connu sous le nom de "pull model". Dans ce modèle, c'est le client qui demande au serveur les mises à jour disponibles. Ce dernier a un rôle passif, d'écoute des utilisateurs. Toutes les mises à jour sont donc réalisées à l'initiative du client. Le serveur ne transmet jamais d'informations qui ne soient demandées par le client. L'utilisateur doit utiliser soit le client CVSup pour récupérer manuellement les mises à jour, soit mettre en place une tâche cron(8) qui s'en occupera à intervalles réguliers.

Le terme CVSup, écrit tel qu'ici, représente l'ensemble logiciel. Ses principaux composants sont le client cvsup (ou son implémentation alternative csup) qui est utilisé sur chaque machine, et le serveur cvsupd qui fonctionne sur chaque site contenant les sources d'OpenBSD (le site principal comprenant de nombreux miroirs à travers le monde).

Le projet OpenBSD comporte actuellement six modules regroupant ses sources :

Qu'est-ce que CVS ?

CVS est un système de contrôle de code source, que le projet OpenBSD utilise pour conserver ses sources. Vous pouvez en obtenir une meilleure description ici. Veuillez noter que CVS et CVSup sont deux programmes totalement différents. Bien que CVS puisse être utilisé pour accéder à des fichiers à distance, il n'est pas optimisé pour le traitement d'arborescences complètes de grande taille pour leur distribution sur Internet, tandis que CVSup offre des performances très supérieures dans ce domaine à CVS.

Premiers pas avec CVSup

La construction de CVSup depuis ses sources peut être difficile car ce logiciel est écrit en Modula-3. Le portage lang/ezm3 vous permet de disposer d'une version allégée de Modula-3, suffisante pour construire CVSup. Quoi qu'il en soit, si vous ne voulez qu'utiliser CVSup nous vous recommandons de télécharger directement le paquetage cvsup depuis l'un de nos sites miroirs au lieu de construire ce dernier depuis votre port net/cvsup. Actuellement les portages d'Ezm3 et en conséquence de CVSup ne sont disponibles que sur la plate-forme i386.

Alternativement, le paquetage csup est écrit en C et fournit un client compatible de remplacement.

Pour plus d'informations sur CVSup, nous vous invitons à consulter la page Web de son auteur.

Afin de placer en miroir le répertoire des sources d'OpenBSD à l'aide de CVSup, vous devriez utiliser la configuration suivante :

        # Defaults that apply to all the collections
        *default release=cvs
        *default delete use-rel-suffix
        *default umask=002
        *default host=mirror.osn.de
        *default base=/cvs
        *default prefix=/cvs

        # If your network link is a T1 or faster, comment out the following line.
        *default compress

        OpenBSD-all
        #OpenBSD-src
        #OpenBSD-www
        #OpenBSD-ports
        #OpenBSD-x11
        #OpenBSD-xf4
	#OpenBSD-xenocara

Ceci demande à cvsup de récupérer tous les modules composant les sources d'OpenBSD depuis le serveur mirror.osn.de avec un umask(2) qui permettra de disposer de droits d'écriture par groupe à l'arbre local de sources.

En supposant que le fichier soit sauvegardé sous le nom "cvs-supfile" la commande suivante sera utilisée pour invoquer la mise à jour :

        cvsup cvs-supfile

tandis qu'en mode "batch" la commande suivante sera utilisée :

  cvsup -g -L 2 cvs-supfile 

Utiliser CVS pour travailler dans son "Repository"

Maintenant que vous avez une copie locale du "repository" CVS, il est facile de récupérer, mettre a jour ou de faire toute opération que vous feriez normalement avec un "repository" distant, en local. Par exemple:

        cvs -d/cvs checkout src -P
        cvs -d/cvs up -Pd
        cvs -d/cvs diff -u file.c
Vous pouvez trouver plus d'informations sur les opérations CVS dans FAQ5, Téléchargement des sources appropriées ainsi que la page man cvs(1).

Utiliser CVSup en mode "checkout"

Il existe une alternative à la récupération des sources et l'utilisation de CVS : vous pouvez aussi utiliser CVSup en mode "checkout" ce qui consiste en l'ajout d'un tag ou d'une date dans votre fichier supfile, que ce soit comme une option par défaut (*default) ou une option particulière. Il est possible d'obtenir une mise à jour des sources très rapide si vous avez les sources distribuées avec un CD-Rom d'OpenBSD :

Le supfile suivant vous permet de mettre à jour votre arbre de sources si vous l'avez installé depuis une archive des CD-Rom d'OpenBSD :

        # Defaults that apply to all the collections
        *default host=mirror.osn.de
        *default base=/var
        *default prefix=/usr
        *default release=cvs
        *default delete use-rel-suffix compress

        # Ports Collection.
        OpenBSD-ports tag=.

Vous pouvez utiliser tout tag symbolique accepté par CVS. Si vous utilisez un point (un ".") vous pouvez utiliser HEAD, c'est à dire la plus récente révision de tous les fichiers situés dans la branche principale. Vous devez faire attention à spécifier un tag existant car CVSup n'est pas capable de faire la distinction entre les tags qui existent et ceux qui n'existent pas si vous vous trompez. Si vous tentez de synchroniser des sources existantes et que vous indiquez un tag invalide ou non-existant, TOUS les fichiers seront retirés...

De manière alternative, utilisez le mot clef date=[cc.]yy.mm.dd.hh.mm.ss pour sélectionner une date de révision. Vous devez utiliser une datation comprenant 17 ou 20 caractères comme indiqué. A partir de l'an 2000 vous devrez spécifier le siècle (cc). Pour les années antérieures, n'utilisez que les deux derniers chiffres de l'année yy. Vous pouvez aussi combiner les mots-clefs tag et date.

Serveurs CVSup disponibles

Les serveurs CVSup suivants sont disponibles :

cvsup.no.openbsd.org

situé à Oslo en Norvège; maintenu par Anders Nordby.
Mise à jour toutes les 3 heures.

Collections disponibles :

OpenBSD-src - Le répertoire src
OpenBSD-ports - Le répertoire ports
OpenBSD-www - Le répertoire www
OpenBSD-x11 - Le répertoire XFree86-3
OpenBSD-xf4 - Le répertoire XFree86-4
OpenBSD-xenocara - Le répertoire Xenocara
OpenBSD-all - Tous les modules composant OpenBSD
skeleton.phys.spbu.ru

situé à St. Petersburg State University à St. Petersburg en Russie; maintenu par Dima Veselov.
Mise à jour toutes les 4 heures.

Collections disponibles :

OpenBSD-ports - Le répertoire ports
cvsup.jp.OpenBSD.org

situé à Otemachi, Tokyo au Japon; maintenu par CVSup Administrator.
Mise à jour toutes les 3 heures.

Collections disponibles :

OpenBSD-src - Le répertoire src
OpenBSD-ports - Le répertoire ports
OpenBSD-www - Le répertoire www
OpenBSD-x11 - Le répertoire XFree86-3
OpenBSD-xf4 - Le répertoire XFree86-4
OpenBSD-xenocara - Le répertoire Xenocara
OpenBSD-all - Tous les modules composant OpenBSD
cvsup.tw.OpenBSD.org

situé à l'Université Nationale Chiao-Tung, Taiwan; maintenu par Yi-Jheng Lin.
Mise à jour toutes les 2 heures.

Collections disponibles :

OpenBSD-src - Le répertoire src
OpenBSD-ports - Le répertoire ports
OpenBSD-www - Le répertoire www
OpenBSD-x11 - Le répertoire XFree86-3
OpenBSD-xf4 - Le répertoire XFree86-4
OpenBSD-all - Tous les modules composant OpenBSD
mirror.osn.de

situé en Allemagne; maintenu par Armin Wolfermann.
Mise à jour toutes les 3 heures.

Collections disponibles :

OpenBSD-src - Le répertoire src
OpenBSD-ports - Le répertoire ports
OpenBSD-www - Le répertoire www
OpenBSD-x11 - Le répertoire XFree86-3
OpenBSD-xf4 - Le répertoire XFree86-4
OpenBSD-xenocara - Le répertoire Xenocara
OpenBSD-all - Tous les modules composant OpenBSD
Remarque : Si votre serveur est listé ici avec des informations erronées ou manquantes, contactez s'il vous plaît www@openbsd.org.

Vous pouvez aussi utiliser traceroute(8) pour déterminer quel est le serveur le plus proche de vous. Les problèmes avec un serveur particulier doivent être mentionnés à la personne en charge de la maintenance du serveur.

Actuellement, en Avril 2010, les tailles de chaque module sont les suivantes :

OpenBSD-ports - 425Mo
OpenBSD-src - 1684Mo
OpenBSD-www - 401Mo
OpenBSD-xenocara - 723Mo
OpenBSD-x11 - 200Mo
OpenBSD-xf4 - 564Mo

Pour son propre fonctionnement, CVS requiert en plus de ces tailles environ 408Mo supplémentaires pour le répertoire CVSROOT. La taille totale comprenant tous les modules augmente d'environ 400Mo tous les ans.

NOTE IMPORTANTE : il y a quelques problèmes en relation avec les logiciels cryptographiques dont vous devez être conscient(e).

Le projet OpenBSD est toujours à la recherche de nouveaux serveurs CVSup : si vous êtes intéressé(e), nous vous invitons à contacter www@openbsd.org pour les détails de configuration.


OpenBSD www@openbsd.org
$OpenBSD: cvsup.html,v 1.57 2010/11/15 18:41:58 ajacoutot Exp $