Update of /cvsroot/fink/web/xml/packaging
In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv974

Modified Files:
        packaging.fr.xml 
Log Message:
Updating to latest English version

Index: packaging.fr.xml
===================================================================
RCS file: /cvsroot/fink/web/xml/packaging/packaging.fr.xml,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -d -r1.67 -r1.68
--- packaging.fr.xml    19 Sep 2006 20:43:29 -0000      1.67
+++ packaging.fr.xml    30 Nov 2006 19:22:01 -0000      1.68
@@ -14,7 +14,7 @@
 <section name="def1"><title>Qu'est-ce qu'un paquet ?</title>
 <p>Un paquet est un logiciel qui forme une unité atomique. Un paquet contient 
en général un programme exécutable, les fichiers de données dont il a 
besoin et des catalogues de message pour l'internationalisation et la 
documentation. Dans Fink, les paquets peuvent exister sous deux formes : la 
description de paquet et le paquet binaire prêt à installer.</p>
 <p>La description de paquet est un fichier texte compréhensible par un être 
humain qui contient tout ce qui est nécessaire pour construire le paquet, 
c'est-à-dire pour créer le paquet binaire. Les informations contenues dans la 
description de paquet comprennent des métainformations (comme le nom du paquet 
et une description de son objet), l'URL du source code et les instructions 
nécessaires à la configuration, compilation et construction du paquet. La 
description peut être accompagnée d'une rustine.</p>
-<p>Un paquet binaire est une archive qui contient effectivement les fichiers 
qui constituent le paquet, c'est-à-dire les exécutables, les fichiers de 
données, les catalogues de messages, les librairies, les fichiers include, 
etc... Le paquet peut aussi contenir des métainformations pour le paquet 
lui-même. 
+<p>Un paquet binaire est une archive qui contient effectivement les fichiers 
qui constituent le paquet, c'est-à-dire les exécutables, les fichiers de 
données, les catalogues de messages, les bibliothèques, les fichiers include, 
etc... Le paquet peut aussi contenir des métainformations pour le paquet 
lui-même. 
 L'installation d'un paquet binaire consiste simplement à le dépaqueter, 
puisqu'il est déjà dans un format prêt à l'emploi. Comme Fink construit les 
paquets avec le gestionnaire de paquets dpkg, les paquets binaires ont le 
format dpkg et ont une extension .deb.</p>
 </section>
 <section name="ident"><title>Identification d'un paquet</title>
@@ -125,7 +125,7 @@
 </itemd></item>
 <item><itemt>%c</itemt>
 <itemd>
-<p>paramètres pour <em>c</em>onfigure : <code>--prefix=%p</code> plus tout 
autre élément spécifié avec ConfigureParams</p>
+<p>paramètres pour <em>c</em>onfigure : <code>--prefix=%p</code> plus tout 
autre élément spécifié avec ConfigureParams. Dans le cas d'un paquet qui 
comporte le <code>Type: perl</code>, les drapeaux par défaut de construction 
d'un paquet perl sont utilisés à la place de <code>--prefix=%p</code>.</p>
 </itemd></item>
 <item><itemt>%m</itemt>
 <itemd>
@@ -165,7 +165,7 @@
 <ul>
 <li><code>GPL</code> - la licence générale publique GNU. Cette licence 
requiert que le source soit accessible au même endroit que le binaire.</li>
 <li><code>LGPL</code> - la licence publique GNU moins générale. Cette 
licence requiert que le source soit accessible au même endroit que le 
binaire.</li>
-<li><code>GPL/LGPL</code> - c'est un cas spécial pour les paquets dans 
lesquels une partie est sous licence GPL (par exemple les exécutables) et une 
autre partie est sous licence LGPL (par exemple les librairies).</li>
+<li><code>GPL/LGPL</code> - c'est un cas spécial pour les paquets dans 
lesquels une partie est sous licence GPL (par exemple les exécutables) et une 
autre partie est sous licence LGPL (par exemple les bibliothèques).</li>
 <li><code>BSD</code> - pour les licences style BSD. Ceci inclue la licence BSD 
dite "original", la licence BSD "modified" et la licence MIT. La licence Apache 
compte aussi parmi les licences BSD. Avec ces licences, la distribution du code 
source est optionnelle. </li>
 <li><code>Artistic</code> - pour la licence "Artistic" et ses dérivées.</li>
 <li><code>Artistic/GPL</code> - licence duale, combinée Artistic/GPL.</li>
@@ -188,17 +188,17 @@
 <p>Fink est une distribution additionnelle qui est installée dans un 
répertoire distinct du système de base. Il est essentiel qu'un paquet 
n'installe aucun fichier en dehors du répertoire de Fink.</p>
 <p>Il peut y avoir des exceptions quand on ne peut faire autrement, par 
exemple avec XFree86. Dans ce cas, le paquet doit tester l'existence de 
fichiers avant l'installation et refuser de s'installer si cela amène à 
écraser des fichiers déjà existants. Le paquet doit s'assurer que tous les 
fichiers qu'il aura installés en dehors du répertoire de Fink seront 
supprimés lorsque le paquet lui-même sera éliminé, ou que ces fichiers ne 
causeront aucun problème s'ils sont laissés sur place (c'est-à-dire qu'ils 
devront tester l'existence des binaires avant de les appeler, etc...).</p>
 </section>
