Update of /cvsroot/fink/web/doc/packaging In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7107/web/doc/packaging
Modified Files: format.fr.php fslayout.fr.php header.fr.inc index.fr.php intro.fr.php packaging.fr.html policy.fr.php reference.fr.php Added Files: compilers.en.php compilers.fr.php compilers.ja.php compilers.php Log Message: Updating to English v. 1.58 --- NEW FILE: compilers.php --- <? include_once "../../phpLang.inc.php"; ?> Index: fslayout.fr.php =================================================================== RCS file: /cvsroot/fink/web/doc/packaging/fslayout.fr.php,v retrieving revision 1.54 retrieving revision 1.55 diff -u -d -r1.54 -r1.55 --- fslayout.fr.php 23 Jun 2005 20:20:21 -0000 1.54 +++ fslayout.fr.php 24 Jun 2005 14:58:38 -0000 1.55 @@ -1,8 +1,8 @@ <? $title = "Paquets - Organisation des fichiers"; -$cvs_author = 'Author: dmrrsn'; -$cvs_date = 'Date: 2005/06/23 20:16:36'; -$metatags = '<link rel="contents" href="index.php?phpLang=fr" title="Paquets Contents"><link rel="next" href="compilers.php?phpLang=fr" title="Compilers"><link rel="prev" href="policy.php?phpLang=fr" title="Règles de distribution des paquets">'; +$cvs_author = 'Author: michga'; +$cvs_date = 'Date: 2005/06/24 14:45:30'; +$metatags = '<link rel="contents" href="index.php?phpLang=fr" title="Paquets Contents"><link rel="next" href="compilers.php?phpLang=fr" title="Compilateurs"><link rel="prev" href="policy.php?phpLang=fr" title="Règles de distribution des paquets">'; include_once "header.fr.inc"; @@ -49,7 +49,7 @@ <p>Aucun autre répertoire que ceux mentionnés ci-dessus ne doit être créé dans <code>/sw</code>. En particulier, les répertoires suivant ne doivent pas être utilisés : <code>/sw/man</code>, <code>/sw/info</code>, <code>/sw/doc</code>, <code>/sw/libexec</code> et <code>/sw/lib/locale</code>.</p> <p align="right"><? echo FINK_NEXT ; ?>: -<a href="compilers.php?phpLang=fr">5. Compilers</a></p> +<a href="compilers.php?phpLang=fr">5. Compilateurs</a></p> <? include_once "../../footer.inc"; ?> --- NEW FILE: compilers.fr.php --- (This appears to be a binary file; contents omitted.) Index: packaging.fr.html =================================================================== RCS file: /cvsroot/fink/web/doc/packaging/packaging.fr.html,v retrieving revision 1.64 retrieving revision 1.65 diff -u -d -r1.64 -r1.65 --- packaging.fr.html 23 Jun 2005 20:20:21 -0000 1.64 +++ packaging.fr.html 24 Jun 2005 14:58:38 -0000 1.65 @@ -14,7 +14,7 @@ <h1 style="text-align: center;">Création de paquets Fink</h1> <p>Ce document explique comment créer des descriptions de paquets pour le gestionnaire de paquets de Fink. Il fournit aussi des règles et un fil conducteur pour la distribution Fink. Le format des fichiers de description et les règles de distribution sont en constante évolution. Il faut donc regarder en bas de page la ligne "Last changed..." pour détecter les changements. Les informations contenues dans ce document correspondent àla description du format et des règles utilisées dans les versions de développement postérieures àla version 0.9.0 du gestionnaire de paquets fink.</p> <p>Si vous créez des paquets pour Fink, vous avez tout intérêt àvous abonner àla liste de diffusion <a href="http://lists.sourceforge.net/lists/listinfo/fink-devel">fink-devel</a>. Si vous cherchez un moyen d'aider Fink et que vous avez des compétences dans ce domaine, vous pouvez aussi adopter un <a href="http://fink.sourceforge.net/pdb/nomaintainer.php">paquet sans mainteneur</a>.</p> -<h2>Contents</h2><ul><li><a href="#intro"><b>1 Introduction</b></a><ul><li><a href="#intro.def1">1.1 Qu'est-ce qu'un paquet ?</a></li><li><a href="#intro.ident">1.2 Identification d'un paquet</a></li></ul></li><li><a href="#format"><b>2 Descriptions de paquets</b></a><ul><li><a href="#format.trees">2.1 Arborescence</a></li><li><a href="#format.format">2.2 Format de fichier</a></li><li><a href="#format.percent">2.3 Raccourcis %</a></li></ul></li><li><a href="#policy"><b>3 Règles de distribution des paquets</b></a><ul><li><a href="#policy.licenses">3.1 Licences de paquets</a></li><li><a href="#policy.openssl">3.2 La licence GPL et OpenSSL</a></li><li><a href="#policy.prefix">3.3 Interférence avec le système de base</a></li><li><a href="#policy.sharedlibs">3.4 Librairies partagées</a></li><li><a href="#policy.perlmods">3.5 Modules Perl</a></li><li><a href="#policy.emacs">3.6 Règles Emacs</a></li></ul></li><li><a href="#fslayout"><b>4 Organisation des fichiers</b></a><ul><l i><a href="#fslayout.fhs">4.1 Hiérarchie standard des fichiers</a></li><li><a href="#fslayout.dirs">4.2 Répertoires</a></li><li><a href="#fslayout.avoid">4.3 À éviter</a></li></ul></li><li><a href="#compilers"><b>5 Compilers</b></a><ul><li><a href="#compilers.versions">5.1 Compiler Versions</a></li><li><a href="#compilers.abi">5.2 The g++ ABI</a></li></ul></li><li><a href="#reference"><b>6 Référence</b></a><ul><li><a href="#reference.build">6.1 Construction d'un paquet</a></li><li><a href="#reference.fields">6.2 Champs</a></li><li><a href="#reference.splitoffs">6.3 Paquets multiples</a></li><li><a href="#reference.scripts">6.4 Scripts</a></li><li><a href="#reference.patches">6.5 Rustines</a></li><li><a href="#reference.profile.d">6.6 Scripts profile.d</a></li></ul></li></ul><h2><a name="intro">1 Introduction</a></h2> +<h2>Contents</h2><ul><li><a href="#intro"><b>1 Introduction</b></a><ul><li><a href="#intro.def1">1.1 Qu'est-ce qu'un paquet ?</a></li><li><a href="#intro.ident">1.2 Identification d'un paquet</a></li></ul></li><li><a href="#format"><b>2 Descriptions de paquets</b></a><ul><li><a href="#format.trees">2.1 Arborescence</a></li><li><a href="#format.format">2.2 Format de fichier</a></li><li><a href="#format.percent">2.3 Raccourcis %</a></li></ul></li><li><a href="#policy"><b>3 Règles de distribution des paquets</b></a><ul><li><a href="#policy.licenses">3.1 Licences de paquets</a></li><li><a href="#policy.openssl">3.2 La licence GPL et OpenSSL</a></li><li><a href="#policy.prefix">3.3 Interférence avec le système de base</a></li><li><a href="#policy.sharedlibs">3.4 Librairies partagées</a></li><li><a href="#policy.perlmods">3.5 Modules Perl</a></li><li><a href="#policy.emacs">3.6 Règles Emacs</a></li></ul></li><li><a href="#fslayout"><b>4 Organisation des fichiers</b></a><ul><l i><a href="#fslayout.fhs">4.1 Hiérarchie standard des fichiers</a></li><li><a href="#fslayout.dirs">4.2 Répertoires</a></li><li><a href="#fslayout.avoid">4.3 À éviter</a></li></ul></li><li><a href="#compilers"><b>5 Compilateurs</b></a><ul><li><a href="#compilers.versions">5.1 Versions du compilateur</a></li><li><a href="#compilers.abi">5.2 L'ABI g++</a></li></ul></li><li><a href="#reference"><b>6 Référence</b></a><ul><li><a href="#reference.build">6.1 Construction d'un paquet</a></li><li><a href="#reference.fields">6.2 Champs</a></li><li><a href="#reference.splitoffs">6.3 Paquets multiples</a></li><li><a href="#reference.scripts">6.4 Scripts</a></li><li><a href="#reference.patches">6.5 Rustines</a></li><li><a href="#reference.profile.d">6.6 Scripts profile.d</a></li></ul></li></ul><h2><a name="intro">1 Introduction</a></h2> <h3><a name="intro.def1">1.1 Qu'est-ce qu'un paquet ?</a></h3> @@ -30,8 +30,7 @@ <h3><a name="format.trees">2.1 Arborescence</a></h3> -<p>Les descriptions de paquets sont lues àpartir des répertoires <tt style="white-space: nowrap;">finkinfo</tt> -situés dans le répertoire <tt style="white-space: nowrap;">/sw/fink/dists</tt>. La valeur de la variable "Trees" dans <tt style="white-space: nowrap;">/sw/etc/fink.conf</tt> contrôle quels répertoires sont lus. Le nom des fichiers de description de paquets doit être identique au nom complet du paquet suivi de l'extension ".info". À partir de fink 0.13.0, on peut aussi n'utiliser que le nom du paquet suivi de l'extension ".info", de manière àsimplifier les mises àjour.</p> +<p>Les descriptions de paquets sont lues àpartir des répertoires <tt style="white-space: nowrap;">finkinfo</tt> situés dans le répertoire <tt style="white-space: nowrap;">/sw/fink/dists</tt>. La valeur de la variable "Trees" dans <tt style="white-space: nowrap;">/sw/etc/fink.conf</tt> contrôle quels répertoires sont lus. Le nom des fichiers de description de paquets doit être identique au nom complet du paquet suivi de l'extension ".info". À partir de fink 0.13.0, on peut aussi n'utiliser que le nom du paquet suivi de l'extension ".info", de manière àsimplifier les mises àjour.</p> <p>L'arborescence des descriptions de paquets comprend plusieurs niveaux de répertoires. En voici la liste de la racine au bas de l'arborescence :</p> <ul> <li><tt style="white-space: nowrap;">dists</tt> est àla racine. Le répertoire <tt style="white-space: nowrap;">dists</tt> est nécessaire pour les outils Debian.</li> @@ -53,7 +52,7 @@ install -m 644 COPYING %i/share/doc/%n <<</pre> <p>Avec ce format, l'indentation est optionnelle, mais vous pouvez l'utiliser pour améliorer la lisibilité.</p> -<p>On peut imbriquer plusieurs "here-document". Cela arrive souvent dans un champ <tt style="white-space: nowrap;">SplitOff</tt> ou <tt style="white-space: nowrap;">SplitOff<b>N</b></tt>. Ces champs contiennent d'autres champs (àlignes multiples), et cette syntaxe permet aux sous-champs de contenir eux mêmes des lignes multiples. Le même code de terminaison <tt style="white-space: nowrap;"><<</tt> est utilisé pour les sous-champs utilisant la syntaxe "here-document". En voici un exemple :</p> +<p>On peut imbriquer plusieurs "here-document". Cela arrive souvent dans un champ <tt style="white-space: nowrap;">SplitOff</tt> ou <tt style="white-space: nowrap;">SplitOff<b>N</b></tt>. Ces champs contiennent d'autres champs (àlignes multiples), et cette syntaxe permet aux sous-champs de contenir eux mêmes des lignes multiples. Le même code de terminaison <tt style="white-space: nowrap;"><<</tt> est utilisé pour les sous-champs utilisant la syntaxe "here-document". En voici un exemple :</p> <pre> SplitOff: << Package: %N-shlibs @@ -362,80 +361,19 @@ <h3><a name="fslayout.avoid">4.3 À éviter</a></h3> <p>Aucun autre répertoire que ceux mentionnés ci-dessus ne doit être créé dans <tt style="white-space: nowrap;">/sw</tt>. En particulier, les répertoires suivant ne doivent pas être utilisés : <tt style="white-space: nowrap;">/sw/man</tt>, <tt style="white-space: nowrap;">/sw/info</tt>, <tt style="white-space: nowrap;">/sw/doc</tt>, <tt style="white-space: nowrap;">/sw/libexec</tt> et <tt style="white-space: nowrap;">/sw/lib/locale</tt>.</p> -<h2><a name="compilers">5 Compilers</a></h2> - - - -<h3><a name="compilers.versions">5.1 Compiler Versions</a></h3> -<p>Fink uses the gcc family of compilers, as provided by Apple computer -through the Apple Developer Connection. As these compilers have evolved, -there have been different fink "distributions" to cope with the changes. -</p><p> -Each distribution has had certain default values for the gcc and g++ -compilers, which any user compiling from source is expected to have -installed. You can expect that direct calls to "gcc" and "g++" from -within your package will use these default values. If you need to use -a different value (for example, during a transition to a new distribution, -your packages .info file must specify this using the versioned binaries -provided by Apple. Exactly how you will do this depends on the build -system of your software, but for many packages, the <tt style="white-space: nowrap;">SetCC</tt> -and <tt style="white-space: nowrap;">SetCXX</tt> fink fields can be used for this puporse. -For example, you might change the g++ compiler to version 3.3 by the setting -<tt style="white-space: nowrap;">SetCXX: g++-3.3</tt>. Examine the output when building your -package to make sure that the correct compiler is being used. -</p><p> -The 10.1 distribution assumes that the compiler version is 2.95; the -10.2 distribution assumes that the compiler version is 3.1; the 10.2-gcc3.3 -and 10.3 distributions assume tha the compiler version is 3.3. The compiler -for the 10.4-transitional distribution is complicated: g++-3.3 is being -used along with gcc-4.0. This will change again in the 10.4 distribution, -which will use both gcc-4.0 and g++-4.0. -</p> -<p>A new method was introduced for ensuring the correct g++ compiler starting -with the 10.4-transitional distribution. During compilation, a directory -<tt style="white-space: nowrap;">/sw/var/lib/fink/path-prefix-g++-XXX</tt> (where XXX is the version -number) is added to the PATH during compilation. This directory contains -shell scripts which ensure that the correct version of g++ is used. -</p> - - -<h3><a name="compilers.abi">5.2 The g++ ABI</a></h3> -<p> -The g++ ABI has changed 3 times during the lifetime of OS X: the ABI is -different for versions 2.95, 3.1, 3.3 and 4.0. These different ABIs -are not compatible with each other, and any libraries which use C++ -code and are linked to by your project must be compiled with the same -ABI as the one currently being used. -</p> -<p> -Fink keeps track of the g++ ABI by means of the GCC field. This field -should be defined for any package which invokes the g++ or c++ compilers. -(It should NOT be defined for packages which don't invoke those compilers.) -Whenever an ABI upgrade occurs, all the dependencies of the packages must -be checked for their own GCC field. When all of the dependencies have -been upgraded, the package itself may be upgraded. The versions of the -dependencies must be changed to guarantee that users will have the correct, -updated, dependencies in place before they attempt to build the new version -of your package. -</p> -<p> -A small group of packages which depend only on each other can be left -at the previous version of the ABI when the distribution changes, if they -are not ready to be upgrade. When the upgrade is eventually done, they -must be all upgraded together with the correct versioning on all the -packages. For this reason, it is best to upgrade most packages at -the time the distribution changes. -</p> -<p> -Fink uses the GCC field to ensure that users have the correct version of -the g++ compiler installed. If the GCC field is defined by the package, -fink checks to see if the <tt style="white-space: nowrap;">gcc_select</tt> command has been -set to the correct current value. (This correct value is 3.3 for the 10.2 -and 10.3 versions of OS X, and 4.0 for the 10.4 version of OS X. The -<tt style="white-space: nowrap;">gcc_select</tt> command was not available prior to OS X 10.2.) -</p> +<h2><a name="compilers">5 Compilateurs</a></h2> +<h3><a name="compilers.versions">5.1 Versions du compilateur</a></h3> +<p>Fink utilise la famille des compilateurs gcc, tel qu'ils sont fournis par Apple Computer sur le site Apple Developer Connection. Comme ces compilateurs évoluent, il y a plusieurs "distributions" de fink différentes pour s'adapter àces changements.</p> +<p>Chaque distribution comporte certaines valeurs par défaut pour les compilateurs gcc et g++, qui correspondent àceux qu'un utilisateur compilant àpartir des sources est censé avoir installés. Vous pouvez donc compter sur le fait qu'un appel direct à"gcc" ou "g++" àpartir d'un paquet utilisera ces valeurs par défaut. Si vous avez besoin d'utiliser une valeur différente (par exemple, durant la transition vers une nouvelle distribution), le fichier .info du paquet doit le spécifier en utilisant les versions binaires fournies par Apple. La façon exacte de le faire dépend du système de compilation du logiciel, mais pour de nombreux paquets, on peut utiliser les champs fink <tt style="white-space: nowrap;">SetCC</tt> et <tt style="white-space: nowrap;">SetCXX</tt> àcette fin. Par exemple, vous pouvez passer àla version 3.3 du compilateur g++ avec le champ <tt style="white-space: nowrap;">SetCXX: g++-3.3</tt>. Vérifiez le résultat lors de la compilation afi n de vous assurer que le bon compilateur est utilisé.</p> +<p>La distribution 10.1 part du principe que la version du compilateur est la version 2.95 ; la distribution 10.2 que la version du compilateur est la version 3.1 ; les distributions 10.2-gcc3.3 et 10.3 que la version du compilateur est la version 3.3. Pour la distribution 10.4-transitional, c'est un peu plus compliqué : g++-3.3 est utilisé avec gcc-4.0. Cela changera de nouveau dans la distribution 10.4 où l'on utilisera gcc-4.0 et g++-4.0.</p> +<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 <tt style="white-space: nowrap;">/sw/var/lib/fink/path-prefix-g++-XXX</tt> (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> +<h3><a name="compilers.abi">5.2 L'ABI g++</a></h3> +<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>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'invoque 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 defini par le paquet, fink vérifie que la commande <tt style="white-space: nowrap;">gcc_select</tt> 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 <tt style="white-space: nowrap;">gcc_select</tt> n'était pas disponible antérieurement àla version 10.2 de Mac OS X.</p> <h2><a name="reference">6 Référence</a></h2> @@ -847,4 +785,4 @@ provided the document and this copyright notice remain complete and unmodified. Any commercial reproduction and any online publication requires the explicit consent of the author.</p><hr> -<p>Generated from <i>$Fink: packaging.fr.xml,v 1.58 2005/06/23 20:16:36 dmrrsn Exp $</i></p></body></html> +<p>Generated from <i>$Fink: packaging.fr.xml,v 1.59 2005/06/24 14:45:30 michga Exp $</i></p></body></html> Index: policy.fr.php =================================================================== RCS file: /cvsroot/fink/web/doc/packaging/policy.fr.php,v retrieving revision 1.56 retrieving revision 1.57 diff -u -d -r1.56 -r1.57 --- policy.fr.php 23 Jun 2005 20:20:22 -0000 1.56 +++ policy.fr.php 24 Jun 2005 14:58:38 -0000 1.57 @@ -1,7 +1,7 @@ <? $title = "Paquets - Règles"; -$cvs_author = 'Author: dmrrsn'; -$cvs_date = 'Date: 2005/06/23 20:16:36'; +$cvs_author = 'Author: michga'; +$cvs_date = 'Date: 2005/06/24 14:45:30'; $metatags = '<link rel="contents" href="index.php?phpLang=fr" title="Paquets Contents"><link rel="next" href="fslayout.php?phpLang=fr" title="Organisation des fichiers"><link rel="prev" href="format.php?phpLang=fr" title="Descriptions de paquets">'; Index: intro.fr.php =================================================================== RCS file: /cvsroot/fink/web/doc/packaging/intro.fr.php,v retrieving revision 1.53 retrieving revision 1.54 diff -u -d -r1.53 -r1.54 --- intro.fr.php 23 Jun 2005 20:20:21 -0000 1.53 +++ intro.fr.php 24 Jun 2005 14:58:38 -0000 1.54 @@ -1,7 +1,7 @@ <? $title = "Paquets - Intro"; -$cvs_author = 'Author: dmrrsn'; -$cvs_date = 'Date: 2005/06/23 20:16:36'; +$cvs_author = 'Author: michga'; +$cvs_date = 'Date: 2005/06/24 14:45:30'; $metatags = '<link rel="contents" href="index.php?phpLang=fr" title="Paquets Contents"><link rel="next" href="format.php?phpLang=fr" title="Descriptions de paquets"><link rel="prev" href="index.php?phpLang=fr" title="Paquets Contents">'; Index: format.fr.php =================================================================== RCS file: /cvsroot/fink/web/doc/packaging/format.fr.php,v retrieving revision 1.55 retrieving revision 1.56 diff -u -d -r1.55 -r1.56 --- format.fr.php 23 Jun 2005 20:20:21 -0000 1.55 +++ format.fr.php 24 Jun 2005 14:58:38 -0000 1.56 @@ -1,7 +1,7 @@ <? $title = "Paquets - Descriptions de paquets"; -$cvs_author = 'Author: dmrrsn'; -$cvs_date = 'Date: 2005/06/23 20:16:36'; +$cvs_author = 'Author: michga'; +$cvs_date = 'Date: 2005/06/24 14:45:30'; $metatags = '<link rel="contents" href="index.php?phpLang=fr" title="Paquets Contents"><link rel="next" href="policy.php?phpLang=fr" title="Règles de distribution des paquets"><link rel="prev" href="intro.php?phpLang=fr" title="Introduction">'; @@ -11,8 +11,7 @@ <h2><a name="trees">2.1 Arborescence</a></h2> -<p>Les descriptions de paquets sont lues àpartir des répertoires <code>finkinfo</code> -situés dans le répertoire <code>/sw/fink/dists</code>. La valeur de la variable "Trees" dans <code>/sw/etc/fink.conf</code> contrôle quels répertoires sont lus. Le nom des fichiers de description de paquets doit être identique au nom complet du paquet suivi de l'extension ".info". À partir de fink 0.13.0, on peut aussi n'utiliser que le nom du paquet suivi de l'extension ".info", de manière àsimplifier les mises àjour.</p> +<p>Les descriptions de paquets sont lues àpartir des répertoires <code>finkinfo</code> situés dans le répertoire <code>/sw/fink/dists</code>. La valeur de la variable "Trees" dans <code>/sw/etc/fink.conf</code> contrôle quels répertoires sont lus. Le nom des fichiers de description de paquets doit être identique au nom complet du paquet suivi de l'extension ".info". À partir de fink 0.13.0, on peut aussi n'utiliser que le nom du paquet suivi de l'extension ".info", de manière àsimplifier les mises àjour.</p> <p>L'arborescence des descriptions de paquets comprend plusieurs niveaux de répertoires. En voici la liste de la racine au bas de l'arborescence :</p> <ul> <li><code>dists</code> est àla racine. Le répertoire <code>dists</code> est nécessaire pour les outils Debian.</li> @@ -34,7 +33,7 @@ install -m 644 COPYING %i/share/doc/%n <<</pre> <p>Avec ce format, l'indentation est optionnelle, mais vous pouvez l'utiliser pour améliorer la lisibilité.</p> -<p>On peut imbriquer plusieurs "here-document". Cela arrive souvent dans un champ <code>SplitOff</code> ou <code>SplitOff<b>N</b></code>. Ces champs contiennent d'autres champs (àlignes multiples), et cette syntaxe permet aux sous-champs de contenir eux mêmes des lignes multiples. Le même code de terminaison <code><<</code> est utilisé pour les sous-champs utilisant la syntaxe "here-document". En voici un exemple :</p> +<p>On peut imbriquer plusieurs "here-document". Cela arrive souvent dans un champ <code>SplitOff</code> ou <code>SplitOff<b>N</b></code>. Ces champs contiennent d'autres champs (àlignes multiples), et cette syntaxe permet aux sous-champs de contenir eux mêmes des lignes multiples. Le même code de terminaison <code><<</code> est utilisé pour les sous-champs utilisant la syntaxe "here-document". En voici un exemple :</p> <pre> SplitOff: << Package: %N-shlibs Index: header.fr.inc =================================================================== RCS file: /cvsroot/fink/web/doc/packaging/header.fr.inc,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- header.fr.inc 23 Jun 2005 20:20:21 -0000 1.5 +++ header.fr.inc 24 Jun 2005 14:58:38 -0000 1.6 @@ -9,7 +9,7 @@ "doc/packaging/format.php?phpLang=fr", "Descriptions de paquets", "doc/packaging/policy.php?phpLang=fr", "Règles", "doc/packaging/fslayout.php?phpLang=fr", "Organisation des fichiers", - "doc/packaging/compilers.php?phpLang=fr", "Compilers", + "doc/packaging/compilers.php?phpLang=fr", "Compilateurs", "doc/packaging/reference.php?phpLang=fr", "Référence", ); $printlink = "doc/packaging/packaging.fr.html"; --- NEW FILE: compilers.en.php --- <? $title = "Packaging - Compilers"; $cvs_author = 'Author: dmrrsn'; $cvs_date = 'Date: 2005/06/23 20:16:35'; $metatags = '<link rel="contents" href="index.php?phpLang=en" title="Packaging Contents"><link rel="next" href="reference.php?phpLang=en" title="Reference"><link rel="prev" href="fslayout.php?phpLang=en" title="Filesystem Layout">'; include_once "header.en.inc"; ?> <h1>Packaging - 5. Compilers</h1> <h2><a name="versions">5.1 Compiler Versions</a></h2> <p>Fink uses the gcc family of compilers, as provided by Apple computer through the Apple Developer Connection. As these compilers have evolved, there have been different fink "distributions" to cope with the changes. </p><p> Each distribution has had certain default values for the gcc and g++ compilers, which any user compiling from source is expected to have installed. You can expect that direct calls to "gcc" and "g++" from within your package will use these default values. If you need to use a different value (for example, during a transition to a new distribution, your packages .info file must specify this using the versioned binaries provided by Apple. Exactly how you will do this depends on the build system of your software, but for many packages, the <code>SetCC</code> and <code>SetCXX</code> fink fields can be used for this puporse. For example, you might change the g++ compiler to version 3.3 by the setting <code>SetCXX: g++-3.3</code>. Examine the output when building your package to make sure that the correct compiler is being used. </p><p> The 10.1 distribution assumes that the compiler version is 2.95; the 10.2 distribution assumes that the compiler version is 3.1; the 10.2-gcc3.3 and 10.3 distributions assume tha the compiler version is 3.3. The compiler for the 10.4-transitional distribution is complicated: g++-3.3 is being used along with gcc-4.0. This will change again in the 10.4 distribution, which will use both gcc-4.0 and g++-4.0. </p> <p>A new method was introduced for ensuring the correct g++ compiler starting with the 10.4-transitional distribution. During compilation, a directory <code>/sw/var/lib/fink/path-prefix-g++-XXX</code> (where XXX is the version number) is added to the PATH during compilation. This directory contains shell scripts which ensure that the correct version of g++ is used. </p> <h2><a name="abi">5.2 The g++ ABI</a></h2> <p> The g++ ABI has changed 3 times during the lifetime of OS X: the ABI is different for versions 2.95, 3.1, 3.3 and 4.0. These different ABIs are not compatible with each other, and any libraries which use C++ code and are linked to by your project must be compiled with the same ABI as the one currently being used. </p> <p> Fink keeps track of the g++ ABI by means of the GCC field. This field should be defined for any package which invokes the g++ or c++ compilers. (It should NOT be defined for packages which don't invoke those compilers.) Whenever an ABI upgrade occurs, all the dependencies of the packages must be checked for their own GCC field. When all of the dependencies have been upgraded, the package itself may be upgraded. The versions of the dependencies must be changed to guarantee that users will have the correct, updated, dependencies in place before they attempt to build the new version of your package. </p> <p> A small group of packages which depend only on each other can be left at the previous version of the ABI when the distribution changes, if they are not ready to be upgrade. When the upgrade is eventually done, they must be all upgraded together with the correct versioning on all the packages. For this reason, it is best to upgrade most packages at the time the distribution changes. </p> <p> Fink uses the GCC field to ensure that users have the correct version of the g++ compiler installed. If the GCC field is defined by the package, fink checks to see if the <code>gcc_select</code> command has been set to the correct current value. (This correct value is 3.3 for the 10.2 and 10.3 versions of OS X, and 4.0 for the 10.4 version of OS X. The <code>gcc_select</code> command was not available prior to OS X 10.2.) </p> <p align="right"><? echo FINK_NEXT ; ?>: <a href="reference.php?phpLang=en">6. Reference</a></p> <? include_once "../../footer.inc"; ?> --- NEW FILE: compilers.ja.php --- (This appears to be a binary file; contents omitted.) Index: index.fr.php =================================================================== RCS file: /cvsroot/fink/web/doc/packaging/index.fr.php,v retrieving revision 1.56 retrieving revision 1.57 diff -u -d -r1.56 -r1.57 --- index.fr.php 23 Jun 2005 20:20:21 -0000 1.56 +++ index.fr.php 24 Jun 2005 14:58:38 -0000 1.57 @@ -1,7 +1,7 @@ <? $title = "Paquets"; -$cvs_author = 'Author: dmrrsn'; -$cvs_date = 'Date: 2005/06/23 20:16:36'; +$cvs_author = 'Author: michga'; +$cvs_date = 'Date: 2005/06/24 14:45:30'; $metatags = '<link rel="contents" href="index.php?phpLang=fr" title="Paquets Contents"><link rel="next" href="intro.php?phpLang=fr" title="Introduction">'; @@ -11,8 +11,8 @@ <p>Ce document explique comment créer des descriptions de paquets pour le gestionnaire de paquets de Fink. Il fournit aussi des règles et un fil conducteur pour la distribution Fink. Le format des fichiers de description et les règles de distribution sont en constante évolution. Il faut donc regarder en bas de page la ligne "Last changed..." pour détecter les changements. Les informations contenues dans ce document correspondent àla description du format et des règles utilisées dans les versions de développement postérieures àla version 0.9.0 du gestionnaire de paquets fink.</p> <p>Si vous créez des paquets pour Fink, vous avez tout intérêt àvous abonner àla liste de diffusion <a href="http://lists.sourceforge.net/lists/listinfo/fink-devel">fink-devel</a>. Si vous cherchez un moyen d'aider Fink et que vous avez des compétences dans ce domaine, vous pouvez aussi adopter un <a href="http://fink.sourceforge.net/pdb/nomaintainer.php">paquet sans mainteneur</a>.</p> <h2><? echo FINK_CONTENTS ; ?></h2><ul> - <li><a href="intro.php?phpLang=fr"><b>1 Introduction</b></a><ul><li><a href="intro.php?phpLang=fr#def1">1.1 Qu'est-ce qu'un paquet ?</a></li><li><a href="intro.php?phpLang=fr#ident">1.2 Identification d'un paquet</a></li></ul></li><li><a href="format.php?phpLang=fr"><b>2 Descriptions de paquets</b></a><ul><li><a href="format.php?phpLang=fr#trees">2.1 Arborescence</a></li><li><a href="format.php?phpLang=fr#format">2.2 Format de fichier</a></li><li><a href="format.php?phpLang=fr#percent">2.3 Raccourcis %</a></li></ul></li><li><a href="policy.php?phpLang=fr"><b>3 Règles de distribution des paquets</b></a><ul><li><a href="policy.php?phpLang=fr#licenses">3.1 Licences de paquets</a></li><li><a href="policy.php?phpLang=fr#openssl">3.2 La licence GPL et OpenSSL</a></li><li><a href="policy.php?phpLang=fr#prefix">3.3 Interférence avec le système de base</a></li><li><a href="policy.php?phpLang=fr#sharedlibs">3.4 Librairies partagées</a></li><li><a href="policy.php?phpLang=fr#perlm ods">3.5 Modules Perl</a></li><li><a href="policy.php?phpLang=fr#emacs">3.6 Règles Emacs</a></li></ul></li><li><a href="fslayout.php?phpLang=fr"><b>4 Organisation des fichiers</b></a><ul><li><a href="fslayout.php?phpLang=fr#fhs">4.1 Hiérarchie standard des fichiers</a></li><li><a href="fslayout.php?phpLang=fr#dirs">4.2 Répertoires</a></li><li><a href="fslayout.php?phpLang=fr#avoid">4.3 À éviter</a></li></ul></li><li><a href="compilers.php?phpLang=fr"><b>5 Compilers</b></a><ul><li><a href="compilers.php?phpLang=fr#versions">5.1 Compiler Versions</a></li><li><a href="compilers.php?phpLang=fr#abi">5.2 The g++ ABI</a></li></ul></li><li><a href="reference.php?phpLang=fr"><b>6 Référence</b></a><ul><li><a href="reference.php?phpLang=fr#build">6.1 Construction d'un paquet</a></li><li><a href="reference.php?phpLang=fr#fields">6.2 Champs</a></li><li><a href="reference.php?phpLang=fr#splitoffs">6.3 Paquets multiples</a></li><li><a href="reference.php?phpLang=fr#scripts">6.4 Scri pts</a></li><li><a href="reference.php?phpLang=fr#patches">6.5 Rustines</a></li><li><a href="reference.php?phpLang=fr#profile.d">6.6 Scripts profile.d</a></li></ul></li></ul> -<!--Generated from $Fink: packaging.fr.xml,v 1.58 2005/06/23 20:16:36 dmrrsn Exp $--> + <li><a href="intro.php?phpLang=fr"><b>1 Introduction</b></a><ul><li><a href="intro.php?phpLang=fr#def1">1.1 Qu'est-ce qu'un paquet ?</a></li><li><a href="intro.php?phpLang=fr#ident">1.2 Identification d'un paquet</a></li></ul></li><li><a href="format.php?phpLang=fr"><b>2 Descriptions de paquets</b></a><ul><li><a href="format.php?phpLang=fr#trees">2.1 Arborescence</a></li><li><a href="format.php?phpLang=fr#format">2.2 Format de fichier</a></li><li><a href="format.php?phpLang=fr#percent">2.3 Raccourcis %</a></li></ul></li><li><a href="policy.php?phpLang=fr"><b>3 Règles de distribution des paquets</b></a><ul><li><a href="policy.php?phpLang=fr#licenses">3.1 Licences de paquets</a></li><li><a href="policy.php?phpLang=fr#openssl">3.2 La licence GPL et OpenSSL</a></li><li><a href="policy.php?phpLang=fr#prefix">3.3 Interférence avec le système de base</a></li><li><a href="policy.php?phpLang=fr#sharedlibs">3.4 Librairies partagées</a></li><li><a href="policy.php?phpLang=fr#perlm ods">3.5 Modules Perl</a></li><li><a href="policy.php?phpLang=fr#emacs">3.6 Règles Emacs</a></li></ul></li><li><a href="fslayout.php?phpLang=fr"><b>4 Organisation des fichiers</b></a><ul><li><a href="fslayout.php?phpLang=fr#fhs">4.1 Hiérarchie standard des fichiers</a></li><li><a href="fslayout.php?phpLang=fr#dirs">4.2 Répertoires</a></li><li><a href="fslayout.php?phpLang=fr#avoid">4.3 À éviter</a></li></ul></li><li><a href="compilers.php?phpLang=fr"><b>5 Compilateurs</b></a><ul><li><a href="compilers.php?phpLang=fr#versions">5.1 Versions du compilateur</a></li><li><a href="compilers.php?phpLang=fr#abi">5.2 L'ABI g++</a></li></ul></li><li><a href="reference.php?phpLang=fr"><b>6 Référence</b></a><ul><li><a href="reference.php?phpLang=fr#build">6.1 Construction d'un paquet</a></li><li><a href="reference.php?phpLang=fr#fields">6.2 Champs</a></li><li><a href="reference.php?phpLang=fr#splitoffs">6.3 Paquets multiples</a></li><li><a href="reference.php?phpLang=fr#scripts">6 .4 Scripts</a></li><li><a href="reference.php?phpLang=fr#patches">6.5 Rustines</a></li><li><a href="reference.php?phpLang=fr#profile.d">6.6 Scripts profile.d</a></li></ul></li></ul> +<!--Generated from $Fink: packaging.fr.xml,v 1.59 2005/06/24 14:45:30 michga Exp $--> <? include_once "../../footer.inc"; ?> Index: reference.fr.php =================================================================== RCS file: /cvsroot/fink/web/doc/packaging/reference.fr.php,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- reference.fr.php 23 Jun 2005 20:20:23 -0000 1.60 +++ reference.fr.php 24 Jun 2005 14:58:38 -0000 1.61 @@ -1,8 +1,8 @@ <? $title = "Paquets - Référence"; -$cvs_author = 'Author: dmrrsn'; -$cvs_date = 'Date: 2005/06/23 20:16:36'; -$metatags = '<link rel="contents" href="index.php?phpLang=fr" title="Paquets Contents"><link rel="prev" href="compilers.php?phpLang=fr" title="Compilers">'; +$cvs_author = 'Author: michga'; +$cvs_date = 'Date: 2005/06/24 14:45:30'; +$metatags = '<link rel="contents" href="index.php?phpLang=fr" title="Paquets Contents"><link rel="prev" href="compilers.php?phpLang=fr" title="Compilateurs">'; include_once "header.fr.inc"; ------------------------------------------------------- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click _______________________________________________ Fink-commits mailing list Fink-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fink-commits