Mettre à jour les sources avec CVS ou CVSup
Auteur : Olivier BOYER - oboyer () ajoute ! org
Mots clés
OpenBSD, sources, ports, cvs, cvsup
Introduction
Ce document explique comment mettre à jour ses sources. Il s'appuie sur OpenBSD 3.4. Pour une autre version, remplacez 3.4 par la nouvelle version.
Pour connaître les différentes versions disponibles, aller à l'url : http://www.openbsd.org/cgi-bin/cvsweb/src/
En bas de page, aller au menu déroulant : “Show only files with tag:”
Le projet OpenBSD maintient actuellement 5 depôts majeurs :
- src - Contient le code source de TOUT le système d'exploitation OpenBSD
- ports - Contient les Ports OpenBSD
- www - Contient toutes les pages web du projet OpenBSD
- X11 - Contient l'adaptation d'OpenBSD du projet XFree86-3. C'est encore ici pour des raisons historiques. La majorité des utilisateurs n'ont pas besoin de ce dépôt, il n'est plus utilisé
- XF4 - Contient l'arbre des sources de X actif dans OpenBSD
Qu'est-ce que CVS ?
CVS is the source code control system used to manage the OpenBSD source tree. It implements a central repository for all officially released source code and changes, while permitting developers to maintain local copies of the source code with their working changes. There are two levels of source tree access:
- Read-write access for developers
- Read-only access for everyone
The major strength of CVS is that it has the ability to perform intelligent merges of changes to the central repository with changes that you make to your local copy. This means that if you make a change to a module and perform an update, your changes are not “blown away”, rather CVS makes best efforts to merge the changes made to the central sources with changes you've made to your local copy.
Qu'est-ce que CVSup ?
CVSup is a software package for distributing and updating source trees from a master cvs(1) repository on a remote server host.
CVSup uses the so-called pull model of updating. Under the pull model, each client asks the server for updates, if and when they are wanted. The server waits passively for update requests from its clients. Thus all updates are instigated by the client. The server never sends unsolicited updates. Users must either run the CVSup client manually to get an update, or they must set up a cron(8) job to run it automatically on a regular basis.
The term CVSup, capitalized just so, refers to the entire software package. Its main components are the client cvsup which runs on each user's machine, and the server cvsupd which runs at each of the OpenBSD CVSup mirror sites.
CVSup is intended to be both faster and more flexible than sup(1), CVSup's predecessor.
Pré-requis
Ce document explique comment mettre à jour ses sources. Il suppose donc que les sources sont déjà présentes dans le système de fichiers. Dans le cas contraire, télécharger et désarchivez dans l'ordre les fichiers suivants :
ftp://ftp.de.openbsd.org/unix/OpenBSD/3.4/src.tar.gz
Mettre à jour avec CVS
Se connecter au serveur
Pour télécharger les sources d'OpenBSD via CVS il faut s'authentifier de manière anonyme sur le serveur cvs d'OpenBSD ou l'un de ses miroirs.
Dans notre configuration, l'accès au serveur CVS se fait uniquement via SSH. C'st la méthode recommandée car la communication est cryptée, donc les données qui transitent ne sont pas altérables.
Pour se connecter au serveur CVS via SSH, procédez comme suit :
CVSROOT=anoncvs@mirror.osn.de:/cvs CVS_RSH=/usr/bin/ssh export CVSROOT CVS_RSH
Mettre à jour les sources
Il existe trois types de sources téléchargeables :
version : "jour de sortie" (=RELEASE)
cd /usr cvs -z 5 -q update -rOPENBSD_3_4_BASE -Pd src cvs -z 5 -q update -rOPENBSD_3_4_BASE -Pd ports
version : "stable" (=STABLE)
cd /usr cvs -z 5 -q update -rOPENBSD_3_4 -Pd src cvs -z 5 -q update -rOPENBSD_3_4 -Pd ports
version : "développement" (=CURRENT)
cd /usr cvs -z 5 -q update -Pd src cvs -z 5 -q update -Pd ports
Mettre à jour avec CVSup
L'exemple ci-dessous met un jour un système OpenBSD 3.4 en version “STABLE”. Pour utiliser la version “CURRENT”, il faut omettre le tag tag=OPENBSD_3_4
Installer CVSup
Pour installer CVSup, procédez comme suit :
# cd /usr/ports/net/cvsup # export FLAVOR=no_x11 # make install clean
Créer le fichier CVSup
# cvs-supfile # # Ce fichier permet de checkout les src et les ports de la release STABLE # # Commande a executer : # cvsup /path/to/cvs-supfile # # Defaults that apply to all the collections # see http://openbsd.org/cvsup.html *default host=cvsup.uk.openbsd.org *default release=cvs *default delete use-rel-suffix compress *default umask=002 *default base=/var *default prefix=/usr # If your network link is a T1 or faster, comment out the following line. *default compress #OpenBSD-all OpenBSD-src tag=OPENBSD_3_4 #OpenBSD-www OpenBSD-ports tag=OPENBSD_3_4 #OpenBSD-x11 #OpenBSD-xf4 #EOF
Mettre à jour
Assuming this file is saved as cvs-supfile, the following command would be used to invoke the cvsup GUI:
# cvsup cvs-supfile
whereas for batch mode, the following might be used:
# cvsup -g -L 2 cvs-supfile