-<section name="sharedlibs"><title>Librairies partagées</title>
-<p>Fink a de nouvelles règles en ce qui concerne les librairies partagées, 
règles qui prennent effet à compter de février 2002. Cette partie de la 
documentation donne des explications sur la version 4 de ces règles, qui 
coïncide avec la publication de la distribution 0.5.0 de Fink. Nous 
commencerons par un bref résumé, puis nous passerons à une revue de 
détails.</p>
-<p>Tout paquet qui construit des librairies partagées et qui, soit (1) est 
placé dans la branche stable, soit (2) est un nouveau paquet de Fink, doit 
gérer ses librairies partagées conformément aux règles de Fink. Ceci 
signifie :</p>
+<section name="sharedlibs"><title>Bibliothèques partagées</title>
+<p>Fink a de nouvelles règles en ce qui concerne les bibliothèques 
partagées, règles qui prennent effet à compter de février 2002. Cette 
partie de la documentation donne des explications sur la version 4 de ces 
règles, qui coïncide avec la publication de la distribution 0.5.0 de Fink. 
Nous commencerons par un bref résumé, puis nous passerons à une revue de 
détails.</p>
+<p>Tout paquet qui construit des bibliothèques partagées et qui, soit (1) 
est placé dans la branche stable, soit (2) est un nouveau paquet de Fink, doit 
gérer ses bibliothèques partagées conformément aux règles de Fink. Ceci 
signifie :</p>
 <ul>
