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

ftp://ftp.de.openbsd.org/unix/OpenBSD/3.4/sys.tar.gz

ftp://ftp.de.openbsd.org/unix/OpenBSD/3.4/ports.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
 
doc/openbsd/update_src.txt · Dernière modification: 2009/12/23 22:36 (édition externe)     Haut de page