diff options
Diffstat (limited to 'fr_FR.ISO8859-1/articles/cvsup-advanced/article.xml')
-rw-r--r-- | fr_FR.ISO8859-1/articles/cvsup-advanced/article.xml | 342 |
1 files changed, 342 insertions, 0 deletions
diff --git a/fr_FR.ISO8859-1/articles/cvsup-advanced/article.xml b/fr_FR.ISO8859-1/articles/cvsup-advanced/article.xml new file mode 100644 index 0000000000..c7ca581340 --- /dev/null +++ b/fr_FR.ISO8859-1/articles/cvsup-advanced/article.xml @@ -0,0 +1,342 @@ +<?xml version="1.0" encoding="iso-8859-1" standalone="no"?> +<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN" + "../../../share/sgml/freebsd42.dtd" [ +<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//FR" "../../share/sgml/entities.ent"> +%entities; +<!ENTITY % not.published "IGNORE"> +]> + +<!-- + The FreeBSD Documentation Project + The FreeBSD French Documentation Project + + $FreeBSD$ + $Id: article.xml,v 1.7 2007-01-20 13:34:48 blackend Exp $ + Original revision: 1.12 +--> + +<article lang="fr"> + <articleinfo> + <title>Utilisation avancée de cvsup</title> + + <authorgroup> + <author> + <firstname>Salvo</firstname> + <surname>Bartolotta</surname> + + <affiliation> + <address><email>bartequi@neomedia.it</email></address> + </affiliation> + </author> + </authorgroup> + + <pubdate>$FreeBSD$</pubdate> + + <releaseinfo>$FreeBSD$</releaseinfo> + + <legalnotice id="trademarks" role="trademarks"> + &tm-attrib.freebsd; + &tm-attrib.cvsup; + &tm-attrib.general; + </legalnotice> + + <abstract> + <para>Le présent article suppose une compréhension + de base de l'utilisation de <application>CVSup</application>. + Il expose plusieurs problèmes délicats + liés à la synchronisation des sources à + l'aide de <application>CVSup</application>, c'est à + dire des solutions efficaces aux problèmes des fichiers + obsolètes aussi bien qu'aux cas spéciaux de mise + à jour des sources, ces problèmes sont susceptibles + de causer des désagréments apparemment + inexplicables.</para> + + &trans.a.fonvieille; + </abstract> + </articleinfo> + + <sect1 id="preface"> + <title>Préface</title> + + <para>Ce document est le fruit des tentatives de l'auteur de + comprendre les finesses de <application>CVSup</application> et + de la mise à jour des sources. :-) + Bien que l'auteur ait fait de nombreux efforts pour + rendre ces pages aussi instructives et correctes que possible, + il n'est qu'un être humain et a pu avoir commis toutes sortes + de coquilles, d'erreurs, etc... Il sera vraiment reconnaissant + pour tous les commentaires et/ou suggestions que vous enverrez + à son adresse électronique + <email>bartequi@neomedia.it</email>.</para> + </sect1> + + + <sect1 id="introduction"> + <title>Introduction</title> + + <para>Si vous avez consulté le <ulink + url="http://www.polstra.com/">site de John Polstra</ulink> et lu + sa <ulink + url="http://www.polstra.com/projects/freeware/CVSup/faq.html">FAQ</ulink>, + vous avez pu avoir remarqué les questions 12 et 13.</para> + + <para>En mettant à jour n'importe quelle “catalogue” + - collection de sources (e.g. <filename>/usr/ports</filename>), + &man.cvsup.1; se sert des fichiers de “checkouts” + relatifs afin d'effectuer le processus de mise à jour de la + manière la plus efficace et la plus correcte possible. Dans cet + exemple (<filename>/usr/ports</filename>), le fichiers de + “checkouts” relatif est + <filename>/usr/sup/ports-all/checkouts.cvs:.</filename> si votre + répertoire de base est <filename>/usr</filename>.</para> + + <para>Un fichier “checkouts” contient l'information + sur l'état actuel de vos sources -- d'une certaine + manière, une sorte de “photographie”. Cette + information permet à <application>cvsup</application> de + rechercher les mises à jour le plus efficacement. De + plus, et c'est peut-être plus important, il permet + à <application>cvsup</application> de gérer + correctement vos sources en effaçant localement tout + fichier qui n'est plus présent sur l'archive centrale, + et de ce fait ne pas laisser de fichiers obsolètes sur + votre système. En fait, sans un fichier + “checkouts”, <application>cvsup</application> ne + saurait PAS de quels fichiers votre catalogue est composé + (Cf &man.cvsup.1; pour plus de détails), et en + conséquence, il ne pourrait PAS effacer de votre + système ces fichiers qui ne sont plus présents sur + l'archive centrale. Ils resteraient sur votre système + (les fichiers obsolètes), et pourraient vous causer de + subtiles échecs de compilation ou tout autre + désagrément. Par exemple, ce problème est + susceptible de se produire si vous mettez à jour votre + catalogue de logiciels portés plusieurs semaines + après que vous ayez eu vos CDROMs d'installation.</para> + + <para>Il est donc recommandé que vous adoptiez la + procédure en deux temps décrite dans la FAQ de + <application>CVSup</application> (Cf Q12, Q13); dans les + sections suivantes, on vous présentera des exemples + concrets intéressant et instructifs.</para> + </sect1> + + <sect1 id="script"> + <title>Une procédure python utile: cvsupchk</title> + + <para>Alternativement, afin d'examiner les sources pour les + inconsistences, vous pouvez souhaiter utiliser la procédure + python <command>cvsupchk</command>, procédure qui se + trouve actuellement dans + <filename>/usr/ports/net/cvsup/work/cvsup-16.1/contrib/cvsupchk</filename>, + avec un sympathique <filename>README</filename>. + Prérequis:</para> + + <orderedlist> + <listitem> + <para><literal>/usr/ports/net/cvsup</literal> &prompt.root; +<userinput> make extract</userinput></para> + </listitem> + + <listitem> + <para>python (que l'on trouve également dans le catalogue + des logiciels portés :-)).</para> + </listitem> + + <listitem> + <para>Un fichier “checkouts” pour votre + catalogue des sources.</para> + </listitem> + </orderedlist> + + <para>Si vous mettez à jour vos sources pour la toute + première fois, naturellement vous n'avez pas de fichier + “checkouts”. Après l'installation de python + et la mise à jour de vos sources (e.g. + <filename>/usr/ports</filename>), vous pouvez les vérifier + ainsi:</para> + + <screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk -d /usr -c /usr/sup/ports-all/checkouts.cvs:. | more</userinput></screen> + + <para>Si vous désirez vérifier vos sources RELENG_4:</para> + + <screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk -d /usr -c /usr/sup/src-all/checkouts.cvs:RELENG_4 | more</userinput></screen> + + <para>Dans chaque cas, <command>cvsupchk</command> + inspectera vos sources à la + recherche d'inconsistances en utilisant les informations + contenues dans le fichier de “checkouts” relatif. + Des anomalies comme des fichiers effacés, encore + présents (aka fichiers obsolètes), fichiers + récupérés absents, fichiers RCS + supplémentaires, et répertoires vides seront + affichés sur la sortie standard.</para> + + <para>Dans la section suivante, nous présenterons des exemples + typiques de la mise à jour de source, exemples qui vous + montreront le rôle des fichiers de “checkouts” + et les dangers d'une gestion négligée des sources.</para> + </sect1> + + <sect1 id="examples"> + <title>Exemples avancés de gestion des sources</title> + + <sect2> + <title>Comment modifier sans risques le champ tag quand vous + mettez à jour <literal>src-all</literal></title> + + <para>Si vous spécifiez par exemple <literal>tag=A</literal> + dans votre fichier <filename>supfile</filename>, + <application>cvsup</application> créera + un fichier “checkouts” appelé + <filename>checkouts.cvs:A</filename>, par exemple avec le + champ <literal>tag=RELENG_4</literal>, un fichier de + “checkouts” + <filename>checkouts.cvs:RELENG_4</filename> est + généré. Ce fichier sera utilisé + pour récupérer et/ou stocker + l'information identifiant vos sources 4-STABLE.</para> + + <para>En suivant le catalogue <literal>src-all</literal>, si + vous souhaitez passer de <literal>tag=A</literal> à + <literal>tag=B</literal> (A inférieur/supérieur + à B important peu) et si votre fichier + “checkouts” est + <filename>checkouts.cvs:A</filename>, les opérations + suivantes devront être effectuées:</para> + + <orderedlist> + <listitem> + <para>&prompt.root; <userinput>mv checkouts.cvs:A +checkouts.cvs:B</userinput> + (ceci fournit à l'étape suivante le fichier + “checkouts” approprié)</para> + </listitem> + + <listitem> + <para>Ecrivez un fichier <filename>supfile</filename> + dont la ligne désignant le catalogue est:</para> + <programlisting>src-all tag=B</programlisting> + </listitem> + + <listitem> + <para>Cvsupez vos sources en utilisant le nouveau + <filename>supfile</filename>.</para> + </listitem> + </orderedlist> + + <para><application>Cvsup</application> recherchera <filename>checkouts.cvs:B</filename> + -- dans ce cas la cible est B, c'est à dire que + <application>cvsup</application> se + servira des informations contenues dans ce fichier pour gérer + correctement vos sources.</para> + + <para>Les avantages:</para> + + <itemizedlist> + <listitem> + <para>Les sources sont traitées correctement (en + particulier aucun fichier obsolète).</para> + </listitem> + + <listitem> + <para>Moins de charge sur le serveur, dans ce cas + <application>CVSup</application> + agit de la manière la plus efficace.</para> + </listitem> + </itemizedlist> + + + <para>Par exemple, <literal>A=RELENG_4</literal>, + <literal>B=.</literal>, le point dans <literal>B=.</literal> + signifie -CURRENT. C'est une mise à jour plutôt + typique de la branche 4-STABLE vers la branche -CURRENT. + Alors qu'il est simple de revenir à une ancienne + version de sources (e.g. -CURRENT vers -STABLE), il n'en va + pas de même avec le système. Vous êtes + FORTEMENT déconseillé de tenter une telle + opération, à moins que vous ne sachiez + exactement ce que vous faites.</para> + </sect2> + + <sect2> + <title>Mettre à jour en conservant le même champ + tag mais pour une date différente</title> + + <para>Si vous souhaitez basculer du champ <literal>tag=A</literal> + au champ <literal>tag=A</literal> avec une date GMT + différente (disons <literal>date=D</literal>) vous + exécuterez ce qui suit:</para> + + <orderedlist> + <listitem> + <para>Ecrivez un <filename>supfile</filename> dont la + ligne désignant le catalogue est:</para> + <programlisting>src-all tag=A date=D</programlisting> + </listitem> + + <listitem> + <para>Mettez à jour vos sources en utilisant le nouveau + <filename>supfile</filename>.</para> + </listitem> + </orderedlist> + + <para>Que la nouvelle date précède ou non celle + de la dernière synchronisation avec le champ + <literal>tag=A</literal> est peu important. Par exemple, + afin d'indiquer la date du “27 Août 2000 à + 10h00s00 GMT” vous écrirez la ligne:</para> + + + <programlisting>src-all tag=RELENG_4 date=2000.08.27.10.00.00</programlisting> + + <note><para>Le format de la date est rigide. Vous devez + indiquer toutes les composantes de la date: le siècle + (<quote>20</quote>, i.e. le vingtième siècle, doit être + fourni tandis que <quote>19</quote>, le siècle passé peut + être omis), l'année, le mois, le jour, l'heure, + les minutes et les secondes — comme montré dans + l'exemple ci-dessus. Pour plus d'information, veuillez + consulter la page de manuel &man.cvsup.1;.</para></note> + + <para>Qu'une date soit spécifiée ou non, le fichier + “checkouts” est appelé + <filename>checkouts.cvs:A</filename> (e.g. + <filename>checkouts.cvs:RELENG_4</filename>). Comme + conséquence, aucune action particulière n'est + nécessaire afin de retourner à l'état + précédent: vous devez modifier la date + dans le <filename>supfile</filename> et remettre à + jour à nouveau.</para> + </sect2> + + + <sect2> + <title>Mise à jour de votre catalogue des logiciels + portés pour la première fois</title> + + <para>Comme les logiciels portés sont + étiquetés “.” (i.e. -CURRENT), + vous pouvez correctement les synchroniser en + ajoutant le mot-clé <literal>date</literal> (Cf + &man.cvsup.1; pour le format exact), vous devriez + spécifier une date aussi proche que possible que celle + de “l'expédition” de votre catalogue de + logiciel porté. Après que <application>CVSup</application> ait + créé le fichier “checkouts” du catalogue des + logiciels portés, qui est précisément le + but de cette première opération de synchronisation, + le champ <literal>date</literal> doit être retiré, + toutes les mises à jour suivantes seront faites en + douceur.</para> + + <para>Si vous avez voulu chercher la petite bête dans ce texte, + vous vous êtes probablement aperçu des + problèmes potentiels du processus de mise à jour des + sources. Un certain nombre de personnes ont eu réellement + des problèmes. Vous avez été + avertis. :-)</para> + </sect2> + </sect1> +</article> |