-<li>vérifier, à l'aide de <code>otool -L</code>, que le nom d'installation 
de chaque librairie, ses numéros de versions de compatibilité et actuels sont 
corrects</li>
-<li>mettre les librairies partagées dans un paquet séparé (exception faite 
pour les liens de libfoo.dylib vers nom d'installation), et inclure le champ 
<code>Shlibs</code> dans ce paquet</li>
+<li>vérifier, à l'aide de <code>otool -L</code>, que le nom d'installation 
de chaque bibliothèque, ses numéros de versions de compatibilité et actuels 
sont corrects</li>
+<li>mettre les bibliothèques partagées dans un paquet séparé (exception 
faite pour les liens de libfoo.dylib vers nom d'installation), et inclure le 
champ <code>Shlibs</code> dans ce paquet</li>
 <li>mettre les headers et les liens finaux venant de libfoo.dylib dans un 
paquet caractérisé par <code>BuildDependsOnly: True</code>, et prévoir 
qu'aucun autre paquet ne dépendra de lui.</li>
 </ul>
 <p>Un mainteneur, qui a de bonnes raisons de s'écarter de ces règles et ne 
scinde pas le paquet, devra expliquer pourquoi dans le champ DescPackaging.</p>
 <p>Pour certains paquets, tout peut être fait avec un paquet principal et un 
paquet -shlibs ; dans d'autres cas, vous aurez besoin d'un troisième paquet. 
Le nouveau champ <code>SplitOff</code> facilite ce processus.</p>
-<p>Quand trois paquets sont nécessaires, il y a deux façons différentes de 
les nommer, suivant que les librairies (option 1) ou les binaires (option 2) 
sont les fonctionnalités les plus importantes du paquet. 
+<p>Quand trois paquets sont nécessaires, il y a deux façons différentes de 
les nommer, suivant que les bibliothèques (option 1) ou les binaires (option 
2) sont les fonctionnalités les plus importantes du paquet. 
 Pour l'option 1, utilisez le schéma suivant :</p>
 <itemtable labeld="Contenu" labelt="Paquet">
 <item><itemt><code>foo-shlibs</code></itemt>
@@ -232,9 +232,9 @@
 <p>Avec l'option 2, il est plus difficile de mettre à jour un paquet existant 
: quand vous réalisez la mise à jour, vous devez ajouter <code>BuildDepends: 
foo-dev</code> à chaque paquet qui a un champ <code>Depends: foo</code>. Autre 
problème de mise à jour à garder à l'esprit : un paquet qui dépend 
indirectement du vôtre (par l'intermédiaire d'un paquet tiers) peut 
nécessiter qu'on lui ajoute <code>BuildDepends: foo</code> ou 
<code>BuildDepends: foo-dev</code> pour assurer une mise à jour correcte. 
C'est à vous de veiller à ce que que le champ <code>BuildDepends</code> soit 
renseigné si nécessaire.</p>
 <p><em>Règles détaillées</em></p>
 <p>Nous allons désormais discuter de tout cela en détails, premièrement 
nous aborderons les règles applicables aux logiciels nouvellement portés, 
puis nous nous tournerons vers la question de la mise à jour de paquets 
existant dans fink. Comme exemples des règles en action, voir les paquets 
libpng, libjpeg et libtiff.</p>
-<p>Les logiciels portés sur Darwin doivent, autant que possible, construire 
des librairies partagées. (Les mainteneurs de paquets sont libres de 
construire des librairies statiques, si cela s'avère plus approprié pour 
leurs paquets ; ils peuvent aussi soumettre des paquets contenant uniquement 
des librairies statiques, s'ils le souhaitent). Quand on construit des 
librairies partagées, <em>deux</em> paquets - nommés foo et foo-shlibs -, 
étroitement liés, doivent être construits. Les librairies partagées vont 
dans foo-shlibs, et les headers dans foo. Ces deux paquets peuvent être 
réalisés avec un seul fichier .info, en utilisant le champ 
<code>SplitOff</code>, comme indiqué ci-dessous. (En fait, il est souvent 
nécessaire de construire plus de deux paquets à partir du source, et cela 
peut être fait en utilisant <code>SplitOff2</code>, <code>SplitOff3</code>, 
etc...)</p>
-<p>Chaque paquet logiciel pour lequel des librairies partagées peuvent être 
construites doit avoir un <em>numéro de version majeure</em> N. Le numéro de 
version majeure n'est censé changer que lorsqu'un changement irréversible se 
produit dans l'API de la librairie. Fink utilise la convention de nommage 
suivante : si le nom en amont du paquet est bar, alors les paquets fink sont 
appelés barN et barN-shlibs. (Ceci n'est appliqué rigoureusement qu'à de 
nouveaux paquets ou lorsque le numéro de version majeure change). Par exemple, 
le numéro de version majeure pour le paquet pré-existant libpng était 2, 
mais les versions récentes de la librairie ont pour numéro de version majeure 
3. Il y a donc, maintenant, 4 paquets fink pour gérer ceci : libpng, 
libpng-shlibs, libpng3, libpng3-shlibs. Seul libpng ou libpng3 peut être 
installé à un moment donné, mais libpng-shlibs et libpng3-shlibs peuvent 
être installés en même temps. (Notez que deux fichiers .info suffis
 ent à construire ces quatre paquets).</p>
-<p>La librairie partagée elle-même et certains fichiers liés seront placés 
dans le paquet barN-shlibs ; les fichiers "include" et un certain nombre 
d'autres fichiers seront placés dans le paquet barN. Il ne peut y avoir de 
recouvrement de fichiers entre ces deux paquets, et tout ce qui est placé dans 
barN-shlibs doit avoir un nom chemin qui, d'une façon ou d'une autre, 
contienne le numéro de version majeure N. Dans de nombreux cas, votre paquet 
aura besoin de certains fichiers à l'exécution, fichiers qui sont 
généralement installés dans <filename>%i/lib/bar/</filename> ou 
<filename>%i/share/bar/</filename> ; vous devrez adapter les chemins 
d'installation à <filename>%i/lib/bar/N/</filename> ou 
<filename>%i/share/bar/N/</filename>.</p>
+<p>Les logiciels portés sur Darwin doivent, autant que possible, construire 
des bibliothèques partagées. (Les mainteneurs de paquets sont libres de 
construire des bibliothèques statiques, si cela s'avère plus approprié pour 
leurs paquets ; ils peuvent aussi soumettre des paquets contenant uniquement 
des bibliothèques statiques, s'ils le souhaitent). Quand on construit des 
bibliothèques partagées, <em>deux</em> paquets - nommés foo et foo-shlibs -, 
étroitement liés, doivent être construits. Les bibliothèques partagées 
vont dans foo-shlibs, et les headers dans foo. Ces deux paquets peuvent être 
réalisés avec un seul fichier .info, en utilisant le champ 
<code>SplitOff</code>, comme indiqué ci-dessous. (En fait, il est souvent 
nécessaire de construire plus de deux paquets à partir du source, et cela 
peut être fait en utilisant <code>SplitOff2</code>, <code>SplitOff3</code>, 
etc...)</p>
+<p>Chaque paquet logiciel pour lequel des bibliothèques partagées peuvent 
être construites doit avoir un <em>numéro de version majeure</em> N. Le 
numéro de version majeure n'est censé changer que lorsqu'un changement 
irréversible se produit dans l'API de la bibliothèque. Fink utilise la 
convention de nommage suivante : si le nom en amont du paquet est bar, alors 
les paquets fink sont appelés barN et barN-shlibs. (Ceci n'est appliqué 
rigoureusement qu'à de nouveaux paquets ou lorsque le numéro de version 
majeure change). Par exemple, le numéro de version majeure pour le paquet 
pré-existant libpng était 2, mais les versions récentes de la bibliothèque 
ont pour numéro de version majeure 3. Il y a donc, maintenant, 4 paquets fink 
pour gérer ceci : libpng, libpng-shlibs, libpng3, libpng3-shlibs. Seul libpng 
ou libpng3 peut être installé à un moment donné, mais libpng-shlibs et 
libpng3-shlibs peuvent être installés en même temps. (Notez que deux 
fichiers 
 .info suffisent à construire ces quatre paquets).</p>
+<p>La bibliothèque partagée elle-même et certains fichiers liés seront 
placés dans le paquet barN-shlibs ; les fichiers "include" et un certain 
nombre d'autres fichiers seront placés dans le paquet barN. Il ne peut y avoir 
de recouvrement de fichiers entre ces deux paquets, et tout ce qui est placé 
dans barN-shlibs doit avoir un nom chemin qui, d'une façon ou d'une autre, 
contienne le numéro de version majeure N. Dans de nombreux cas, votre paquet 
aura besoin de certains fichiers à l'exécution, fichiers qui sont 
généralement installés dans <filename>%i/lib/bar/</filename> ou 
<filename>%i/share/bar/</filename> ; vous devrez adapter les chemins 
d'installation à <filename>%i/lib/bar/N/</filename> ou 
<filename>%i/share/bar/N/</filename>.</p>
 <p>Tous les autres paquets dépendant de bar, version majeure N, devront 
utiliser les dépendances :</p>
 <codeblock>
   Depends: barN-shlibs
@@ -245,8 +245,8 @@
   BuildDependsOnly: True
 </codeblock>
 <p>dans la description du paquet barN.</p>
-<p>Si votre paquet inclut à la fois des librairies partagées et des 
binaires, et si les binaires doivent être présents à l'exécution (et pas 
seulement à la compilation), alors les binaires doivent être regroupés dans 
un troisième paquet, qui peut être appelé barN-bin. Les autres paquets 
peuvent dépendre de barN-bin comme de barN-shlibs.</p>
-<p>Lors de la construction de librairies partagées de version majeure N, il 
est important que le "nom d'installation" soit 
<filename>%p/lib/bar.N.dylib</filename>. (Vous pouvez trouver le nom 
d'installation en exécutant <code>otool -L</code> sur votre librairie). Le 
fichier librairie réel doit être installé sous le nom de :</p>
+<p>Si votre paquet inclut à la fois des bibliothèques partagées et des 
binaires, et si les binaires doivent être présents à l'exécution (et pas 
seulement à la compilation), alors les binaires doivent être regroupés dans 
un troisième paquet, qui peut être appelé barN-bin. Les autres paquets 
peuvent dépendre de barN-bin comme de barN-shlibs.</p>
+<p>Lors de la construction de bibliothèques partagées de version majeure N, 
il est important que le "nom d'installation" soit 
<filename>%p/lib/bar.N.dylib</filename>. (Vous pouvez trouver le nom 
d'installation en exécutant <code>otool -L</code> sur votre bibliothèque). Le 
fichier bibliothèque réel doit être installé sous le nom de :</p>
 <codeblock>
   %i/lib/bar.N.x.y.dylib
 </codeblock>
@@ -255,11 +255,11 @@
   %i/lib/bar.N.dylib -> %p/lib/bar.N.x.y.dylib
   %i/lib/bar.dylib -> %p/lib/bar.N.x.y.dylib
 </codeblock>
-<p>Si la librairie statique est aussi construite, elle doit être installée 
sous le nom de :</p>
+<p>Si la bibliothèque statique est aussi construite, elle doit être 
installée sous le nom de :</p>
 <codeblock>
   %i/lib/bar.a
 </codeblock>
-<p>Si le paquet utilise libtool, ceci est généralement géré 
automatiquement, mais, dans tous les cas, vous devez vérifier que tout s'est 
passé correctement. Vous devez aussi vérifier que la version courante et la 
version de compatibilité sont définies de façon appropriée à vos 
librairies partagées. (On peut trouver les numéros de version avec la 
commande <code>otool -L</code>).</p>
+<p>Si le paquet utilise libtool, ceci est généralement géré 
automatiquement, mais, dans tous les cas, vous devez vérifier que tout s'est 
passé correctement. Vous devez aussi vérifier que la version courante et la 
version de compatibilité sont définies de façon appropriée à vos 
bibliothèques partagées. (On peut trouver les numéros de version avec la 
commande <code>otool -L</code>).</p>
 <p>Les fichiers sont scindés entre les deux paquets comme suit :</p>
 <ul>
 <li>  dans le paquet barN-shlibs :
@@ -300,7 +300,7 @@
 <p>Durant l'exécution du champ <code>SplitOff</code>, les fichiers et les 
répertoires spécifiés sont déplacés du répertoire d'installation %I du 
paquet principal vers le répertoire d'installation %i du paquet splitoff. (Il 
y a une convention similaire pour les noms : %N est le nom du paquet principal, 
et %n est le nom du paquet actif). La commande <code>DocFiles</code> place 
ensuite une copie de la documentation dans 
<filename>%i/share/doc/barN-shlibs</filename>.</p>
 <p>Notez que nous avons inclus la version courante exacte de barN-shlibs comme 
dépendance du paquet principal barN (qui peut être abrégé en %N-shlibs (= 
%v-%r) ). Ceci assure que les versions correspondent, et garantit aussi que 
barN "hérite" automatiquement de toutes les dépendances de barN-shlibs.</p>
 <p><em>Le champ BuildDependsOnly</em></p>
-<p>Lors de mises à jour de librairies, il est souvent nécessaire d'avoir 
deux versions des headers pendant une période de transition. L'une d'entre 
elles est utilisée pour compiler certaines choses, l'autre pour en compiler 
d'autres. C'est pourquoi, les paquets contenant des headers doivent être 
construits avec soin. Si foo-dev et bar-dev contiennent tous les deux des 
headers qui se recouvrent, alors foo-dev doit déclarer :</p>
+<p>Lors de mises à jour de bibliothèques, il est souvent nécessaire d'avoir 
deux versions des headers pendant une période de transition. L'une d'entre 
elles est utilisée pour compiler certaines choses, l'autre pour en compiler 
d'autres. C'est pourquoi, les paquets contenant des headers doivent être 
construits avec soin. Si foo-dev et bar-dev contiennent tous les deux des 
headers qui se recouvrent, alors foo-dev doit déclarer :</p>
 <codeblock>
   Conflicts: bar-dev
   Replaces: bar-dev
@@ -317,18 +317,18 @@
 </codeblock>
 <p>et la raison pour laquelle cela est fait doit être mentionnée dans le 
champ DescPackaging.</p>
 <p>Le champ BuildDependsOnly ne doit être mentionné dans le fichier .info du 
paquet que si ce paquet contient des headers installés dans /sw/include.</p>
-<p>À partir de la version 0.20.5 de fink, "fink validate" affichage un 
message pour tout .deb qui contient des headers et au moins une dylib, et qui 
ne donne pas la valeur "true" ou "false" au champ BuildDependsOnly. (Il est 
possible que, dans les versions postérieures de fink, ce message soit étendu 
aux cas des .deb contenant des headers et une librairie statique). </p>
+<p>À partir de la version 0.20.5 de fink, "fink validate" affichage un 
message pour tout .deb qui contient des headers et au moins une dylib, et qui 
ne donne pas la valeur "true" ou "false" au champ BuildDependsOnly. (Il est 
possible que, dans les versions postérieures de fink, ce message soit étendu 
aux cas des .deb contenant des headers et une bibliothèque statique). </p>
 <p><em>Le champ Shlibs :</em></p>
-<p>En sus de placer les librairies partagées dans le bon paquet, suivant en 
cela la version 4 de cette règle, vous devez également déclarer toutes les 
librairies partagées en utilisant le champ <code>Shlibs</code>. Ce champ 
contient une ligne distincte pour chaque librairie partagée ; la ligne 
comprend le <code>nom d'installation</code> de la librairie, la <code>version 
de compatibilité</code>, et des informations de dépendance qui indiquent le 
paquet de Fink qui fournit cette librairie à cette version de compatibilité. 
La dépendance doit être déclarée sous la forme <code> foo (>= 
version-révision)</code> où <code>version-révision</code> correspond à la 
<em>première</em> version du paquet de Fink qui fournit cette librairie (avec 
cette version de compatibilité). Par exemple, une déclaration :</p>
+<p>En sus de placer les bibliothèques partagées dans le bon paquet, suivant 
en cela la version 4 de cette règle, vous devez également déclarer toutes 
les bibliothèques partagées en utilisant le champ <code>Shlibs</code>. Ce 
champ contient une ligne distincte pour chaque bibliothèque partagée ; la 
ligne comprend le <code>nom d'installation</code> de la bibliothèque, la 
<code>version de compatibilité</code>, et des informations de dépendance qui 
indiquent le paquet de Fink qui fournit cette bibliothèque à cette version de 
compatibilité. La dépendance doit être déclarée sous la forme <code> foo 
(>= version-révision)</code> où <code>version-révision</code> correspond à 
la <em>première</em> version du paquet de Fink qui fournit cette bibliothèque 
(avec cette version de compatibilité). Par exemple, une déclaration :</p>
 <codeblock>
   Shlibs: &lt;&lt;
     %p/lib/bar.1.dylib 2.1.0 bar1 (>= 1.1-2)
   &lt;&lt;
 </codeblock>
-<p>indique qu'une librairie, dont le <code>nom d'installation</code> est 
%p/lib/bar.1.dylib et <code>la version de compatibilité </code> est 2.1.0, a 
été installée à partir de la version 1.1-2 du paquet <em>bar1</em>. De 
plus, cette déclaration équivaut à la promesse du mainteneur qu'une 
librairie avec ce nom et une version de compatibilité au moins égale à 2.10 
sera toujours présente dans les versions ultérieures du paquet 
<em>bar1</em>.</p>
-<p>Notez l'utilisation de %p dans le nom de la librairie, ce qui permet à 
tous les utilisateurs de Fink de trouver le bon <code>nom 
d'installation</code>, quel que soit le préfixe qu'ils ont choisi.</p>
+<p>indique qu'une bibliothèque, dont le <code>nom d'installation</code> est 
%p/lib/bar.1.dylib et <code>la version de compatibilité </code> est 2.1.0, a 
été installée à partir de la version 1.1-2 du paquet <em>bar1</em>. De 
plus, cette déclaration équivaut à la promesse du mainteneur qu'une 
bibliothèque avec ce nom et une version de compatibilité au moins égale à 
2.10 sera toujours présente dans les versions ultérieures du paquet 
<em>bar1</em>.</p>
+<p>Notez l'utilisation de %p dans le nom de la bibliothèque, ce qui permet à 
tous les utilisateurs de Fink de trouver le bon <code>nom 
d'installation</code>, quel que soit le préfixe qu'ils ont choisi.</p>
 <p>Quand un paquet est mis à jour, on copie tout simplement le champ 
<code>Shlibs</code> dans la nouvelle version/révision du paquet. L'exception 
à cette règle survient quand la <code>version de compatibilité</code> est 
incrémentée : dans ce cas, le numéro de version
-dans les informations de dépendance doit être changé pour la 
version/révision courante (celle qui est la première à fournir la librairie 
avec le nouveau numéro de version de compatibilité).</p>
+dans les informations de dépendance doit être changé pour la 
version/révision courante (celle qui est la première à fournir la 
bibliothèque avec le nouveau numéro de version de compatibilité).</p>
 <p><em>Mesures à prendre quand le numéro de version majeure change :</em></p>
 <p>Si le numéro de version majeure change de N à M, vous devez créer deux 
nouveaux paquets barM et barM-shlibs. Le paquet barM-shlibs ne peut recouvrir 
le paquet barN-shlibs, puisque de nombreux utilisateurs installeront les deux 
simultanément. Dans le paquet barM, vous devez utiliser les dépendances :</p>
 <codeblock>
@@ -340,17 +340,17 @@
   Conflicts: barM
   Replaces: barM
 </codeblock>
-<p>Les utilisateurs verront alors barN et barM apparaître et disparaître au 
gré de la construction de divers paquets dépendant de l'une ou l'autre 
version de la librairie partagée, tandis que barN-shlibs et barM-shlibs 
resteront installés de façon permanente.</p>
+<p>Les utilisateurs verront alors barN et barM apparaître et disparaître au 
gré de la construction de divers paquets dépendant de l'une ou l'autre 
version de la bibliothèque partagée, tandis que barN-shlibs et barM-shlibs 
resteront installés de façon permanente.</p>
 <p><em>Mise à jour d'un paquet de fink existant :</em></p>
-<p>Le meilleur moyen de mettre à jour un paquet fink existant qui installe 
des librairies, qu'elles soient statiques ou partagées, est de créer une 
nouvelle version foo du paquet, accompagné d'un nouveau paquet foo-shlibs, qui 
satisfait aux règles ci-dessus. Si des librairies partagées (ou d'autres 
fichiers présents maintenant dans foo-shlibs) étaient installées auparavant, 
ces nouveaux paquets doivent stipuler :</p>
+<p>Le meilleur moyen de mettre à jour un paquet fink existant qui installe 
des bibliothèques, qu'elles soient statiques ou partagées, est de créer une 
nouvelle version foo du paquet, accompagné d'un nouveau paquet foo-shlibs, qui 
satisfait aux règles ci-dessus. Si des bibliothèques partagées (ou d'autres 
fichiers présents maintenant dans foo-shlibs) étaient installées auparavant, 
ces nouveaux paquets doivent stipuler :</p>
 <codeblock>
   Replaces: foo (&lt;&lt; version.decompatibilité.laplusancienne)
 </codeblock>
 <p>de façon que la mise à jour soit transparente pour les utilisateurs. 
(Vous <em>ne</em> devez <em>pas</em> utiliser "Conflicts: foo", car cela 
empêche la mise à jour).</p>
-<p>Après mise à jour, les paquets qui stipulent "Depends: foo" continueront 
à fonctionner normalement. Toutefois, vous devez contacter les mainteneurs de 
tous ces paquets fink et les presser de modifier leurs paquets pour qu'ils 
stipulent, dès que possible, "Depends: foo-shlibs, BuildDepends: foo". Vous ne 
pourrez pas créer de nouveaux paquets fooM, fooM-shlibs qui implémentent une 
version majeure de la librairie partagée tant qu'ils ne l'auront pas fait.</p>
+<p>Après mise à jour, les paquets qui stipulent "Depends: foo" continueront 
à fonctionner normalement. Toutefois, vous devez contacter les mainteneurs de 
tous ces paquets fink et les presser de modifier leurs paquets pour qu'ils 
stipulent, dès que possible, "Depends: foo-shlibs, BuildDepends: foo". Vous ne 
pourrez pas créer de nouveaux paquets fooM, fooM-shlibs qui implémentent une 
version majeure de la bibliothèque partagée tant qu'ils ne l'auront pas 
fait.</p>
 <p>Les paquets fink existants qui n'ont pas utilisé le bon nom d'installation 
ou qui n'ont pas utilisé un nom correct ou des liens symboliques pour les 
libraires partagées doivent être mis à jour soigneusement, au cas par cas. 
Si vous êtes embarrassé pour choisir une stratégie de mise à jour rendant 
vos paquets compatibles avec les nouvelles règles, parlez-en sur la liste de 
diffusion fink-devel.</p>
-<p><em>Paquets contenant des fichiers binaires et des librairies :</em></p>
-<p>Quand un paquet en amont contient tout à la fois des fichiers binaires et 
des librairies, la construction des paquets fink doit être menée avec soin. 
Dans certains cas, les seuls fichiers binaires seront des fichiers du genre 
<code>foo-config</code>, qui sont censés n'être utilisés qu'à la 
compilation, et jamais à l'exécution. Dans ces cas, les binaires peuvent 
aller avec les headers dans le paquet <code>foo</code>.</p>
+<p><em>Paquets contenant des fichiers binaires et des bibliothèques :</em></p>
+<p>Quand un paquet en amont contient tout à la fois des fichiers binaires et 
des bibliothèques, la construction des paquets fink doit être menée avec 
soin. Dans certains cas, les seuls fichiers binaires seront des fichiers du 
genre <code>foo-config</code>, qui sont censés n'être utilisés qu'à la 
compilation, et jamais à l'exécution. Dans ces cas, les binaires peuvent 
aller avec les headers dans le paquet <code>foo</code>.</p>
 <p>Dans d'autres cas, les fichiers binaires seront nécessaires à d'autres 
paquets pendant l'exécution, et devront être regroupés dans un paquet fink 
séparé avec un nom du type <code>foo-bin</code>. Le paquet 
<code>foo-bin</code> doit dépendre du paquet <code>foo-shlibs</code>, et les 
mainteneurs d'autres paquets doivent être encouragés à utiliser :</p>
 <codeblock>
   Depends: foo-bin
@@ -450,9 +450,14 @@
 </itemd></item>
 <item><itemt><filename>/sw/lib</filename></itemt>
 <itemd>
-<p>Ce répertoire est destiné aux fichiers de données et librairies 
dépendants de l'architecture du système. Les librairies statiques et 
partagées doivent être placées dans <filename>/sw/lib</filename>, sauf s'il 
existe une bonne raison pour ne pas le faire. C'est également là que sont 
placés les exécutables qui ne doivent pas être directement lancés par 
l'utilisateur (dans le cas contraire, ils sont placés dans libexec).</p>
+<p>Ce répertoire est destiné aux fichiers de données et bibliothèques 
dépendants de l'architecture du système. Les bibliothèques statiques et 
partagées doivent être placées dans <filename>/sw/lib</filename>, sauf s'il 
existe une bonne raison pour ne pas le faire. C'est également là que sont 
placés les exécutables qui ne doivent pas être directement lancés par 
l'utilisateur (dans le cas contraire, ils sont placés dans libexec).</p>
 <p>On peut créer un sous-répertoire spécifique à un paquet, afin d'y 
mettre des données privées ou des modules chargeables. Pensez à utiliser des 
noms de répertoire qui garantissent la compatibilité entre versions. Il est 
bon d'utiliser le numéro de version majeur du paquet dans le nom du 
sous-répertoire ou à un niveau inférieur de la hiérarchie ; par exemple, 
<filename>/sw/lib/perl5</filename> ou <filename>/sw/lib/apache/1.3</filename>. 
Faites attention si vous utilisez le type d'hôte dans le nom des répertoires 
créés. Un sous-répertoire nommé <code>powerpc-apple-darwin1.3.3</code> ne 
garantit pas la compatibilité entre versions ; utilisez plutôt 
<code>powerpc-apple-darwin1.3</code> ou <code>powerpc-apple-darwin</code>.</p>
 </itemd></item>
+<item><itemt><filename>/sw/lib/ppc64</filename>
+<filename>/sw/lib/x86_64</filename></itemt>
+<itemd>
+<p>Ce répertoire est dédié aux bibliothèques 64-bit. Le répertoire 
<filename>/sw/lib/ppc64</filename> est utilisé sous architecture powerpc et le 
répertoire <filename>/sw/lib/x86_64</filename> sous architecture i386. Les 
bibliothèques combinées (fat) doivent être enregistrées dans le répertoire 
<filename>/sw/lib</filename>.</p>
+</itemd></item>
 <item><itemt><filename>/sw/share</filename></itemt>
 <itemd>
 <p>Ce répertoire sert aux fichiers de données indépendants de 
l'architecture. Les mêmes règles que celles en vigueur pour 
<filename>/sw/lib</filename> s'appliquent ici. Quelques sous-répertoires 
courants sont décrits ci-dessous.</p>
@@ -505,7 +510,7 @@
 <p>À partir de la distribution 10.4-transitional, une nouvelle méthode a 
été introduite pour assurer la sélection du bon compilateur g++. Durant la 
compilation, un répertoire 
<filename>/sw/var/lib/fink/path-prefix-g++-XXX</filename> (où XXX est le 
numéro de version) est ajouté au PATH. Ce répertoire contient des scripts 
shell qui se charge de sélectionner la bonne version de g++.</p>
 </section>
 <section name="abi"><title>L'ABI g++</title>
-<p>L'ABI g++ a changé trois fois depuis la naissance de Mac OS X : elle est 
différente pour les versions 2.95, 3.1, 3.3 et 4.0. Ces différentes ABI ne 
sont pas compatibles entre elles, et toute librairie utilisant du code C++ et 
liée à un projet doit être compilée avec la même ABI que celle en cours 
d'utilisation.</p>
+<p>L'ABI g++ a changé trois fois depuis la naissance de Mac OS X : elle est 
différente pour les versions 2.95, 3.1, 3.3 et 4.0. Ces différentes ABI ne 
sont pas compatibles entre elles, et toute bibliothèque utilisant du code C++ 
et liée à un projet doit être compilée avec la même ABI que celle en cours 
d'utilisation.</p>
 <p>Fink garde trace de l'ABI g++ à l'aide du champ GCC. Ce champ doit être 
défini par tout paquet qui invoque les compilateurs g++ ou c++. Il NE doit PAS 
être défini pour les paquets qui n'invoquent pas ces compilateurs. Quand un 
changement d'ABI intervient, il faut vérifier le champ GCC de toutes les 
dépendances d'un paquet. Quand toutes les dépendances ont été mises à 
jour, le paquet lui-même peut être mis à jour. Les versions des dépendances 
doivent être modifiées pour assurer que les utilisateurs aient bien toutes 
les dépendances correctes mises à jour avant de tenter de compiler la 
nouvelle version d'un paquet.</p>
 <p>Si un petit nombre de paquets dépendent uniquement les uns des autres, on 
peut laisser la version de l'ABI précédente en place, s'ils ne sont pas 
prêts pour la mise à jour. Quand la mise à jour aura lieu, ils seront tous 
mis à jour en même temps avec une version correcte sur tous les paquets. 
C'est pourquoi il est préférable de ne mettre à jour les paquets qu'au 
moment de la distribution.</p>
 <p>Fink utilise le champ GCC pour s'assurer que les utilisateurs ont bien la 
bonne version du compilateur g++ installée sur leur système. Si le champ GCC 
est défini par le paquet, fink vérifie que la commande 
<code>gcc_select</code> a reçu la valeur en cours. Cette valeur est 3.3 pour 
les versions 10.2 et 10.3 de Mac OS X, et 4.0 pour la version 10.4 de Mac OS X. 
La commande <code>gcc_select</code> n'était pas disponible antérieurement à 
la version 10.2 de Mac OS X.</p>
@@ -650,13 +655,13 @@
 Depends: (%type_pkg[-x11]) x11
 </codeblock>
 <p>indiquera une dépendance du paquet x11 pour la variante nethack-x11, mais 
pas pour la variante nethack.</p>
-<p>Notez que quand on utilise les champs Depends/BuildDepends pour les paquets 
de librairies partagées, alors qu'il existe plus d'une version majeure 
disponible, il <em>ne faut pas</em> utiliser la syntaxe suivante :</p>
+<p>Notez que quand on utilise les champs Depends/BuildDepends pour les paquets 
de bibliothèques partagées, alors qu'il existe plus d'une version majeure 
disponible, il <em>ne faut pas</em> utiliser la syntaxe suivante :</p>
 <codeblock>
 Package: foo
 Depends: id3lib3.7-shlibs | id3lib3.7-shlibs
 BuildDepends: id3lib3.7-dev | id3lib4-dev
 </codeblock>
-<p>même si le paquet peut fonctionner avec l'une ou l'autre librairie. Il 
faut en choisir une (de préférence, la version la plus élevée possible) et 
s'y tenir dans l'ensemble du paquet.</p>
+<p>même si le paquet peut fonctionner avec l'une ou l'autre bibliothèque. Il 
faut en choisir une (de préférence, la version la plus élevée possible) et 
s'y tenir dans l'ensemble du paquet.</p>
 <p>Comme cela a été expliqué dans la section <xref chapter="policy" 
section="sharedlibs">Librairies partagées</xref>, un seul des paquets -dev 
peut être installé à un instant donné, et chacun possède des liens de 
même nom qui peuvent se référer à des noms de fichiers différents dans le 
paquet associé -shlibs. Lors de la compilation du paquet foo, le nom réel du 
fichier (dans le paquet -shlibs) est codé en dur dans le binaire foo. Cela 
signifie que le paquet résultant nécessite le paquet -shlibs associé au -dev 
qui était installé au moment de la compilation. En conséquence, on ne peut 
indiquer dans le champ <code>Depends</code> que l'un quelconque des paquets est 
requis.</p>
 <p>Auparavant, les paquets non essentiels dépendaient implicitement des 
paquets essentiels ; ce n'est plus vrai.</p>
 </itemd></item>
@@ -676,7 +681,7 @@
 </itemd></item>
 <item><itemt>BuildConflicts</itemt>
 <itemd>
-<p>Liste de paquets qui ne doivent pas être installés lorsque le paquet est 
compilé. Ce champ peut être utilisé pour empêcher <code>./configure</code> 
ou le compilateur de détecter des headers de librairies ou pour éviter 
d'utiliser une certaine version d'un outil connue pour être boguée (par 
exemple, un bogue dans une certaine version de sed). Si les séries de tests 
sont activées, les paquets énumérés dans le champt 
<code>TestConflicts</code> sont ajoutés à cette liste.</p>
+<p>Liste de paquets qui ne doivent pas être installés lorsque le paquet est 
compilé. Ce champ peut être utilisé pour empêcher <code>./configure</code> 
ou le compilateur de détecter des headers debibliothèques ou pour éviter 
d'utiliser une certaine version d'un outil connue pour être boguée (par 
exemple, un bogue dans une certaine version de sed). Si les séries de tests 
sont activées, les paquets énumérés dans le champt 
<code>TestConflicts</code> sont ajoutés à cette liste.</p>
 </itemd></item>
 <item><itemt>Replaces</itemt>
 <itemd>
@@ -830,7 +835,8 @@
 </itemd></item>
 <item><itemt>ConfigureParams</itemt>
 <itemd>
-<p>Paramètres supplémentaires à passer au script configure. (Voir 
CompileScript pour de plus amples informations). Si les séries de tests sont 
activées, la valeur du champ <code>TestConfigureParams</code> est ajoutée à 
ces paramètres. À partir des versions de fink > 0.13.7, ce champ fonctionne 
aussi avec les modules perl <code>Type: Perl</code> ; il ajoute les paramètres 
à la chaîne perl par défaut Makefile.PL.</p>
+<p>Paramètres supplémentaires à passer au script configure. (Voir 
CompileScript pour de plus amples informations). Pour les paquets qui ne sont 
pas de <code>Type: Perl</code>, le paramètre <code>--prefix=%p</code> est  
ajouté avant la valeur de ce champ. À partir des versions de fink > 0.13.7, 
ce champ fonctionne aussi avec les modules perl <code>Type: Perl</code> ; il 
ajoute les paramètres à la chaîne perl par défaut Makefile.PL.</p>
+<p>Si les séries de tests sont activées, la valeur du champ 
<code>TestConfigureParams</code> est ajoutée à ces paramètres.</p>
 <p>À partir de la version 0.22.0 de fink, ce champ gère les expressions 
conditionnelles. La syntaxe est la même que celle utilisée dans le champ 
<code>Depends</code> et les autres champs basés sur des listes de paquets. 
L'expression conditionnelle s'applique au &quot;mot&quot; délimité par des 
espaces suivant immédiatement l'expression. Par exemple :</p>
 <codeblock>
 Type: -x11 (boolean)
@@ -841,12 +847,12 @@
 </itemd></item>
 <item><itemt>GCC</itemt>
 <itemd>
-<p>Ce champ spécifie l'ABI-GCC utilisé par le code C++ du paquet (cela est 
indispensable, car l'ABI a changé deux fois au cours du temps; toute librairie 
liée à du code C++ doit être compilée avec l'ABI résidant sur le système 
au moment de son utilisation).</p>
+<p>Ce champ spécifie l'ABI-GCC utilisé par le code C++ du paquet (cela est 
indispensable, car l'ABI a changé deux fois au cours du temps; toute 
bibliothèque liée à du code C++ doit être compilée avec l'ABI résidant 
sur le système au moment de son utilisation).</p>
 <p>Les valeurs autorisées sont les suivantes : <code>2.95.2</code> (ou 
<code>2.95</code>), <code>3.1</code>, <code>3.3</code> et <code>4.0</code>. 
Nous avons cru comprendre que les auteurs de GCC comptent stabiliser l'ABI-GCC 
à un moment donné ; nous espérons qu'elle ne changera pas de nouveau.</p>
 <p>Le champ GCC n'a pas de valeur par défaut ; il est ignoré s'il n'est pas 
défini. Néanmoins il existe dans chaque arborescence une valeur attendue qui 
correspond au compilateur g++ par défaut pour cette arborescence. Ces valeurs 
sont les suivantes : <code>2.95</code> pour l'arborescence 10.1, 
<code>3.1</code> pour l'arborescence 10.2, <code>3.3</code> pour les 
arborescences 10.2-gcc3.3, 10.3 et 10.4-transitional, et <code>4.0</code> pour 
l'arborescence 10.4 à venir.</p>
 <p>Notez que lorsque la valeur GCC est différente de la valeur par défaut, 
le compilateur doit être indiqué dans le paquet (en général, en utilisant 
les drapeaux CC ou CXX), et qu'une dépendance sur un des paquets (virtuels) 
gcc doit être spécifiée.</p>
 <p>À partir de la version 0.13.8 de fink, quand ce champ est utilisé, la 
version de gcc est testée via <code>gcc_select</code>, et fink se termine avec 
un message d'erreur si la version requise n'est pas présente.</p>
-<p>Ce champ a été ajouté pour faciliter la transition entre les 
compilateurs gcc, qui ont introduit une incompatibilité binaire entre 
librairies ; cette incompatibilité concerne des parties de code C++ non 
reproduites dans les différentes versions.</p>
+<p>Ce champ a été ajouté pour faciliter la transition entre les 
compilateurs gcc, qui ont introduit une incompatibilité binaire entre 
bibliothèques ; cette incompatibilité concerne des parties de code C++ non 
reproduites dans les différentes versions.</p>
 </itemd></item>
 <item><itemt>CompileScript</itemt>
 <itemd>
@@ -965,7 +971,7 @@
 </itemd></item>
 <item><itemt>Shlibs</itemt>
 <itemd>
-<p><em>Introduit dans la version 0.11.0 de fink.</em> Ce champ déclare les 
librairies partagées installées dans le paquet. Il y a une ligne par 
librairie partagée, cette ligne est constituée de trois éléments séparés 
par des blancs : le nom d'installation de la librairie 
<code>-install_name</code>, le numéro de version de compatibilité de la 
librairie <code>-compatibility_version</code> et des informations de 
dépendance de version qui indiquent quel paquet de Fink fournit la librairie 
à cette version de compatibilité. Les informations de dépendance doivent 
être spécifiées sous la forme <code> foo (>= version-revision)</code>, où 
<code>version-revision</code> représente la <em>première</em> version d'un 
paquet Fink qui rend disponible cette librairie (avec cette version de 
compatibilité). La déclaration Shlibs revient à dire que le mainteneur du 
paquet garantit qu'une librairie portant ce nom et ayant une version de 
compatibilité au moins égale à <c
 ode>-compatibility_version</code> sera présente dans toutes les versions 
postérieures de ce paquet Fink.</p>
+<p><em>Introduit dans la version 0.11.0 de fink.</em> Ce champ déclare les 
bibliothèques partagées installées dans le paquet. Il y a une ligne par 
bibliothèque partagée, cette ligne est constituée de trois éléments 
séparés par des blancs : le nom d'installation de la bibliothèque 
<code>-install_name</code>, le numéro de version de compatibilité de la 
bibliothèque <code>-compatibility_version</code> et des informations de 
dépendance de version qui indiquent quel paquet de Fink fournit la 
bibliothèque à cette version de compatibilité. Les informations de 
dépendance doivent être spécifiées sous la forme <code> foo (>= 
version-revision)</code>, où <code>version-revision</code> représente la 
<em>première</em> version d'un paquet Fink qui rend disponible cette 
bibliothèque (avec cette version de compatibilité). La déclaration Shlibs 
revient à dire que le mainteneur du paquet garantit qu'une bibliothèque 
portant ce nom et ayant une version de compatib
 ilité au moins égale à <code>-compatibility_version</code> sera présente 
dans toutes les versions postérieures de ce paquet Fink.</p>
 </itemd></item>
 <item><itemt>RuntimeVars</itemt>
 <itemd>


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-commits

Reply via email to