Subversion Repositories svn LFS-FR

Compare Revisions

Ignore whitespace Rev 1343 → Rev 1344

/trunk/hlfs/chapter01/changelog.xml
0,0 → 1,799
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-scatter-changelog">
<?dbhtml filename="changelog.html"?>
 
<title>Historique des modifications</title>
 
<para>Il s'agit de la version &version; du livre Linux From Scratch, datant
du &releasedate;. Si ce livre est daté de plus de six
mois, une nouvelle et meilleure version est probablement déjà disponible.
Pour le savoir, merci de vérifier la présence d'une nouvelle version sur
l'un des miroirs via <ulink url="&lfs-root;mirrors.html"/>.</para>
 
<para>Ci-dessous se trouve une liste des modifications apportées depuis la
version précédente du livre.</para>
 
<itemizedlist>
<title>Entrées dans l'historique des modifications:</title>
 
<!-- Modele d'historique
 
<listitem>
<para>Date</para>
<itemizedlist>
<listitem>
<para>[name] - Nouvelle entrée dans l'historique des changements.</para>
</listitem>
<listitem>
<para>[name] - Entrée précédente dans l'historique des changements.</para>
</listitem>
</itemizedlist>
</listitem>
 
-->
<listitem>
<para>18-09-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Publication de LFS-6.7.</para>
</listitem>
<listitem>
<para>[matthew] - Ajout d'une instruction pour augmenter la taille
de la pile lors des tests de gcc.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>17-09-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Suppression d'un lien symbolique facultatif dans
psmisc car s'il n'est pas rempllacé par l'intallation de sysvinit,
il cassera les scripts de démarrage.</para>
</listitem>
<listitem>
<para>[bdubbs] - Modification de l'exemple de grub.conf.
Corrige
<ulink url="&lfs-ticket-root;2748">#2748</ulink>
</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>06-09-2010</para>
<itemizedlist>
<listitem>
<para>[matthew] - Utilisation de --disable-libgomp à la place de
LD_LIBRARY_PATH pour éviter un échec dans le script configure de la passe
2 de GCC.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>03-09-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Ajout de -Duseshrplib à la configuration de perl
pour construire une bibliothèque partagée dont certains modules perl
ont besoin.
Corrige
<ulink url="&lfs-ticket-root;2745">#2745</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Ajout de sed pour arrêter l'underquoting d'un script M4 dans
pkg-config. Corrige
<ulink url="&lfs-ticket-root;2746">#2746</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>31-08-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Mise à jour vers linux-2.6.35.4. Corrige
<ulink url="&lfs-ticket-root;2743">#2743</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>17-08-2010</para>
<itemizedlist>
<listitem>
<para>[matthew] - Rectification de la correction du bogue d'iproute2.
Merci à Gilles Espinasse pour le pointeur.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>16-08-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Passage à vim-7.3. Corrige
<ulink url="&lfs-ticket-root;2721">#2721</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>15-08-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Ajout d'une remarque à l'explication des options de
construction de zlib avec laquelle il se peut que -mstackrealign provoque des erreurs
de construction sur des architectures non Intel. Corrige
<ulink url="&lfs-ticket-root;2733">#2733</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Correction d'un bogue dans iproute2 qui empêche
<command>ip route get</command> de produire une sortie. Merci
à Thomas Trepl pour le signalement et à Andrew Benton pour la correction.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Udev-161. Corrige
<ulink url="&lfs-ticket-root;2739">#2739</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] - Passage à Linux-2.6.35.2. Corrige
<ulink url="&lfs-ticket-root;2737">#2737</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Déplacement du programme fuser vers le système de fichiers racine
vu qu'il est utilisé dans le script de démarrage netfs. Corrige
<ulink url="&lfs-ticket-root;2736">#2736</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Construction de peekfd sur x86_64 et x86. Corrige
<ulink url="&lfs-ticket-root;2734">#2734</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>10-08-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Ajout de fstab-decode à la liste des progrmmes
installés par sysvinit.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>08-08-2010</para>
<itemizedlist>
<listitem>
<para>[matthew] - Passage à Bison-2.4.3. Corrige
<ulink url="&lfs-ticket-root;2732">#2732</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à IPRoute2-2.6.35. Corrige
<ulink url="&lfs-ticket-root;2731">#2731</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] - Passage à Glibc-2.12.1. Corrige
<ulink url="&lfs-ticket-root;2730">#2730</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>03-08-2010</para>
<itemizedlist>
<listitem>
<para>[matthew] - Passage à Autoconf-2.67. Corrige
<ulink url="&lfs-ticket-root;2729">#2729</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Ajout de paramètres pour empêcher les constructions
du chapitre 5 de GCC de se lier aux bibliothèques CLooG et PPL du système hôte
qui ne seront pas présentes au chapitre 6. Corrige
<ulink url="&lfs-ticket-root;2723">#2723</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Linux-2.6.35. Corrige
<ulink url="&lfs-ticket-root;2728">#2728</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à GCC-4.5.1. Corrige
<ulink url="&lfs-ticket-root;2727">#2727</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Make-3.82. Corrige
<ulink url="&lfs-ticket-root;2726">#2726</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>26-07-2010</para>
<itemizedlist>
<listitem>
<para>[matthew] - On fait en sorte que GCC utilise la copie du
système de Zlib plutôt que sa version intégrée. Corrige
<ulink url="&lfs-ticket-root;2718">#2718</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Psmisc-22.12. Corrige
<ulink url="&lfs-ticket-root;2717">#2717</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Udev-160. Corrige
<ulink url="&lfs-ticket-root;2711">#2711</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Linux-2.6.34.1. Corrige
<ulink url="&lfs-ticket-root;2709">#2709</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Autoconf-2.66. Corrige
<ulink url="&lfs-ticket-root;2705">#2705</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>18-07-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Mise à jour des points concernant la construction parallèle
des paquets. Corrige
<ulink url="&lfs-ticket-root;2712">#2712</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Mise à jour des dépendances de GRUB et de Glibc.
Merci à splotz90 pour le correctif. Corrige
<ulink url="&lfs-ticket-root;2716">#2716</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - larification de la formulation concernant la
création de périphériques lors du montage des systèmes de fichiers
virtuels. Corrige
<ulink url="&lfs-ticket-root;2715">#2715</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>07-07-2010</para>
<itemizedlist>
<listitem>
<para>[matthew] - Correction de la création d'un disque d'amorçage
GRUB. Corrige
<ulink url="&lfs-ticket-root;2706">#2706</ulink>. Merci à
Sebastian Plotz pour le signalement et la correction.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>04-07-2010</para>
<itemizedlist>
<listitem>
<para>[robert] - Correction du lien de l'archive tar d'util-linux.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>02-07-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Clarification du fait que les données SBU ne sont pas
incluses au chapitre 5, mais au chapitre 6. Merci à
littlebat pour le correctif.
Corrige
<ulink url="&lfs-ticket-root;2702">#2702</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Extension et reformatage des remarques concernant
grub.cfg.</para>
</listitem>
<listitem>
<para>[bdubbs] - Passage à util-linix-ng-2.18.
Corrige
<ulink url="&lfs-ticket-root;2681">#2681</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>01-07-2010</para>
<itemizedlist>
<listitem>
<para>[ken] - Correction de texte mineure.
Corrige
<ulink url="&lfs-ticket-root;2701">#2701</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>27-06-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Passage à udev-158. Ajout également
d'une nouvelle archive tar udev-testfiles et d'une instruction à make check.
Corrige
<ulink url="&lfs-ticket-root;2692">#2692</ulink> and
<ulink url="&lfs-ticket-root;2700">#2700</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Passage à sysvinit-2.88dsf.
Corrige
<ulink url="&lfs-ticket-root;2677">#2677</ulink>.</para>
</listitem>
 
<listitem>
<para>[bdubbs] - Ajout de nouvelles options CFLAGS à l'instruction
configure de zlib afin d'empêcher des erreurs de segmentation lors de la
construction avec gcc-4.5. Corrige
<ulink url="&lfs-ticket-root;2691">#2691</ulink>.</para>
</listitem>
 
<listitem>
<para>[bdubbs] - Mise à jour des explications sur les erreurs de timout de
glibc et ajout de TIMEOUTFACTOR comme solution possible. Corrige
<ulink url="&lfs-ticket-root;2683">#2683</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Mise à jour des listes des programmes installés.
Merci à Chris Staub pour le correctif. Corrige
<ulink url="&lfs-ticket-root;2678">#2678</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>22-06-2010</para>
<itemizedlist>
<listitem>
<para>[matthew] - Passage à Man-Pages-3.25. Corrige
<ulink url="&lfs-ticket-root;2695">#2695</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à MPFR-3.0.0. Corrige
<ulink url="&lfs-ticket-root;2687">#2687</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>21-06-2010</para>
<itemizedlist>
<listitem>
<para>[matthew] - Passage à Udev-157. Corrige
<ulink url="&lfs-ticket-root;2676">#2676</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] - Passage à Gettext-0.18.1.1. Corrige
<ulink url="&lfs-ticket-root;2686">#2686</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] - Passage à Libtool-2.2.10. Corrige
<ulink url="&lfs-ticket-root;2690">#2690</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] - Passage à Expect-5.44.1.15. Corrige
<ulink url="&lfs-ticket-root;2689">#2689</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>19-06-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Ajout d'un ensemble de correctifs consolidés à DejaGNU.
Corrige <ulink url="&lfs-ticket-root;2684">#2684</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>18-06-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Passage à Module-Init-Tools-3.12.
Corrige <ulink url="&lfs-ticket-root;2675">#2675</ulink>
et <ulink url="&lfs-ticket-root;2688">#2688</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Ajout d'un sed au noyau actuel pour contourner un bogue
dans linux-2.6.34 et supérieur. Cette modification sera supprimée
lorsqu'elle sera incorpérée à une version subséquente du noyau.
Corrige <ulink url="&lfs-ticket-root;2662">#2662</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>16-06-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Mise à jour de la version du noyau spécifiée dans
les instructions de glibc au chapitre 5 pour qu'elle soit cohérente
avec les prérequis de l'hôte et Glibc du chapitre 6.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>01-06-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Mise à jour des prérequis de l'hôte vers les paquets
construits dans LFS-6.3.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>29-05-2010</para>
<itemizedlist>
<listitem>
<para>[matthew] - Passage à Udev-156. Corrige
<ulink url="&lfs-ticket-root;2671">#2671</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Pkg-config-0.25. Corrige
<ulink url="&lfs-ticket-root;2670">#2670</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Glibc-2.11.2. Corrige
<ulink url="&lfs-ticket-root;2669">#2669</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Gettext-0.18. Corrige
<ulink url="&lfs-ticket-root;2660">#2660</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>26-05-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Ajout d'informations supplémentaires pour clarifier
le processus de construction.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>23-05-2010</para>
<itemizedlist>
<listitem>
<para>[ken] - Reformulation de la remarque ABI dans gmp (chapitre 6)
pour la corriger et souligner qu'elle vaut pour 32 bits. Corrige
<ulink url="&lfs-ticket-root;2648">#2648</ulink></para>
</listitem>
<listitem>
<para>[bdubbs] - Ajout d'un correctif pour corriger quelques
probçmes internes dans Man-DB quand on visualise plusieurs
pages. Merci à William Immendorf pour avoir posté le correctif. Corrige
<ulink url="&lfs-ticket-root;2652">#2652</ulink></para>
</listitem>
<listitem>
<para>[bdubbs] - Ajout des informations sur les répertoires installés
à chaque paquet Merci à Chris Staub pour le correctif. Corrige
<ulink url="&lfs-ticket-root;2657">#2655</ulink></para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>21-05-2010</para>
<itemizedlist>
<listitem>
<para>[matthew] - Suppression d'un répertoire de documentation vide créé par
Udev-154.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à IPRoute2-2.6.34. Corrige
<ulink url="&lfs-ticket-root;2668">#2668</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à E2fsprogs-1.41.12. Corrige
<ulink url="&lfs-ticket-root;2667">#2667</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Perl-5.12.1. Corrige
<ulink url="&lfs-ticket-root;2666">#2666</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Ajout des corrcdsifs les plus récents issus des
développeurs d'origine Bash. Corrige
<ulink url="&lfs-ticket-root;2665">#2665</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à MPC-0.8.2. Corrige
<ulink url="&lfs-ticket-root;2664">#2664</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Inetutils-1.8. Corrige
<ulink url="&lfs-ticket-root;2663">#2663</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Gawk-3.1.8. Corrige
<ulink url="&lfs-ticket-root;2659">#2659</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Installation de la documentation de Man-DB's dans
un répertoire versionné. Corrige
<ulink url="&lfs-ticket-root;2658">#2658</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Diffutils-3.0. Corrige
<ulink url="&lfs-ticket-root;2656">#2656</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Correcttion des instructions d'installation de la
documentation pour MPFR. Merci à Chris Staub pour le correctif. Corrige
<ulink url="&lfs-ticket-root;2655">#2655</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] - Passage à Coreutils-8.5. Corrige
<ulink url="&lfs-ticket-root;2643">#2643</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] - Passage à Udev-154. Corrige
<ulink url="&lfs-ticket-root;2639">#2639</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Zlib-1.2.5. Corrige
<ulink url="&lfs-ticket-root;2638">#2638</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Linux-2.6.34. Corrige
<ulink url="&lfs-ticket-root;2628">#2628</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Ajout d'un correctif pour corriger des numéros de versions
incorrects dans Bzip2. Merci à Jeremy Huntwork (LightCube OS) pour le
correctif. Corrige
<ulink url="&lfs-ticket-root;2624">#2624</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>06-05-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Suppression d'un sed des instructions de GCC au chapitre 6
vu que la correction a été faite dans GCC-4.5.0.
Corrige <ulink url="&lfs-ticket-root;2653">#2653</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>03-05-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Ajout d'un correctif pour corriger une
erreur de débordement de mémoire dans tar. La correction est due
spécifiquement à la construction avec gcc-4.5 et supérieur.
Corrige <ulink url="&lfs-ticket-root;2651">#2610</ulink>.</para>
</listitem>
 
<listitem>
<para>[bdubbs] - Ajout de procédures pour la nouvelle suite de tests de
diffutils. Merci à Chris Staub.
Corrige <ulink url="&lfs-ticket-root;2650">#2650</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Monifications mineures dans le texte de gawk au chapitre 5
et de patch au chapitre 6. Merci à Chris Staub.
Corrige <ulink url="&lfs-ticket-root;2649">#2649</ulink>.</para>
</listitem>
 
<listitem>
<para>[bdubbs] - Plusieurs modifications de texte à la section v,
Raison de la présence des paquets dans le livre. Merci à Chris
Staub pour le correctif.
Corrige <ulink url="&lfs-ticket-root;2644">#2644</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Ajout de file au chapitre 5 pour enlever plusieurs
messages d'avertissement lors du binutils du chapitre 6. Corrige
<ulink url="&lfs-ticket-root;2640">#2640</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>20-04-2010</para>
<itemizedlist>
<listitem>
<para>[matthew] Passage à GCC-4.5.0, incluant l'ajout de sa
nouvelle dépendance, MPC. Corrige
<ulink url="&lfs-ticket-root;2636">#2636</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] Passage à Perl-5.12.0. Corrige
<ulink url="&lfs-ticket-root;2635">#2635</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] Passage à Kbd-1.15.2. Corrige
<ulink url="&lfs-ticket-root;2634">#2634</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] Suppression du paramètre --docdir actuellement inutile d'Udev.
Corrige <ulink url="&lfs-ticket-root;2633">#2633</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] Passage à Psmisc-22.11. Corrige
<ulink url="&lfs-ticket-root;2631">#2631</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] Déplacement de <command>killall</command> vers
<filename class="directory">/bin</filename> pour que ce soient
les installations avec une partition
<filename class="directory">/usr</filename> séparée qui démarrent et non
celui installé par <package>Sysvinit</package>. Corrige
<ulink url="&lfs-ticket-root;2622">#2622</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] Passage à Grep-2.6.3. Corrige
<ulink url="&lfs-ticket-root;2621">#2621</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] Ajout des correctifs d'origine 001-005 pour Bash. Corrige
<ulink url="&lfs-ticket-root;2620">#2620</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] Puppression du correctif de Vim car il est obsolète et
semble appliquer des correctifs encore dans le cycle de développement en
amont.
Corrige <ulink url="&lfs-ticket-root;2597">#2597</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>12-04-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Ajustement des instructions de zlib pour s'assurer que
le fichier .pc et toutes les bibliothèques soient au bon endroit.
Merci à Chris Staub.
Corrige <ulink url="&lfs-ticket-root;2630">#2630</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>27-03-2010</para>
<itemizedlist>
<listitem>
<para>[matthew] Passage à Grep-2.6.1. Corrige
<ulink url="&lfs-ticket-root;2617">#2617</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] Passage à Util-Linux-NG-2.17.2. Corrige
<ulink url="&lfs-ticket-root;2616">#2616</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] Passage à Bison-2.4.2. Corrige
<ulink url="&lfs-ticket-root;2615">#2615</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>20-03-2010</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Ajout d'un sed à la commande pour tar pour corriger
une erreur dans la dernière version.La correction
provient des développeurs en amont.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>18-03-2010</para>
<itemizedlist>
<listitem>
<para>[matthew] Passage à Linux-2.6.33.1. Corrige
<ulink url="&lfs-ticket-root;2608">#2608</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] Passage à E2fsprogs-1.41.11. Corrige
<ulink url="&lfs-ticket-root;2607">#2607</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] Passage à Zlib-1.2.4. Corrige
<ulink url="&lfs-ticket-root;2606">#2606</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] Passage à Tar-1.23. Corrige
<ulink url="&lfs-ticket-root;2603">#2603</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] Passage à Grub-1.98. Corrige
<ulink url="&lfs-ticket-root;2602">#2602</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] Suppression de commandes plus nécessaires afin de lancer
la suite de test de Bash. Corrige
<ulink url="&lfs-ticket-root;2601">#2601</ulink>.</para>
</listitem>
 
<listitem>
<para>[matthew] Passage à Binutils-2.20.1. Corrige
<ulink url="&lfs-ticket-root;2599">#2599</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>01-03-2010</para>
<itemizedlist>
<listitem>
<para>[matthew] Passage à Man-pages-3.24. Corrige
<ulink url="&lfs-ticket-root;2596">#2596</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] Passage à M4-1.4.14. Corrige
<ulink url="&lfs-ticket-root;2594">#2594</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] Passage à IPRoute2-2.6.33. Corrige
<ulink url="&lfs-ticket-root;2592">#2592</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] Passage à Linux-2.6.33. Corrige
<ulink url="&lfs-ticket-root;2587">#2587</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] Passage à Man-DB-2.5.7. Corrige
<ulink url="&lfs-ticket-root;2583">#2583</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] Passage à Util-Linux-NG-2.17.1. Corrige
<ulink url="&lfs-ticket-root;2581">#2581</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] Passage à Diffutils-2.9. Corrige
<ulink url="&lfs-ticket-root;2577">#2577</ulink>. Cela élimine
le correctif i18n puisqu'il a été rejeté en amont.</para>
</listitem>
<listitem>
<para>[matthew] Passage à GMP-5.0.1. Corrige
<ulink url="&lfs-ticket-root;2572">#2572</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] Nettoyage suite à LFS-6.6.</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
 
</sect1>
 
/trunk/hlfs/chapter01/whatsnew.xml
0,0 → 1,271
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-intro-whatsnew">
<?dbhtml filename="whatsnew.html"?>
 
<title>Quoi de neuf depuis la dernière version</title>
 
<para>Vous trouverez ci-dessous la liste des mises à jour de paquets
opérées depuis la version précédente du livre.</para>
 
<!--
Every package in the book is listed in the "Upgraded to:" section.
Comment/uncomment as needed. DO NOT delete any of these lines unless that
package is removed from the book entirely.
-->
 
<itemizedlist>
<title>Mis à jour vers&nbsp;:</title>
 
<listitem>
<para>Autoconf &autoconf-version;</para>
</listitem>
<!-- <listitem>
<para>Automake &automake-version;</para>
</listitem> -->
<!--<listitem>
<para>Bash &bash-version;</para>
</listitem>-->
<!--<listitem>
<para>Berkeley DB &db-version;</para>
</listitem>-->
<listitem>
<para>Binutils &binutils-version;</para>
</listitem>
<listitem>
<para>Bison &bison-version;</para>
</listitem>
<!--<listitem>
<para>Bzip2 &bzip2-version;</para>
</listitem>-->
<!--<listitem>
<para>Coreutils &coreutils-version;</para>
</listitem>-->
<!--<listitem>
<para>DejaGNU &dejagnu-version;</para>
</listitem>-->
<listitem>
<para>Diffutils &diffutils-version;</para>
</listitem>
<listitem>
<para>E2fsprogs &e2fsprogs-version;</para>
</listitem>
<listitem>
<para>Expect &expect-version;</para>
</listitem>
<!--<listitem>
<para>File &file-version;</para>
</listitem>-->
<!--<listitem>
<para>Findutils &findutils-version;</para>
</listitem>-->
<!--<listitem>
<para>Flex &flex-version;</para>
</listitem>-->
<listitem>
<para>Gawk &gawk-version;</para>
</listitem>
<listitem>
<para>GCC &gcc-version;</para>
</listitem>
<!--<listitem>
<para>GDBM &gdbm-version;</para>
</listitem>-->
<listitem>
<para>Gettext &gettext-version;</para>
</listitem>
<!--<listitem>
<para>Glibc &glibc-version;</para>
</listitem>-->
<listitem>
<para>GMP &gmp-version;</para>
</listitem>
<listitem>
<para>Grep &grep-version;</para>
</listitem>
<!--<listitem>
<para>Groff &groff-version;</para>
</listitem>-->
<listitem>
<para>GRUB &grub-version;</para>
</listitem>
<!--<listitem>
<para>Gzip &gzip-version;</para>
</listitem>-->
<!--<listitem>
<para>IANA-Etc &iana-etc-version;</para>
</listitem>-->
<listitem>
<para>Inetutils &inetutils-version;</para>
</listitem>
<listitem>
<para>IPRoute2 &iproute2-version;</para>
</listitem>
<listitem>
<para>Kbd &kbd-version;</para>
</listitem>
<!--<listitem>
<para>Less &less-version;</para>
</listitem>-->
<listitem>
<para>LFS-Bootscripts &lfs-bootscripts-version;</para>
</listitem>
<listitem>
<para>Libtool &libtool-version;</para>
</listitem>
<listitem>
<para>Linux &linux-version;</para>
</listitem>
<listitem>
<para>M4 &m4-version;</para>
</listitem>
<listitem>
<para>Make &make-version;</para>
</listitem>
<listitem>
<para>Man-DB &man-db-version;</para>
</listitem>
<listitem>
<para>Man-pages &man-pages-version;</para>
</listitem>
<!--<listitem>
<para>Mktemp &mktemp-version;</para>
</listitem>-->
<listitem>
<para>Module-Init-Tools &module-init-tools-version;</para>
</listitem>
<listitem>
<para>MPC &mpc-version;</para>
</listitem>
<listitem>
<para>MPFR &mpfr-version;</para>
</listitem>
<!--<listitem>
<para>Ncurses &ncurses-version;</para>
</listitem>-->
<!--<listitem>
<para>Patch &patch-version;</para>
</listitem>-->
<listitem>
<para>Perl &perl-version;</para>
</listitem>
<!--<listitem>
<para>Procps &procps-version;</para>
</listitem>-->
<listitem>
<para>Pkg-config &pkg-config-version;</para>
</listitem>
<listitem>
<para>Psmisc &psmisc-version;</para>
</listitem>
<!--<listitem>
<para>Readline &readline-version;</para>
</listitem>-->
<!--<listitem>
<para>Sed &sed-version;</para>
</listitem>-->
<!--<listitem>
<para>Shadow &shadow-version;</para>
</listitem>-->
<!--<listitem>
<para>Sysklogd &sysklogd-version;</para>
</listitem>-->
<!--<listitem>
<para>SysVinit &sysvinit-version;</para>
</listitem>-->
<listitem>
<para>Tar &tar-version;</para>
</listitem>
<!--<listitem>
<para>TCL &tcl-version;</para>
</listitem>-->
<!--<listitem>
<para>Texinfo &texinfo-version;</para>
</listitem>-->
<listitem>
<para>Udev &udev-version;</para>
</listitem>
<!--<listitem>
<para>&udev-config;</para>
</listitem>-->
<listitem>
<para>Util-Linux-NG &util-linux-ng-version;</para>
</listitem>
<!--<listitem>
<para>Vim &vim-version;</para>
</listitem>-->
<listitem>
<para>Zlib &zlib-version;</para>
</listitem>
</itemizedlist>
 
<!--<itemizedlist>
<title>Rétrogradé vers&nbsp;:</title>
 
<listitem>
<para>À compléter si besoin</para>
</listitem>
 
</itemizedlist>-->
 
<itemizedlist>
<title>Ajoutés&nbsp;:</title>
 
<listitem>
<para>bash-4.1-fixes-2.patch</para>
</listitem>
<listitem>
<para>bzip2-1.0.5-version_fixes-1.patch</para>
</listitem>
<listitem>
<para>expect-&expect-version;-no_tk-1.patch</para>
</listitem>
<listitem>
<para>glibc-&glibc-version;-makefile_fix-1.patch</para>
</listitem>
<listitem>
<para>linux-&linux-version;-mm_locking-1.patch</para>
</listitem>
<listitem>
<para>MPC-&mpc-version;</para>
</listitem>
 
<listitem>
<para>udev-&udev-version;-testfiles.tar.bz2</para>
</listitem>
 
</itemizedlist>
 
<itemizedlist>
<title>Supprimés&nbsp;:</title>
 
<listitem>
<para>expect-5.43.0-spawn-1.patch</para>
</listitem>
<listitem>
<para>expect-5.43.0-tcl_8.5.5_fix-1.patch</para>
</listitem>
<listitem>
<para>gettext-0.17-upstream_fixes-2.patch</para>
</listitem>
<listitem>
<para>grep-2.5.4-debian_fixes-1.patch</para>
</listitem>
<listitem>
<para>make-3.81-upstream_fixes-1.patch</para>
</listitem>
<listitem>
<para>perl-5.10.1-utf8-1.patch</para>
</listitem>
<listitem>
<para>vim-7.2-fixes-5.patch</para>
</listitem>
 
</itemizedlist>
 
</sect1>
/trunk/hlfs/chapter01/chapter01.xml
0,0 → 1,22
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<chapter id="chapter-intro" xreflabel="Chapter 1">
<?dbhtml dir="chapter01"?>
<?dbhtml filename="chapter01.html"?>
 
<title>Introduction</title>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="how.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="whatsnew.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="changelog.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="resources.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="askforhelp.xml"/>
<!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="livecd.xml"/>-->
 
 
</chapter>
/trunk/hlfs/chapter01/how.xml
0,0 → 1,108
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-intro-how">
<?dbhtml filename="how.html"?>
 
<title>Comment construire un système LFS</title>
 
<para>Le système LFS sera construit en utilisant une distribution
Linux déjà installée (telle que Debian, Mandrake, Red Hat ou SuSE). Ce
système Linux existant (l'hôte) sera utilisé comme point de départ
pour fournir certains programmes nécessaires, ceci incluant un
compilateur, un éditeur de liens et un shell, pour construire le
nouveau système. Sélectionnez l'option <quote>développement</quote>
(<foreignphrase>development</foreignphrase>) lors de l'installation de
la distribution pour disposer de ces outils.</para>
 
<para>Alternativement à l'installation d'une distribution séparée
complète sur votre machine, vous pouvez utiliser le LiveCD Linux From
Scratch ou le LiveCD d'une distribution commerciale. Le CD
fonctionne en tant que système hôte, fournissant
tous les outils dont vous avez besoin pour suivre les instructions de
ce livre avec succès. La version du LiveCD est inférieure à celle du livre,
mais il demeure encore utile en tant qu'hôte pour construire le
livre actuel si vous utilisez le livre actuel. Les versions <quote>-nosrc</quote>
ou <quote>-min</quote> du LiveCD sont les plus adéquates pour construire un système LFS
actuel. Pour plus d'informations sur le LiveCD LFS et pour en télécharger
une copie, visitez <ulink url="&livecd-root;"/>.</para>
 
<note>
<para>Il se pourrait que le LiveCD LFS ne fonctionne pas sur les
configurations récentes, en ne démarrant pas ou en échouant lors de la
détection des périphériques, comme les disques durs SATA.</para>
</note>
 
<para>Le <xref linkend="chapter-partitioning"/> de ce livre décrit comment créer
une nouvelle partition native Linux et un système de fichiers.
C'est l'endroit où le nouveau système LFS sera compilé et installé.
Le <xref linkend="chapter-getting-materials"/> explique quels paquets et
correctifs ont besoin d'être téléchargés pour construire un système LFS et
comment les stocker sur le nouveau système de fichiers.
Le <xref linkend="chapter-final-preps"/>
traite de la
configuration pour un environnement de travail approprié. Merci de lire
le <xref linkend="chapter-final-preps"/> avec attention car il explique
plusieurs problèmes importants dont vous devez être au courant
avant de commencer à travailler sur le <xref linkend="chapter-temporary-tools"/>
et les chapitres suivants.</para>
 
<para>Le <xref linkend="chapter-temporary-tools"/> explique l'installation d'un
ensemble de paquets qui formera la suite de développement de base (ou ensemble
d'outils) utilisé pour construire le système réel dans le <xref
linkend="chapter-building-system"/>. Certains de ces paquets sont nécessaires
pour résoudre des dépendances circulaires&nbsp;&mdash; par exemple, pour compiler un compilateur, vous avez besoin d'un compilateur.</para>
 
<para>Le <xref linkend="chapter-temporary-tools"/> vous montre aussi
comment construire dans une première passe l'ensemble des
outils, incluant Binutils et GCC (première passe signifiant
basiquement que ces deux paquets principaux seront installés une
deuxième fois). La prochaine étape consiste à construire Glibc, la
bibliothèque C. Glibc sera compilé par les programmes de l'ensemble
d'outils, construits lors de la première passe. Ensuite, une seconde
passe de la chaîne d'outils sera lancée. Cette fois, l'ensemble
d'outils sera lié dynamiquement avec la Glibc nouvellement construite.
Les paquets restants du <xref linkend="chapter-temporary-tools"/>
seront construits en utilisant la chaîne d'outils de cette deuxième
passe. Lorsque ceci sera fait, le processus d'installation de LFS ne
dépendra plus de la distribution hôte, à l'exception du noyau en cours
d'exécution.</para>
 
<para>Cet effort consistant à isoler le nouveau système de la distribution hôte
peut sembler excessif. Une explication technique complète est fournie dans
<xref linkend="ch-tools-toolchaintechnotes"/>.</para>
 
<para>Dans le <xref linkend="chapter-building-system"/>, le système
LFS complet est construit. Le programme <command>chroot</command>
(changement de racine) est utilisé pour entrer dans un environnement
virtuel et pour lancer un nouveau shell dont le répertoire racine sera
initialisé à la partition LFS. Ceci ressemble à redémarrer et donner
l'instruction au noyau de monter la partition LFS comme partition
racine. Le système ne redémarre pas réellement mais change la racine
parce que la création d'un système démarrable (amorçable) réclame un
travail supplémentaire qui n'est pas encore nécessaire. L'avantage
principal est que se <quote>chrooter</quote> vous permet de
continuer à utiliser l'hôte pendant la construction de LFS. En
attendant que les compilations d'un paquet se termine, un utilisateur
peut passer sur une console virtuelle (VC) différente ou un bureau X
et continuer à utiliser son ordinateur comme d'habitude.</para>
 
<para>Pour terminer l'installation, les scripts de démarrage sont
configurés dans le <xref linkend="chapter-bootscripts"/>, le noyau et
le chargeur de démarrage sont configurés dans le <xref
linkend="chapter-bootable"/>. Le <xref linkend="chapter-finalizing"/>
contient des informations sur la suite de l'expérience LFS après ce
livre. Après avoir suivi les étapes de ce livre, l'ordinateur
sera prêt à redémarrer dans le nouveau système LFS.</para>
 
<para>Ceci expose rapidement le processus. Des informations détaillées
sur chaque étape sont traitées dans les chapitres suivants avec les
descriptions des paquets. Les éléments qui peuvent sembler compliqués
seront clarifiés et tout ira à sa place, alors que vous vous
embarquerez pour l'aventure LFS.</para>
 
</sect1>
/trunk/hlfs/chapter01/askforhelp.xml
0,0 → 1,154
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-intro-askforhelp">
<?dbhtml filename="askforhelp.html"?>
 
<title>Aide</title>
 
<para>Si vous rencontrez une erreur ou si vous vous posez une question
en travaillant avec ce livre, merci de vérifiez la FAQ sur
 
<ulink url="&faq-root;#generalfaq"/>. Les questions y ont souvent des
réponses. Si
 
votre question n'a pas sa réponse sur cette page, essayez de trouver
la source
 
du problème. L'astuce suivante vous donnera quelques conseils pour
cela&nbsp;: <ulink url="&hints-root;errors.txt"/>.</para>
 
<para>Si votre problème n'est pas listé dans la FAQ, recherchez dans
les listes de discussion sur <ulink
url="&lfs-root;search.html"/>.</para>
 
<para>Nous avons aussi une formidable communauté LFS, volontaire pour
offrir une
 
assistance via les listes de discussion et IRC (voir la section
 
<xref linkend="ch-intro-resources"/> de ce livre). Néanmoins, nous
recevons plusieurs questions de support chaque jour et un grand nombre
d'entre elles ont une réponse dans la FAQ et dans les listes de
discussions. Pour que nous puissions vous offrir la meilleure
assistance possible, vous devez faire quelques recherches de votre
côté. Ceci nous permet de nous concentrer sur les besoins inhabituels.
Si vos recherches ne vous apportent aucune solution, merci d'inclure
toutes les informations adéquates (mentionnées ci-dessous) dans votre
demande d'assistance.</para>
 
<sect2>
<title>Éléments à mentionner</title>
 
<para>À part une brève explication du problème, voici les éléments
essentiels à
 
inclure dans votre demande d'aide&nbsp;:</para>
 
<itemizedlist>
<listitem>
<para>La version du livre que vous utilisez (dans ce cas, &version;)</para>
</listitem>
<listitem>
<para>La distribution hôte (et sa version) que vous utilisez pour créer
LFS</para>
</listitem>
<listitem>
<para>La sortie de <xref linkend='version-check'/></para>
</listitem>
<listitem>
<para>Le paquet ou la section où le problème a été
rencontré</para>
</listitem>
<listitem>
<para>Le message d'erreur exact ou le symptôme reçu</para>
</listitem>
<listitem>
<para>Notez si vous avez dévié du livre </para>
</listitem>
</itemizedlist>
 
<note>
<para>Dévier du livre ne signifie <emphasis>pas</emphasis> que nous
n'allons pas vous aider. Après tout, LFS est basé sur les préférences de
l'utilisateur. Nous préciser les modifications effectuées sur la procédure
établie nous aide à évaluer et à déterminer les causes probables de votre
problème.</para>
</note>
 
</sect2>
 
<sect2>
<title>Problèmes avec le script configure</title>
 
<para>Si quelque chose se passe mal lors de l'exécution du script
<command>configure</command>, regardez le fichier
<filename>config.log</filename> Ce fichier pourrait contenir les
erreurs rencontrées lors de l'exécution de
<command>configure</command> qui n'ont pas été affichées à l'écran.
Incluez les lignes <emphasis>intéressantes</emphasis> si vous avez
besoin d'aide.</para>
 
</sect2>
 
<sect2>
<title>Problèmes de compilation</title>
 
<para>L'affichage écran et le contenu de différents fichiers sont
utiles pour déterminer la cause des problèmes de compilation.
L'affichage de l'écran du script <command>configure</command> et du
<command>make</command> peuvent être utiles. Il n'est pas nécessaire
d'inclure la sortie complète mais incluez suffisamment
d'informations intéressantes. Ci-dessous se trouve un exemple de
type d'informations à inclure à partir de l'affichage écran de
<command>make</command>&nbsp;:</para>
 
<screen><computeroutput>gcc -DALIASPATH=\"/mnt/lfs/usr/share/locale:.\"
-DLOCALEDIR=\"/mnt/lfs/usr/share/locale\"
-DLIBDIR=\"/mnt/lfs/usr/lib\"
-DINCLUDEDIR=\"/mnt/lfs/usr/include\" -DHAVE_CONFIG_H -I. -I.
-g -O2 -c getopt1.c
gcc -g -O2 -static -o make ar.o arscan.o commands.o dir.o
expand.o file.o function.o getopt.o implicit.o job.o main.o
misc.o read.o remake.o rule.o signame.o variable.o vpath.o
default.o remote-stub.o version.o opt1.o
-lutil job.o: In function `load_too_high':
/lfs/tmp/make-3.79.1/job.c:1565: undefined reference
to `getloadavg'
collect2: ld returned 1 exit status
make[2]: *** [make] Error 1
make[2]: Leaving directory `/lfs/tmp/make-3.79.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/lfs/tmp/make-3.79.1'
make: *** [all-recursive-am] Error 2</computeroutput></screen>
 
<para>Dans ce cas, beaucoup de personnes n'inclueraient que la
section du
 
bas</para>
 
<screen><computeroutput>make [2]: *** [make] Error 1</computeroutput></screen>
 
<para>Cette information n'est pas suffisante pour diagnostiquer
correctement le problème car il note seulement que quelque chose
s'est mal passé, pas <emphasis>ce</emphasis> qui s'est mal passé. La
section entière, comme dans l'exemple ci-dessus, est ce qui devrait
être sauvée car la commande exécutée et le(s) message(s) d'erreur
associé(s) sont inclus.</para>
 
<para>Un excellent article sur les demandes d'aide sur Internet est
disponible
 
en ligne sur
 
<ulink url="http://catb.org/~esr/faqs/smart-questions.html"/>. Lisez et
suivez les astuces de ce document pour accroître vos chances
d'obtenir l'aide dont vous avez besoin.</para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter01/resources.xml
0,0 → 1,118
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-intro-resources">
<?dbhtml filename="resources.html"?>
 
<title>Ressources</title>
 
<sect2 id="ch-intro-faq">
<title>FAQ</title>
 
<para>Si vous rencontrez des erreurs lors de la construction du
système LFS, si vous avez des questions ou si vous pensez qu'il y a
une erreur de typographie dans ce livre, merci de commencer par
consulter la <acronym>FAQ</acronym> (Foire aux Questions) sur
 
<ulink url="&faq-root;"/>.</para>
 
</sect2>
 
<sect2 id="ch-intro-maillists" xreflabel="Chapitre 1 - Listes de diffusion">
<title>Listes de diffusion</title>
 
<para>Le serveur <uri>linuxfromscratch.org</uri> gère quelques
listes de diffusion utilisées pour le développement du projet LFS.
Ces listes incluent, entre autres, les listes de développement et de
support. Si la FAQ ne résout pas votre problème, la prochaine étape
serait de chercher dans les listes de discussion sur
 
<ulink url="&lfs-root;search.html"/>.</para>
 
<para>Pour connaître les listes disponibles, les conditions
d'abonnement, l'emplacement des archives et quelques autres
informations, allez sur
<ulink url="&lfs-root;mail.html"/>.</para>
 
</sect2>
 
<!-- FIXME: Remove until such time as we have our own News Server, JH 20060105
 
<sect2 id="ch-intro-newsserver">
<title>Serveur de news</title>
 
<para>Les listes de diffusion gérées par
<uri>linuxfromscratch.org</uri> sont aussi accessibles via le
serveur NNTP. Tous les messages envoyés sur une liste de diffusion
sont copiés dans le groupe de nouvelles correspondant, et
vice-versa.</para>
 
<para>Le serveur de nouvelles est situé sur
<uri>news.linuxfromscratch.org</uri>.</para>
 
</sect2> -->
 
<sect2 id="ch-intro-irc">
<title>IRC</title>
 
<para>Plusieurs membres de la communauté LFS offrent une assistance
sur le
 
réseau IRC (Internet Relay Chat) de notre communauté. Avant
d'utiliser ce mode
 
de support, assurez-vous que la réponse à votre question ne se
trouve pas déjà
 
dans la FAQ LFS (voir ci-dessus) ou dans les archives des listes de
diffusion
 
(voir ci-dessous) pour tenter de trouver une réponse à votre
question. Vous
 
trouverez le réseau IRC à l'adresse
<uri>irc.linuxfromscratch.org</uri>. Le canal du support se nomme
#LFS-support.</para>
 
</sect2>
 
<!-- Commentted out until the target link is updated
<sect2 id="ch-intro-references">
<title>Références</title>
 
<para>Pour plus d'informations sur les paquets, des indications très
utiles sont
 
disponibles dans la page de référence des paquetages LFS située
sur&nbsp;:
<ulink url="http://www.linuxfromscratch.org/~matthew/LFS-references.html"/>.</para>
 
</sect2>-->
 
<sect2 id="ch-intro-mirrors" xreflabel="Chapitre 1 - Sites miroirs">
<title>Sites miroirs</title>
 
<para>Le projet LFS a un bon nombre de miroirs configurés tout
autour du monde pour faciliter l'accès au site web ainsi que le
téléchargement des paquetages requis. Merci de visiter le site web
de LFS sur
 
<ulink url="&lfs-root;mirrors.html"/> pour obtenir une liste des
miroirs à jour.</para>
 
</sect2>
 
<sect2 id="ch-intro-contactinfo">
<title>Contacts</title>
 
<para>Merci d'envoyer toutes vos questions et commentaires sur les
listes de diffusion LFS (voir ci-dessus).</para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter01/livecd.xml
0,0 → 1,107
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-intro-livecd">
<?dbhtml filename="livecd.html"?>
 
<title>À propos du CD inclus</title>
 
<para>Pour votre confort, nous avons inclus un CD avec ce livre
contenant les paquets de sources nécessaires pour créer un système
Linux From Scratch. Le CD est amorçable et fournit un environnement de
travail stable pour construire LFS. Ce livre se réfère à ce système
comme le <quote>système hôte</quote>. Les images CD sont maintenues
activement et des versions mises à jour sont disponibles sur
 
<ulink url="ftp://ftp.lfs-matrix.net/pub/lfs-livecd/"/></para>
 
<para>En plus des outils requis pour construire LFS, le système hôte
sur le CD a un certain nombre d'autres outils utiles installés&nbsp;:</para>
 
<itemizedlist>
 
<listitem>
<para>Une version HTML de ce livre</para>
</listitem>
 
<listitem>
<para>L'environnement X Window System</para>
</listitem>
 
<listitem>
<para>Outils Web</para>
<itemizedlist>
<listitem>
<para>Wget (récupération de fichiers en ligne de commande)</para>
</listitem>
<listitem>
<para>Lynx (navigateur web texte)</para>
</listitem>
<listitem>
<para>Irssi (client IRC en console)</para>
</listitem>
<listitem>
<para>Firefox (navigateur web graphique)</para>
</listitem>
<listitem>
<para>Xchat (client IRC basé sur X)</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Éditeurs de texte</para>
<itemizedlist>
<listitem>
<para>Vim</para>
</listitem>
<listitem>
<para>Nano</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Outils réseau</para>
<itemizedlist>
<listitem>
<para>Serveur et client SSH</para>
</listitem>
<listitem>
<para>Serveur et client NFS</para>
</listitem>
<listitem>
<para>Smbmount (mount.cifs) pour les partages Windows</para>
</listitem>
<listitem>
<para>Subversion</para>
</listitem>
<listitem>
<para>Dhcpcd (client DHCP)</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Programmes de systèmes de fichiers</para>
<itemizedlist>
<listitem>
<para>Reiserfsprogs</para>
</listitem>
<listitem>
<para>Xfsprogs</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>nALFS - Un outil pour automatiser les constructions LFS</para>
</listitem>
 
</itemizedlist>
 
</sect1>
/trunk/hlfs/chapter02/chapter02.xml
0,0 → 1,19
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<chapter id="chapter-partitioning" xreflabel="Chapitre 2">
<?dbhtml dir="chapter02"?>
<?dbhtml filename="chapter02.html"?>
 
<title>Préparer une nouvelle partition</title>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creatingpartition.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creatingfilesystem.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mounting.xml"/>
 
</chapter>
/trunk/hlfs/chapter02/creatingpartition.xml
0,0 → 1,157
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="space-creatingpartition">
<?dbhtml filename="creatingpartition.html"?>
 
<title>Créer une nouvelle partition</title>
 
<para>Comme la plupart des autres systèmes d'exploitation, LFS est
habituellement installé dans une partition dédiée. L'approche
recommandée pour la construction d'un système LFS est d'utiliser une
partition vide disponible ou, si vous avez assez d'espace non
partitionné, d'en créer une.</para>
 
<para>Un système minimal requiert une partition d'environ 1,3&nbsp;Go
(giga octets). C'est suffisant pour conserver toutes les archives tar
des sources et pour compiler tous les paquets. Néanmoins, si le
système LFS a pour but d'être un système Linux primaire, des logiciels
supplémentaires seront probablement installés et réclameront une place
supplémentaire (entre 2 et 3&nbsp;Go). Le système LFS lui-même ne
prendra pas tout cet espace. Une grande partie de cet espace est
requis pour fournir un espace libre suffisant mais temporaire.
Compiler des paquets peut demander beaucoup d'espace disque qui sera
récupéré après l'installation du paquet.</para>
 
<para>Parce qu'il n'y a pas toujours assez de mémoire (RAM)
disponible pour les
 
processus de compilation, une bonne idée est d'utiliser une petite
partition
 
comme espace d'échange
 
<systemitem class="filesystem">swap</systemitem>. Cet espace est
utilisé par le noyau pour stocker des données rarement utilisées et
pour laisser plus de place disponible aux processus actifs. La
partition de <systemitem class="filesystem">swap</systemitem> pour un
système LFS peut être la même que celle utilisée par le système hôte,
donc il n'est pas nécessaire de créer une autre partition si votre
système hôte a déjà cette configuration.</para>
 
<para>Lancez un programme de partitionnement de disques tel que
<command>cfdisk</command> ou <command>fdisk</command> avec une option
en ligne
de commande nommant le disque dur sur lequel la nouvelle partition
sera créée&mdash;par exemple
<filename class="devicefile">/dev/hda</filename> pour un disque
primaire Integrated Drive Electronics (IDE). Créez une partition
Linux native $et, si nécessaire, une partition de
<systemitem class="filesystem">swap</systemitem>.
Merci de vous référer aux pages de man de
<filename>cfdisk(8)</filename> ou de <filename>fdisk(8)</filename> si
vous ne savez pas encore utiliser le programme.</para>
 
<para>Rappelez-vous de la désignation de la nouvelle partition (par
exemple <filename class="devicefile">hda5</filename>). Ce livre y fera
référence en tant que la partition LFS. Rappelez-vous aussi de la
désignation de la partition <systemitem class="filesystem">swap</systemitem>. Ces noms seront
nécessaires après pour le fichier <filename>/etc/fstab</filename>.</para>
 
<sect2>
<title>Autres problématiques du partitionnement</title>
 
<para>Des demandes de conseils sont souvent possées sur les listes de diffusion
LFS. C'est un sujet très subjectif. Par défaut, la plupart des
distributions utilisent le disque en entier, sauf
une petite partie réservée à la partition d'échange. Ce n'est pas optimal
avec LFS, pour plusieurs raisons. Cela réduit la flexibilité, rend plus
difficile le partage de données par plusieurs distributions ou constructions LFS, allonge
le temps de sauvegarde et cela peut occuper de l'espace disque avec une
allocation des structures de fichiers systèmes inefficace.</para>
 
<sect3>
<title>La partition racine</title>
<para>Une partition racine LFS (à ne pas confondre avec le répertoire
<filename class="directory">/root</filename>), est de
dix giga-octets est un bon compromis pour la plupart des systèmes.
Cela fournit assez de place pour construire LFS et la plupart de BLFS, tout en étant
assez petit pour que plusieurs partitions puissent être créées facilement à des fins
expérimentales.</para> </sect3>
<sect3>
<title>La partition d'échange</title>
<para>La plupart des distributions créent automatiquement une partition d'échange. En général,
la taille recommandée d'une partition d'échange est à peu près deux fois supérieure à la
taille de la RAM physique, cependant c'est rarement nécessaire. Si vous avez un
espace de disque limité, laissez la partition d'échange à deux giga-octets et
surveillez l'utilisation de la mémoire d'échange sur le disque.</para>
<para>L'utilisation de la mémoire d'échange n'est jamais une bonne chose. En
général, vous pouvez dire si un système utilise la mémoire d'échange
simplement en écoutant l'activité du disque et en observant
la façon dont le système réagit aux commandes. Votre première
réaction lorsque la mémoire d'échange est utilisé devrait être de vérifier si une commande n'est pas
déraisonnable, telle que l'essai d'édition d'un fichier de cinq giga-octets. Si l'utilisation
de la mémoire d''échange devient un phénomène habituel, la meilleure solution
est d'ajouter de la RAM à votre système.</para> </sect3>
<sect3>
<title>Partitions de commodité</title>
<para>Plusieurs autres partitions ne sont pas n©cessaires mais vous
devriez les étudier lorsque vous aménagez un disque dur. La liste suivante
n'est pas exhaustive mais peut être perçue comme un
guide.</para>
<itemizedlist>
<listitem><para>/boot &ndash; Fort recommendée. Utilisez cette partition pour
conserver les noyaux et d'autres informations de démarrage. Pour minimiser
les problèmes de démarrage avec les gros disques, faites-en la
première partition physique sur votre premier disque dur. Une taille de
partition de 100 méga-octets est parfaitement adaptée.</para></listitem>
<listitem><para>/home &ndash; Fort recommendée. Partage votre
répertoire home et vos paramètres utilisateur entre plusieurs distributions
ou constructions de LFS. La taille est en général très importante et dépend
de l'espace disque disponible.</para></listitem>
<listitem><para>/usr &ndash; On utilise généralement une
partition /usr séparée si on fournit un serveur pour un client léger ou
une station de travail sans disque. Elle n'est normalement pas
nécessaire pour LFS. Une taille de cinq giga-octets gèrera
la plupart des installations.</para></listitem>
<listitem><para>/opt &ndash; Ce répertoire est surtout utile pour
BLFS où vous pouvez installer plusieurs versions de gros paquets tels que
Gnome ou KDE sans mettre les fichiers dans la hiérarchie /usr. Si vous l'utilisez,
cinq à dix giga-octets sont généralement adaptés.</para>
</listitem>
<listitem><para>/tmp &ndash; Un répertoire /tmp séparé est rare,
mais utile si vous configurez un client léger. Cette partition, si vous l'utilisez,
ne nécessitera en général pas plus de deux giga-octets.</para></listitem>
<listitem><para>/usr/src &ndash; Cette partition est très
utile pour fournir un endroit où conserver les fichiers des sources de BLFS et
les partager entre des constructions LFS. Vous pouvez aussi l'utiliser comme
lieu de construction des paquets BLFS. Une partition raisonnablement grande
de 30-50 giga-octets permet d'avoir beaucoup de place.</para> </listitem>
</itemizedlist>
<para>Vous devez spécifier toute partition que vous voulez voir montée automatiquement
au démarrage dans <filename>/etc/fstab</filename>. Les détails
sur la façon de spécifier les partitions seront donnés au
<xref linkend="ch-bootable-fstab"/>.</para>
</sect3>
</sect2>
</sect1>
/trunk/hlfs/chapter02/creatingfilesystem.xml
0,0 → 1,95
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="space-creatingfilesystem">
<?dbhtml filename="creatingfilesystem.html"?>
 
<title>Créer un système de fichiers sur la partition</title>
 
<para>Maintenant qu'une partition vierge est prête, le système de
fichiers peut
 
être créé. Le système le plus communément utilisé dans le monde Linux
est le système de fichiers étendu, deuxième version, plus connu sous
son acronyme (<systemitem class="filesystem">ext2</systemitem>, mais
avec les nouveaux disques haute capacité, les systèmes de fichiers
journalisés deviennent de plus en plus populaires. Le système de
fichiers étendu, troisième version
 
(<systemitem class="filesystem">ext3</systemitem>) est une
amélioration couramment utilisée de
 
<systemitem class="filesystem">ext2</systemitem>, qui ajoute des
options de journalisation et qui est compatible avec les utilitaires
de E2fsprogs. Nous créerons un système de fichiers <systemitem
class="filesystem">ext3</systemitem>. Les instructions de construction
d'autres systèmes de fichiers sont disponibles dans
 
<ulink url="&blfs-root;view/svn/postlfs/filesystems.html"/>.</para>
 
<para>Pour créer un système de fichiers
 
<systemitem class="filesystem">ext3</systemitem> sur la partition LFS,
lancez ce qui suit&nbsp;:</para>
 
<screen role="nodump"><userinput>mke2fs -jv /dev/<replaceable>&lt;xxx&gt;</replaceable></userinput></screen>
 
<para>Remplacez <replaceable>&lt;xxx&gt;</replaceable> par le nom de
la partition LFS (<filename class="devicefile">hda5</filename> dans
notre exemple précédent).</para>
 
<note>
<para>Quelques distributions hôtes utilisent des fonctionnalités
personnalisées dans leur outil de création de systèmes de fichiers
(e2fsprogs). Ceci peut poser des problèmes lors du démarrage dans
votre nouveau LFS au chapitre 9 car toutes ces fonctionnalités ne
seront pas supportées par la version d'e2fsprogs installée par LFS&nbsp;;
vous aurez une erreur du type <quote>unsupported filesystem
features, upgrade your e2fsprogs</quote>. Pour
voir si votre système hôte utilise des améliorations
personnalisées, utilisez la commande suivante&nbsp;:</para>
 
<screen role="nodump"><userinput>debugfs -R feature /dev/<replaceable>&lt;xxx&gt;</replaceable></userinput></screen>
 
<para>Si la sortie contient des fonctionnalités autres que
<option>has_journal</option>, <option>ext_attr</option>,
<option>resize_inode</option>, <option>dir_index</option>,
<option>filetype</option>, <option>sparse_super</option>,
<option>large_file</option> ou <option>needs_recovery</option>,
alors votre système hôte pourrait
avoir des améliorations personnalisées. Dans ce cas, pour éviter tout
problème ultérieur, vous devez compiler le paquetage e2fsprogs et
utiliser les binaires résultant de cette compilation pour re-créer
le système de fichiers sur votre partition LFS&nbsp;:</para>
 
<screen role="nodump"><userinput>cd /tmp
tar -xzvf /path/to/sources/e2fsprogs-&e2fsprogs-version;.tar.gz
cd e2fsprogs-&e2fsprogs-version;
mkdir -v build
cd build
../configure
make #note that we intentionally don't 'make install' here!
./misc/mke2fs -jv /dev/<replaceable>&lt;xxx&gt;</replaceable>
cd /tmp
rm -rfv e2fsprogs-&e2fsprogs-version;</userinput></screen>
</note>
 
<para>Si vous utilisez une partition de
 
<systemitem class="filesystem">swap </systemitem> existante, il n'est
pas nécessaire de la formater. Si vous avez créé une nouvelle
partition <systemitem class="filesystem">swap</systemitem>, elle devra
être initialisée, pour pouvoir être utilisée, en exécutant la
commande&nbsp;:</para>
 
<screen role="nodump"><userinput>mkswap /dev/<replaceable>&lt;yyy&gt;</replaceable></userinput></screen>
 
<para>Remplacez <replaceable>&lt;yyy&gt;</replaceable> par le nom de
la partition de <systemitem
class="filesystem">swap</systemitem>.</para>
 
</sect1>
/trunk/hlfs/chapter02/mounting.xml
0,0 → 1,72
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="space-mounting">
<?dbhtml filename="mounting.html"?>
 
<title>Monter la nouvelle partition</title>
 
<para>Maintenant qu'un système de fichiers a été créé, la partition
doit être accessible. Pour cela, la partition a besoin d'être montée
sur un point de montage choisi. Pour ce livre, il est supposé que le
système de fichiers est monté sous <filename
class="directory">/mnt/lfs</filename>, mais le choix du répertoire
vous appartient.</para>
 
<para>Choisissez un point de montage et affectez-le à la variable
d'environnement <envar>LFS</envar> en lançant&nbsp;:</para>
 
<screen role="nodump"><userinput>export LFS=/mnt/lfs</userinput></screen>
 
<para>Maintenant, créez le point de montage et montez le système de
fichiers LFS en lançant&nbsp;:</para>
 
<screen role="nodump"><userinput>mkdir -pv $LFS
mount -v -t ext3 /dev/<replaceable>&lt;xxx&gt;</replaceable> $LFS</userinput></screen>
 
<para>Remplacez <replaceable>&lt;xxx&gt;</replaceable> par la
désignation de la partition LFS.</para>
 
<para>Si vous utilisez plusieurs partitions pour LFS (par exemple
une pour <filename class="directory">/</filename> et une autre pour
<filename class="directory">/usr</filename>), montez-les en
utilisant&nbsp;:</para>
 
<screen role="nodump"><userinput>mkdir -pv $LFS
mount -v -t ext3 /dev/<replaceable>&lt;xxx&gt;</replaceable> $LFS
mkdir -v $LFS/usr
mount -v -t ext3 /dev/<replaceable>&lt;yyy&gt;</replaceable> $LFS/usr</userinput></screen>
 
<para>Remplacez <replaceable>&lt;xxx&gt;</replaceable> et
<replaceable>&lt;yyy&gt;</replaceable> par les noms de partition
appropriés.</para>
 
<para>Assurez-vous que cette nouvelle partition n'est pas montée avec
des droits trop restrictifs (tels que les options
<option>nosuid</option>, <option>nodev</option>, ou
<option>noatime</option>). Lancez la commande <command>mount</command>
sans aucun paramètre pour voir les options configurées pour la
partition LFS montée. Si <option>nosuid</option>,
<option>nodev</option>, et/ou <option>noatime</option> sont
configurées, la partition devra être remontée.</para>
 
<para>Si vous utilisez une partition de
 
<systemitem class="filesystem">swap</systemitem>, assurez-vous qu'elle
est activée en lançant la commande <command>swapon</command>&nbsp;:</para>
 
<screen role="nodump"><userinput>/sbin/swapon -v /dev/<replaceable>&lt;zzz&gt;</replaceable></userinput></screen>
 
<para>Remplacez <replaceable>&lt;zzz&gt;</replaceable> par le nom de
la partition de <systemitem
class="filesystem">swap</systemitem>.</para>
 
<para>Maintenant qu'il existe un endroit établi pour travailler, il
est temps de télécharger les paquets.</para>
 
</sect1>
 
/trunk/hlfs/chapter02/introduction.xml
0,0 → 1,17
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="space-introduction">
<?dbhtml filename="introduction.html"?>
 
<title>Introduction</title>
 
<para>Dans ce chapitre, on prépare la partition qui contiendra le
système LFS. Nous créerons la partition elle-même, lui ajouterons un
système de fichiers et nous la monterons.</para>
 
</sect1>
/trunk/hlfs/chapter03/patches.xml
0,0 → 1,219
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="materials-patches">
<?dbhtml filename="patches.html"?>
 
<title>Correctifs requis</title>
 
<para>En plus des paquets, quelques Correctifs sont aussi requis. Ces
Correctifs corrigent certaines erreurs contenues dans les paquets, ces
erreurs devraient être corrigées par le mainteneur. Les Correctifs
font aussi quelques modifications pour faciliter l'utilisation des
paquets. Les Correctifs suivants seront nécessaires pour construire un
système LFS&nbsp;:</para>
 
<variablelist role="materials">
 
<varlistentry>
<term>Correctifs d'origine Bash - <token>&bash-fixes-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&bash-fixes-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&bash-fixes-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bzip2 correctif documentation - <token>&bzip2-docs-patch-size;</token>:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&bzip2-docs-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&bzip2-docs-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bzip2 correction de versions - <token>&bzip2-version-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&bzip2-version-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&bzip2-version-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Coreutils Correctif pour l'internationalisation - <token>&coreutils-i18n-patch-size;</token>:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&coreutils-i18n-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&coreutils-i18n-patch-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Coreutils Correctif Uname - <token>&coreutils-uname-patch-size;</token>:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&coreutils-uname-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&coreutils-uname-patch-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Dejagnu correctif consolidé - <token>&dejagnu-consolidated-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&dejagnu-consolidated-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&dejagnu-consolidated-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Expect correctif configuration Tk - <token>&expect-tk-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&expect-tk-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&expect-tk-patch-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Flex GCC-4.4.x correctif - <token>&flex-gcc-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&flex-gcc-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&flex-gcc-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Correctif des Startfiles (fichiers de démarrage) de GCC - <token>&gcc-startfiles-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&gcc-startfiles-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&gcc-startfiles-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Glibc GCC Build Fix Patch - <token>&glibc-gcc_fix-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&glibc-gcc_fix-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&glibc-gcc_fix-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Glibc correctif Makefile - <token>&glibc-makefile_fix-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&glibc-makefile_fix-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&glibc-makefile_fix-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<!--<varlistentry>
<term>GRUB Correctif de Géométrie du disque - <token>&grub-geometry-patch-size;</token>:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&grub-geometry-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&grub-geometry-patch-md5;</literal></para>
</listitem>
</varlistentry>-->
 
<varlistentry>
<term>GRUB correctif n&oelig;uds 256-Byte - <token>&grub-inode-patch-size;</token>:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&grub-inode-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&grub-inode-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Kbd Correctif réparant Backspace/Delete - <token>&kbd-backspace-patch-size;</token>:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&kbd-backspace-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&kbd-backspace-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<!--
<varlistentry>
<term>Linux correctif verrouillage du modèle mémoire - <token>&linux-mm_locking-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&linux-mm_locking-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&linux-mm_locking-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
 
<varlistentry>
<term>Man-DB assertion correction en amont - <token>&man-db-upstream_fixes-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&man-db-upstream_fixes-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&man-db-upstream_fixes-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Patch Correctif suite de tests - <token>&patch-test-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&patch-test-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&patch-test-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<!-- <varlistentry>
<term>Perl correctif Libc - <token>&perl-libc-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&perl-libc-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&perl-libc-patch-md5;</literal></para>
</listitem>
</varlistentry> -->
 
<varlistentry>
<term>Perl correctif Libc - <token>&perl-libc-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&perl-libc-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&perl-libc-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Procps correctif Watch - <token>&procps-watch-patch-size;</token>:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&procps-watch-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&procps-watch-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Tar correctif débordement de mémoire - <token>&tar-overflow-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&tar-overflow-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&tar-overflow-patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<!-- <varlistentry>
<term>Shadow correctif Useradd - <token>&shadow-useradd-patch-size;</token>:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&shadow-useradd-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&shadow-useradd-patch-md5;</literal></para>
</listitem>
</varlistentry> -->
 
<!-- <varlistentry>
<term>Zlib correctif fPIC - <token>&zlib-fpic-patch-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&patches-root;&zlib-fpic-patch;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&zlib-fpic-patch-md5;</literal></para>
</listitem>
</varlistentry> -->
 
</variablelist>
 
<para>Taille totale de ces correctifs&nbsp;: environ <returnvalue/></para>
 
<para>En plus des correctifs requis ci-dessus, il existe un certain
nombre de correctifs optionnels créés par la communauté LFS. Ces
correctifs résolvent des problèmes mineurs ou activent des
fonctionnalités qui ne sont pas disponibles par défaut. Vous pouvez
consulter la base de données des correctifs à loisir sur
<ulink url="&lfs-root;patches/downloads/"/> et vous pouvez récupérer tout correctif
supplémentaire correspondant aux besoins de votre système.</para>
 
</sect1>
/trunk/hlfs/chapter03/packages.xml
0,0 → 1,619
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="materials-packages">
<?dbhtml filename="packages.html"?>
 
<title>Tous les paquets</title>
 
<para>Téléchargez ou obtenez autrement les paquets suivants&nbsp;:</para>
 
<variablelist role="materials">
 
<varlistentry>
<term>Autoconf (&autoconf-version;) - <token>&autoconf-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&autoconf-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&autoconf-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&autoconf-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Automake (&automake-version;) - <token>&automake-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&automake-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&automake-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&automake-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bash (&bash-version;) - <token>&bash-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&bash-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&bash-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&bash-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Binutils (&binutils-version;) - <token>&binutils-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&binutils-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&binutils-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&binutils-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bison (&bison-version;) - <token>&bison-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&bison-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&bison-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&bison-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bzip2 (&bzip2-version;) - <token>&bzip2-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&bzip2-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&bzip2-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&bzip2-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Coreutils (&coreutils-version;) - <token>&coreutils-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&coreutils-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&coreutils-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&coreutils-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>DejaGNU (&dejagnu-version;) - <token>&dejagnu-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&dejagnu-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&dejagnu-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&dejagnu-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Diffutils (&diffutils-version;) - <token>&diffutils-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&diffutils-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&diffutils-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&diffutils-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>E2fsprogs (&e2fsprogs-version;) - <token>&e2fsprogs-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&e2fsprogs-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&e2fsprogs-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&e2fsprogs-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Expect (&expect-version;) - <token>&expect-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&expect-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&expect-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&expect-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>File (&file-version;) - <token>&file-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&file-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&file-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&file-md5;</literal></para>
 
<note>
<para>Il se peut que le fichier (&file-version;) ne soit plus
disponible à l'emplacement indiqué. Les administrateurs du site de
l'emplacement principal de téléchargement suppriment régulièrement les
anciennes versions lorsque de nouvelles sortent. Vous pouvez trouver un autre
emplacement pour le téléchargement qui peut conserver la bonne version
disponible sur
<ulink url="http://www.linuxfromscratch.org/lfs/download.html#ftp"/>.</para>
</note>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Findutils (&findutils-version;) - <token>&findutils-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&findutils-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&findutils-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&findutils-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Flex (&flex-version;) - <token>&flex-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&flex-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&flex-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&flex-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Gawk (&gawk-version;) - <token>&gawk-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&gawk-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&gawk-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&gawk-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>GCC (&gcc-version;) - <token>&gcc-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&gcc-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&gcc-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&gcc-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>GDBM (&gdbm-version;) - <token>&gdbm-size;</token>&nbsp;:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&gdbm-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&gdbm-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&gdbm-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Gettext (&gettext-version;) - <token>&gettext-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&gettext-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&gettext-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&gettext-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Glibc (&glibc-version;) - <token>&glibc-size;</token>&nbsp;:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&glibc-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&glibc-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&glibc-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>GMP (&gmp-version;) - <token>&gmp-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&gmp-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&gmp-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&gmp-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Grep (&grep-version;) - <token>&grep-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&grep-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&grep-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&grep-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Groff (&groff-version;) - <token>&groff-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&groff-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&groff-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&groff-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>GRUB (&grub-version;) - <token>&grub-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&grub-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&grub-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&grub-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Gzip (&gzip-version;) - <token>&gzip-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&gzip-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&gzip-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&gzip-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Iana-Etc (&iana-etc-version;) - <token>&iana-etc-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&iana-etc-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&iana-etc-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&iana-etc-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Inetutils (&inetutils-version;) - <token>&inetutils-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&inetutils-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&inetutils-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&inetutils-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>IPRoute2 (&iproute2-version;) - <token>&iproute2-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&iproute2-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&iproute2-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&iproute2-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Kbd (&kbd-version;) - <token>&kbd-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&kbd-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&kbd-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&kbd-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Less (&less-version;) - <token>&less-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&less-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&less-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&less-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>LFS-Bootscripts (&lfs-bootscripts-version;) - <token>&lfs-bootscripts-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&lfs-bootscripts-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&lfs-bootscripts-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&lfs-bootscripts-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Libtool (&libtool-version;) - <token>&libtool-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&libtool-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&libtool-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&libtool-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Linux (&linux-version;) - <token>&linux-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&linux-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&linux-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&linux-md5;</literal></para>
 
<note>
<para>Le noyau Linux est régulièrement mis à jour, souvent
suite à la découverte de de failles de sécurité. Vous devriez
utiliser la version
&linux-major-version;.&linux-minor-version;.x la plus récente
disponible du noyau, sauf si la page d'errata dit autre chose.</para>
<para>Pour les utilisateurs ayant un débit limité ou une bande passante
chère, si vous souhaitez mettre à jour le noyau Linux, une version
en ligne de commande du paquet et des correctifs peuvent être
téléchargées séparément. Ceci peut économiser du temps ou de l'argent
pour une mise à jour d'un niveau de correctif mineure (subsequent) à
l'intérieur d'une version mineure.</para>
</note>
</listitem>
</varlistentry>
 
<varlistentry>
<term>M4 (&m4-version;) - <token>&m4-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&m4-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&m4-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&m4-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Make (&make-version;) - <token>&make-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&make-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&make-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&make-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Man-DB (&man-db-version;) - <token>&man-db-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&man-db-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&man-db-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&man-db-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Man-pages (&man-pages-version;) - <token>&man-pages-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&man-pages-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&man-pages-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&man-pages-md5;</literal></para>
</listitem>
</varlistentry>
 
<!-- <varlistentry>
<term>Mktemp (&mktemp-version;) - <token>&mktemp-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&mktemp-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&mktemp-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&mktemp-md5;</literal></para>
</listitem>
</varlistentry> -->
 
<varlistentry>
<term>Module-Init-Tools (&module-init-tools-version;) - <token>&module-init-tools-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&module-init-tools-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&module-init-tools-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&module-init-tools-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>MPFR (&mpfr-version;) - <token>&mpfr-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&mpfr-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&mpfr-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&mpfr-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>MPC (&mpc-version;) - <token>&mpc-size;</token>&nbsp;:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&mpc-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&mpc-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&mpc-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Ncurses (&ncurses-version;) - <token>&ncurses-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&ncurses-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&ncurses-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&ncurses-md5;</literal></para>
</listitem>
</varlistentry>
 
<!-- FIXME:
<varlistentry>
<term>Ncurses Rollup Patch (&ncurses-date;) - 328 KB:</term>
<listitem>
<para><ulink url="ftp://invisible-island.net/ncurses/&ncurses-version;/"/></para>
 
<note>
<para>Ncurses Rollup Patch (&ncurses-date;) peut ne plus
être disponible à l'emplacement spécifié. Les administrateurs du site de
l'emplacement principal de téléchargement suppriment régulièrement les
anciennes versions lorsque de nouvelles sortedt. Il n'y a pas encore
d'autre emplacement de téléchargement.</para>
</note>
</listitem>
</varlistentry>
-->
 
<varlistentry>
<term>Patch (&patch-version;) - <token>&patch-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&patch-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&patch-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&patch-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Perl (&perl-version;) - <token>&perl-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&perl-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&perl-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&perl-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Pkg-config (&pkg-config-version;) - <token>&pkg-config-size;</token>&nbsp;:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&pkg-config-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&pkg-config-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&pkg-config-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Procps (&procps-version;) - <token>&procps-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&procps-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&procps-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&procps-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Psmisc (&psmisc-version;) - <token>&psmisc-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&psmisc-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&psmisc-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&psmisc-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Pkg-config (&pkg-config-version;) - <token>&pkg-config-size;</token>&nbsp;:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&pkg-config-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&pkg-config-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&pkg-config-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Readline (&readline-version;) - <token>&readline-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&readline-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&readline-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&readline-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Sed (&sed-version;) - <token>&sed-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&sed-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&sed-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&sed-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Shadow (&shadow-version;) - <token>&shadow-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&shadow-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&shadow-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&shadow-md5;</literal></para>
 
<!-- Using anduin for now since this site is dead
<note>
<para>Shadow (&shadow-version;) peut ne plus être disponibbe à
l'emplacement spécifié. Les administrateurs du site de l'emplacement de
téléchargement principal déplacent les anciennes versions sur
<ulink url="ftp://ftp.pld.org.pl/software/shadow/old/"/> lorsque
de nouvelles sortent.</para>
</note>
-->
</listitem>
</varlistentry>
 
<varlistentry>
<term>Sysklogd (&sysklogd-version;) - <token>&sysklogd-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&sysklogd-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&sysklogd-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&sysklogd-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Sysvinit (&sysvinit-version;) - <token>&sysvinit-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&sysvinit-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&sysvinit-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&sysvinit-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Tar (&tar-version;) - <token>&tar-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&tar-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&tar-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&tar-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Tcl (&tcl-version;) - <token>&tcl-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&tcl-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&tcl-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&tcl-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Texinfo (&texinfo-version;) - <token>&texinfo-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&texinfo-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&texinfo-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&texinfo-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Udev (&udev-version;) - <token>&udev-size;</token>&nbsp;:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&udev-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&udev-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&udev-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Udev archive tar de Test (&udev-version;) - <token>&udev-testfiles-size;</token>&nbsp;:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&udev-testfiles-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&udev-testfiles-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Udev Configuration Tarball - <token>&udev-config-size;</token>:</term>
<listitem>
<para>Téléchargement&nbsp;: <ulink url="&udev-config-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&udev-config-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Util-linux-ng (&util-linux-ng-version;) - <token>&util-linux-ng-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&util-linux-ng-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&util-linux-ng-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&util-linux-ng-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Vim (&vim-version;) - <token>&vim-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&vim-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&vim-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&vim-md5;</literal></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Zlib (&zlib-version;) - <token>&zlib-size;</token>:</term>
<listitem>
<para>Page d'accueil&nbsp;: <ulink url="&zlib-home;"/></para>
<para>Téléchargement&nbsp;: <ulink url="&zlib-url;"/></para>
<para>Somme de contrôle MD5&nbsp;: <literal>&zlib-md5;</literal></para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Taille totale de ces paquets&nbsp;: environ <returnvalue/></para>
 
</sect1>
/trunk/hlfs/chapter03/chapter03.xml
0,0 → 1,18
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<chapter id="chapter-getting-materials" xreflabel="Chapitre 3">
<?dbhtml dir="chapter03"?>
<?dbhtml filename="chapter03.html"?>
 
<title>Paquets et correctifs</title>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="packages.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="patches.xml"/>
 
</chapter>
/trunk/hlfs/chapter03/introduction.xml
0,0 → 1,61
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="materials-introduction">
<?dbhtml filename="introduction.html"?>
 
<title>Introduction</title>
 
<para>Ce chapitre inclut une liste de paquets devant être téléchargés
pour construire un système Linux basique. Les numéros de versions
affichés correspondent aux versions des logiciels qui, selon nous,
fonctionnent à coup sûr. Ce livre est basé sur leur utilisation. Nous vous
recommandons fortement de ne pas utiliser de versions supérieures car
les commandes de construction pour une version pourraient ne pas
fonctionner avec une version plus récente. Les versions plus récentes
pourraient aussi avoir des problèmes nécessitant des contournements.
Ces derniers seront développés et stabilisés dans la version de
développement du livre.</para>
 
<para>Il se peut que les emplacements de téléchargement ne soient pas
toujours accessibles. Si un emplacement de téléchargement a changé
depuis la publication de ce livre, google
 
(<ulink url="http://www.google.com/"/>) offre un moteur de recherche
utile pour la plupart des paquets. Si cette recherche est
infructueuse, essayez un des autres moyens de téléchargement
disponible sur url="&lfs-root;lfs/packages.html#packages"/>.</para>
 
<para>Les paquets et les correctifs téléchargés doivent être stockés
quelque part où ils seront facilement disponibles pendant toute la
construction. Un répertoire fonctionnel est aussi requis pour déballer
les sources et pour les construire. Vous pouvez utiliser le répertoire
<filename class="directory">$LFS/sources</filename> à la fois comme
emplacement de stockage pour les archives tar et les correctifs, mais
aussi comme répertoire fonctionnel. En utilisant ce répertoire d'éléments
requis seront situés sur la partition LFS et seront disponibles à
toutes les étapes du processus de construction.</para>
 
<para>Pour créer ce répertoire, lancez, en tant qu'utilisateur
<systemitem class="username">root</systemitem>, avant de commencer la
session de téléchargement&nbsp;:</para>
 
<screen role="nodump"><userinput>mkdir -v $LFS/sources</userinput></screen>
 
<para>Donnez le droit d'écriture et le droit sticky sur ce répertoire.
<quote>Sticky</quote> signifie que même si de nombreux utilisateurs
peuvent écrire sur un répertoire, seul le propriétaire du fichier
peut supprimer ce fichier à l'intérieur du répertoire sticky. La
commande suivante activera les droits d'écriture et sticky&nbsp;:</para>
 
<screen role="nodump"><userinput>chmod -v a+wt $LFS/sources</userinput></screen>
 
<para>Une manière simple de télécharger tous les paquets et les correctifs
est d'utiliser <ulink url="../wget-list">wget-list</ulink> comme entrée
pour <command>wget</command>.</para>
 
</sect1>
/trunk/hlfs/chapter04/aboutsbus.xml
0,0 → 1,71
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="prepare-aboutsbus">
<?dbhtml filename="aboutsbus.html"?>
 
<title>À propos des SBU</title>
 
<para>Beaucoup de personnes souhaitent savoir combien de temps la
compilation et l'installation de chaque paquet va prendre. Mais Linux
from Scratch est construit sur tant de systèmes différents qu'il est
impossible de donner des temps précis. Le plus gros paquet (Glibc)
prendra approximativement vingt minutes sur les systèmes les plus
rapides mais pourrait prendre environ trois jours sur les moins
rapides&nbsp;! Au lieu de donner les temps constatés, l'unité de
construction standard (<emphasis>Standard Build Unit</emphasis>) est
utilisée.</para>
 
<para>La mesure SBU fonctionne ainsi. Le premier paquet que vous
compilez dans ce livre est Binutils lors du <xref
linkend="chapter-temporary-tools"/>. Le temps que prend la compilation
de ce
 
paquet est ce que nous appelons <quote>SBU</quote>. Tous les autres
temps de compilation sont exprimés par rapport à celui-ci</para>
 
<para>Par exemple, considérez un paquet spécifique dont le temps de
compilation correspond à 4,5&nbsp;SBU. Ceci signifie que s'il vous a
fallu 10 minutes pour compiler et installer la première passe de
Binutils, alors vous savez que cela prendra <emphasis>45 minutes</emphasis>
pour construire ce paquet. Heureusement, la plupart des temps
de construction sont bien plus courts que celui de Binutils.</para>
 
<para>En général, les SBU ne sont pas vraiment précis car ils
dépendent de trop de facteurs, dont la version de GCC sur votre
machine hôte. Ils sont fournis ici pour donner une
estimation du temps nécessaire pour installer un paquet mais ces
nombres peuvent varier de plusieurs dizaines de minutes dans certains
cas.</para>
 
<para>Si vous souhaitez voir des chronométrages réels pour des
machines spécifiques, nous recommandons la page d'accueil de
<ulink url="&lfs-root;~sbu/"/>.</para>
 
<note><para>Pour beaucoup de systèmes modernes avec plusieurs processeurs (ou coeurs),
le temps de compilation d'un paquet peut être réduit en effectuant un
"make parallèle", soit en réglant une variable d'environnement, soit en disant au
programme <command>make</command> combien de processeurs sont disponibles.
Par exemple, un bicoeur peut supporter deux processus simultanés avec&nbsp;:</para>
 
<screen><userinput>export MAKEFLAGS='-j 2'</userinput></screen>
 
<para>ou simplement en construisant avec&nbsp;:</para>
 
<screen><userinput>make -j2</userinput></screen>
 
<para>Si vous utilisez plusieurs processeurs de cette façon, les unités de SBU
du livre vont varier encore plus que la normale. L'analyse de la sortie
du processus de construction sera aussi plus difficile car les lignes des
différents processus seront mélangées. Si vous rencontrez un problème à une étape
de la construction, revenez à une construction avec un seul processeur pour analyser correctement
les messages d'erreur.</para>
 
</note>
 
</sect1>
 
/trunk/hlfs/chapter04/chapter04.xml
0,0 → 1,21
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<chapter id="chapter-final-preps" xreflabel="Chapitre 4">
<?dbhtml dir="chapter04"?>
<?dbhtml filename="chapter04.html"?>
 
<title>Dernières préparations</title>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="aboutlfs.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creatingtoolsdir.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="addinguser.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="settingenviron.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="aboutsbus.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="abouttestsuites.xml"/>
 
</chapter>
/trunk/hlfs/chapter04/settingenviron.xml
0,0 → 1,119
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-settingenviron">
<?dbhtml filename="settingenvironment.html"?>
 
<title>Configurer l'environnement</title>
 
<para>Configurez un bon environnement de travail en créant deux
nouveaux fichiers de démarrage pour le shell <command>bash</command>.
En étant connecté en tant qu'utilisateur
 
<systemitem class="username">lfs</systemitem>, lancez la commande
suivante pour créer un nouveau
<filename>.bash_profile</filename>&nbsp;:</para>
 
<screen><userinput>cat &gt; ~/.bash_profile &lt;&lt; "EOF"
<literal>exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash</literal>
EOF</userinput></screen>
 
<para>Lorsque vous êtes connecté en tant que
 
<systemitem class="username">lfs</systemitem>, le shell
initial est habituellement un shell de <emphasis>login</emphasis> qui lit
le fichier
<filename>/etc/profile</filename> de l'hôte (contenant probablement
quelques configurations et variables d'environnement) et puis
<filename>.bash_profile</filename>. La commande
 
<command>exec env -i.../bin/bash</command> dans le fichier
<filename>.bash_profile</filename> remplace le shell en cours avec un
nouveau ayant un environnement complètement vide sauf pour les
variables <envar>HOME</envar>, <envar>TERM</envar>, et
<envar>PS1</envar>. Ceci nous assure qu'aucune variable
d'environnement non souhaitée et potentiellement dangereuse, provenant
du système hôte, ne parvienne dans l'environnement de construction. La
technique utilisée ici s'assure de ce but d'environnement
propre.</para>
 
<para>La nouvelle instance du shell est un shell
<emphasis>non-login</emphasis>, qui ne lit donc pas les fichiers
<filename>/etc/profile</filename> ou
<filename>.bash_profile</filename>, mais plutôt le fichier
<filename>.bashrc</filename> file. Créez maintenant le fichier
<filename>.bashrc</filename>&nbsp;:</para>
 
<screen><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
<literal>set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH</literal>
EOF</userinput></screen>
 
<para>La commande <command>set +h</command> désactive la fonction de
hachage de <command>bash</command>. D'habitude, le hachage est une
fonctionnalité utile&mdash;<command>bash</command> utilise une table
de hachage pour se rappeler le chemin complet des fichiers exécutables
pour éviter d'avoir à chercher dans <envar>PATH</envar> à chaque fois
qu'il doit trouver le même exécutable. Néanmoins, les nouveaux outils
devraient être utilisés dès leur installation. En désactivant la
fonction de hachage, le shell cherchera en permanence dans
<envar>PATH</envar> lorsqu'un programme doit être exécuté. Ainsi, le
shell
 
trouvera les nouveaux outils compilés dans
 
<filename class="directory">$LFS/tools</filename> dès qu'ils sont
disponibles et sans se rappeler de la version précédente du même
programme mais dans un autre emplacement.</para>
 
<para>Configurer le masque de création de fichier (umask) à 022 nous
assure que les nouveaux fichiers et répertoires créés sont modifiables
uniquement par leurs propriétaires mais lisibles et exécutables par
tout le monde (en supposant que les modes par défaut sont utilisés par
l'appel système <function>open(2)</function> les nouveaux fichiers
finiront avec les droits 644 et les répertoires avec ceux 755).</para>
 
<para>La variable <envar>LFS</envar> devrait être configurée avec le
point de montage choisi.</para>
 
<para>La variable <envar>LC_ALL</envar> contrôle la localisation de
certains programmes, faisant que leurs messages suivent les
conventions d'un pays spécifié. Si le système hôte utilise une version
de Glibc plus ancienne que la 2.2.4, avoir <envar>LC_ALL</envar>
initialisé à quelque chose d'autre que <quote>POSIX</quote> ou
<quote>C</quote> (pendant ce chapitre) pourrait poser des problèmes si
vous quittez l'environnement chroot et souhaitez y retourner plus
tard. Initialiser <envar>LC_ALL</envar> à <quote>POSIX</quote> ou
<quote>C</quote> (les deux sont équivalents) nous assure que tout
fonctionnera comme attendu dans l'environnement chroot.</para>
<para>La variable <envar>LFS_TGT</envar> initialise une description de
machine compatible mais par défaut lors de la construction de notre
compilateur et de notre éditeur de liens croisés et lors de la compilation
de notre chaîne d'outils temporaire. Vous trouverez plus d'informations dans
<xref linkend="ch-tools-toolchaintechnotes" role=""/>.</para>
 
<para>En plaçant <filename class="directory">/tools/bin</filename> au
début du <envar>PATH</envar> standard, tous les programmes installés
dans <xref linkend="chapter-temporary-tools"/> sont récupérés par le
shell immédiatement après leur installation. Ceci, combiné avec la
désactivation du hachage, limite le risque que d'anciens programmes de
l'hôte soient utilisés alors que les mêmes programmes sont disponibles
depuis l'environnement du chapitre 5.</para>
 
<para>Enfin, pour avoir un environnement complètement préparé pour la
construction des outils temporaires, chargez le profil de l'utilisateur
tout juste créé&nbsp;:</para>
 
<screen><userinput>source ~/.bash_profile</userinput></screen>
 
</sect1>
/trunk/hlfs/chapter04/abouttestsuites.xml
0,0 → 1,60
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="prepare-abouttestsuites">
<?dbhtml filename="abouttestsuites.html"?>
 
<title>À propos des suites de tests</title>
 
<para>La plupart des paquets disposent d'une suite de tests. Lancer
cette suite de tests pour un paquet nouvellement construit est
généralement une bonne idée car cela peut apporter une
<quote>vérification de propreté</quote> comme quoi tout a été compilé
correctement. Une suite de tests réussissant l'ensemble des
vérifications prouve généralement que le paquet fonctionne à peu près
comme le développeur en avait l'intention. Néanmoins, cela ne garantit
pas que le paquet ne contient pas de bogues.</para>
 
<para>Certaines des suites de tests sont plus importantes que
d'autres. Par exemple, les suites de tests des paquets formant le
c&oelig;ur de l'ensemble des outils&mdash;GCC, Binutils, and
Glibc&mdash;sont de la plus grande importance étant donné leur rôle
central dans un système fonctionnel. Les suites de tests pour GCC et
Glibc peuvent prendre beaucoup de temps pour se terminer, surtout sur
du matériel lent, mais ils sont fortement recommandés</para>
 
<note>
<para>L'expérience nous a montré qu'il y a peu à gagner en lançant ces
suites de tests au <xref linkend="chapter-temporary-tools"/>. Il n'y a pas
d'échappatoire au fait que le système hôte exerce toujours une influence sur
les tests dans ce chapitre, occasionnant fréquemment des échecs étonnants et
inexplicables. Comme les outils construits dans le <xref linkend="chapter-temporary-tools"/> sont temporaires et éventuellement
supprimés, pour le lecteur habituel de ce livre, nous recommandons de ne pas
lancer les suites de tests dans le
<xref linkend="chapter-temporary-tools"/> pour l'utilisateur de base. Les instructions de lancement de ces suites de test
sont fournies pour les testeurs et les développeurs mais elles sont réellement
optionnelles pour tous les autres.</para>
</note>
 
<para>Un problème commun lors du lancement des suites de test pour
Binutils et GCC est de manquer de pseudo-terminaux (PTY). Le symptôme
est un nombre inhabituellement élevé de tests ayant échoué. Ceci peut
arriver pour un certain nombre de raisons. La plus raisonnable est que
le système hôte ne dispose pas du système de fichiers <systemitem
class="filesystem">devpts</systemitem> configuré correctement. Ce
problème est traité avec beaucoup plus de détails sur
<ulink url="&lfs-root;/lfs/faq.html#no-ptys"/>.</para>
 
<para>Quelquefois, les suites de test des paquets échoueront mais pour
des raisons dont les développeurs sont conscients et qu'ils ont
estimées non critique. Consultez les traces sur
 
<ulink url="&test-results;"/> pour vérifier si ces échecs sont
attendus. Ce site est valide pour tous les tests effectués dans ce
livre.</para>
 
</sect1>
/trunk/hlfs/chapter04/aboutlfs.xml
0,0 → 1,45
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="prepare-aboutlfs">
<?dbhtml filename="aboutlfs.html"?>
 
<title>À propos de $LFS</title>
 
<para>Tout au long de ce livre, la variable d'environnement
<envar>LFS</envar> sera utilisée. Il est vital que
cette variable soit toujours définie. Elle doit pointer vers le point
de montage choisi pour la partition LFS. Vérifiez que votre variable
<envar>LFS</envar> est correctement configurée avec&nbsp;:</para>
 
<screen role="nodump"><userinput>echo $LFS</userinput></screen>
 
<para>Assurez-vous que la sortie affiche le chemin vers le point de
montage de la partition LFS, c'est-à-dire
 
<filename class="directory">/mnt/lfs</filename> si vous avez suivi
l'exemple fourni. Si cet affichage est mauvais, vous pouvez toujours
initialiser la variable avec&nbsp;:</para>
 
<screen role="nodump"><userinput>export LFS=/mnt/lfs</userinput></screen>
 
<para>Avoir cette variable initialisée est tout à votre bénéfice car
des commandes telles que <command>mkdir $LFS/tools</command> peuvent
être saisies de façon littérale. Votre shell remplacera
<quote>$LFS</quote> par <quote>/mnt/lfs</quote> (ou par ce chemin
avec lequel vous avez initialisé la variable) lorsqu'il exécutera la
ligne de commande.</para>
 
<para>N'oubliez pas de vérifier que <envar>$LFS</envar> est initialisé
à chaque fois que vous entrez dans l'environnement (par exemple, avec
<command>su</command> pour
 
<systemitem class="username">root</systemitem> ou un autre
utilisateur).</para>
 
</sect1>
 
/trunk/hlfs/chapter04/addinguser.xml
0,0 → 1,116
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-addinguser">
<?dbhtml filename="addinguser.html"?>
 
<title>Ajouter l'utilisateur LFS</title>
 
<para>Lorsque vous êtes connecté en tant qu'utilisateur
<systemitem class="username">root</systemitem>, faire une simple
erreur peut endommager voire dévaster votre système. Donc, nous
recommandons de construire les paquets dans ce chapitre en tant
qu'utilisateur non privilégié. Vous pouvez bien sûr utiliser
votre propre nom d'utilisateur mais, pour faciliter l'établissement
d'un environnement de travail propre, créez un nouvel utilisateur
<systemitem class="username">lfs</systemitem> comme membre d'un
nouveau groupe <systemitem class="groupname">lfs</systemitem>)
utilisez-le lors du processus d'installation. En tant que <systemitem
class="username">root</systemitem>, lancez les commandes suivantes
pour créer le nouvel utilisateur&nbsp;:</para>
 
<screen><userinput>groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs</userinput></screen>
 
<variablelist>
<title>Voici la signification des options en ligne de commande&nbsp;:</title>
 
<varlistentry>
<term><parameter>-s /bin/bash</parameter></term>
<listitem>
<para>Ceci fait de <command>bash</command> le shell par défaut de
l'utilisateur
<systemitem class="username">lfs</systemitem>.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>-g lfs</parameter></term>
<listitem>
<para>Cette option ajoute l'utilisateur <systemitem class="username">lfs</systemitem>
au groupe <systemitem class="groupname">lfs</systemitem>.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>-m</parameter></term>
<listitem>
<para>Ceci crée un répertoire personnel pour l'utilisateur
 
<systemitem class="username">lfs</systemitem>.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>-k /dev/null</parameter></term>
<listitem>
<para>Ce paramètre empêche toute copie possible de fichiers provenant
du répertoire squelette (par défaut, <filename class="directory">/etc/skel</filename>)
en modifiant son emplacement par le
périphérique spécial null.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>lfs</parameter></term>
<listitem>
<para>Ceci est le nom réel pour le groupe et l'utilisateur
créé.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Pour vous connecter en tant qu'utilisateur
<systemitem class="username">lfs</systemitem> (et non pas de passer à
l'utilisateur <systemitem class="username">lfs</systemitem> alors que
vous êtes connecté en tant que
<systemitem class="username">root</systemitem>, ce qui ne requiert pas
de mot de passe pour l'utilisateur
<systemitem class="username">lfs</systemitem>, donnez un mot de passe
à <systemitem class="username">lfs</systemitem>&nbsp;:</para>
 
<screen role="nodump"><userinput>passwd lfs</userinput></screen>
 
<para>Donnez à
<systemitem class="username">lfs</systemitem> un accès complet à
<filename class="directory">$LFS/tools</filename> en indiquant que
<systemitem class="username">lfs</systemitem> est le propriétaire du
répertoire&nbsp;:</para>
 
<screen><userinput>chown -v lfs $LFS/tools</userinput></screen>
 
<para>Si un répertoire de travail séparé a été créé comme suggéré,
faites que l'utilisateur <systemitem class="username">lfs</systemitem>
soit aussi le propriétaire de ce répertoire&nbsp;:</para>
 
<screen><userinput>chown -v lfs $LFS/sources</userinput></screen>
 
<para>Ensuite, connectez-vous en tant que
 
<systemitem class="username">lfs</systemitem>. Ceci peut se faire via
une console virtuelle, avec le gestionnaire d'affichage ou avec la
commande suivante de substitution d'utilisateur</para>
 
<screen role="nodump"><userinput>su - lfs</userinput></screen>
 
<para>Le <quote><parameter>-</parameter></quote> indique à
<command>su</command> de lancer un shell de connexion. Vous trouverez
la différence entre un shell de connexion et un autre dans la page man
<filename>bash(1)</filename> et <command>info bash</command>.</para>
 
</sect1>
/trunk/hlfs/chapter04/creatingtoolsdir.xml
0,0 → 1,65
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-creatingtoolsdir">
<?dbhtml filename="creatingtoolsdir.html"?>
 
<title>Créer le répertoire $LFS/tools</title>
 
<para>Tous les programmes compilés dans
 
<xref linkend="chapter-temporary-tools"/> seront installés dans
<filename class="directory">$LFS/tools</filename> pour les tenir
séparés des programmes compilés dans le
 
<xref linkend="chapter-building-system"/>. Les programmes compilés ici
sont seulement des outils temporaires et ne prendront pas part au
système LFS final. En les conservant dans un répertoire séparé, nous
pourrons facilement les supprimer plus tard. Ceci nous aide aussi à
les empêcher de finir dans les répertoires de production de votre hôte
(facile à faire par accident dans le
 
<xref linkend="chapter-temporary-tools"/>).</para>
 
<para>Créez le répertoire requis en lançant la commande suivante en
tant qu'utilisateur
 
<systemitem class="username">root</systemitem>&nbsp;:</para>
 
<screen><userinput>mkdir -v $LFS/tools</userinput></screen>
 
<para>La prochaine étape consiste en la création du lien symbolique
<filename class="symlink">/tools</filename> sur votre système hôte. Il
pointera vers le répertoire que vous venez de créer sur la partition
LFS. Lancez cette commande en tant
 
qu'utilisateur <systemitem class="username">root</systemitem>&nbsp;:</para>
 
<screen><userinput>ln -sv $LFS/tools /</userinput></screen>
 
<note>
<para>La commande ci-dessus est correcte. La commande <command>ln</command>
a quelques variations syntaxiques, assurez-vous de
vérifier <command>info coreutils ln</command> et <filename>ln(1)</filename>
avant de signaler ce que vous pensez être une
erreur.</para>
</note>
 
<para>Le lien symbolique créé nous permet de compiler notre ensemble
d'outils de façon à ce qu'il se réfère à
 
<filename class="directory">/tools</filename>, ce qui signifie que
le
 
compilateur, l'assembleur et l'éditeur de liens fonctionneront tous
dans ce
 
chapitre (alors que nous utilisons toujours quelques outils provenant
de l'hôte) et dans le suivant (lorsque nous serons en
<quote>chrooted</quote> sur la partition LFS).</para>
 
</sect1>
/trunk/hlfs/chapter05/gcc-pass2.xml
0,0 → 1,306
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-gcc-pass2" role="wrap">
<?dbhtml filename="gcc-pass2.html"?>
 
<sect1info condition="script">
<productname>gcc</productname>
<productnumber>&gcc-version;</productnumber>
<address>&gcc-url;</address>
</sect1info>
 
<title>GCC-&gcc-version; - Passe 2</title>
 
<indexterm zone="ch-tools-gcc-pass2">
<primary sortas="a-GCC">GCC</primary>
<secondary>outils, passe 2</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/gcc.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&gcc-ch5p2-sbu;</seg>
<seg>&gcc-ch5p2-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de GCC</title>
 
<para>Les versions de GCC supérieures à 4.3 vont gérer cette construction
comme si C était un compilateur placé à un nouvel endroit et interdire
la recherche de fichiers de démarrage (startfiles) dans l'emplacement
spécifié par <parameter>--prefix</parameter>. Comme ce ne sera pas un
compilateur placé à un nouvel endroit, et vu que les fichiers de
démarrage dans <filename class="directory">/tools</filename> sont cruciaux
pour la construction d'un compilateur fonctionnel liés aux libs dans
<filename class="directory">/tools</filename>, appliquez le correctif suivant
qui ramène partiellement GCC vers son ancien comportement&nbsp;:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&gcc-startfiles-patch;</userinput></screen>
 
<para>Dans des circonstances normales, le script
<command>fixincludes</command> de GCC est exécuté
afin de réparer des fichiers d'en-tête potentiellement cassés. Comme
GCC-&gcc-version; et Glibc-&glibc-version; ont désormais déjà été installés,
et vu que leur fichiers d'en-têtes respectifs sont connus comme n'ayant
pas besoin de réparation, le script <command>fixincludes</command> n'est
pas utile. En fait, il se peut que le script pollue
l'environnement de construction en installant des en-têtes corrigées du
système hôte dans le répertoire autonome include de GCC. L'exécution du
script <command>fixincludes</command> peut être supprimée en lançant les
commandes suivantes&nbsp;:</para>
 
<screen><userinput remap="pre">cp -v gcc/Makefile.in{,.orig}
sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig &gt; gcc/Makefile.in</userinput></screen>
 
<para>Pour les machines x86, une construction bootstrap de GCC utilise le drapeau
<option>-fomit-frame-pointer</option> du compilateur. Les constructions non-bootstrap suppriment ce drapeau par défaut, l'objectif
serait d'obtenir un compilateur qui est exactement le même que si nous étions bootstrapés. Appliquez la commande
<command>sed</command> suivante pour obliger la construction à utiliser le drapeau&nbsp;:</para>
 
<screen><userinput remap="pre">cp -v gcc/Makefile.in{,.tmp}
sed 's/^T_CFLAGS =$/&amp; -fomit-frame-pointer/' gcc/Makefile.in.tmp \
&gt; gcc/Makefile.in</userinput></screen>
 
<para>La commande suivante modifiera l'emplacement par défaut de l'éditeur de lien
dynamique de GCC pour utiliser celui installé dans
<filename class="directory">/tools</filename>. Il supprime aussi
<filename class="directory">/usr/include</filename> du chemin de
recherche des en-têtes de GCC.</para>
 
<para>Faire cela maintenant plutôt qu'ajuster le fichier specs après
l'installation nous assure que l'éditeur de liens dynamiques sera utilisé
lors de la construction de GCC. C'est-à-dire que tous les exécutables créés lors de la construction seront liés à la nouvelle Glibc.
Lancez&nbsp;:</para>
<screen><userinput remap="pre">for file in \
$(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
do
cp -uv $file{,.orig}
sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&amp;@g' \
-e 's@/usr@/tools@g' $file.orig &gt; $file
echo '
#undef STANDARD_INCLUDE_DIR
#define STANDARD_INCLUDE_DIR 0
#define STANDARD_STARTFILE_PREFIX_1 ""
#define STANDARD_STARTFILE_PREFIX_2 ""' &gt;&gt; $file
touch $file.orig
done</userinput></screen>
 
<para>Si ce qui précède vous semble dur à suivre, décomposons-le un peu.
D'abord, nous trouvons tous les fichiers sous le répertoire <filename class="directory">gcc/config</filename> qui
sont nommés <filename>linux.h</filename> ou <filename>linux64.h</filename>.
Pour chaque fichier trouvé, nous le copions
vers un fichier du même nom mais avec en plus le suffixe <quote>.orig</quote>.
Puis la première expression sed préfixe chaque
occurrence de <quote>/lib/ld</quote>, <quote>/lib64/ld</quote> ou
<quote>/lib32/ld</quote> par <quote>/tools</quote>, tandis que la deuxième remplace les occurrences de <quote>/usr</quote> codées en dur. Nous ajoutons alors nos déclarations define qui
modifient le chemin de recherche et le préfixe du fichier de démarrage
par défaut à la fin du fichier. Enfin, nous utilisons
<command>touch</command> pour mettre à jour l'horodatage des fichiers copiés.
Utilisé conjointement avec <command>cp -u</command>, cela empêche les
modifications inattendues des fichiers d'origine au cas où les commandes
seraient exécutées deux fois par inadvertence.</para>
<para>En x86_64, le déparamétrage du spec multilib (multibibliothèque) pour GCC
assure qu'il ne s'efforcera pas de se lier aux bibliothèque sur le
système hôte&nbsp;:</para>
<screen><userinput remap="pre">case $(uname -m) in
x86_64)
for file in $(find gcc/config -name t-linux64) ; do \
cp -v $file{,.orig}
sed '/MULTILIB_OSDIRNAMES/d' $file.orig &gt; $file
done
;;
esac</userinput></screen>
 
<para>Comme dans la première construction de GCC, il a besoin de GMP,
de MPFR et MPC. Déballez les archives tar et déplacez-les dans les répertoires
nommés comme il le faut&nbsp;:</para>
<screen><userinput remap="pre">tar -jxf ../mpfr-&mpfr-version;.tar.bz2
mv -v mpfr-&mpfr-version; mpfr
tar -jxf ../gmp-&gmp-version;.tar.bz2
mv -v gmp-&gmp-version; gmp
tar -zxf ../mpc-&mpc-version;.tar.gz
mv -v mpc-&mpc-version; mpc</userinput></screen>
 
<para>De nouveau, créez un répertoire de construction
séparé&nbsp;:</para>
 
<screen><userinput remap="pre">mkdir -v ../gcc-build
cd ../gcc-build</userinput></screen>
 
<para>Avant de commencer la construction de GCC, rappelez-vous de désinitialiser
toute variable d'environnement surchargeant les options d'optimisation par
défaut.</para>
 
<para>Maintenant, préparez la compilation de GCC&nbsp;:</para>
 
<screen><userinput remap="configure">CC="$LFS_TGT-gcc -B/tools/lib/" \
AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib \
../gcc-&gcc-version;/configure --prefix=/tools \
--with-local-prefix=/tools --enable-clocale=gnu \
--enable-shared --enable-threads=posix \
--enable-__cxa_atexit --enable-languages=c,c++ \
--disable-libstdcxx-pch --disable-multilib \
--disable-bootstrap --disable-libgomp \
--with-gmp-include=$(pwd)/gmp --with-gmp-lib=$(pwd)/gmp/.libs \
--without-ppl --without-cloog</userinput></screen>
 
<variablelist>
<title>Voici la signification des nouvelles options de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>--enable-clocale=gnu</parameter></term>
<listitem>
<para>Cette option nous assure que le bon modèle de locale est
sélectionné pour les bibliothèques C++ sous toutes les circonstances. Si le
script configure trouve la locale <emphasis>de_DE</emphasis> installée, il
sélectionnera le bon modèle de locale gnu. Néanmoins, si la locale
<emphasis>de_DE</emphasis> n'est pas installée, il existe un risque de
construire des bibliothèques C++ incompatibles avec ABI (Application
Binary Interface) à cause du choix d'un
mauvais modèle générique de locale.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-threads=posix</parameter></term>
<listitem>
<para>Ceci active la gestion des exceptions C++ pour le code
multi-threadé.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-__cxa_atexit</parameter></term>
<listitem>
<para>Cette option autorise l'utilisation de
<function>__cxa_atexit</function>, plutôt que
<function>atexit</function>, pour enregistrer les destructeurs C++ des objets statiques locaux et globaux.
Cette option est essentielle pour la gestion des destructeurs en compatibilité
complète avec les standards. Il affecte aussi l'ABI C++ et donc résulte en des
bibliothèques partagées et des programmes C++ interopérables avec les autres
distributions Linux.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-languages=c,c++</parameter></term>
<listitem>
<para>Cette option garantie que les compilateurs
C et C++ seront construits.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-libstdcxx-pch</parameter></term>
<listitem>
<para>Ce commutateur empêche la construction de l'en-tête précompilé
(PCH) de
<filename class="libraryfile">libstdc++</filename>. Il prend beaucoup
d'espace et nous n'en avons aucune utilité.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-bootstrap</parameter></term>
<listitem>
<para>Pour les constructions natives de GCC, on a par défaut une compilation "bootstrap". Elle ne fait pas que compiler GCC, mais
elle le compile plusieurs fois. Elle utilise les programmes compilés dans une première étape pour se compiler une seconde fois,
puis une troisième fois à nouveau. Les deuxième et troisième passages sont comparés pour garantir qu'elle peut se reproduire
facilement. Cela implique aussi qu'elle a été compilée correctement. Néanmoins, la méthode de compilation LFS devrait fournir un
compilateur solide sans qu'il soit nécessaire de bootstraper chaque fois.</para>
</listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
<para>En touche finale, créez un lien symbolique. Beaucoup de programmes
et de scripts lance <command>cc</command> au lieu de <command>gcc</command>,
qui est utilisé pour conserver des programmes génériques, utilisables donc
sur n'importe quel type de système où le compilateur C n'est pas toujours
installé. L'exécution de <command>cc</command> laisse l'administrateur du
système décider quel compilateur C installer&nbsp;:</para>
<screen><userinput remap="install">ln -vs gcc /tools/bin/cc</userinput></screen>
 
<caution>
<para>A ce stade, il est impératif de s'arrêter et de s'assurer que
les fonctions de base (compilation et édition de liens) du nouvel ensemble
d'outils fonctionnent comme prévu. Pour effectuer un test de propreté,
lancez les commandes suivantes&nbsp;:</para>
<screen><userinput>echo 'main(){}' &gt; dummy.c
cc dummy.c
readelf -l a.out | grep ': /tools'</userinput></screen>
<para>Si tout fonctionne correctement, il ne devrait pas y avoir
d'erreurs et la sortie de la dernière commande aura la forme&nbsp;:</para>
 
<screen><computeroutput>[Requesting program interpreter: /tools/lib/ld-linux.so.2]</computeroutput></screen>
 
<para>Remarquez que <filename class="directory">/tools/lib</filename> ou
<filename class="directory">/tools/lib64</filename> pour les machines
64 bits apparaît comme préfixe de l'éditeur de liens dynamique.</para>
 
<para>Si l'affichage diffère ou s'il n'y a aucun affichage, alors
quelque chose ne se passe pas bien. Enquêtez et tracez vos étapes pour
trouver où se cache le problème et comment le corriger. Ce problème doit
être corrigé avant de continuer. Tout d'abord, relancez la vérification
de propreté en utilisant
<command>gcc</command> au lieu de <command>cc</command>. Si cela fonctionne,
le lien symbolique <filename class="symlink">/tools/bin/cc</filename> est
manquant. Installez le lien symbolique comme indiqué ci-dessus.
Ensuite, assurez-vous que le <envar>PATH</envar> est correct. Ceci se
vérifie en lançant <command>echo $PATH</command> et en vérifiant que
<filename class="directory">/tools/bin</filename> est en tête de la
liste. Si le <envar>PATH</envar> est mauvais, cela pourrait signifier
que vous n'êtes pas connecté en tant qu'utilisateur
<systemitem class="username">lfs</systemitem> ou que quelque chose s'est mal passé dans
<xref linkend="ch-tools-settingenviron" role="."/>.</para>
 
<para>Une fois que tout va bien, nettoyez les fichiers de test&nbsp;::</para>
 
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
 
</caution>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-gcc" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/binutils-pass1.xml
0,0 → 1,157
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-binutils-pass1" role="wrap">
<?dbhtml filename="binutils-pass1.html"?>
<sect1info condition="script">
<productname>binutils</productname>
<productnumber>&binutils-version;</productnumber>
<address>&binutils-url;</address>
</sect1info>
 
<title>Binutils-&binutils-version; - Passe 1</title>
 
<indexterm zone="ch-tools-binutils-pass1">
<primary sortas="a-Binutils">Binutils</primary>
<secondary>outils, passe 1</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/binutils.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&binutils-ch5p1-sbu;</seg>
<seg>&binutils-ch5p1-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
 
<title>Installation de Binutils croisé</title>
 
<note><para>Revenez en arrière et relisez les remarques de la section précédente.
La compréhension des remarques notées importantes vous fera éviter
beaucoup de problèmes plus tard.</para></note>
 
<para>Il est important que Binutils soit le premier paquet compilé
parce que Glibc et GCC réalisent différents tests sur l'éditeur de
liens et l'assembleur disponibles pour déterminer leur propres
fonctionnalités à activer.</para>
<para>La documentation de Binutils recommande de construire Binutils
en dehors du répertoire des sources, c'est-à-dire dans un répertoire
de construction dédié&nbsp;:</para>
 
<screen><userinput remap="pre">mkdir -v ../binutils-build
cd ../binutils-build</userinput></screen>
 
<note>
 
<para>Pour que les valeurs SBU listées dans le reste du livre vous soient
utiles, mesurez le temps pris pour construire ce paquet, de la configuration
jusqu'à la première installation. Pour cela, englobez les trois commandes
dans une commande <command>time</command> de cette façon&nbsp;:
 
<userinput>time { ./configure ... &amp;&amp; make
&amp;&amp; make install; }</userinput></para>
 
</note>
 
<note><para>Les valeurs SBU de construction approximatives et de l'espace disque requis au chapitre 5
n'incluent pas les données des suites de tests.</para></note>
 
<para>Maintenant, préparez la compilation de Binutils&nbsp;:</para>
 
<screen><userinput remap="configure">../binutils-&binutils-version;/configure \
--target=$LFS_TGT --prefix=/tools \
--disable-nls --disable-werror</userinput></screen>
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<varlistentry>
<term><envar>--target=$LFS_TGT</envar></term>
<listitem>
<para>Vu que la description de la machine dans la variable
<envar>LFS_TGT</envar> est légèrement différente de la valeur retournée
par le script config.guess, ce paramètre va dire au script <command>configure</command>
d'ajuster le système de construction de Binutils pour la construction
d'un éditeur de lien croisé.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--prefix=/tools</parameter></term>
<listitem>
<para>Ceci indique au script configure de se préparer à installer les
programmes Binutils dans le répertoire
<filename class="directory">/tools</filename>.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-nls</parameter></term>
<listitem>
<para>Ceci désactive l'internationalisation comme i18n car ce n'est pas
nécessaire pour des outils temporaires.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-werror</parameter></term>
<listitem>
<para>Ceci empêche la compilation de s'arrêter lorsqu'interviennent des
événements comme des avertissements du compilateur du système
hôte.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Continuez avec la compilation du paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Normalement, la suite
de tests devrait être lancée mais, à ce moment, l'ensemble de
travail de la suite de tests (Tcl, Expect et DejaGnu) n'est pas
encore en place. Les bénéfices à lancer les tests maintenant
seraient minimes car les programmes de la première passe seront
bientôt remplacés par ceux de la seconde.</para>
<para>Si vous construisez sur une x86_64, créez un lien symbolique pour assurer la propreté de notre
chaîne d'outils&nbsp;:</para>
 
<screen><userinput remap="install">case $(uname -m) in
x86_64) mkdir -v /tools/lib &amp;&amp; ln -sv lib /tools/lib64 ;;
esac</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont disponibles dans
<xref linkend="contents-binutils" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/m4.xml
0,0 → 1,82
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-m4" role="wrap">
<?dbhtml filename="m4.html"?>
 
<sect1info condition="script">
<productname>m4</productname>
<productnumber>&m4-version;</productnumber>
<address>&m4-url;</address>
</sect1info>
 
<title>M4-&m4-version;</title>
 
<indexterm zone="ch-tools-m4">
<primary sortas="a-M4">M4</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/m4.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&m4-ch5-sbu;</seg>
<seg>&m4-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de M4</title>
 
<para>Ajoutez une ligne include manquante qui empêche M4 de
se construire correctement contre Glibc-&glibc-version;&nbsp;:</para>
 
<screen><userinput remap="pre">sed -i -e '/"m4.h"/a\
#include &lt;sys/stat.h&gt;' src/path.c</userinput></screen>
 
<para>Préparez la compilation de M4&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'execution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
M4, faites la commande suivante&nbsp;:</para>
 
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails de ce paquet sont situés dans
<xref linkend="contents-m4" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/glibc.xml
0,0 → 1,208
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-glibc" role="wrap">
<?dbhtml filename="glibc.html"?>
 
<sect1info condition="script">
<productname>glibc</productname>
<productnumber>&glibc-version;</productnumber>
<address>&glibc-url;</address>
</sect1info>
 
<title>Glibc-&glibc-version;</title>
 
<indexterm zone="ch-tools-glibc">
<primary sortas="a-Glibc">Glibc</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/glibc.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&glibc-ch5-sbu;</seg>
<seg>&glibc-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Glibc</title>
 
<para>Corrigez un bogue qui empêche Glibc de se construire avec
GCC-&gcc-version;&nbsp;:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&glibc-gcc_fix-patch;</userinput></screen>
 
<para>Corrigez un bogue qui empêche Glibc de se construire avec les
versions de Make plus récentes que la 3.81.</para>
 
<screen><userinput remap="pre">patch -Np1 -i ../&glibc-makefile_fix-patch;</userinput></screen>
 
<para>La documentation de Glibc recommande de construire Glibc en dehors du
répertoire des sources, c'est-à-dire dans un répertoire dédié&nbsp;:</para>
 
<screen><userinput remap="pre">mkdir -v ../glibc-build
cd ../glibc-build</userinput></screen>
 
<para>Glibc ne supportant plus i386, ses développeurs disent d'utiliser
le commutateur du compilateur <parameter>-march=i486</parameter> lorsqu'on
le compile pour des machines x86. On peut faire cela de plusieurs manières,
mais des tests montrent que la meilleure place pour le commutateur est à
l'intérieur de la variable de compilation <quote>CFLAGS</quote>. Au lieu de
remplacer entièrement ce que le système de compilation interne de
Glibc utilise pour CFLAGS, ajoutez le nouveau commutateur au contenu
existant de CFLAGS en utilisant le fichier spécial
<filename>configparms</filename>. Le commutateur -mtune=native est également
requis pour réinitialiser une valeur raisonnable pour -mtune, laquelle est
modifiée lors du paramétrage de -march.</para>
<screen><userinput remap="configure">case `uname -m` in
i?86) echo "CFLAGS += -march=i486 -mtune=native" > configparms ;;
esac</userinput></screen>
 
 
<para>Ensuite, préparez la compilation de Glibc&nbsp;:</para>
 
<screen><userinput remap="configure">../glibc-&glibc-version;/configure --prefix=/tools \
--host=$LFS_TGT --build=$(../glibc-&glibc-version;/scripts/config.guess) \
--disable-profile --enable-add-ons \
--enable-kernel=2.6.22.5 --with-headers=/tools/include \
libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>--host=$LFS_TGT, --build=$(../glibc-&glibc-version;/scripts/config.guess)</parameter></term>
<listitem>
<para>L'effet combiné de ces commutateurs est que le système de
construction de Glibc se configure pour se compiler de manière
croisée en 1tilisant l'éditeur de liens croisé et le compilateur
croisé dans <filename class="directory">/tools</filename>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--disable-profile</parameter></term>
<listitem>
<para>Ceci construit les bibliothèques sans les informations de
profilage. Enlevez cette option si le profilage sur les outils
temporaires est nécessaire.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-add-ons</parameter></term>
<listitem>
<para>Ceci indique à Glibc d'utiliser le composant NPTL comme
bibliothèque de threads.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-kernel=2.6.22.5</parameter></term>
<listitem>
<para>Ceci indique à Glibc de compiler la bibliothèque avec le support
des noyaux Linux 2.6.18 et supérieurs. Les environnements pour des noyaux plus anciens ne sont pas activés.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-headers=/tools/include</parameter></term>
<listitem>
<para>Ceci dit à Glibc de se compiler contre les en-têtes récemment
installées dans le répertoire tools, afin qu'il connaisse exactement les
fonctionnalités du noyau et puisse s'optimiser en conséquence.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>libc_cv_forced_unwind=yes</parameter></term>
<listitem>
<para>L'éditeur de liens installé lors de
<xref linkend="ch-tools-binutils-pass1"/> était construit de façon croisée
et, dans cet état, il ne peut pas être utilisé tant que Glibc n'a pas été
installé. Cela signifie que le test de configure du support
force-unwind échouera puisqu'il croit avoir à faire à un éditeur de liens
opérationnel. La variable libc_cv_forced_unwind=yes est
passée afin d'indiquer à <command>configure</command> que le
support de force-unwind est disponible sans qu'il n'ait à lancer le test.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>libc_cv_c_cleanup=yes</parameter></term>
<listitem>
<para>De la même façon, nous passons libc_cv_c_cleanup=yes au script
<command>configure</command> afin que le test soit sauté
et que le support de gestion du nettoyage C soit configuré.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Lors de cette étape, le message d'avertissement suivant peut
apparaître&nbsp;:</para>
 
<blockquote>
<screen><computeroutput>configure: WARNING:
*** These auxiliary programs are missing or
*** incompatible versions: msgfmt
*** some features will be disabled.
*** Check the INSTALL file for required versions.</computeroutput></screen>
</blockquote>
 
<para>Le programme <command>msgfmt</command>, manquant ou incompatible, ne
pose généralement pas de problème. Ce programme <command>msgfmt</command>
fait partie du paquet Gettext que la distribution hôte
devrait fournir. Si <command>msgfmt</command> est présent mais semble
incompatible, mettez à jour le paquet Gettext du système hôte ou continuez sans
et voyez si la suite de tests continue son exécution sans problèmes.</para>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Ce paquet est fourni avec une suite de test, cependant vous ne pouvez
pas l'exécuter à ce moment car nous n'avons pas encore de compilateur C++.</para>
 
<note>
<para>La suite de tests exige aussi que des données de locale soient installées afin de s'exécuter avec succès. Les
données de locale fournissent au système des informations sur la date, l'heure et les formats normaux acceptés et fournis
par les outils systèmes. Si les suites de tests ne seront pas exécutés dans ce chapitre
(suivant ainsi notre recommandation), il y a peu intérêt à installer les
locales maintenant. Les bonnes locales seront installées dans le chapitre
suivant.
Néanmoins, pour installer les locales Glibc, utilisez les instructions de
la section <xref linkend="ch-system-glibc" role="."/></para>
</note>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-glibc" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/gcc-pass1.xml
0,0 → 1,172
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-gcc-pass1" role="wrap">
<?dbhtml filename="gcc-pass1.html"?>
 
<sect1info condition="script">
<productname>gcc</productname>
<productnumber>&gcc-version;</productnumber>
<address>&gcc-url;</address>
</sect1info>
 
<title>GCC-&gcc-version; - Passe 1</title>
 
<indexterm zone="ch-tools-gcc-pass1">
<primary sortas="a-GCC">GCC</primary>
<secondary>outils, passe 1</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/gcc.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&gcc-ch5p1-sbu;</seg>
<seg>&gcc-ch5p1-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de GCC croisé</title>
 
<para>GCC exige maintenant les paquets GMP, MPFR et MPC. Comce il se peut que
ces paquets ne soient pas inclus dans votre distribution hôte, ils vont
être compilés avec GCC&nbsp;:</para>
 
<screen><userinput remap="pre">tar -jxf ../mpfr-&mpfr-version;.tar.bz2
mv -v mpfr-&mpfr-version; mpfr
tar -jxf ../gmp-&gmp-version;.tar.bz2
mv -v gmp-&gmp-version; gmp
tar -zxf ../mpc-&mpc-version;.tar.gz
mv -v mpc-&mpc-version; mpc</userinput></screen>
 
<para>La documentation de GCC recommande de ne pas construire GCC dans le
répertoire des sources mais dans un répertoire de construction dédié&nbsp;:</para>
 
<screen><userinput remap="pre">mkdir -v ../gcc-build
cd ../gcc-build</userinput></screen>
 
<para>Préparez la compilation de GCC&nbsp;:</para>
 
<screen><userinput remap="configure">../gcc-&gcc-version;/configure \
--target=$LFS_TGT --prefix=/tools \
--disable-nls --disable-shared --disable-multilib \
--disable-decimal-float --disable-threads \
--disable-libmudflap --disable-libssp \
--disable-libgomp --enable-languages=c \
--with-gmp-include=$(pwd)/gmp --with-gmp-lib=$(pwd)/gmp/.libs \
--without-ppl --without-cloog</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>--disable-shared</parameter></term>
<listitem>
<para>Ce paramètre oblige GCC à lier ses bibliothèques internes de
manière statique. On procède ainsi pour éviter les problèmes avec
le système hôte.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-decimal-float, --disable-threads, --disable-libmudflap, --disable-libssp, --disable-libgomp</parameter></term>
<listitem>
<para>Ces paramètres désactivent le support de l'extension ayant un
point flottant décimal, du threading, respectivement de
libmudflap, libssp et libgomp. Ces fonctionnalités ne parviendront
pas à se construire lors de la construction d'un compilateur
croisé et ne sont pas nécessaires pour la tâche de compilation
croisée de la libc temporaire.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--disable-multilib</parameter></term>
<listitem>
<para>Sur du x86_64, LFS ne supporte pas encore une configuration
multilib (plusieurs bibliothèques). Ce paramètre n'a pas
d'importance pour x86.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--enable-languages=c</parameter></term>
<listitem>
<para>Cette option nous assure que seul le compilateur C sera
construit. C'est le seul langage actuellement nécessaire.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--with-gmp-include=...</parameter></term>
<listitem>
<para>Cette option dit à GCC où se situent les en-têtes de GMP.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-gmp-lib=...</parameter></term>
<listitem>
<para>Cette option dit à GCC où se trouve la bibliothèque de GMP.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--without-ppl, --without-cloog</parameter></term>
<listitem>
<para>Ces paramètres empêche GCC de se construire contre les bibliothèques
PPL et CLooG qui peuvent être présentes sur le système hôte, mais
qui ne seront pas disponibles dans l'environnement chroot.</para>
</listitem>
</varlistentry>
</variablelist>
 
<para>Compilez GCC en lançant&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. À ce point, la suite de tests
devrait être lancée. Mais, comme nous l'avons dit plus tôt, l'ensemble de
travail de la suite de tests n'est pas encore en place. Les bénéfices à lancer
les tests maintenant seraient minimes car les programmes de la première passe
seront bientôt remplacés.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
<para>L'utilisation de <parameter>--disable-shared</parameter> signifie
que le fichier <filename>libgcc_eh.a</filename> n'est pas créé et installé.
Le paquet Glibc dépend de cette bibliothèque puisqu'il utilise
<parameter>-lgcc_eh</parameter> à l'intérieur de son système de construction.
On peut satisfaire cette dépendance en créant un lien symbolique vers
<filename>libgcc.a</filename>, puisque ce fichier va finir par contenir les
objets normalement contenus dans <filename>libgcc_eh.a</filename>:</para>
 
<screen><userinput remap="install">ln -vs libgcc.a `$LFS_TGT-gcc -print-libgcc-file-name | \
sed 's/libgcc/&amp;_eh/'`</userinput></screen>
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont disponibles dans
<xref linkend="contents-gcc" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/expect.xml
0,0 → 1,181
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-expect" role="wrap">
<?dbhtml filename="expect.html"?>
 
<sect1info condition="script">
<productname>expect</productname>
<productnumber>&expect-version;</productnumber>
<address>&expect-url;</address>
</sect1info>
 
<title>Expect-&expect-version;</title>
 
<indexterm zone="ch-tools-expect">
<primary sortas="a-Expect">Expect</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet Expect contient un programme pour réaliser des dialogues
scriptés avec d'autres programmes interactifs.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&expect-ch5-sbu;</seg>
<seg>&expect-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Expect</title>
 
<para>Tout d'abord, appliquez un correctif pour supprimer la dépendance vis-à-vis
de Tk, qui peut être présente sur l'hôte mais qui ne sera pas disponible une
fois que nous entrerons dans l'environnement <command>chroot</command>&nbsp;:</para>
 
<screen><userinput remap="pre">patch -Np1 -i ../&expect-tk-patch;</userinput></screen>
 
<para>Ensuite, forcez le script configure de expect à utiliser
<filename>/bin/stty</filename> au lieu d'un
<filename>/usr/local/bin/stty</filename> qu'il pourrait trouver sur le
système hôte. Cela garantira que nos outils de test demeurent propres
pour les constructions finales de la chaîne d'outils&nbsp;:</para>
 
<screen><userinput remap="pre">cp -v configure{,.orig}
sed 's:/usr/local/bin:/bin:' configure.orig > configure</userinput></screen>
 
<para>Construisez maintenant le paquet&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools --with-tcl=/tools/lib \
--with-tclinclude=/tools/include --with-tk=no</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>--with-tcl=/tools/lib</parameter></term>
<listitem>
<para>Ceci nous assure que le script configure trouve l'installation
Tcl dans l'emplacement temporaire des outils à la place d'un résidant
sur le système hôte.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-tclinclude=/tools/include</parameter></term>
<listitem>
<para>Ceci indique explicitement à Expect où trouver le répertoire
des sources de Tcl et ses en-têtes internes. Utiliser cette option évite
certaines conditions d'échec pour
<command>configure</command> s'il ne peut
pas découvrir automatiquement l'emplacement des en-têtes de Tcl.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-tk=no</parameter></term>
<listitem>
<para>Ceci indique au script configure de ne pas chercher Tk (le
composant interface de Tcl) ou les bibliothèques d'X Window System, les deux
pouvant résider sur le système hôte mais n'existant pas sur l'environnement
temporaire.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Construisez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'execution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
Expect, faites la commande suivante&nbsp;:</para>
 
<screen><userinput remap="test">make test</userinput></screen>
 
<para>Remarquez que la suite de tests d'Expect est connue pour
avoir de nombreux échecs sous certaines conditions de l'hôte, conditions
qui ne sont pas de notre ressort. Du coup, les échecs de la suite de
tests ne sont pas surprenants et ne sont pas considérés comme
critiques.</para>
 
<para>Installez-le&nbsp;:</para>
 
<screen><userinput remap="install">make SCRIPTS="" install</userinput></screen>
 
<variablelist>
<title>Voici la signification du paramètre de make&nbsp;:</title>
 
<varlistentry>
<term><parameter>SCRIPTS=""</parameter></term>
<listitem>
<para>Ceci empêche l'installation de scripts expect supplémentaires
non nécessaires.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
<sect2 id="contents-expect" role="content">
<title>Contenu d'Expect</title>
 
<segmentedlist>
<segtitle>Programme installé</segtitle>
<segtitle>Bibliothèque installée</segtitle>
 
<seglistitem>
<seg>expect</seg>
<seg>libexpect-&expect-lib-version;.a</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Courte description</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="expect">
<term><command>expect</command></term>
<listitem>
<para>Communique avec les autres programmes interactifs suivant un
script.</para>
<indexterm zone="ch-tools-expect expect">
<primary sortas="b-expect">expect</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libexpect">
<term><filename class="libraryfile">libexpect-&expect-lib-version;.a</filename></term>
<listitem>
<para>Contient des fonctions qui permettent à Expect d'être utilisé comme une
extension Tcl ou d'être utilisé directement à partir du langage C ou du langage
C++ (sans Tcl)</para>
<indexterm zone="ch-tools-expect libexpect">
<primary sortas="c-libexpect-&expect-lib-version;">libexpect-&expect-lib-version;</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/dejagnu.xml
0,0 → 1,96
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-dejagnu" role="wrap">
<?dbhtml filename="dejagnu.html"?>
 
<sect1info condition="script">
<productname>dejagnu</productname>
<productnumber>&dejagnu-version;</productnumber>
<address>&dejagnu-url;</address>
</sect1info>
 
<title>DejaGNU-&dejagnu-version;</title>
 
<indexterm zone="ch-tools-dejagnu">
<primary sortas="a-DejaGNU">DejaGNU</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet DejaGNU contient un ensemble de travail pour tester d'autres
programmes.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&dejagnu-ch5-sbu;</seg>
<seg>&dejagnu-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de DejaGNU</title>
 
<para>La version la plus récente de ce paquet a été publiée en 2004. Appliquez
certaines corrections qui se sont accumulé depuis&nbsp;:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&dejagnu-consolidated-patch;</userinput></screen>
 
<para>Préparez la compilation de DejaGNU&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Construisez et installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:</para>
<screen><userinput remap="test">make check</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-dejagnu" role="content">
<title>Contenu de DejaGNU</title>
 
<segmentedlist>
<segtitle>Programme installé</segtitle>
 
<seglistitem>
<seg>runtest</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Courte descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="runtest">
<term><command>runtest</command></term>
<listitem>
<para>Un script d'emballage qui trouve le bon shell
<command>expect</command>,
puis qui lance DejaGNU</para>
<indexterm zone="ch-tools-dejagnu runtest">
<primary sortas="b-runtest">runtest</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/generalinstructions.xml
0,0 → 1,91
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-generalinstructions">
<?dbhtml filename="generalinstructions.html"?>
 
<title>Instructions générales de compilation</title>
 
<para>Lorsque vous construisez des paquets, il y a plusieurs présupposés dans
les instructions&nbsp;:</para>
 
<itemizedlist>
 
<listitem>
<para>Plusieurs paquets sont corrigés avant d'être compilés, mais
seulement dans le cas où la correction est nécessaire pour résoudre un
problème. Souvent, le correctif est nécessaire à la fois dans ce
chapitre et dans le suivant, mais quelque fois dans seulement un des
deux. Donc, ne vous inquiétez pas lorsque des instructions pour un
correctif téléchargé semblent manquer. Des messages d'avertissements
sur un décalage (<emphasis>offset</emphasis>) ou sur autre chose
(<emphasis>fuzz</emphasis>) peuvent apparaître lors de
l'application d'un correctif. Ne vous inquiétez pas pour ces messages,
le correctif a bien été appliqué.</para>
</listitem>
 
<listitem>
<para>Pendant la compilation de la plupart des paquets, plusieurs
messages d'avertissement du compilateur défileront sur votre écran.
Ceci est normal et peut être ignoré sans danger. Ces messages
d'avertissement ne sont que des avertissements&mdash; sur une
utilisation obsolète, mais pas invalide, de la syntaxe de C ou de C++.
Les standards C changent assez souvent et quelques paquets continuent
à utiliser les anciens standards. Ce n'est pas un véritable problème
mais cela provoque les messages.</para>
 
<important>
<para>Après l'installation de chaque paquet, supprimez son répertoire
source et son répertoire de construction, sauf si nous vous le demandons
spécifiquement. Supprimer les sources empêche une mauvaise
configuration lorsque le même paquet est réinstallé un peu plus tard.</para>
</important>
</listitem>
 
<listitem>
<para>Vérifiez une dernière fois que la variable d'environnement
<envar>LFS</envar> est configurée correctement&nbsp;:</para>
 
<screen role="nodump"><userinput>echo $LFS</userinput></screen>
 
<para>Assurez-vous que le résultat contient le bon répertoire vers le
point de montage de la partition LFS, qui est <filename
class="directory">/mnt/lfs</filename>, suivant notre exemple.</para>
</listitem>
 
<listitem>
 
<para>Enfin, un point important doit être précisé&nbsp;:</para>
 
<important>
<para>Avant de lancer les instructions de construction pour un
paquet, le paquet doit être déballé en tant qu'utilisateur
<systemitem class="username">lfs</systemitem>, et vous devez utiliser la
commande <command>cd</command> pour entrer dans le répertoire tout juste
créé. Les instructions de construction supposent que le shell
<command>bash</command> est utilisé.</para>
</important>
</listitem>
 
</itemizedlist>
 
<para>Pour remettre en évidence la procédure de construction&nbsp;:</para>
 
<screen role="nodump">
1. Mettez toutes les sources et les correctifs dans un répertoire qui sera
accessible à partir de l'environnement chroot, tel que /mnt/lfs/sources/.
<emphasis>Ne mettez pas</emphasis> les sources dans /mnt/lfs/tools/.
2. Déplacez-vous dans le répertoire des sources.
3. Pour chaque paquet&nbsp;:
a. En utilisant le programme tar, déballez le paquet à construire.
b. Déplacez-vous dans le répertoire créé lors de l'extraction du paquet.
c. Suivez les instructions du livre pour construire le paquet.
d. Retournez dans le répertoire des sources.
e. Effacez le répertoire du source créé et tous les répertoires &lt;package&gt;-build
qui ont été créés dans le processus de construction.</screen>
 
</sect1>
/trunk/hlfs/chapter05/diffutils.xml
0,0 → 1,75
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-diffutils" role="wrap">
<?dbhtml filename="diffutils.html"?>
 
<sect1info condition="script">
<productname>diffutils</productname>
<productnumber>&diffutils-version;</productnumber>
<address>&diffutils-url;</address>
</sect1info>
 
<title>Diffutils-&diffutils-version;</title>
 
<indexterm zone="ch-tools-diffutils">
<primary sortas="a-Diffutils">Diffutils</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/diffutils.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&diffutils-ch5-sbu;</seg>
<seg>&diffutils-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Diffutils</title>
 
<para>Préparez la compilation de Diffutils&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'exécution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
Diffutils, faites la commande suivante&nbsp;:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-diffutils" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/chapter05.xml
0,0 → 1,49
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<chapter id="chapter-temporary-tools" xreflabel="Chapitre 5">
<?dbhtml dir="chapter05"?>
<?dbhtml filename="chapter05.html"?>
 
<title>Construire un système temporaire</title>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="toolchaintechnotes.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"href="generalinstructions.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="binutils-pass1.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc-pass1.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="linux-headers.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glibc.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="adjusting.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="binutils-pass2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc-pass2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tcl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="expect.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dejagnu.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ncurses.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bash.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bzip2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="coreutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="diffutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="file.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="findutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gawk.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gettext.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="grep.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gzip.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="m4.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="make.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="patch.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="perl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sed.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tar.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="texinfo.xml"/>
<!-- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="util-linux-ng.xml"/> -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stripping.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="changingowner.xml"/>
 
</chapter>
/trunk/hlfs/chapter05/sed.xml
0,0 → 1,76
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-sed" role="wrap">
<?dbhtml filename="sed.html"?>
 
<sect1info condition="script">
<productname>sed</productname>
<productnumber>&sed-version;</productnumber>
<address>&sed-url;</address>
</sect1info>
 
<title>Sed-&sed-version;</title>
 
<indexterm zone="ch-tools-sed">
<primary sortas="a-Sed">Sed</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/sed.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&sed-ch5-sbu;</seg>
<seg>&sed-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Sed</title>
 
<para>Préparez la compilation de Sed&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'exécution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
Sed, faites la commande suivante&nbsp;:</para>
 
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails de ce paquet sont situés dans
<xref linkend="contents-sed" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/file.xml
0,0 → 1,75
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-file" role="wrap">
<?dbhtml filename="file.html"?>
 
<sect1info condition="script">
<productname>file</productname>
<productnumber>&file-version;</productnumber>
<address>&file-url;</address>
</sect1info>
 
<title>File-&file-version;</title>
 
<indexterm zone="ch-tools-file">
<primary sortas="a-File">File</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/file.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&file-ch5-sbu;</seg>
<seg>&file-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de File</title>
 
<para>Préparez la compilation de File&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'exécution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suites de tests de
File, faites la commande suivante&nbsp;:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont disponibles dans
<xref linkend="contents-file" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/gmp.xml
0,0 → 1,83
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-gmp" role="wrap">
<?dbhtml filename="gmp.html"?>
 
<sect1info condition="script">
<productname>gmp</productname>
<productnumber>&gmp-version;</productnumber>
<address>&gmp-url;</address>
</sect1info>
 
<title>GMP-&gmp-version;</title>
 
<indexterm zone="ch-tools-gmp">
<primary sortas="a-GMP">GMP</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/gmp.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&gmp-ch5-sbu;</seg>
<seg>&gmp-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de GMP</title>
 
<para>Préparez la compilation de GMP&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools --enable-mpbsd</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
<varlistentry>
<term><parameter>--enable-mpbsd</parameter></term>
<listitem>
<para>Ceci compile la bibliothèque de compatibilité
Berkeley MP</para>
</listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Pour tester le résultat, lancez&nbsp;:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Bes détails sur ce paquet sont disponibles dans
<xref linkend="contents-gmp" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/gettext.xml
0,0 → 1,91
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-gettext" role="wrap">
<?dbhtml filename="gettext.html"?>
 
<sect1info condition="script">
<productname>gettext</productname>
<productnumber>&gettext-version;</productnumber>
<address>&gettext-url;</address>
</sect1info>
 
<title>Gettext-&gettext-version;</title>
 
<indexterm zone="ch-tools-gettext">
<primary sortas="a-Gettext">Gettext</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/gettext.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&gettext-ch5-sbu;</seg>
<seg>&gettext-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Gettext</title>
 
<para>Pour notre paramétrage temporaire des outils, nous n'avons besoin de
compiler et d'installer qu'un binaire de Gettext.</para>
 
<para>Préparez la compilation de Gettext&nbsp;:</para>
 
<screen><userinput remap="configure">cd gettext-tools
./configure --prefix=/tools --disable-shared</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>--disable-shared</parameter></term>
<listitem>
<para>Nous n'avons besoin d'installer aucune bibliothèque partagée de
Gettext pour le moment, donc ce n'est pas nécessaire de les compiler.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make -C gnulib-lib
make -C src msgfmt</userinput></screen>
 
<para>Comme seul un binaire a été compilé, ce n'est pas possible
d'exécuter la suite de tests sans compiler des bibliothèques de support
complémentaires du paquet Gettext. Il n'est donc pas recommandé d'essayer
d'exécuter la suite de tests à cette étape.</para>
 
<para>Installez le binaire <command>msgfmt</command>&nbsp;:</para>
 
<screen><userinput remap="install">cp -v src/msgfmt /tools/bin</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-gettext" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/bzip2.xml
0,0 → 1,65
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-bzip2" role="wrap">
<?dbhtml filename="bzip2.html"?>
 
<sect1info condition="script">
<productname>bzip2</productname>
<productnumber>&bzip2-version;</productnumber>
<address>&bzip2-url;</address>
</sect1info>
 
<title>Bzip2-&bzip2-version;</title>
 
<indexterm zone="ch-tools-bzip2">
<primary sortas="a-Bzip2">Bzip2</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/bzip2.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&bzip2-ch5-sbu;</seg>
<seg>&bzip2-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Bzip2</title>
 
<para>Le paquet Bzip2 ne contient pas de script <command>configure</command>.
Compilez-le et testez-le avec&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make PREFIX=/tools install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-bzip2" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/tar.xml
0,0 → 1,81
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-tar" role="wrap">
<?dbhtml filename="tar.html"?>
 
<sect1info condition="script">
<productname>tar</productname>
<productnumber>&tar-version;</productnumber>
<address>&tar-url;</address>
</sect1info>
 
<title>Tar-&tar-version;</title>
 
<indexterm zone="ch-tools-tar">
<primary sortas="a-Tar">Tar</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/tar.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&tar-ch5-sbu;</seg>
<seg>&tar-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Tar</title>
 
<para>Tout d'abord, corrigez un bogue qui s'est introduit dans la
dernière version du code&nbsp;:</para>
 
<screen><userinput remap="pre">sed -i /SIGPIPE/d src/tar.c</userinput></screen>
 
<para>Préparez la compilation de Tar&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'execution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
Tar, faites la commande suivante&nbsp;:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-tar" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/gawk.xml
0,0 → 1,75
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-gawk" role="wrap">
<?dbhtml filename="gawk.html"?>
 
<sect1info condition="script">
<productname>gawk</productname>
<productnumber>&gawk-version;</productnumber>
<address>&gawk-url;</address>
</sect1info>
 
<title>Gawk-&gawk-version;</title>
 
<indexterm zone="ch-tools-gawk">
<primary sortas="a-Gawk">Gawk</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/gawk.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&gawk-ch5-sbu;</seg>
<seg>&gawk-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Gawk</title>
 
<para>Préparez la compilation de Gawk&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'execution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
Gawk, faites la commande suivante&nbsp;:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-gawk" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/grep.xml
0,0 → 1,92
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-grep" role="wrap">
<?dbhtml filename="grep.html"?>
 
<sect1info condition="script">
<productname>grep</productname>
<productnumber>&grep-version;</productnumber>
<address>&grep-url;</address>
</sect1info>
 
<title>Grep-&grep-version;</title>
 
<indexterm zone="ch-tools-grep">
<primary sortas="a-Grep">Grep</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/grep.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&grep-ch5-sbu;</seg>
<seg>&grep-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Grep</title>
 
<para>Préparez la compilation de Grep&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools \
--disable-perl-regexp</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>--disable-perl-regexp</parameter></term>
<listitem>
<para>Ceci nous assure que le programme <command>grep</command>
ne sera pas lié à une bibliothèque PCRE (Perl Compatible Regular
Expression) qui pourrait être présente sur l'hôte et qui ne serait
pas disponible une fois que nous serons entrés dans l'environnement
<command>chroot</command>.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Compilez les programmes&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'execution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
Grep, faites la commande suivante&nbsp;:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont disponibles dans
<xref linkend="contents-grep" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/findutils.xml
0,0 → 1,76
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-findutils" role="wrap">
<?dbhtml filename="findutils.html"?>
 
<sect1info condition="script">
<productname>findutils</productname>
<productnumber>&findutils-version;</productnumber>
<address>&findutils-url;</address>
</sect1info>
 
<title>Findutils-&findutils-version;</title>
 
<indexterm zone="ch-tools-findutils">
<primary sortas="a-Findutils">Findutils</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/findutils.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&findutils-ch5-sbu;</seg>
<seg>&findutils-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Findutils</title>
 
<para>Préparez la compilation de Findutils&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'execution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
Findutils, faites la commande suivante&nbsp;:</para>
 
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-findutils" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/perl.xml
0,0 → 1,105
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-perl" role="wrap">
<?dbhtml filename="perl.html"?>
 
<sect1info condition="script">
<productname>perl</productname>
<productnumber>&perl-version;</productnumber>
<address>&perl-url;</address>
</sect1info>
 
<title>Perl-&perl-version;</title>
 
<indexterm zone="ch-tools-perl">
<primary sortas="a-Perl">Perl</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/perl.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&perl-ch5-sbu;</seg>
<seg>&perl-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Perl</title>
 
<para>Tout d'abord, appliquez la série de correctifs pour adapter certains chemins codés en dur vers la
bibliothèque C&nbsp;:</para>
 
<screen><userinput remap="pre">patch -Np1 -i ../&perl-libc-patch;</userinput></screen>
 
<!-- <para>Corrigez une incompatibilité avec gcc-&gcc-version;:</para>
<screen><userinput remap="pre">mv -v makedepend.SH{,.orig}
sed 's/command /command[ -]/' makedepend.SH.orig &gt; makedepend.SH</userinput></screen> -->
 
<para>Préparez la compilation de Perl (assurez-vous que la partie de la
commande 'Data/Dumper Fcntl IO' est saisie correctement&mdash;ce
ne sont que des lettres)&nbsp;:</para>
 
<screen><userinput remap="configure">sh Configure -des -Dprefix=/tools \
-Dstatic_ext='Data/Dumper Fcntl IO'</userinput></screen>
 
<variablelist>
<title>Voici la signification de l'option de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>-Dstatic_ext='Data/Dumper Fcntl IO POSIX'</parameter></term>
<listitem>
<para>Ceci indique à Perl de construire l'ensemble minimal d'extensions statiques
nécessaires à l'installation et au test du paquet Coreutils dans le
prochain chapitre.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Seulement une partie des outils de ce paquetage et une de ses
bibliothèques doivent être construit&nbsp;:</para>
 
<screen><userinput remap="make">make perl utilities ext/Errno/pm_to_blib</userinput></screen>
 
<para>Bien que Perl soit fourni avec une suite de tests, il n'est pas recommandé
de l'exécuter maintenant. Seules des parties de Perl ont été construites et
l'exécution de
<command>make test</command> obligerait la construction du
reste de Perl, ce qui n'est pas nécessaire actuellement. La suite de tests peut
être exécutée dans le chapitre suivant si désiré.</para>
 
<para>Puis, installez ces outils et leurs bibliothèques&nbsp;:</para>
 
<screen><userinput remap="install">cp -v perl pod/pod2man /tools/bin
mkdir -pv /tools/lib/perl5/&perl-version;
cp -Rv lib/* /tools/lib/perl5/&perl-version;</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont disponibles dans
<xref linkend="contents-perl" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/linux-headers.xml
0,0 → 1,76
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-linux-headers" role="wrap">
<?dbhtml filename="linux-headers.html"?>
 
<sect1info condition="script">
<productname>linux</productname>
<productnumber>&linux-version;</productnumber>
<address>&linux-url;</address>
</sect1info>
 
<title>Linux-&linux-version; API Headers</title>
 
<indexterm zone="ch-tools-linux-headers">
<primary sortas="a-Linux">Linux</primary>
<secondary>outils, en-têtes API</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/linux-headers.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&linux-headers-ch5-sbu;</seg>
<seg>&linux-headers-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Linux API Headers</title>
 
<para>Le noyau linux a besoin de montrer une interface de programmation
de l'application (Application Programming Interface, API) à utiliser
(Glibc dans LFS). Cela est possible en nettoyant certains fichiers d'en-tête C qui
sont laissés dans le paquetage des sources du noyau Linux.</para>
 
<para>Assurez-vous qu'il n'y a pas de vieux fichiers et
d'anciennes dépendances présentes du fait d'une activité précédente&nbsp;:</para>
<screen><userinput remap="install">make mrproper</userinput></screen>
 
<para>Maintenant, testez et faites l'extraction à partir des sources des
en-têtes du noyau visibles par l'utilisateur. Elles se situent dans
un répertoire local intermédiaire et on les copie dans le répertoire adéquat
car le processus d'extraction supprime tous les fichiers existant dans le
répertoire tar.</para>
<screen><userinput remap="install">make headers_check
make INSTALL_HDR_PATH=dest headers_install
cp -rv dest/include/* /tools/include</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-linux-headers" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/gzip.xml
0,0 → 1,76
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-gzip" role="wrap">
<?dbhtml filename="gzip.html"?>
 
<sect1info condition="script">
<productname>grep</productname>
<productnumber>&grep-version;</productnumber>
<address>&grep-url;</address>
</sect1info>
 
<title>Gzip-&gzip-version;</title>
 
<indexterm zone="ch-tools-gzip">
<primary sortas="a-Gzip">Gzip</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/gzip.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&gzip-ch5-sbu;</seg>
<seg>&gzip-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Gzip</title>
 
<para>Préparez la compilation de Gzip&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'execution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
Gzip, faites la commande suivante&nbsp;:</para>
 
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-gzip" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/texinfo.xml
0,0 → 1,76
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-texinfo" role="wrap">
<?dbhtml filename="texinfo.html"?>
 
<sect1info condition="script">
<productname>texinfo</productname>
<productnumber>&texinfo-version;</productnumber>
<address>&texinfo-url;</address>
</sect1info>
 
<title>Texinfo-&texinfo-version;</title>
 
<indexterm zone="ch-tools-texinfo">
<primary sortas="a-Texinfo">Texinfo</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/texinfo.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&texinfo-ch5-sbu;</seg>
<seg>&texinfo-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Texinfo</title>
 
<para>Préparez la compilation de Texinfo&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'execution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
Texinfo, faites la commande suivante&nbsp;:</para>
 
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails de ce paquet sont situés dans
<xref linkend="contents-texinfo" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/bash.xml
0,0 → 1,101
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-bash" role="wrap">
<?dbhtml filename="bash.html"?>
 
<sect1info condition="script">
<productname>bash</productname>
<productnumber>&bash-version;</productnumber>
<address>&bash-url;</address>
</sect1info>
 
<title>Bash-&bash-version;</title>
 
<indexterm zone="ch-tools-bash">
<primary sortas="a-Bash">Bash</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/bash.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&bash-ch5-sbu;</seg>
<seg>&bash-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Bash</title>
 
<para>Appliquez un correctif qui corrige plusieurs bogues
signalés et corrigés par le mainteneur d'origine de Bash&nbsp;:</para>
 
<screen><userinput remap="pre">patch -Np1 -i ../&bash-fixes-patch;</userinput></screen>
 
<para>Préparez la compilation de Bash&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools --without-bash-malloc</userinput></screen>
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>--without-bash-malloc</parameter></term>
<listitem>
<para>Cette option désactive l'utilisation par Bash de la fonction
d'allocation mémoire
<function>malloc</function> qui est connue pour causer des erreurs de
segmentation. En désactivant cette option, Bash utilisera les fonctions
<function>malloc</function> de Glibc qui sont plus stables.</para>
</listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'execution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
bash, faites la commande suivante&nbsp;:</para>
 
<screen><userinput remap="test">make tests</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
<para>Créez un lien pour les programmes qui utilisent
<command>sh</command> comme shell&nbsp;:</para>
 
<screen><userinput remap="install">ln -vs bash /tools/bin/sh</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-bash" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/ncurses.xml
0,0 → 1,99
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-ncurses" role="wrap">
<?dbhtml filename="ncurses.html"?>
 
<sect1info condition="script">
<productname>ncurses</productname>
<productnumber>&ncurses-version;</productnumber>
<address>&ncurses-url;</address>
</sect1info>
 
<title>Ncurses-&ncurses-version;</title>
 
<indexterm zone="ch-tools-ncurses">
<primary sortas="a-Ncurses">Ncurses</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/ncurses.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&ncurses-ch5-sbu;</seg>
<seg>&ncurses-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Ncurses</title>
 
<para>Préparez la compilation de Ncurses&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools --with-shared \
--without-debug --without-ada --enable-overwrite</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>--without-ada</parameter></term>
<listitem>
<para>Ceci nous assure que Ncurses ne construira pas le support du
compilateur Ada qui pourrait être présent sur l'hôte mais qui ne sera pas
disponible lorsque nous entrerons dans l'environnement
<command>chroot</command>.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-overwrite</parameter></term>
<listitem>
<para>Ceci indique à Ncurses d'installer les fichiers d'en-tête dans
<filename class="directory">/tools/include</filename>, au lieu de
<filename class="directory">/tools/include/ncurses</filename>, pour
s'assurer que les autres paquets trouveront bien les en-têtes de Ncurses.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Ce paquet a une suite de tests mais elle ne peut être lancée qu'après
que le paquet a été installé. Les tests se trouvent dans le répertoire
<filename class="directory">test/</filename>. Voir le fichier
<filename>README</filename> de ce répertoire pour plus de détails.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont disponibles dans
<xref linkend="contents-ncurses" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/flex.xml
0,0 → 1,85
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-flex" role="wrap">
<?dbhtml filename="flex.html"?>
 
<sect1info condition="script">
<productname>flex</productname>
<productnumber>&flex-version;</productnumber>
<address>&flex-url;</address>
</sect1info>
 
<title>Flex-&flex-version;</title>
 
<indexterm zone="ch-tools-flex">
<primary sortas="a-Flex">Flex</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/flex.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&flex-ch5-sbu;</seg>
<seg>&flex-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Flex</title>
 
<para>Flex contient des bogues connus. Vous pouvez les corriger grâce au
correctif suivant&nbsp;:</para>
 
<screen><userinput remap="pre">patch -Np1 -i ../&flex-fixes-patch;</userinput></screen>
 
<para>GNU autotools détecte que le code source de Flex a été modifié par
le correctif précédent et essaie de mettre à jour la page de manuel
en conséquence. Cela ne fonctionne pas sur la plupart des systèmes, et la
page par défaut est très bien, donc assurez-vous qu'elle ne sera pas
régénérée&nbsp;:</para>
 
<screen><userinput remap="pre">touch doc/flex.1</userinput></screen>
 
<para>Maintenant, préparez la compilation de Flex&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails de ce paquet sont situés dans
<xref linkend="contents-flex" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/patch.xml
0,0 → 1,75
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-patch" role="wrap">
<?dbhtml filename="patch.html"?>
 
<sect1info condition="script">
<productname>patch</productname>
<productnumber>&patch-version;</productnumber>
<address>&patch-url;</address>
</sect1info>
 
<title>Patch-&patch-version;</title>
 
<indexterm zone="ch-tools-patch">
<primary sortas="a-Patch">Patch</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/patch.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&patch-ch5-sbu;</seg>
<seg>&patch-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Patch</title>
 
<para>Préparez la compilation de Patch&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est à présent terminée. Comme indiqué plus haut,
l'exécution de la suite de tests n'est pas obligatoire dans ce chapitre
pour les outils temporaires. Pour lancer néanmoins la suite de tests de Patch,
exécutez la commande suivante&nbsp;:</para>
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-patch" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/mpfr.xml
0,0 → 1,72
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-mpfr" role="wrap">
<?dbhtml filename="mpfr.html"?>
 
<sect1info condition="script">
<productname>mpfr</productname>
<productnumber>&mpfr-version;</productnumber>
<address>&mpfr-url;</address>
</sect1info>
 
<title>MPFR-&mpfr-version;</title>
 
<indexterm zone="ch-tools-mpfr">
<primary sortas="a-MPFR">MPFR</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/mpfr.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&mpfr-ch5-sbu;</seg>
<seg>&mpfr-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de MPFR</title>
 
<para>Préparez la compilation de MPFR&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools --enable-thread-safe</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Des détails sur ce paquet se situent dans
<xref linkend="contents-mpfr" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/coreutils.xml
0,0 → 1,104
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-coreutils" role="wrap">
<?dbhtml filename="coreutils.html"?>
 
<sect1info condition="script">
<productname>coreutils</productname>
<productnumber>&coreutils-version;</productnumber>
<address>&coreutils-url;</address>
</sect1info>
 
<title>Coreutils-&coreutils-version;</title>
 
<indexterm zone="ch-tools-coreutils">
<primary sortas="a-Coreutils">Coreutils</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/coreutils.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&coreutils-ch5-sbu;</seg>
<seg>&coreutils-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Coreutils</title>
<para>Préparez la compilation de Coreutils&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools --enable-install-program=hostname</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configuration&nbsp;:</title>
<varlistentry>
<term><envar>--enable-install-program=hostname</envar></term>
<listitem>
<para>Ceci fait que le binaire <command>hostname</command> sera compilé
et installé &ndash; ceci est désactivé par défaut mais c'est requis
par la suite de tests de Perl.</para>
</listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'execution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
Coreutils, faites la commande suivante&nbsp;:</para>
 
 
<screen><userinput remap="test">make RUN_EXPENSIVE_TESTS=yes check</userinput></screen>
 
<para>Le paramètre <parameter>RUN_EXPENSIVE_TESTS=yes</parameter> indique à
la suite de tests de lancer quelques tests supplémentaires, considérés
relativement coûteux (en terme de puissance CPU et d'utilisation mémoire)
mais habituellement sans problème sous Linux.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
<para>La commande ci-dessus refuse l'installation de <filename>su</filename>
car le programme ne peut pas être installé avec l'uid de root en tant
qu'utilisateur non privilégié. En l'installant à la main avec un nom
différent, nous pouvons l'utiliser pour exécuter les tests dans le système
final en tant qu'utilisateur non privilégié et nous conservons un <command>su</command>
utile de notre système hôte effacé dans la PATH. Installez-le
avec&nbsp;:</para>
 
<screen><userinput remap="install">cp -v src/su /tools/bin/su-tools</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont disponibles dans
<xref linkend="contents-coreutils" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/bison.xml
0,0 → 1,72
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-bison" role="wrap">
<?dbhtml filename="bison.html"?>
 
<sect1info condition="script">
<productname>bison</productname>
<productnumber>&bison-version;</productnumber>
<address>&bison-url;</address>
</sect1info>
 
<title>Bison-&bison-version;</title>
 
<indexterm zone="ch-tools-bison">
<primary sortas="a-Bison">Bison</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/bison.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&bison-ch5-sbu;</seg>
<seg>&bison-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Bison</title>
 
<para>Préparez la compilation de Bison&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails de ce paquet sont situés dans
<xref linkend="contents-bison" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/e2fsprogs.xml
0,0 → 1,99
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-e2fsprogs" role="wrap">
<?dbhtml filename="e2fsprogs.html"?>
 
<sect1info condition="script">
<productname>e2fsprogs</productname>
<productnumber>&e2fsprogs-version;</productnumber>
<address>&e2fsprogs-url;</address>
</sect1info>
 
<title>E2fsprogs-&e2fsprogs-version;</title>
 
<indexterm zone="ch-tools-e2fsprogs">
<primary sortas="a-E2fsprogs">E2fsprogs</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/e2fsprogs.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&e2fsprogs-ch5-sbu;</seg>
<seg>&e2fsprogs-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de E2fsprogs</title>
 
<para>La documentation de E2fsprogs recommande de construire E2fsprogs
dans un sous-répertoire du répertoire source&nbsp;:</para>
 
<screen><userinput remap="pre">mkdir -v build
cd build</userinput></screen>
 
<para>Préparez la compilation d'E2fsprogs&nbsp;:</para>
 
<screen><userinput remap="configure">../configure --prefix=/tools --disable-libblkid --disable-libuuid</userinput></screen>
 
<variablelist>
<title>Voici la signification de la nouvelle option de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>--disable-libblkid</parameter></term>
<listitem>
<para>Ceci empêche E2fsprogs de construire sa propre copie de la bibliothèque
libblkid, fournie par Util-Linux-NG.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-libuuid</parameter></term>
<listitem>
<para>Ceci empêche E2fsprogs de construire sa propre copie de la bibliothèque
libuuid, fournie par Util-Linux-NG.</para>
</listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Installez les bibliothèques statiques et les en-têtes exigées par
Util-linux-ng:</para>
 
<screen><userinput remap="install">make install-libs</userinput></screen>
 
<para>Autorisez l'écriture dans les bibliothèques statiques installées
pour que les symboles de débogage puissent être supprimés plus tard&nbsp;:</para>
<screen><userinput remap="install">chmod -v u+w \
/tools/lib/{libcom_err,libe2p,libext2fs,libss}.a</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont disponibles dans
<xref linkend="contents-e2fsprogs" role="."/></para>
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/util-linux-ng.xml
0,0 → 1,78
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-util-linux-ng" role="wrap">
<?dbhtml filename="util-linux-ng.html"?>
 
<sect1info condition="script">
<productname>util-linux-ng</productname>
<productnumber>&util-linux-ng-version;</productnumber>
<address>&util-linux-ng-url;</address>
</sect1info>
 
<title>Util-linux-ng-&util-linux-ng-version;</title>
 
<indexterm zone="ch-tools-util-linux-ng">
<primary sortas="a-Util-linux-ng">Util-linux-ng</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/util-linux-ng.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&util-linux-ng-ch5-sbu;</seg>
<seg>&util-linux-ng-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Util-linux-ng</title>
 
<para>Préparez la compilation de util-linux-ng&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Seuls quelques utilitaires contenu dans ce paquet doivent être installés
construits&nbsp;:</para>
 
<screen><userinput remap="make">make -C disk-utils mkswap
make -C mount mount umount
make -C text-utils more</userinput></screen>
 
<para>Ce paquet est fourni avec aucune suite de tests.</para>
<para>Installez les bibliothèques partagées exigées par E2fsprogs&nbsp;:</para>
 
<screen><userinput remap="install">make -C shlibs/uuid install
make -C shlibs/blkid install</userinput></screen>
 
<para>Copiez ces programmes dans le répertoire des outils temporaires&nbsp;:</para>
 
<screen><userinput remap="install">cp -v disk-utils/mkswap mount/{,u}mount text-utils/more /tools/bin</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Details on this package are located in
<xref linkend="contents-utillinux" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/make.xml
0,0 → 1,75
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-make" role="wrap">
<?dbhtml filename="make.html"?>
 
<sect1info condition="script">
<productname>make</productname>
<productnumber>&make-version;</productnumber>
<address>&make-url;</address>
</sect1info>
 
<title>Make-&make-version;</title>
 
<indexterm zone="ch-tools-make">
<primary sortas="a-Make">Make</primary>
<secondary>outils</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/make.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&make-ch5-sbu;</seg>
<seg>&make-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Make</title>
 
<para>Préparez la compilation de Make&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'execution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
Make, faites la commande suivante&nbsp;:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails de ce paquet sont situés dans
<xref linkend="contents-make" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/binutils-pass2.xml
0,0 → 1,135
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-binutils-pass2" role="wrap">
<?dbhtml filename="binutils-pass2.html"?>
 
<sect1info condition="script">
<productname>binutils</productname>
<productnumber>&binutils-version;</productnumber>
<address>&binutils-url;</address>
</sect1info>
 
<title>Binutils-&binutils-version; - Passe 2</title>
 
<indexterm zone="ch-tools-binutils-pass2">
<primary sortas="a-Binutils">Binutils</primary>
<secondary>outils, passe 2</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter06/binutils.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&binutils-ch5p2-sbu;</seg>
<seg>&binutils-ch5p2-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Binutils</title>
 
<para>Créez de nouveau un répertoire de construction
séparé&nbsp;:</para>
 
<screen><userinput remap="pre">mkdir -v ../binutils-build
cd ../binutils-build</userinput></screen>
 
<para>Préparez la compilation de Binutils&nbsp;:</para>
 
<screen><userinput remap="configure">CC="$LFS_TGT-gcc -B/tools/lib/" \
AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib \
../binutils-&binutils-version;/configure --prefix=/tools \
--disable-nls --with-lib-path=/tools/lib</userinput></screen>
 
<variablelist>
<title>Voici la signification des nouvelles options de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>CC="$LFS_TGT-gcc -B/tools/lib/" AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib</parameter></term>
<listitem>
<para>Étant vraiment une construction neuve de Binutils,
l'initialisation de ces variables s'assure que le système de
construction utilise le compilateur croisé et les outils
associés au lieu de ceux du système hôte.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--with-lib-path=/tools/lib</parameter></term>
<listitem>
<para>Ceci indique au script configure de spécifier le chemin de
recherche des bibliothèques lors de la compilation de Binutils, aboutissant au
passage de
<filename class="directory">/tools/lib</filename> à l'éditeur de
liens. Ceci empêche l'éditeur de liens de chercher dans tous les répertoires de
bibliothèques de l'hôte.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
<para>Maintenant, préparez l'éditeur de liens pour la phase de
<quote>Ré-ajustement</quote> du prochain chapitre&nbsp;:</para>
 
<screen><userinput remap="adjust">make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib
cp -v ld/ld-new /tools/bin</userinput></screen>
 
<variablelist>
<title>Voici la signification des paramètres de make&nbsp;:</title>
 
<varlistentry>
<term><parameter>-C ld clean</parameter></term>
<listitem>
<para>Ceci dit au programme make de supprimer tous les fichiers
construits dans le sous-répertoire
<filename class="directory">ld</filename>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-C ld LIB_PATH=/usr/lib:/lib</parameter></term>
<listitem>
<para>Cette option reconstruit tout dans le sous-répertoire
<filename class="directory">ld</filename>. La spécification
de la variable de Makefile <envar>LIB_PATH</envar> sur la ligne de
commande nous permet d'écraser la valeur par défaut du tools
temporaire et de pointer vers le bon chemin final. La valeur de cette
variable indique le chemin de recherche de la bibliothèque par
défaut de l'éditeur de liens. Cette préparation sert pour le chapitre
suivant.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont disponibles dans
<xref linkend="contents-binutils" role="."/></para>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/introduction.xml
0,0 → 1,37
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-introduction">
<?dbhtml filename="introduction.html"?>
 
<title>Introduction</title>
 
<para>Ce chapitre montre comment construire un système
Linux minimal.
 
Ce système ne contiendra que les outils nécessaires pour commencer la
construction du système LFS final dans
 
<xref linkend="chapter-building-system"/> et de créer un environnement
de travail avec plus de facilité pour l'utilisateur que ne le
permettrait un environnement minimum.</para>
 
<para>Il y a deux étapes dans la construction de ce système minimal.
La première étape consiste à construire une chaîne d'outils tout
nouveau et indépendant de l'hôte (compilateur, assembleur, éditeur de
liens, bibliothèques et quelques outils). La deuxième étape utilise
cet chaîne d'outils pour construire tous les autres outils
essentiels.</para>
 
<para>Les fichiers compilés dans ce chapitre vont être installés sous
le répertoire <filename class="directory">$LFS/tools</filename> de
façon à les garder séparés des fichiers installés dans le chapitre
suivant et des répertoires de production de votre hôte. Comme tous les
paquets compilés ici sont simplement temporaires, nous ne voulons pas
polluer le futur système LFS.</para>
 
</sect1>
/trunk/hlfs/chapter05/adjusting.xml
0,0 → 1,82
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-adjusting">
<?dbhtml filename="adjusting.html"?>
 
<title>Ajuster la chaîne d'outils</title>
 
<para>Maintenant que les bibliothèques C temporaires ont été installées, tous
les outils compilés dans le reste de ce chapitre doivent être liés avec ces
bibliothèques. Pour accomplir cela, le fichier specs du compilateur croisé
doit être ajustés pour pointer vers le nouvel éditeur de liens dynamique
dans <filename class="directory">/tools</filename>.</para>
<para>Cela se fait en mettant le fichier <quote>specs</quote> du compilateur à
un endroit où il le cherchera par défaut. Un simple script <command>sed</command> modifie alors l'éditeur de liens
dynamique que GCC utilisera. Ici, le principe est de trouver toutes les
références au fichier de l'éditeur de liens dynamique que dans
<filename class="directory">/lib</filename> ou éventuellement
<filename class="directory">/lib64</filename> si le système hôte est capable
de tourner en 64 bits, et de les ajuster pour qu'ils pointent vers le
nouvel endroit dans <filename class="directory">/tools</filename>.</para>
 
<para>Par souci de précision, il est recommandé que la commande
ci-dessous soit copiée/collée.
Assurez-vous d'inspecter visuellement le fichier specs pour vérifier qu'il a
correctement ajusté toutes les références à l'endroit où se trouve
l'éditeur de liens dynamique. Reportez-vous si nécessaire à
<xref linkend="ch-tools-toolchaintechnotes" role=","/> pour le nom par défaut
de l'éditeur de liens dynamique.</para>
 
<!-- Ampersands are needed to allow copy and paste -->
 
<screen><userinput>SPECS=`dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/specs
$LFS_TGT-gcc -dumpspecs | sed \
-e 's@/lib\(64\)\?/ld@/tools&amp;@g' \
-e "/^\*cpp:$/{n;s,$, -isystem /tools/include,}" &gt; $SPECS
echo "New specs file is: $SPECS"
unset SPECS</userinput></screen>
<caution>
<para>Il est impératif à ce moment de s'arrêter et de s'assurer que les
fonctions basiques (compilation et édition des liens) du nouvel ensemble
d'outils fonctionnent comme attendu. Pour réaliser une vérification de
propreté, lancez les commandes suivantes&nbsp;:</para>
 
<screen><userinput>echo 'main(){}' &gt; dummy.c
$LFS_TGT-gcc -B/tools/lib dummy.c
readelf -l a.out | grep ': /tools'</userinput></screen>
 
<para>Si tout fonctionne correctement, il ne devrait pas y avoir d'erreurs et
la sortie de la dernière commande sera de la forme&nbsp;:</para>
 
<screen><computeroutput>[Requesting program interpreter: /tools/lib/ld-linux.so.2]</computeroutput></screen>
 
<para>Remarquez que <filename class="directory">/tools/lib</filename> ou
<filename class="directory">/tools/lib64</filename> pour les machines
64 bits apparaît comme préfixe de l'éditeur de liens dynamique.</para>
 
<para>Si l'affichage diffère ou s'il n'y a aucun affichage, alors
quelque chose ne se passe pas bien. Enquêtez et tracez vos étapes pour
trouver où se cache le problème et comment le corriger. Ce problème doit
être corrigé avant de continuer. Quelque chose a pu mal se passer avec la correction du fichier specs
ci-dessus. Dans ce cas, refaites la modification de ce fichier en vous
assurant de copier/coller les commandes.</para>
 
<para>Une fois que tout va bien, nettoyez les fichiers de test&nbsp;::</para>
 
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
 
</caution>
 
<note><para>Construire Binutils dans la prochaine section servira comme vérification
supplémentaire de la bonne mise en place de l'outil de construction. Si Binutils
échoue à la construction, c'est une indication d'un problème avec les
installations precedentes de Binutils, GCC ou Glibc.</para></note>
 
</sect1>
/trunk/hlfs/chapter05/toolchaintechnotes.xml
0,0 → 1,272
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-toolchaintechnotes">
<?dbhtml filename="toolchaintechnotes.html"?>
 
<title>Notes techniques sur la chaîne d'outils</title>
 
<para>Cette section explique certains détails rationnels et techniques
derrière la méthode de construction. Il n'est pas essentiel de
comprendre immédiatement tout ce qui se trouve dans cette section. La
plupart des informations seront plus claires après avoir réalisé
réellement une construction complète. Cette section peut servir de
référence à tout moment lors du processus de construction.</para>
 
<para>Le but global du <xref linkend="chapter-temporary-tools"/> est
de fournir une zone temporaire qui contient un ensemble
d'outils connus qui peuvent être isolés du système hôte. En utilisant
<command>chroot</command>, les commandes dans le reste des chapitres se cantonneront à
cet environnement, en assurant une construction du système LFS cible
propre, sans soucis. Le processus de construction a été conçu pour minimiser les
risques pour les nouveaux lecteurs et pour fournir une valeur
éducative maximale en même temps.</para>
 
<important>
<para>Avant de continuer, faites attention au nom de la
plateforme de travail, souvent appelée la triplette cible. Une
façon simple de déterminer le nom de la triplette cible est de lancer le script
<command>config.guess</command> venant avec le source pour un grand
nombre de paquets. Déballez les sources de Binutils, lancez le
script <userinput>./config.guess</userinput> et notez la sortie.
Par exemple, pour un processeur Intel 32 bits moderne, la sortie
sera du type <emphasis>i686-pc-linux-gnu</emphasis>.</para>
<para>De même, faites attention au nom de l'éditeur de liens de la
plateforme, souvent appelé le chargeur dynamique (à ne pas confondre
avec l'éditeur de liens <command>ld</command> faisant partie de
Binutils). Le chargeur dynamique fourni par Glibc trouve et charge
les bibliothèques partagées nécessaires à un programme pour
s'exécuter, puis l'exécute. Le nom de l'éditeur dynamique pour une machine
Intel 32 bits sera <filename class="libraryfile">ld-linux.so.2</filename>.
Une façon sûre de déterminer le nom de l'éditeur de liens dynamiques est de
chercher dans le répertoire
<filename class="directory">/lib</filename> du système hôte. Une
façon certaine de déterminer le nom est d'inspecter un binaire au
hasard du système hôte en exécutant&nbsp;:
 
<userinput>readelf -l &lt;nom du binaire&gt; | grep interpreter</userinput>
 
et de noter le résultat. La référence faisant autorité couvrant toutes les
plateformes est dans le fichier <filename>shlib-versions</filename> à la
racine du répertoire des sources de Glibc.</para>
</important>
 
<para>Quelques points techniques sur la façon dont fonctionne la
méthode de construction
 
<xref linkend="chapter-temporary-tools"/>&nbsp;:</para>
 
<itemizedlist>
<listitem>
<para>Un léger ajustement du nom de la plateforme de travail,
en modifiant le champ &quot;vendor&quot; de la triplette cible via la variable
<envar>LFS_TGT</envar>, assure que la
première construction de Binutils et de GCC produira un éditeur de liens
et un compilateur croisés compatibles. Au lieu de produire des binaires
pour une autre architecture, l'éditeur de liens et le compilateur croisés
vont produire des binaires compatibles avec le matériel actuel.</para>
</listitem>
<listitem>
<para>Les bibliothèques temporaires sont compilées de manière croisée.
Puisqu'un compilateur croisé, par nature, ne peut pas se baser sur quoique ce soit issu de son système hôte,
cette méthode supprime toute possibilité de contamination du szstème cible
en diminuant les chances des en-têtes ou des bibliothèques du système hôte
d'être incluses dans les nouveaux outils. La compilation croisée offre
aussi la possibilité de construire à la fois des bibliothèques 32 et 64 bits
sur du matériel gérant le 64 bits.</para>
</listitem>
<listitem>
<para>Une manipulation attentionnée du fichier <filename>specs</filename>
de <command>gcc</command> indique au compilateur
l'éditeur de liens dynamique cible à utiliser.</para>
</listitem>
</itemizedlist>
 
<para>Binutils est tout d'abord installé parce que les exécutions de
Glibc et GCC par <command>configure</command> réalisent quelques tests
de fonctionnalités sur l'assembleur et l'éditeur de liens pour
déterminer quelle fonctionnalité logicielle activer ou désactiver.
Ceci est plus important que ce que vous pouvez imaginer. Un GCC ou
une Glibc mal configuré peut aboutir à une chaîne d'outils
subtilement cassé, et l'impact d'une telle cassure ne se verrait pas
avant la fin de la construction de la distribution complète. Un échec
dans la suite de tests surlignera habituellement cette erreur avant
que trop de travail supplémentaire n'ait été réalisé.</para>
 
<para>Binutils installe son assembleur et son éditeur de liens à deux
endroits, <filename class="directory">/tools/bin</filename> et
<filename class="directory">/tools/$LFS_TGT/bin</filename>. Les
outils dans un emplacement sont liés en dur à l'autre. Un aspect
important de l'éditeur de liens est son ordre de recherche des
bibliothèques. Vous pouvez obtenir des informations détaillées à
partir de <command>ld</command> en lui passant le commutateur
<parameter>--verbose</parameter>. Par exemple, un
 
<userinput>ld --verbose | grep SEARCH</userinput> illustrera les
chemins de recherche réels et leur ordre. Il montre quels fichiers
sont liés par <command>ld</command> en compilant un programme de test
et en passant le commutateur <parameter>--verbose</parameter> à
l'éditeur de liens. Par exemple,
 
<userinput>gcc dummy.c -Wl,--verbose 2&gt;&amp;1 | grep
succeeded</userinput> affichera tous les fichiers ouverts avec succès
lors de l'édition des liens.</para>
 
<para>Le prochain paquetage installé est GCC. Un exemple de ce qui
peut être vu pendant son exécution de <command>configure</command>
est&nbsp;:</para>
 
<screen><computeroutput>checking what assembler to use... /tools/i686-lfs-linux-gnu/bin/as
checking what linker to use... /tools/i686-lfs-linux-gnu/bin/ld</computeroutput></screen>
 
<para>C'est important pour les raisons mentionnées ci-dessus. Cela démontre
aussi que le script configure de GCC ne cherche pas les répertoires PATH pour
trouver les outils à utiliser. Néanmoins, lors d'une opération normale de
 
<command>gcc</command>, les mêmes chemins de recherche ne sont pas
forcément utilisés. Pour trouver quel éditeur de liens standard
<command>gcc</command> utilisera, lancez&nbsp;:
 
<userinput>gcc -print-prog-name=ld</userinput></para>
 
<para>Vous pouvez obtenir des informations détaillées à partir de
<command>gcc</command> en lui fournissant l'option en ligne de
commande <parameter>-v</parameter> lors de la compilation d'un
programme de tests. Par exemple, <userinput>gcc -v dummy.c</userinput>
affichera des informations
 
détaillées sur les étapes du préprocesseur, de la compilation et de
l'assemblage ceci comprenant les chemins de recherche inclus par
<command>gcc</command> et leur ordre.</para>
 
<para>Le prochain paquetage installé est Glibc. Les choses les plus
importantes à prendre en considération pour construire Glibc sont
le compilateur, les outils binaires et les en-têtes du noyau.
Le compilateur ne pose généralement pas de problème car Glibc utilise
toujours le compilateur lié au paramètre <parameter>--host</parameter> passé à
son script configure, par exemple, dans notre cas,
<command>i686-lfs-linux-gnu-gcc</command>.
Les outils binaires et les en-têtes du noyau peuvent être un peu plus compliqués. Du coup,
ne prenez pas de risque et utilisez les options disponibles de
configure pour renforcer les bonnes sélections. Après l'exécution de
<command>configure</command>, vérifiez le contenu du fichier <filename>config.make</filename>
dans le répertoire <filename class="directory">glibc-build</filename> pour tous les détails importants. Notez
l'utilisation de
<parameter>CC="i686-lfs-gnu-gcc"</parameter> pour contrôler le outils
binaires utilisés, et l'utilisation des commutateurs
<parameter>-nostdinc</parameter> et <parameter>-isystem</parameter>
pour contrôler le chemin de recherche des en-têtes du compilateur. Ces
éléments soulignent un aspect important du paquetage glibc&mdash;il
est auto-suffisant en terme de machinerie de construction et ne repose
généralement pas sur la chaîne d'outils par défaut.</para>
 
<para>Après l'installation de Glibc, modifiez le
fichier specs de <command>gcc</command> pour pointer vers le nouvel éditeur de
liens dynamique dans
<filename class="directory">/tools/lib</filename>. Cette
dernière étape est vitale en assurant que la recherche et l'édition des liens
ne s'opère qu'à l'intérieur du préfixe <filename class="directory">/tools</filename>.
Un chemin en dur vers un éditeur de liens est intégré dans chaque exécutable
ainsi que dans chaque exécutable partagé (ELF). Ceci peut être inspecté en
exécutant&nbsp;:
 
<userinput>readelf -l &lt;nom du binaire&gt; | grep interpreter</userinput>.
Modifier le fichier specs de gcc nous assure que chaque programme
compilé à partir de maintenant et jusqu'à la fin de ce chapitre
utilisera le nouvel éditeur de liens dynamiques dans
<filename class="directory">/tools/lib</filename>.</para>
 
<para>Pour la seconde passe de GCC, ses sources doivent être modifiées pour
dire à GCC d'utiliser le nouvel éditeur de liens dynamique. Échouer sur ce
point aboutira à des
programmes GCC ayant le nom de l'éditeur de liens provenant du
répertoire
 
<filename class="directory">/lib</filename> Le besoin d'utiliser le
nouvel éditeur de liens dynamique est aussi la raison pour laquelle le
correctif Specs est appliqué lors de la seconde passe de GCC. Échouer
sur ce point aboutira à des programmes GCC ayant le nom de l'éditeur
de liens provenant du répertoire
 
<filename class="directory">/lib</filename> du système hôte intégré
en eux, ce qui empêchera le but de s'éloigner de l'hôte.</para>
 
<para>Lors de la seconde passe de Binutils, nous sommes capable
d'utiliser l'option <parameter>--with-lib-path</parameter> de
configure pour contrôler le chemin de recherche des bibliothèques de
<command>ld</command>. À partir de là, la chaîne d'outils principal est
contenu en lui-même. Le reste des paquetages de <xref
linkend="chapter-temporary-tools"/> se construit à partir de la nouvelle
Glibc dans
 
<filename class="directory">/tools</filename>.</para>
 
<para>Avant d'entrer dans l'environnement chroot dans <xref
linkend="chapter-building-system"/>, le premier paquetage majeur à
être installé est Glibc, à cause de sa nature auto-suffisante
mentionnée ci-dessus. Une fois que Glibc est installée dans <filename
class="directory">/usr</filename>, nous allons réaliser une rapide modification
des valeurs par défaut de l'ensemble des outils puis continuer la
construction du reste du système LFS cible.</para>
 
<!-- FIXME: Removed as part of the fix for bug 1061 - we no longer build pass1
packages statically, therefore this explanation isn't required
 
<sect2> <title>Notes sur l'édition de liens statiques</title>
 
<para>En dehors de leur tâches spécifiques, la plupart des programmes
doivent réaliser un grand nombre d'opérations habituelles, voire
triviales. Elles incluent l'allocation de mémoire, la recherche dans
des répertoire, la lecture et l'écriture de fichiers, la gestion des
chaînes de caractères, la reconnaissance de modèles, l'arithmétique et
d'autres tâches. Au lieu d'obliger chaque programme à réinventer la
roue, le système GNU fournit toutes ces fonctions de base dans des
bibliothèques toutes prêtes. La bibliothèque majeure sur un système
Linux est Glibc.</para>
 
<para>Il existe deux façons de lier les fonctions d'une bibliothèque
dans un programme qui les utilise&mdash;statiquement ou dynamiquement.
Quand un programme est lié statiquement, le code des fonctions
utilisées est inclus dans l'exécutable, donnant un gros programme.
Quand un programme est lié dynamiquement, il inclut une référence à
l'éditeur de liens, le nom de la bibliothèque et le nom de la
fonction, aboutissant à un exécutable bien plus petit. Une troisième
option est d'utiliser l'interface de programmation de l'éditeur de
liens (voir la page man <filename>dlopen(3)</filename> pour plus
d'informations).</para>
 
<para>L'édition de liens dynamiques est le comportement par défaut sur
Linux et a trois avantages majeurs sur l'édition de liens statiques.
Tout d'abord, seule une copie du code exécutable de la bibliothèque
est nécessaire sur le disque dur, à la place de plusieurs copies du
même code inclus dans plusieurs programmes, sauvegardant ainsi de
l'espace disque. Deuxièmement, quand plusieurs programmes utilisent la
même fonction de bibliothèque en même temps, seule une copie du code
de la fonction est requis en mémoire, sauvegardant ainsi de la mémoire
vive. Troisièmement, quand une fonction d'une bibliothèque est
corrigée ou améliorée, seule la bibliothèque doit être recompilée au
lieu de recompiler tous les programmes utilisant ladite
fonction.</para>
 
<para>Si l'édition de liens dynamiques a plusieurs avantages, alors
pourquoi utilisons-nous l'édition statique pour les deux premiers
paquetages dans ce chapitre&nbsp;? Il y a trois raisons &mdash;
historique, éducative et technique. La raison historique est que les
versions antérieures de LFS liaient statiquement tous les programmes de
ce chapitre. Sur le plan éducatif, connaître les différences entre
statique et dynamique est utile. Le bénéfice technique est un élément
gagné pour l'indépendance sur le système hôte, signifiant que les
programmes peuvent être utilisés indépendamment du système hôte.
Néanmoins, il est bon de noter qu'une construction réussie de LFS peut
toujours se faire quand les deux premiers paquetages de LFS sont
construits dynamiquement.</para>
 
</sect2>-->
 
</sect1>
/trunk/hlfs/chapter05/stripping.xml
0,0 → 1,42
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-stripping">
<?dbhtml filename="stripping.html"?>
 
<title>Supprimer les symboles des fichiers objets</title>
 
<para>Les étapes de cette section sont optionnelles mais si la partition LFS
est plutôt petite, il est intéressant d'apprendre que des éléments inutiles
sont
supprimables. Les exécutables et les bibliothèques que vous avez construit
jusqu'à maintenant contiennent jusqu'à 130&nbsp;Mo de symboles de débogages
inutiles. Supprimez ces symboles avec&nbsp;:</para>
 
<screen><userinput>strip --strip-debug /tools/lib/*
strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
 
<para>Ces commandes vont laisser de côté une vingtaine de
fichiers en indiquant qu'elles ne reconnaissent pas leur format. La
plupart sont des scripts et non pas des binaires.</para>
 
<para>Faites attention à ne <emphasis>pas</emphasis> utiliser
<parameter>--strip-unneeded</parameter> sur les bibliothèques. Cela
détruirait les versions statiques et les paquets devraient être de nouveau
construits.</para>
 
<para>Pour sauver encore 25&nbsp;Mio, supprimez toute la
documentation&nbsp;:</para>
 
<screen><userinput>rm -rf /tools/{,share}/{info,man}</userinput></screen>
 
<para>Il y aura maintenant au moins 850&nbsp;Mo d'espace disque libre sur le
système de fichiers <envar>$LFS</envar> à utiliser pour construire et installer Glibc dans la
prochaine phase. Si vous pouvez construire et installer Glibc, vous pourrez
aussi construire et installer le reste.</para>
 
</sect1>
/trunk/hlfs/chapter05/tcl.xml
0,0 → 1,165
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-tcl" role="wrap">
<?dbhtml filename="tcl.html"?>
 
<sect1info condition="script">
<productname>tcl</productname>
<productnumber>&tcl-version;</productnumber>
<address>&tcl-url;</address>
</sect1info>
 
<title>Tcl-&tcl-version;</title>
 
<indexterm zone="ch-tools-tcl">
<primary sortas="a-Tcl">Tcl</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet Tcl contient le langage de commandes des outils.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&tcl-ch5-sbu;</seg>
<seg>&tcl-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Tcl</title>
 
<para>Ce paquet et les deux suivants (Expect et DejaGNU) sont installés
uniquement pour supporter les suites de tests de GCC et Binutils.
Installer ces trois paquets dans un but de tests pourrait sembler
excessif mais c'est très rassurant, voire essentiel, de savoir que les
outils les plus importants fonctionnent correctement. Même si les suites
de tests ne sont pas exécutées dans ce chapitre (elles ne sont pas
obligatoires), ces paquets sont nécessaires pour lancer les suites de
tests du <xref linkend="chapter-building-system"/>.</para>
 
<para>Préparez la compilation de Tcl&nbsp;:</para>
 
<screen><userinput remap="configure">cd unix
./configure --prefix=/tools</userinput></screen>
 
<para>Construisez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme décrit plus tôt,
l'execution de la suite de tests n'est pas obligatoire pour les outils
temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
Tcl, faites la commande suivante&nbsp;:</para>
 
<screen><userinput remap="test">TZ=UTC make test</userinput></screen>
 
<para>Il se peut que la suite de tests de Tcl rencontre des échecs sous
certaines conditions concernant l'hôte,
conditions qu'on ne comprend pas toujours. Du coup, des échecs de la suite
de tests ne sont pas surprenants ici et ne doivent pas être considérés comme critiques. Le
paramètre <parameter>TZ=UTC</parameter> initialise le fuseau horaire avec
le temps universel coordonné (<foreignphrase>Coordinated
Universal Time</foreignphrase> soit l'UTC) connu aussi sous le nom de Greenwich Mean Time
(GMT), mais seulement pour
la durée de l'exécution de la suite de tests. Ceci nous assure que les tests
d'horloge fonctionneront correctement. Des détails sur la variable
d'environnement <envar>TZ</envar> sont fournis dans
<xref linkend="chapter-bootscripts"/>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
 
<para>Autorisez l'écriture dans les bibliothèques installées
pour que les symboles de débogage puissent être supprimés plus tard.</para>
<screen><userinput remap="install">chmod -v u+w /tools/lib/libtcl8.5.so</userinput></screen>
 
<para>Installez les en-têtes de Tcl, le prochain paquet, Expect, en a
besoin pour se construire.</para>
 
<screen><userinput remap="install">make install-private-headers</userinput></screen>
 
<para>Maintenant, ajoutez un lien symbolique nécessaire&nbsp;:</para>
 
<screen><userinput remap="install">ln -sv tclsh8.5 /tools/bin/tclsh</userinput></screen>
 
</sect2>
 
<sect2 id="contents-tcl" role="content">
<title>Contenu de Tcl</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèque installée</segtitle>
 
<seglistitem>
<seg>tclsh (lien vers tclsh8.5) et tclsh8.5</seg>
<seg>libtcl8.5.so, libtclstub8.5.a</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="tclsh8.5">
<term><command>tclsh8.5</command></term>
<listitem>
<para>Le shell de commandes Tcl</para>
<indexterm zone="ch-tools-tcl tclsh8.5">
<primary sortas="b-tclsh8.5">tclsh8.5</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tclsh">
<term><command>tclsh</command></term>
<listitem>
<para>Un lien vers tclsh8.5</para>
<indexterm zone="ch-tools-tcl tclsh">
<primary sortas="b-tclsh">tclsh</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libtcl8.5.so">
<term><filename class="libraryfile">libtcl8.5.so</filename></term>
<listitem>
<para>La bibliothèque Tcl</para>
<indexterm zone="ch-tools-tcl libtcl8.5.so">
<primary sortas="c-libtcl8.5.so">libtcl8.5.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libtclstub8.5.a">
<term><filename class="libraryfile">libtclstub8.5.a</filename></term>
<listitem>
<para>La bibliothèque Tcl Stub</para>
<indexterm zone="ch-tools-tcl libtclstub8.5.a">
<primary sortas="c-libtclstub8.5.a">libtclstub8.5.a</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter05/changingowner.xml
0,0 → 1,59
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-changingowner">
<?dbhtml filename="changingowner.html"?>
 
<title>Changer de propriétaire</title>
 
<note>
<para>Les commandes dans la suite de ce livre doivent être exécutées alors
que vous êtes connecté en tant que
<systemitem class="username">root</systemitem> et pas en tant
qu'utilisateur <systemitem class="username">lfs</systemitem>. Contrôlez
à nouveau que <envar>$LFS</envar> est paramétré dans l'environnement de
<systemitem class="username">root</systemitem>.</para>
</note>
 
<para>Pour l'instant, le répertoire
<filename class="directory">$LFS/tools</filename> appartient à l'utilisateur
<systemitem class="username">lfs</systemitem>, un utilisateur
qui n'existe que sur le système hôte. Si le répertoire
<filename class="directory">$LFS/tools</filename> reste ainsi, les fichiers
appartiennent à un ID utilisateur sans compte correspondant. C'est dangereux
car un compte utilisateur créé plus tard pourrait se voir attribuer ce même
ID utilisateur et être propriétaire du répertoire
<filename class="directory">$LFS/tools</filename> et de tous les fichiers
à l'intérieur, les exposant ainsi à des manipulations suspectes.</para>
 
<para>Pour éviter ce problème, vous pourriez ajouter l'utilisateur
<systemitem class="username">lfs</systemitem> au nouveau système LFS
plus tard lorsque vous créeriez le fichier <filename>/etc/passwd</filename>, en prenant garde à
assigner les ID utilisateur et groupe de la même manière que sur le
Système hôte. Mieux encore, changez le propriétaire du répertoire
<filename class="directory">$LFS/tools</filename> en le rendant à l'utilisateur
<systemitem class="username">root</systemitem> en exécutant les commandes
suivantes&nbsp;:</para>
 
<screen><userinput>chown -R root:root $LFS/tools</userinput></screen>
 
<para>Bien que le dossier <filename class="directory">$LFS/tools</filename>
puisse être effacé quand la construction du système sera fini, il peut être conservé
pour construire des systèmes LFS supplémentaires <emphasis>de la même
version du livre</emphasis>. La meilleure façon de sauvegarder
<filename class="directory">$LFS/tools</filename> est celle qui correspond à
vos préférences personnelles.</para>
 
<caution>
<para>Si vous souhaitez conserver les outils temporaires pour un usage dans
la construction de futurs systèmes LFS, c'est le moment
<emphasis>à présent</emphasis> de les sauvegarder. Les commandes qu'implique
le chapitre 6 vont modifier les outils actuellement en place, les rendant
inutiles pour de futures constructions.</para>
</caution>
 
</sect1>
/trunk/hlfs/prologue/hostreqs.xml
0,0 → 1,190
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-hostreqs">
<?dbhtml filename="hostreqs.html"?>
 
<title>Prérequis du système hôte</title>
 
<para>Votre système hôte doit contenir les logiciels suivants dans leur
version minimum indiquée. Cela ne devrait pas poser de problème sur la
plupart des distributions Linux modernes. Noter également que
certaines distributions placeront les en-tête des logiciels
dans un répertoire distinct des paquets, ayant souvent la forme
<quote>&lt;nom-du-paquet&gt;-devel</quote> ou
<quote>&lt;nom-du-paquet&gt;-dev</quote>. Assurez-vous qu'ils sont
installés si votre distribution les fournit.</para>
 
<para>Il se peut que les versions antérieures des paquets logiciels listés
fonctionnent mais elles n'ont pas été testées.</para>
<itemizedlist spacing="compact">
 
<listitem>
<para><emphasis role="strong">Bash-3.2</emphasis> (/bin/sh
devrait être un lien symbolique ou physique vers bash)</para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Binutils-2.17</emphasis> (les versions
supérieure à &binutils-version; ne sont pas recommandées car elles
n'ont pas été testées)</para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Bison-2.3</emphasis> (/usr/bin/yacc
devrait être un lien vers bison ou un petit script qui exécute bison)</para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Bzip2-1.0.4</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Coreutils-6.9</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Diffutils-2.8.1</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Findutils-4.2.31</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Gawk-3.1.5</emphasis> (/usr/bin/awk
devrait être un lien vers gawk)</para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Gcc-4.1.2</emphasis> (les versions
supérieures à &gcc-version; ne sont pas recommandées car elles n'ont
pas été testées)</para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Glibc-2.5.1</emphasis> (les versions
supérieures à &glibc-version; ne sont pas recommandées car elles n'ont
pas été testées)</para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Grep-2.5.1a</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Gzip-1.3.12</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Noyau Linux 2.6.22.5</emphasis>
(compilé avec GCC-4.1.2 ou supérieur)</para>
 
<para>Cette version du noyau est requise car nous spécifions cette version-là lors de la construction de
<application>glibc</application> au chapitre 6, suivant ainsi une recommandation
des développeurs.</para>
 
<para>Si le noyau hôte est plus ancien que le 2.6.22.5, ou s'il n'a pas
été compilé avec le compilateur GCC-4.1.2 (ou supérieur),
vous devrez remplacer le noyau par un nouveau qui satisfait ces
spécifications. Vous pouvez employer deux méthodes pour cela.
Vous pouvez d'abord voir si votre distribution Linux fournit un paquet
pour le noyau 2.6.22.5 ou supérieur. Si tel est le cas, vous pouvez l'installer. Si
votre distribution n'offre pas un paquet acceptable pour le noyau, ou si vous
préférez l'installer, vous pouvez compiler un noyau 2.6 vous-même.
Les instructions pour la compilation du noyau et la configuration du
chargeur de démarrage (en supposant que le système hôte utilise GRUB) sont
au <xref linkend="chapter-bootable"/>.</para>
</listitem>
<listitem>
<para><emphasis role="strong">M4-1.4.10</emphasis></para>
</listitem>
<listitem>
<para><emphasis role="strong">Make-3.81</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Patch-2.5.4</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Perl-5.8.8</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Sed-4.1.5</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Tar-1.18</emphasis></para>
</listitem>
 
<!-- Needed by the apparently broken Binutils-2.18 -->
<listitem>
<para><emphasis role="strong">Texinfo-4.9</emphasis></para>
</listitem>
 
</itemizedlist>
<para>Remarquez que les liens symboliques mentionnés ci-dessus sont nécessaires
pour construire un système LFS en utilisant les instructions contenues à
l'intérieur de ce livre. Il se peut que les liens symboliques pointent
vers d'autres logiciels (comme dash, mawk, etc), mais ils n'ont pas été testés
ou supportés par l'équipe de développement LFS et ils se peut qu'ils
impliquent d'autres déviations par rapport aux instructions ou des correctifs
supplémentaires pour certains paquets.</para>
 
<para id="version-check">Pour voir si votre système hôte a toutes les versions nécessaires,
exécutez ceci&nbsp;:</para>
 
<!-- <anchor xreflabel="Version Check Script" id="version-check"/> -->
<screen role="nodump"><userinput>cat &gt; version-check.sh &lt;&lt; "EOF"
<literal>#!/bin/bash
export LC_ALL=C
 
# Simple script to list version numbers of critical development tools
 
bash --version | head -n1 | cut -d" " -f2-4
echo "/bin/sh -> `readlink -f /bin/sh`"
echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
bison --version | head -n1
if [ -e /usr/bin/yacc ];
then echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
else echo "yacc not found"; fi
bzip2 --version 2&gt;&amp;1 &lt; /dev/null | head -n1 | cut -d" " -f1,6-
echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
diff --version | head -n1
find --version | head -n1
gawk --version | head -n1
if [ -e /usr/bin/awk ];
then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`";
else echo "awk not found"; fi
gcc --version | head -n1
/lib/libc.so.6 | head -n1 | cut -d"," -f1
grep --version | head -n1
gzip --version | head -n1
cat /proc/version
m4 --version | head -n1
make --version | head -n1
patch --version | head -n1
echo Perl `perl -V:version`
sed --version | head -n1
tar --version | head -n1
echo "Texinfo: `makeinfo --version | head -n1`"
echo 'main(){}' > dummy.c &amp;&amp; gcc -o dummy dummy.c
if [ -x dummy ]; then echo "Compilation OK";
else echo "Compilation failed"; fi
rm -f dummy.c dummy
 
</literal>
EOF
 
bash version-check.sh</userinput></screen>
 
</sect1>
/trunk/hlfs/prologue/standards.xml
0,0 → 1,211
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-standards">
<?dbhtml filename="standards.html"?>
 
<title>LFS et les standards</title>
 
<!--<sect2>
<title/> -->
 
<para>La structure de LFS suit les standards Linux aussi
fidèlement que possible. Les premiers standards sont&nbsp;:</para>
 
<itemizedlist>
<listitem>
<para><ulink url="http://www.unix.org/single_unix_specification">The
Single UNIX Specification Version 3 (POSIX)</ulink>. Remarque&nbsp;:
Un enregistrement gratuit est nécessaire.</para>
</listitem>
<listitem>
<para><ulink url="http://www.pathname.com/fhs/pub/fhs-2.3.html">Filesystem
Hierarchy Standard (FHS)</ulink></para>
 
</listitem>
<listitem>
<para><ulink url="http://refspecs.freestandards.org/LSB_4.0.0/">Linux
Standard Base (LSB) Core Specification 4.0</ulink></para>
 
<para>La LSB comporte cinq standards séparés&nbsp;: le c&oelig;ur, C++, le bureau,
les langages à l'exécution et l'impression. Outre les exigences génériques,
il y a aussi les exigences spécifiques à l'architecture. LFS s'efforce
de respecter l'architecture évoquée dans la section précédente.</para>
 
<note><para>Beaucoup de gens ne sont pas d'accord avec les exigences de la
LSB. L'objectif principal de leur existence est de garantir que les
logiciels propriétaires pourront être installés et lancés correctement sur un système
conforme. Comme LFS est basée sur le code source, l'utilisateur a un contrôle
complet des paquets qu'il désire et beaucoup choisissent de ne pas installer certains paquets
qui sont spécifiés dans la LSB.</para></note>
 
</listitem>
</itemizedlist>
 
<para>La création d'un système complet capable de réussir les tests de
certificats LSB est possible, mais non sans quelques paquets supplémentaires
qui vont au-delà des objectifs de LFS. La plupart de ces paquets
supplémentaires ont des instructions d'installation dans BLFS. </para>
 
<variablelist>
<bridgehead renderas="sect3">Paquets fournis par LFS requis pour
satisfaire les exigences LSB</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry>
<term><emphasis>C&oelig;ur LSB&nbsp;:</emphasis></term>
<listitem>
<para>Bash, Binutils, Coreutils, Diffutils, File, Findutils, Gawk,
Grep, Gzip, M4, Man-DB, Ncurses, Procps, Psmisc, Sed,
Shadow, Tar, Util-linux-ng, Zlib</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB C++&nbsp;:</emphasis></term>
<listitem>
<para>Gcc</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB bureau&nbsp;:</emphasis></term>
<listitem>
<para>Aucun</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB Langage à l'exécution&nbsp;:</emphasis></term>
<listitem>
<para>Perl</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB impression&nbsp;:</emphasis></term>
<listitem>
<para>Aucun</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB Multiméda&nbsp;:</emphasis></term>
<listitem>
<para>Aucun</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<variablelist>
<bridgehead renderas="sect3">Paquets fournis par BLFS requis pour
satisfaire les exigences LSB</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry>
<term><emphasis>C&oelig;ur LSB&nbsp;:</emphasis></term>
<listitem>
<para>Bc, Cpio, Ed, Fcrontab, PAM, Sendmail (ou Postfix ou Exim)
</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB C++&nbsp;:</emphasis></term>
<listitem>
<para>Aucun</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB bureau&nbsp;:</emphasis></term>
<listitem>
<para>ATK, Cairo, Desktop-file-utils, Freetype, Fontconfig,
Glib2, GTK+2, Icon-naming-utils, Libjpeg, Libpng, Libxml2,
MesaLib, Pango, Qt3, Qt4, Xorg</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB langage à l'exécution&nbsp;:</emphasis></term>
<listitem>
<para>Python</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB impression&nbsp;:</emphasis></term>
<listitem>
<para>CUPS</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB Multimédia&nbsp;:</emphasis></term>
<listitem>
<para>Bibliothèques Alsa, NSPR, NSS, OpenSSL, Java</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<variablelist>
<bridgehead renderas="sect3">Paquets fournis ni par LFS ni par BLFS mais
qui sont requis pour satisfaire les exigences LSB</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry>
<term><emphasis>C&oelig;ur LSB&nbsp;:</emphasis></term>
<listitem>
<para>At, Batch, Install_initd, Lsb_release, Remove_initd, Test
</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB C++&nbsp;:</emphasis></term>
<listitem>
<para>Aucun</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB bureau&nbsp;:</emphasis></term>
<listitem>
<para>Aucun</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB Langage à l'exécution&nbsp;:</emphasis></term>
<listitem>
<para>Aucun</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB impression&nbsp;:</emphasis></term>
<listitem>
<para>Aucun</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><emphasis>LSB Multimédia&nbsp;:</emphasis></term>
<listitem>
<para>Xdg-utils</para>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect1>
 
/trunk/hlfs/prologue/organization.xml
0,0 → 1,45
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-organization">
<?dbhtml filename="organization.html"?>
 
<title>Structure</title>
 
<para>Ce livre est divisé en plusieurs parties.</para>
 
<sect2>
<title>Partie I - Introduction</title>
 
<para>La première partie donne quelques informations importantes,
comme par exemple concernant la façon d'installer LFS. Cette section fournit
aussi des méta-informations sur le livre.</para>
</sect2>
 
<sect2>
<title>Partie II - Préparation de la construction</title>
 
<para>La deuxième partie décrit comment préparer le processus de
construction&nbsp;: création d'une partition, téléchargement des
paquets et compilation d'outils temporaires.</para>
</sect2>
 
<sect2>
<title>Partie III - Construction du système LFS</title>
 
<para>La troisième partie guide le lecteur tout au long de la
construction du système LFS&nbsp;: compilation et installation de
tous les paquets un par un, mise en place des scripts de démarrage
et installation du noyau. Le système Linux basique résultant est la
fondation à partir de laquelle d'autres logiciels peuvent être
construits pour étendre le système de la façon désirée. À la fin du
livre se trouve une référence facile à utiliser et listant tous les
programmes, bibliothèques et fichiers importants qui ont été
installés.</para>
</sect2>
 
</sect1>
/trunk/hlfs/prologue/prerequisites.xml
0,0 → 1,66
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-prerequisites">
<?dbhtml filename="prerequisites.html"?>
 
<title>Prérequis</title>
 
<para>Construire un système LFS n'est pas une tâche facile. Cela
requiert un certain niveau de connaissance en administration de
système Unix pour résoudre les problèmes et exécuter correctement les
commandes listées. En particulier, au strict minimum, vous
devriez avoir déjà la capacité d'utiliser la ligne de commande (le
shell) pour copier et déplacer des fichiers et des répertoires, pour
lister le contenu de répertoires et de fichiers, et pour changer de
répertoire. Il est aussi attendu que vous disposiez d'une
connaissance raisonnable de l'utilisation et de l'installation de
logiciels Linux.</para>
 
<para>Comme le livre LFS attend <emphasis>au moins</emphasis> ce
simple niveau de connaissance, les différents forums de support LFS
seront peu capables de vous fournir une assistance en dessous de ce
niveau. Vous finirez par remarquer que vos questions n'auront
pas de réponses ou que vous serez renvoyé à la liste des lectures
principales avant installation.</para>
 
<para>Avant de construire un système LFS, nous recommandons de lire
les guides pratiques suivants&nbsp;:</para>
 
<itemizedlist>
<listitem>
<para>Software-Building-HOWTO
<ulink url="http://www.tldp.org/HOWTO/Software-Building-HOWTO.html"/></para>
 
<para>C'est un guide complet sur la construction et l'installation
<quote>générique</quote> de logiciels Unix sous Linux. Bien qu'il ait été écrit il y a longtemps, il offre encore un bon résumé des
techniques de base requises pour construire et installer un logiciel.</para>
</listitem>
 
<listitem>
<para>The Linux Users' Guide
<ulink url="http://www.linuxhq.com/guides/LUG/guide.html"/></para>
 
<para>Ce guide couvre l'utilisation de différents logiciels
Linux. Cette référence est aussi ancienne mais toujours valide.</para>
</listitem>
 
<listitem>
<para>The Essential Pre-Reading Hint
<ulink url="&hints-root;essential_prereading.txt"/></para>
 
<para>C'est une astuce LFS écrite spécifiquement pour les nouveaux
utilisateurs Linux. C'est principalement une liste de liens
d'excellentes sources d'informations sur une grande
gamme de thèmes. Toute personne essayant
d'installer LFS devrait au moins avoir une certaine compréhension de la
majorité des thèmes de cette astuce.</para>
</listitem>
 
</itemizedlist>
 
</sect1>
/trunk/hlfs/prologue/typography.xml
0,0 → 1,93
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-typography">
<?dbhtml filename="typography.html"?>
 
<title>Typographie</title>
 
<para>Pour faciliter ce qui suit, voici quelques conventions typographiques
suivies tout au long de ce livre. Cette section contient quelques exemples du
format typographique trouvé dans Linux From Scratch.</para>
 
<screen role="nodump"><userinput>./configure --prefix=/usr</userinput></screen>
 
<para>Ce style de texte est conçu pour être tapé exactement de la même
façon qu'il est vu sauf si le texte indique le contraire. Il est aussi
utilisé dans les sections d'explications pour identifier les commandes
référencées.</para>
<para>Dans certains cas, une ligne logique s'étend sur deux lignes physiques
voire plus avec un antislash à la fin de la ligne.</para>
<screen role="nodump"><userinput>CC="gcc -B/usr/bin/" ../binutils-2.18/configure \
--prefix=/tools --disable-nls --disable-werror</userinput></screen>
 
<para>Remarquez que l'antislash doit être suivi d'un retour chariot immédiat.
Tout autre caractère blanc comme des espaces ou des tabulations donneroa des
résultats incorrects.</para>
 
<screen><computeroutput>install-info: unknown option '--dir-file=/mnt/lfs/usr/info/dir'</computeroutput></screen>
 
<para>Ce style de texte (texte à largeur fixe) montre une sortie
d'écran, généralement le résultat de commandes. Ce format est aussi
utilisé pour afficher des noms de fichiers, comme <filename>/etc/ld.so.conf</filename>.</para>
 
<para><emphasis>Mise en évidence</emphasis></para>
 
<para>Ce style de texte est utilisé dans différents buts dans ce
livre. Son but principal est de mettre en évidence les points importants.</para>
 
<para><ulink url="&lfs-root;"/></para>
 
<para>Ce format est utilisé pour les liens, ceux de la communauté LFS
et ceux référençant des pages externes. Cela inclut les guides
pratiques, les emplacements de téléchargement et des sites web.</para>
 
<screen role="nodump"><userinput>cat &gt; $LFS/etc/group &lt;&lt; "EOF"
<literal>root:x:0:
bin:x:1:
......</literal>
EOF</userinput></screen>
 
<para>Ce format est utilisé principalement lors de la création de
fichiers de configuration. La première commande indique au système de
créer le fichier <filename>$LFS/etc/group</filename> à partir de ce
qui est saisi jusqu'à ce que la séquence de fin de fichier (<foreignphrase>End Of File</foreignphrase>) (EOF) soit
rencontrée. Donc, cette section entière est généralement saisie de la
même façon.</para>
 
<para><replaceable>&lt;TEXTE A REMPLACER&gt;</replaceable></para>
 
<para>Ce format est utilisé pour intégrer du texte qui ne devra pas
être saisi tel quel et qui ne devra pas être copié/collé.</para>
 
<para><replaceable>[TEXTE FACULTATIF]</replaceable></para>
 
<para>Ce format est utilisé pour intégrer du texte qui est facultatif</para>
 
<para><filename>passwd(5)</filename></para>
 
<para>Ce format est utilisé pour faire référence à une page de manuel (man)
spécifique. Le nombre entre parenthèses indique une section spécifique à l'intérieur des
manuels. Par exemple, <command>passwd</command> a deux
pages de man. Pour les instructions d'installation de LFS, ces deux pages
man seront situées dans
<filename>/usr/share/man/man1/passwd.1</filename>. Quand le livre utilise <filename>passwd(5)</filename>, il fait
spécifiquement référence à
<filename>/usr/share/man/man5/passwd.5</filename>.
<command>man passwd</command> affichera la première page man qu'il trouvera et qui
aura une correspondance avec <quote>passwd</quote>, à priori
<filename>/usr/share/man/man1/passwd.1</filename>. Dans cet exemple,
vous devrez exécuter <command>man 5 passwd</command> pour lire cette
page spécifique. Il devrait être noté que la plupart des pages de man
n'ont pas de nom de page dupliqué dans les différentes sections. Du
coup, <command>man <replaceable>&lt;[nom du programme]&gt;</replaceable></command>
est généralement suffisant.</para>
 
</sect1>
 
/trunk/hlfs/prologue/why.xml
0,0 → 1,471
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-why">
<?dbhtml filename="package-choices.html"?>
 
<title>Raison de la présence des paquets dans le livre</title>
 
<para>Comme indiqué plus haut, le but de LFS est de construire les fondations
complètes et utilisables d'un système. Il inclut tous les paquets
nécessaires pour être répliqué tout en fournissant une base relativement
minimale vous permettant de personnaliser un système plus complet basé sur
les choix de l'utilisateur. Cela ne veut pas dire que LFS est le plus petit système
possible. Plusieurs paquets importants sont inclus et ne sont
pas absolument indispensables. Les listes ci-dessous documentent la
raison pour laquelle chaque paquet se trouve dans le livre.</para>
 
<itemizedlist>
 
<listitem>
<para>Autoconf</para>
 
<para>Le paquet Autoconf contient des programmes produisant des
scripts shell qui configurent automatiquement le code source à partir du
modèle fourni par le développeur. Il est souvent requis pour reconstruire un
paquet après une mise à jour des procédures de construction.</para>
</listitem>
 
 
<listitem>
<para>Automake</para>
 
<para>Ce paquet contient des programmes pour générer des fichiers Make à partir
d'un modèle. Il est souvent requis pour reconstruire un
paquet après des mises à jour des procédures de construction.</para>
</listitem>
 
<listitem>
<para>Bash</para>
 
<para>Ce paquet satisfait une exigence du coeur de la LSB pour fournir
une interface Bourne Shell au système. Il a été choisi parmi
d'autres shells du fait de son utilisation répandue et de ses
fonctionnalités étendues au-delà des fonctions d'un shell de base.</para>
</listitem>
 
<listitem>
<para>Binutils</para>
 
<para>Ce paques contient un éditeur de liens, un assembleur et d'autres
outils de gestion des fichiers objets. Les programmes de ce paquet
sont nécessaires pour compiler la plupart des paquets d'un système LFS
et allant au-delà.</para>
</listitem>
 
<listitem>
<para>Bison</para>
 
<para>Ce paquet contient la version GNU de yacc (<foreignphrase>Yet Another
Compiler Compiler</foreignphrase>, encore un nouveau compilateur) requis pour construire
plusieurs autres programmes de LFS.</para>
</listitem>
 
<listitem>
<para>Bzip2</para>
 
<para>Ce paquet contient des programmes de compression et de décompression
de fichiers. Il est nécessaire pour décompresser plusieurs paquets de LFS.</para>
</listitem>
 
<listitem>
<para>Coreutils</para>
 
<para>Ce paquet contient un certain nombre de paquets essentiels pour
visualiser et manipuler des fichiers et des répertoires. Ces programmes
sont nécessaires pour la gestion de fichiers en ligne de commande et ils
sont nécessaires pour les procédures d'installation de de chaque paquet
de LFS.</para>
</listitem>
 
<listitem>
<para>DejaGNU</para>
 
<para>Ce paquet contient un environnement de travail pour tester d'autres
programmes. Il n'est installé que dans la chaîne d'outils temporaires.</para>
</listitem>
 
<listitem>
<para>Diffutils</para>
 
<para>Ce paquet contient des programmes qui montrent les
différences entre des fichiers et des répertoires. On peut utiliser ces
programmes pour créer des correctifs et ils sont aussi utilisés dans
de nombreuses procédures de construction de paquets.</para>
</listitem>
 
<listitem>
<para>Expect</para>
 
<para>Le paquet Expect contient un programme pour réaliser des dialogues
scriptés avec d'autres programmes interactifs. Il est souvent
utilisé pour tester d'autres paquets. Il n'est installé que pour la chaîne d'outils
temporaire.</para>
</listitem>
 
<listitem>
<para>E2fsprogs</para>
 
<para>Ce paquet contient les outils de gestion des systèmes de fichiers
ext2, ext3 et ext4. Ce sont les systèmes de fichiers les plus courants et les plus
largement testés supportés par Linux.</para>
</listitem>
 
<listitem>
<para>File</para>
 
<para>Ce paquet contient un outil pour déterminer le type d'un ou plusieurs fichiers
donnés. Quelques paquets en ont besoin pour se construire.</para>
</listitem>
 
<listitem>
<para>Findutils</para>
 
<para>Ce paquet contient des programmes pour rechercher
des fichiers sur un système de fichiers. Il est utilisé dans les scripts
de construction de nombreux paquets.</para>
</listitem>
 
<listitem>
<para>Flex</para>
 
<para>Ce paquet contient un outil de génération de programmes qui
reconnaît des modèles de texte. C'est la version GNU du programme
lex (<foreignphrase>lexical analyzer</foreignphrase>, analyseur lexical).
Il est nécessaire pour construire plusieurs paquets
LFS.</para>
</listitem>
 
<listitem>
<para>Gawk</para>
 
<para>Ce paquet contient des programmes de manipulation de fichiers texte.
C'est la version GNU du programme awk (Aho-Weinberg-Kernighan). Il
est utilisé dans les scripts de construction de nombreux autres paquets.</para>
</listitem>
 
<listitem>
<para>Gcc</para>
 
<para>Ce paquet est le <foreignphrase>Gnu Compiler Collection</foreignphrase>. Il contient les
compilateurs C et C++ ainsi que d'autres qui ne sont pas construits dans LFS.</para>
</listitem>
 
<listitem>
<para>GDBM</para>
 
<para>Ce paquet contient la bibliothèque <foreignphrase>GNU Database Manager</foreignphrase> (gestionnaire de
base de données GNU). Il est utilisé par un autre paquet de LFS&nbsp;: Man-DB.</para>
</listitem>
 
<listitem>
<para>Gettext</para>
 
<para>Ce paquet contient des outils et des bibliothèques pour
l'internationalisation et la localisation de nombreux paquets.</para>
</listitem>
 
<listitem>
<para>Glibc</para>
 
<para>Le paquet contient la bibliothèque C principale. Les programmes Linux ne peuvent pas s'exécuter
sans elle.</para>
</listitem>
 
<listitem>
<para>GMP</para>
 
<para>Ce paquet contient des bibliothèques mathématiques qui fournissent des fonctions
utiles pour de l'arithmétique en précision arbitraire. Il est nécessaire
pour construire Gcc.</para>
</listitem>
 
<listitem>
<para>Grep</para>
 
<para>Ce paquet contient des programmes de recherche au sein de fichiers.
Ces programmes sont utilisés par la plupart des scripts de construction
des paquets.</para>
</listitem>
 
<listitem>
<para>Groff</para>
 
<para>Le paquet Groff contient des programmes de formatage de
texte. Une des fonctions importantes de ces programmes est le
formatage des pages de man.</para>
</listitem>
 
<listitem>
<para>GRUB</para>
 
<para>Ce paquet est le chargeur <foreignphrase>Grand Unified Boot</foreignphrase>.
Ce n'est pas le seul chargeur de démarrage disponible, mais c'est le plus flexible.</para>
</listitem>
 
<listitem>
<para>Gzip</para>
 
<para>Ces paquets contiennent des programmes de compression et de
décompression de fichiers. Il est nécessaire pour décompresser de nombreux
paquets sur LFS et au-delà.</para>
</listitem>
 
<listitem>
<para>Iana-etc</para>
 
<para>Ce paquet fournit des données pour des services et des protocoles
réseau. Il est nécessaire pour activer les bonnes fonctionnalités de réseau.</para>
</listitem>
 
<listitem>
<para>Inetutils</para>
 
<para>Ce paquet contient des programmes d'administration réseau de base.</para>
</listitem>
 
<listitem>
<para>IProute2</para>
 
<para>Ce paquet contient des programmes pour du réseau de base ou avancé en
IPv4 et IPv6. Il a été choisi parmi les paquets d'outils réseau
courants (net-tools) pour ses possibilités IPv6.</para>
</listitem>
 
<listitem>
<para>Kbd</para>
 
<para>Ce paquet contient des fichiers de tables de touches, des outils
claviers pour les claviers non américains et un certain nombre de
polices pour console.</para>
</listitem>
 
<listitem>
<para>Less</para>
 
<para>Ce paquet contient un très bon visualiseur de texte qui permet le
défilement vers le haut ou le bas lors de la visualisation d'un fichier.
Il est aussi utilisé par Man-DB pour visualiser des pages de man.</para>
</listitem>
 
<listitem>
<para>Libtool</para>
 
<para>Ce paquet contient le script de support de la bibliothèque générique GNU.
Il englobe la complexité de l'utilisation des bibliothèques partagées dans
une interface cohérente et portable. Il est exigé par les suites de tests d'autres
paquets de LFS.</para>
</listitem>
 
<listitem>
<para>Noyau Linux</para>
 
<para>Ce paquet est le système d'exploitation. C'est Linux dans l'environnement
GNU/Linux.</para>
</listitem>
 
<listitem>
<para>M4</para>
 
<para>Le paquet M4 contient un processeur général de macros textes
utile en tant qu'outil de construction d'autres programmes.</para>
</listitem>
 
<listitem>
<para>Make</para>
 
<para>Ce paquet contiennent un programme de gestion de la construction des paquets. Il est
requis par presque tous les paquets de LFS.</para>
</listitem>
 
<listitem>
<para>Man-DB</para>
 
<para>Ce paquet contient des programmes de recherche et de visualisation de
pages de man. Il a été préféré au paquet <application>man</application>
du fait d'une capacité d'internationalisation supérieure. Il fournit le programme
man.</para>
</listitem>
 
<listitem>
<para>Man-pages</para>
 
<para>Ce paquet contient le contenu final des pages de man
de base de Linux.</para>
</listitem>
 
<listitem>
<para>Module-Init-Tools</para>
 
<para>Ce paquet contient des programmes nécessaires pour administrer
les modules du noyau Linux.</para>
</listitem>
 
<listitem>
<para>MPC</para>
 
<para>Ce paquet contient des fonctions pour le calcul de
nombres complexes. Il est exigé par Gcc.</para>
</listitem>
 
<listitem>
<para>MPFR</para>
 
<para>Le paquet MPFR contient des fonctions pour des maths à précision
multiple. Il est exigé par Gcc.</para>
</listitem>
 
<listitem>
<para>Ncurses</para>
 
<para>Le paquet Ncurses contient les bibliothèques de gestion des
écrans type caractère, indépendant des terminaux. Il est souvent utilisé
pour fournir le contrôle du curseur dans un système en menus. Il est
exigé par un certain nombre de paquets de LFS.</para>
</listitem>
 
<listitem>
<para>Patch</para>
 
<para>Ce paquet contient un programme pour modifier ou créer
des fichiers en appliquant un fichier de <emphasis>correctif</emphasis> créé en général par
le programme <application>diff</application>. Il est requis par
la procédure de construction de plusieurs paquets LFS.</para>
</listitem>
 
<listitem>
<para>Perl</para>
 
<para>Ce paquet est un interpréteur du langage PERL en cours d'exécution.
Il est nécessaire pour l'installation et les suites de tests de plusieurs
paquets LFS.</para>
</listitem>
 
<listitem>
<para>Pkg-config</para>
 
<para>Ce paquet contient un programme pour donner le chemin des en-têtes
et/ou les chemins vers la bibliothèque aux outils de construction pendant
les processus configure et make. Il est requis par beaucoup
de paquets LFS.</para>
</listitem>
 
<listitem>
<para>Procps</para>
 
<para>Ce paquet contient des programmes de surveillance des processus.
Ces programmes sont utiles pour l'administration système et ils sont aussi
utilisés par les scripts de démarrage LFS.</para>
</listitem>
 
<listitem>
<para>Psmisc</para>
 
<para>Ce paquet contient des programmes d'affichage d'informations
sur les processus en cours d'exécution. Ces programmes sont utiles pour
l'administration système.</para>
</listitem>
 
<listitem>
<para>Readline</para>
 
<para>Ce paquet est un ensemble de bibliothèques qui offre des
fonctionnalités d'édition et d'historique de la ligne de commande. Il est utilisé par
Bash.</para>
</listitem>
 
<listitem>
<para>Sed</para>
 
<para>Ce paquet permet d'entrer du texte sans l'ouvrir dans un éditeur
de texte. Il est aussi requis par la plupart des scripts de
configuration des paquets LFS.</para>
</listitem>
 
<listitem>
<para>Shadow</para>
 
<para>Ce paquet contient des programmes de gestion sécurisée
des mots de passe.</para>
</listitem>
 
<listitem>
<para>Sysklogd</para>
 
<para>Ce paquet contient des programmes de journalisation des
messages système, tels que ceux donnés par le noyau ou les processus démons lorsque se
produisent des événements inhabituels.</para>
</listitem>
 
<listitem>
<para>Sysvinit</para>
 
<para>Ce paquet fournit le programme <application>init</application>
qui est le parent de tous les autres processus du système Linux.</para>
</listitem>
 
<listitem>
<para>Tar</para>
 
<para>Ce paquet fournit des fonctionnalités d'archivage et d'extraction
de potentiellement tous les paquets utilisés dans LFS.</para>
</listitem>
 
<listitem>
<para>Tcl</para>
 
<para>Ce paquet contient le <foreignphrase>Tool Command Language</foreignphrase> utilisé
dans beaucoup de suites de tests des paquets LFS. Il n'est installé que
dans la chaîne d'outils temporaire.</para>
</listitem>
 
<listitem>
<para>Texinfo</para>
 
<para>Ce paquet contient des programmes de lecture, d'écriture
et de conversion de pages info. Il est utilisé dans les procédures
d'installation de beaucoup de paquets LFS.</para>
</listitem>
 
<listitem>
<para>Udev</para>
 
<para>Ce paquet contient des programmes pour la création dynamique de n&oelig;uds de
périphériques. C'est une alternative à la création de milliers de
périphériques statiques dans le répertoire /dev.</para>
</listitem>
 
<listitem>
<para>Util-linux-ng</para>
 
<para>Ce paquet contient des programmes généraux.
Parmi eux, se trouvent des outils de gestion des systèmes de fichiers, de consoles,
de partitions et de messages.</para>
</listitem>
 
<listitem>
<para>Vim</para>
 
<para>Ce paquet contient un éditeur. Il a été choisi pour sa compatibilité
avec l'éditeur vi classique et son grand nombre de fonctionnalités
puissantes. Un éditeur est un choix très personnel
de chaque utilisateur et vous pouvez le remplacer par n'importe quel éditeur si vous
le désirez.</para>
</listitem>
 
<listitem>
<para>Zlib</para>
 
<para>Ce paquet contient des routines de compression et de décompression utilisées par
quelques programmes.</para>
</listitem>
 
</itemizedlist>
 
</sect1>
 
/trunk/hlfs/prologue/preface.xml
0,0 → 1,25
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<preface id="preface">
<?dbhtml dir="prologue"?>
<?dbhtml filename="preface.html"?>
 
<title>Préface</title>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="foreword.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="audience.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="architecture.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="standards.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="why.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="prerequisites.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="hostreqs.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="typography.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="organization.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="errata.xml"/>
 
</preface>
/trunk/hlfs/prologue/architecture.xml
0,0 → 1,60
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-architecture">
<?dbhtml filename="architecture.html"?>
 
<title>Architectures cibles de LFS</title>
 
<para>L'architecture cible primaire de LFS est le processeur Intel 32 bits.
Si vous n'avez pas construit de système LFS auparavant, vous devriez commencer par
cette cible. L'architecture 32 bits est le système Linux le plus largement supporté
et elle est la plus compatible, tant avec les logiciels libres que propriétaires.</para>
 
<para>D'un autre côté, les instructions de ce livre sont connues pour fonctionner,
moyennant quelques modifications, aussi bien avec les processeurs Power PC qu'avec ceux AMD/Intel 64 bits. Pour construire
un système qui utilise un de ces processeurs, le prérequis principal supplémentaire à ceux des pages suivantes est la présence d'un système comme une LFS précédemment installée, Ubuntu, Red Hat/Fedora, SuSE, ou une
autre distribution représentant l'architecture que vous avez. Remarquez aussi que
vous pouvez installer et utiliser un système 32 bits en tant que
système hôte sur un système AMD/Intel 64 bits.</para>
 
<para>Il faut ajouter ici d'autres éléments concernant les systèmes 64 bits.
Comparé à un système 32 bits, la taille des programmes exécutables est
légèrement plus importante et les vitesses d'exécution ne sont
pas beaucoup plus rapides. Par exemple, dans le test de la construction de
LFS-6.5 sur un système basé sur un processeur bicoeur, nous avons relevé
les statistiques suivantes&nbsp;:</para>
 
<screen><computeroutput>Temps de construction de l'architecture Taille de la construction
32 bit 198.5 minutes 648 Mio
64 bit 190.6 minutes 709 Mio</computeroutput></screen>
 
<para>Comme vous pouvez le voir, la construction 64 bits n'est plus rapide que de 4%
et elle est plus lourde de 9% par rapport à la construction 32 bits. Le gain du passage au système
64 bits est relativement minime. Bien entendu, si vous avez plus de 4 Gio de RAM ou si vous voulez
manipuler des données qui excèdent 4 Gio, les avantages d'un système 64 bits
sont substantiels.</para>
 
<para>La construction 64 bits par défaut qui résulte de LFS est considérée comme un système
"pur" 64 bits. C'est-à-dire qu'elle ne supporte que les exécutables en 64 bits.
La construction d'un système "multi-lib" implique la construction de beaucoup d'applications à deux reprises,
une fois pour le système 32 bits et une fois pour le système 64 bits. Ceci n'est pas
supporté par LFS car cela interfèrerait avec l'objectif pédagogique visant à
fournir les instructions nécessaires à un simple système Linux de base. Vous
pouvez vous référer au projet <ulink url="http://lfs.traduc.org/CLFS/">Cross Linux From Scratch</ulink>
pour ce sujet avancé.</para>
 
<para>Un dernier commentaire sur les systèmes 64 bits. Il y a des paquets qui ne peuvent pour l'instant
pas être construits dans un système 64 bits "pur" ou qui impliquent des
instructions de construction spécialisées. En général, ces paquets incluent des
instructions du langage de l'assembleur spécifiques au 32 bits qui échouent
lors de la construction sur un système 64 bits. Ceci inclut
certains pilotes de Xorg de <ulink url="http://www.linuxfromscratch.org/blfs/view/svn/">Beyond Linux From Scratch (BLFS)</ulink>. On peut contourner la plupart de ces problèmes,
mais cela peut impliquer des procédures spécialisées ou des correctifs.</para>
 
</sect1>
 
/trunk/hlfs/prologue/bookinfo.xml
0,0 → 1,45
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<bookinfo>
<title>Linux From Scratch</title>
<subtitle>Version &version;</subtitle>
 
 
<authorgroup>
<author>
<firstname>Créé par Gerard</firstname>
<surname>Beekmans</surname>
</author>
<author>
<firstname>Édité par Matthew Burgess</firstname>
<surname>et Bruce Dubbs</surname>
</author>
 
</authorgroup>
 
 
<copyright id="copyright">
<year>&copyrightdate;</year>
<holder>Gerard Beekmans</holder>
</copyright>
 
<legalnotice>
<para>Copyright &copy; &copyrightdate;, Gerard Beekmans</para>
 
<para>Tous droits réservés.</para>
 
<para>Ce livre est distribué sous la <xref linkend="CC"/>.</para>
<para>Les instructions d'ordinateur peuvent être extraites du livre
sous la <xref linkend="MIT"/>.</para>
 
<para><trademark class='registered'>Linux</trademark> est une marque déposée
de Linus Torvalds.</para>
 
</legalnotice>
 
</bookinfo>
/trunk/hlfs/prologue/foreword.xml
0,0 → 1,66
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-foreword">
<?dbhtml filename="foreword.html"?>
 
<title>Avant-propos</title>
 
<para>Mon cheminement pour apprendre et mieux comprendre Linux a commencé il y a plus d'une décennie, soit en 1998. Je
venais d'installer ma première distribution Linux et je fus rapidement intrigué par l'ensemble du concept et la
philosophie sous-jacente de Linux.</para>
 
<para>Il y a toujours plein de façons d'accomplir une seule tâche. Il en est de même pour les distributions Linux. Un
grand nombre existent depuis des années. Certaines existent encore, d'autres se sont transformées en quelque chose
d'autre, tandis que d'autres ont été reléguées dans nos souvenirs. Elles font toutes les choses différemment pour s'adapter au besoin de
leurs destinataires. Vu qu'il existait énormément de manières différentes d'accomplir le même but final, je me rendis compte que je
n'étais plus obligé de me limiter à une organisation en particulier. Avant de découvrir Linux, nous supportions simplement les problèmes
dans d'autres systèmes d'exploitation puisque vous n'aviez pas le choix. Cela valait ce que ça valait, que vous aimiez ou pas.
Avec Linux, le concept du choix a commencé à émerger. Si vous n'aimiez pas quelque chose, vous étiez libres, voire invités
à le modifier.</para>
<para>J'ai essayé un certain nombre de distributions et n'ai pas pu me décider pour l'une d'elles. C'étaient de bons
systèmes, chacun à sa façon. Ce n'était plus une question de bonne ou mauvaise qualité. C'était devenu une question de
goût personnel. Avec tout ce choix disponible, il devenait clair qu'il n'y aurait pas un seul système parfait pour moi.
Donc, je résolus de créer mon propre système Linux qui correspondrait complètement à mes préférences personnelles.</para>
 
<para>Pour réellement fabriquer mon propre système, je résolus de compiler tout à partir du code source au lieu d'utiliser
des paquets de binaires pré-compilés. Ce système Linux <quote>parfait</quote> aurait les forces de plusieurs systèmes
sans leurs faiblesses ressenties. L'idée était au départ décourageante. Je restais sceptique à l'idée de pouvoir construire
un tel système.</para>
 
<para>Après avoir rencontré quelques problèmes comme des dépendances
circulaires et erreurs à la compilation, j'ai construit un système Linux
entièrement personnalisé. Il était complètement opérationnel et parfaitement utilisable comme n'importe quel autre système
Linux existant à ce moment. Mais c'était ma propre création. C'était très satisfaisant d'avoir concocté un système soi-
même. Faire mieux aurait été de créer chaque morceau de logiciel moi-même. C'était le mieux qui pouvait suivre.</para>
 
<para>Lorsque j'ai partagé mes objectifs et mes expériences avec
d'autres membres de la communauté Linux, il est devenu clair qu'il
y avait un sérieux intérêt dans ces idées. Il devint rapidement clair que de tels systèmes LFS personnalisés
rencontraient non seulement les exigences des utilisateurs mais servaient aussi comme opportunité idéale
d'apprentissage pour les programmeurs et les administrateurs système,
afin d'améliorer leurs compétences (existantes) sous Linux. De cet intérêt est né
le projet <emphasis>Linux From Scratch.</emphasis></para>
 
<para>Ce livre Linux From Scratch est le coeur principal de ce projet. Il fournit aux lecteurs la base et les instructions
pour concevoir et créer votre propre système. Si ce livre fournit un modèle qui aboutira à un système qui fonctionne
correctement, vous êtes libres de modifier les instructions pour les adapter à vous, ce qui fait partie des finalités importantes du
projet après tout. Vous gardez le contrôle&nbsp;; nous vous donnons simplement un coup de main pour débuter sur votre
propre cheminement.</para>
 
<para>J'espère sincèrement que vous passerez un bon moment en travaillant sur
votre propre système Linux From Scratch et que vous apprécierez les nombreux
bénéfices qu'apporte un système qui est réellement le
vôtre.</para>
 
<literallayout>--
Gerard Beekmans
gerard@linuxfromscratch.org</literallayout>
 
</sect1>
 
/trunk/hlfs/prologue/audience.xml
0,0 → 1,58
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-audience">
<?dbhtml filename="audience.html"?>
 
<title>Public visé</title>
 
<para>Il y a beaucoup de raisons qui vous pousseraient à vouloir
lire ce livre. Une des questions que beaucoup de personnes se posent
est <quote>pourquoi se fatiguer à installer manuellement un système
Linux depuis le début alors qu'il suffit de télécharger une
distribution existante&nbsp;?</quote>.</para>
 
<para>Une raison importante de l'existence de ce projet est de vous aider à apprendre
comment fonctionne un système Linux de l'intérieur. Construire un
système LFS aide à démontrer ce qui fait que Linux fonctionne, et
comment les choses interagissent et dépendent les unes des autres. Une des meilleures choses que l'expérience de cet
apprentissage peut vous apporter est la capacité de personnaliser un système Linux afin qu'il soit à
votre goût et réponde à vos besoins.</para>
 
<para>Un autre avantage clé de LFS est qu'il vous permet d'avoir
plus de contrôle sur votre système sans avoir à dépendre d'une
implémentation créée par quelqu'un d'autre. Avec LFS,
vous êtes maintenant au volant et vous êtes capable de décider chaque aspect
du système.</para>
 
<para>LFS vous permet de de créer des systèmes
Linux très compacts. Lors de l'installation d'une distribution
habituelle, vous êtes souvent obligé d'inclure beaucoup de programmes que vous n'utiliserez ni ne comprendrez probablement
jamais Ces programmes gaspillent des ressources. Vous pourriez répondre qu'avec les disques durs et les processeurs
d'aujourd'hui, les ressources ne sont plus un problème. Pourtant, vous êtes parfois contraint par des questions d'espace,
voire d'autres. Pensez aux CDs, clés USB amorçables et aux systèmes embarqués. Ce sont des champs où LFS peut être
avantageux.</para>
 
<para>Un autre avantage d'un système Linux personnalisé est un
surcroît de sécurité. En compilant le système complet à partir
du code source, vous avez la possibilité de tout vérifier et
d'appliquer tous les correctifs de sécurité désirés. Il n'est plus
nécessaire d'attendre que quelqu'un d'autre vous fournisse les paquets d'un binaire
réparant une faille de sécurité. À moins que vous examiniez vous-mêmes
le correctif et que vous l'appliquiez vous-même, vous n'avez aucune garantie que le
nouveau paquet du binaire ait été compilé correctement et qu'il corrige bien le problème.</para>
 
<para>Le but de Linux From Scratch est de construire les fondations d'un système
complet et utilisable. Si vous ne souhaitez pas construire votre propre système à partir de rien, vous pourriez ne pas
bénéficier entièrement des informations contenues dans ce livre.</para>
 
<para>Il existe trop de bonnes raisons de construire votre système LFS
pour pouvoir toutes les lister ici. En fin de compte, l'apprentissage est de loin la raison la plus puissante. En
continuant dans votre expérience de LFS, vous trouverez la puissance réelle que donnent l'information et la
connaissance.</para>
 
</sect1>
/trunk/hlfs/prologue/errata.xml
0,0 → 1,22
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-errata">
<?dbhtml filename="errata.html"?>
 
<title>Errata</title>
 
<para>Le logiciel utilisé pour créer un système LFS est constamment mis à jour
et amélioré. Les messages d'avertissements pour la sécurité et les corrections
de bogues pourraient survenir après la sortie du livre LFS. Pour vérifier si
les versions du paquetage ou les instructions de cette version de LFS ont
besoin de modifications pour corriger les vulnérabilités en terme de sécurité
ou toute autre correction de bogue, merci de visiter
<ulink url="&errata;"/> avant de commencer votre construction. Vous devez noter toutes les modifications et les appliquer à la section correspondante du livre pendant votre progression lors de
la construction du système LFS.</para>
 
</sect1>
/trunk/hlfs/prologue/dedication.xml
0,0 → 1,11
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE dedication PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<dedication>
<title>Dédicace</title>
<para>Ce livre est dédié</para>
</dedication>
/trunk/hlfs/chapter06/grub.xml
0,0 → 1,259
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-grub" role="wrap">
<?dbhtml filename="grub.html"?>
 
<sect1info condition="script">
<productname>grub</productname>
<productnumber>&grub-version;</productnumber>
<address>&grub-url;</address>
</sect1info>
 
<title>GRUB-&grub-version;</title>
 
<indexterm zone="ch-system-grub">
<primary sortas="a-Grub">GRUB</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet GRUB contient un chargeur de démarrage, le
<foreignphrase>GRand Unified Bootloader</foreignphrase>.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&grub-ch6-sbu;</seg>
<seg>&grub-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de GRUB</title>
 
<para>Préparez la compilation de GRUB&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-grub-emu-usb \
--disable-grub-fstest \
--disable-efiemu</userinput></screen>
 
<para>Les paramètres --disable minimisent ce qui sera construit
en désactivant des fonctionnalités et des programmes de test pas vraiment nécessaires
pour LFS.</para>
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Ce paquet n'est pas fourni avec une suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
<para>L'utilisation de GRUB pour rendre un système LFS amorçable sera traitée au
<xref linkend="ch-bootable-grub"/>.</para>
 
</sect2>
 
<sect2 id="contents-gRUB" role="content">
<title>Contenu de GRUB</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Répertoires installés</segtitle>
 
<seglistitem>
<seg>grub-bin2h, grub-editenv, grub-install, grub-mkconfig,
grub-mkdevicemap, grub-mkelfimage, grub-mkimage, grub-mkisofs,
grub-mkpasswd-pbkdf2, grub-mkrelpath, grub-mkrescue, grub-probe,
grub-reboot, grub-script-check, grub-set-default, grub-setup</seg>
<seg>/usr/lib/grub, /etc/grub.d, /usr/share/grub</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="grub-bin2h">
<term><command>grub-bin2h</command></term>
<listitem>
<para>Convertit un fichier binaire en en-tête C</para>
<indexterm zone="ch-system-grub grub-bin2h">
<primary sortas="b-grub-bin2h">grub-bin2h</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-editenv">
<term><command>grub-editenv</command></term>
<listitem>
<para>Un outil pour éditer l'ensemble d'environnement</para>
<indexterm zone="ch-system-grub grub-editenv">
<primary sortas="b-grub-editenv">grub-editenv</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-install">
<term><command>grub-install</command></term>
<listitem>
<para>Installe GRUB sur votre lecteur</para>
<indexterm zone="ch-system-grub grub-install">
<primary sortas="b-grub-install">grub-install</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-mkconfig">
<term><command>grub-mkconfig</command></term>
<listitem>
<para>Génère un fichier de configuration grub</para>
<indexterm zone="ch-system-grub grub-mkconfig">
<primary sortas="b-grub-mkconfig">grub-mkconfig</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-mkdevicemap">
<term><command>grub-mkdevicemap</command></term>
<listitem>
<para>Génère automatiquement un fichier de plan de périphériques</para>
<indexterm zone="ch-system-grub grub-mkdevicemap">
<primary sortas="b-grub-mkdevicemap">grub-mkdevicemap</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-mkelfimage">
<term><command>grub-mkelfimage</command></term>
<listitem>
<para>Crée une image amorçable de GRUB</para>
<indexterm zone="ch-system-grub grub-mkelfimage">
<primary sortas="b-grub-mkelfimage">grub-mkelfimage</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-mkimage">
<term><command>grub-mkimage</command></term>
<listitem>
<para>Fabrique une image amorçable de GRUB</para>
<indexterm zone="ch-system-grub grub-mkimage">
<primary sortas="b-grub-mkimage">grub-mkimage</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-mkisofs">
<term><command>grub-mkisofs</command></term>
<listitem>
<para>Crée une image ISO amorçable</para>
<indexterm zone="ch-system-grub grub-mkisofs">
<primary sortas="b-grub-mkisofs">grub-mkisofs</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-mkpasswd-pbkdf2">
<term><command>grub-mkpasswd-pbkdf2</command></term>
<listitem>
<para>Génère un mot de passe PBKDF2 chiffré pour une utilisation
dans le menu de démarrage</para>
<indexterm zone="ch-system-grub grub-mkpasswd-pbkdf2">
<primary sortas="b-grub-mkpasswd-pbkdf2">grub-mkpasswd-pbkdf2</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-mkrelpath">
<term><command>grub-mkrelpath</command></term>
<listitem>
<para>Rend relatif le nom de chemin vers la racine d'un système</para>
<indexterm zone="ch-system-grub grub-mkrelpath">
<primary sortas="b-grub-mkrelpath">grub-mkrelpath</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-mkrescue">
<term><command>grub-mkrescue</command></term>
<listitem>
<para>Fabrique une image amorçable de GRUB adaptée à une disquette</para>
<indexterm zone="ch-system-grub grub-mkrescue">
<primary sortas="b-grub-mkrescue">grub-mkrescue</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-probe">
<term><command>grub-probe</command></term>
<listitem>
<para>Teste les informations de périphérique pour un chemin ou un périphérique donné</para>
<indexterm zone="ch-system-grub grub-probe">
<primary sortas="b-grub-probe">grub-probe</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-reboot">
<term><command>grub-reboot</command></term>
<listitem>
<para>Règle l'entrée d'amorçage par défaut pour GRUB uniquement pour le prochain
démarrage</para>
<indexterm zone="ch-system-grub grub-reboot">
<primary sortas="b-grub-reboot">grub-reboot</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-script-check">
<term><command>grub-script-check</command></term>
<listitem>
<para>Vérifie les erreurs de syntaxe du script de configuration de
GRUB</para>
<indexterm zone="ch-system-grub grub-script-check">
<primary sortas="b-grub-script-check">grub-script-check</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-set-default">
<term><command>grub-set-default</command></term>
<listitem>
<para>Règle l'entrée d'amorçage par défaut pour GRUB</para>
<indexterm zone="ch-system-grub grub-set-default">
<primary sortas="b-grub-set-default">grub-set-default</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-setup">
<term><command>grub-setup</command></term>
<listitem>
<para>Paramètre les images pour démarrer à partir d'un périphérique</para>
<indexterm zone="ch-system-grub grub-setup">
<primary sortas="b-grub-setup">grub-setup</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter06/gcc.xml
0,0 → 1,484
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-gcc" role="wrap">
<?dbhtml filename="gcc.html"?>
 
<sect1info condition="script">
<productname>gcc</productname>
<productnumber>&gcc-version;</productnumber>
<address>&gcc-url;</address>
</sect1info>
 
<title>GCC-&gcc-version;</title>
 
<indexterm zone="ch-system-gcc">
<primary sortas="a-GCC">GCC</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet GCC contient la collection de compilateurs GNU, qui
inclut les
compilateurs C et C++.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&gcc-ch6-sbu;</seg>
<seg>&gcc-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de GCC</title>
 
<para>Appliquez une substitution <command>sed</command> qui
supprimera l'installation de
 
<filename class="libraryfile">libiberty.a</filename>. À la place, la
version de
 
<filename class="libraryfile">libiberty.a</filename> fournie par
Binutils sera utilisée&nbsp;:</para>
 
<screen><userinput remap="pre">sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</userinput></screen>
 
<para>Comme au <xref linkend="ch-tools-gcc-pass2"/>, appliquez la commande
<command>sed</command> suivant pour obliger la construction à utiliser le drapeau de construction
<option>-fomit-frame-pointer</option> afin de garantir des constructions de compilateur cohérentes&nbsp;:</para>
 
<screen><userinput remap="pre">case `uname -m` in
i?86) sed -i 's/^T_CFLAGS =$/&amp; -fomit-frame-pointer/' \
gcc/Makefile.in ;;
esac</userinput></screen>
 
<para>Le script <command>fixincludes</command> est connu pour
s'efforcer parfois, de manière inadéquate, de &quot;réparer&quot;
les en-têtes du système installées précédemment. Comme les en-têtes
installées par GCC-&gcc-version; et Glibc-&glibc-version; sont
connues pour ne pas avoir besoin de réparation, lancez la commande
suivante pour empêcher le script <command>fixincludes</command> de
s'exécuter&nbsp;:</para>
 
<screen><userinput remap="pre">sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in</userinput></screen>
 
<para>La documentation de GCC recommande de construire GCC en dehors
du répertoire source, c'est-à-dire dans un répertoire
dédié&nbsp;:</para>
 
<screen><userinput remap="pre">mkdir -v ../gcc-build
cd ../gcc-build</userinput></screen>
 
<para>Préparez la compilation de GCC&nbsp;:</para>
 
<screen><userinput remap="configure">../gcc-&gcc-version;/configure --prefix=/usr \
--libexecdir=/usr/lib --enable-shared \
--enable-threads=posix --enable-__cxa_atexit \
--enable-clocale=gnu --enable-languages=c,c++ \
--disable-multilib --disable-bootstrap --with-system-zlib</userinput></screen>
 
<variablelist>
<title>Voici la signification de la nouvelle option de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>--with-system-zlib</parameter></term>
<listitem>
<para>Ce paramètre dit à GCC de se lier à la copie installée sur le système
de la bibliothèque Zlib, plutôt qu'à sa propre copie interne.</para>
</listitem>
</varlistentry>
</variablelist>
 
<para>Remarquez que pour d'autres langages, il y a des prérequis qui ne
sont pas disponibles. Voir le livre BLFS pour des instructions sur la
façon de construire tous les langages supportés par GCC.</para>
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<important>
<para>Dans cette section, la suite de tests pour GCC est considérée
 
critique. Ne les sautez sous aucun prétexte.</para>
</important>
<para>Un ensemble de tests dans la suite de tests de GCC est connu pour
déborder la pile, donc augmentez la taille de la pile avant de lancer les
tests&nbsp;:</para>
 
<screen><userinput remap="test">ulimit -s 16384</userinput></screen>
 
<para>Testez les résultats mais ne vous arrêtez pas aux
erreurs&nbsp;:</para>
 
<screen><userinput remap="test">make -k check</userinput></screen>
 
<para>Pour recevoir un résumé des résultats de la suite de tests,
lancez&nbsp;</para>
<screen><userinput remap="test">../gcc-&gcc-version;/contrib/test_summary</userinput></screen>
 
<para>Pour n'avoir que les résumés, redirigez la sortie vers
 
<userinput>grep -A7 Summ</userinput>.</para>
 
<para>Vous pouvez comparer les résultats avec ceux situés dans
<ulink url="&test-results;"/> et <ulink url="http://gcc.gnu.org/ml/gcc-testresults/"/>.</para>
 
<para>Quelques échecs inattendus sont inévitables. Les développeurs
de GCC connaissent ces problèmes, mais ne les ont pas encore
résolus. En particulier, les tests de
 
<filename class="libraryfile">libmudflap</filename> sont connus pour
être particulièrement problématiques et résultant d'un bogue dans
GCC
 
(<ulink url="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20003"/>).
Sauf si les résultats du test sont très différents de ceux sur
l'adresse ci-dessus, vous pouvez continuer en toute sécurité.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
<para>Quelques paquets s'attendent à ce que le préprocesseur C soit
installé dans le répertoire
 
<filename class="directory">/lib</filename> Pour supporter ces
paquets, créez ce lien symbolique&nbsp;:</para>
 
<screen><userinput remap="install">ln -sv ../usr/bin/cpp /lib</userinput></screen>
 
<para>Beaucoup de paquets utilisent le nom <command>cc</command>
pour appeler le compilateur C. Pour satisfaire ces paquets, créez un
lien symbolique&nbsp;:</para>
 
<screen><userinput remap="install">ln -sv gcc /usr/bin/cc</userinput></screen>
 
<para>Maintenant que notre chaîne d'outils est en place, il est
important de s'assurer à nouveau que la compilation et l'édition de
liens fonctionneront comme prévu. Cela se fait en effectuant les
mêmes tests de propreté que ceux faits plus haut dans ce
chapitre&nbsp;:</para>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='a'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='b'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='c'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='d'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='e'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='f'])"/>
 
<screen><computeroutput>/usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/../../../crt1.o succeeded
/usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/../../../crti.o succeeded
/usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/../../../crtn.o succeeded</computeroutput></screen>
 
<para>Selon l'architecture de votre machine, le message ci-dessus peut
légèrement différer, la différence portant normalement sur le nom du
répertoire après <filename class="directory">/usr/lib/gcc</filename>. Si
votre machine est un système 64 bits, il se peut que vous voyiez un
répertoire nommé <filename class="directory">lib64</filename>vers la fin de
la chaîne. La chose importante à chercher est que <command>gcc</command> ait trouvé les trois
<filename>crt*.o</filename> sous le répertoire
<filename class="directory">/usr/lib</filename>.</para>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='g'])"/>
 
<screen><userinput>grep -B4 '^ /usr/include' dummy.log</userinput></screen>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='h'])"/>
 
<screen><computeroutput>#include &lt;...&gt; search starts here:
/usr/local/include
/usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/include
/usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/include-fixed
/usr/include</computeroutput></screen>
 
<para>A nouveau, notez que le nom du répertoire apres votre triplette cible
peut être différent de celui ci-dessus, selon votre architecture.</para>
<note><para>Depuis la version 4.3.0, GCC installe maintenant sans
condition le fichier <filename>limits.h</filename> dans un répertoire
à part <filename class="directory">include-fixed</filename>, et ce
répertoire doit être en place.</para></note>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='i'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='j'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='k'])"/>
 
<screen><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib")
SEARCH_DIR("/usr/local/lib")
SEARCH_DIR("/lib")
SEARCH_DIR("/usr/lib");</computeroutput></screen>
 
<para>Il se peut qu'un système 64 bits voie un peu plus de répertoires.
Par exemple, voici la sortie d'une machine x86_64&nbsp;:</para>
<screen><computeroutput>SEARCH_DIR("/usr/x86_64-unknown-linux-gnu/lib64")
SEARCH_DIR("/usr/local/lib64")
SEARCH_DIR("/lib64")
SEARCH_DIR("/usr/lib64")
SEARCH_DIR("/usr/x86_64-unknown-linux-gnu/lib")
SEARCH_DIR("/usr/local/lib")
SEARCH_DIR("/lib")
SEARCH_DIR("/usr/lib");</computeroutput></screen>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='l'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='m'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='n'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='o'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='p'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='q'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='r'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='s'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='t'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='u'])"/>
 
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="readjusting.xml"
xpointer="xpointer(//*[@os='v'])"/>
 
</sect2>
 
<sect2 id="contents-gcc" role="content">
<title>Contenu de GCC</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installés</segtitle>
<segtitle>Répertoires installés</segtitle>
 
<seglistitem>
<seg>c++, cc (lien vers gcc), cpp, g++, gcc, gccbug et gcov</seg>
<seg>libgcc.a, libgcc_eh.a, libgcc_s.so, libgcov.a, libgomp.{a,so},
libmudflap.{a,so}, libmudflapth.{a,so}, libssp.{a,so},
libssp_nonshared.a, libstdc++.{a,so} et libsupc++.a</seg>
<seg>/usr/include/c++, /usr/lib/gcc, /usr/share/gcc-&gcc-version;</seg>
 
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="c">
<term><command>c++</command></term>
<listitem>
<para>Le compilateur C++</para>
<indexterm zone="ch-system-gcc c">
<primary sortas="b-c++">c++</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cc">
<term><command>cc</command></term>
<listitem>
<para>Le compilateur C</para>
<indexterm zone="ch-system-gcc cc">
<primary sortas="b-cc">cc</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cpp">
<term><command>cpp</command></term>
<listitem>
<para>Le préprocesseur C&nbsp;; il est utilisé par le compilateur pour
l'extension des instructions #include, #define et d'autres instructions similaires
dans les fichiers sources</para>
<indexterm zone="ch-system-gcc cpp">
<primary sortas="b-cpp">cpp</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="g">
<term><command>g++</command></term>
<listitem>
<para>Le compilateur C++</para>
<indexterm zone="ch-system-gcc g">
<primary sortas="b-g++">g++</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gcc">
<term><command>gcc</command></term>
<listitem>
<para>Le compilateur C</para>
<indexterm zone="ch-system-gcc gcc">
<primary sortas="b-gcc">gcc</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gccbug">
<term><command>gccbug</command></term>
<listitem>
<para>Un script shell utilisé pour aider à la création de bons
rapports de bogues</para>
<indexterm zone="ch-system-gcc gccbug">
<primary sortas="b-gccbug">gccbug</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gcov">
<term><command>gcov</command></term>
<listitem>
<para>Un outil de tests&nbsp;; il est utilisé pour analyser les programmes et
savoir où des optimisations seraient suivies du plus d'effet</para>
<indexterm zone="ch-system-gcc gcov">
<primary sortas="b-gcov">gcov</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libgcc">
<term><filename class="libraryfile">libgcc</filename></term>
<listitem>
<para>Contient un support en exécution pour <command>gcc</command></para>
<indexterm zone="ch-system-gcc libgcc">
<primary sortas="c-libgcc*">libgcc*</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libgcov">
<term><filename class="libraryfile">libgcov</filename></term>
<listitem>
<para>Cette bibliothèque est liée à un programme on demande à GCC d'activer le profiling</para>
<indexterm zone="ch-system-gcc libgcov">
<primary sortas="c-libgcov">libgcov</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libgomp">
<term><filename class="libraryfile">libgomp</filename></term>
<listitem>
<para>Implémentation GNU de l'API OpenMP API pour la programmation en mémoire parallèle partagée pour plusieurs plateforme en
C/C++ et Fortran</para>
<indexterm zone="ch-system-gcc libgomp">
<primary sortas="c-libgomp">libgomp</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libmudflap">
<term><filename class="libraryfile">libmudflap</filename></term>
<listitem>
<para>Contient des routines qui supportent la fonctionnalité de test
des limites de GCC</para>
<indexterm zone="ch-system-gcc libmudflap">
<primary sortas="c-libmudflap*">libmudflap*</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libssp">
<term><filename class="libraryfile">libssp</filename></term>
<listitem>
<para>Contient des routines supportant la fonctionalité de GCC de protection
contre les débordements de mémoire</para>
<indexterm zone="ch-system-gcc libssp">
<primary sortas="c-libssp*">libssp*</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libstdc">
<term><filename class="libraryfile">libstdc++</filename></term>
<listitem>
<para>La bibliothèque C++ standard</para>
<indexterm zone="ch-system-gcc libstdc">
<primary sortas="c-libstdc++">libstdc++</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libsupc">
<term><filename class="libraryfile">libsupc++</filename></term>
<listitem>
<para>Fournit des routines de support pour le langage de programmation C++</para>
<indexterm zone="ch-system-gcc libsupc">
<primary sortas="c-libsupc++">libsupc++</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter06/psmisc.xml
0,0 → 1,171
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-psmisc" role="wrap">
<?dbhtml filename="psmisc.html"?>
 
<sect1info condition="script">
<productname>psmisc</productname>
<productnumber>&psmisc-version;</productnumber>
<address>&psmisc-url;</address>
</sect1info>
 
<title>Psmisc-&psmisc-version;</title>
 
<indexterm zone="ch-system-psmisc">
<primary sortas="a-Psmisc">Psmisc</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet Psmisc contient des programmes pour afficher des
informations sur les processus en cours d'exécution.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&psmisc-ch6-sbu;</seg>
<seg>&psmisc-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Psmisc</title>
 
<para>Corrigez un bogue qui empêche <command>peekfd</command> de se
construire sur l'architecture x86_64&nbsp;:</para>
 
<screen><userinput remap="pre">sed -i 's@#include &lt;sys\/user.h&gt;@#include &lt;bits\/types.h&gt;\n&amp;@' configure</userinput></screen>
 
<para>Préparez la compilation de Psmisc pour&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Ce paquet n'est pas fourni avec une suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
<!--
<para>Par défaut, le programme <command>pidof</command> de Psmisc
n'est pas installé. Généralement, ce n'est pas un problème car le
paquet Sysvinit installe une meilleure version de
<command>pidof</command>. Si Sysvinit n'est pas utilisé pour un système particulier,
terminez l'installation de Psmisc en déplaçant tout d'abord
<command>killall</command> vers le bon emplacement, comme exigé par la FHS, puis
créez un lien symbolique vers celui-ci&nbsp;:</para>
 
<screen><userinput remap="install">mv /usr/bin/killall /bin
ln -sv killall /bin/pidof</userinput></screen>
-->
 
<para>Enfin, déplacez les programmes <command>killall</command> et
<command>fuser</command> à l'endroit spécifié
par la FHS&nbsp;:</para>
 
<screen><userinput remap="install">mv -v /usr/bin/fuser /bin
mv -v /usr/bin/killall /bin</userinput></screen>
 
</sect2>
 
<sect2 id="contents-psmisc" role="content">
<title>Contenu de Psmisc</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
 
<seglistitem>
<seg>fuser, killall, peekfd, prtstat, pstree et pstree.x11 (lien vers pstree)</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="fuser">
<term><command>fuser</command></term>
<listitem>
<para>Indique les PID de processus utilisant les fichiers ou systèmes de
fichiers donnés</para>
<indexterm zone="ch-system-psmisc fuser">
<primary sortas="b-fuser">fuser</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="killall">
<term><command>killall</command></term>
<listitem>
<para>Tue les processus suivant leur nom. Il envoie un signal à tous les
processus en cours</para>
<indexterm zone="ch-system-psmisc killall">
<primary sortas="b-killall">killall</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="peekfd">
<term><command>peekfd</command></term>
<listitem>
<para>Observe les descripteurs d'un processus en cours d'exécution,
selon son PID</para>
<indexterm zone="ch-system-psmisc peekfd">
<primary sortas="b-peekfd">peekfd</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="prtstat">
<term><command>prtstat</command></term>
<listitem>
<para>Affiche des informations sur un processus</para>
<indexterm zone="ch-system-psmisc prtstat">
<primary sortas="b-prtstat">prtstat</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pstree">
<term><command>pstree</command></term>
<listitem>
<para>Affiche les processus en cours hiérarchiquement</para>
<indexterm zone="ch-system-psmisc pstree">
<primary sortas="b-pstree">pstree</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pstree.x11">
<term><command>pstree.x11</command></term>
<listitem>
<para>Identique à <command>pstree</command>, si ce n'est qu'il attend
 
une confirmation avant de quitter</para>
<indexterm zone="ch-system-psmisc pstree.x11">
<primary sortas="b-pstree.x11">pstree.x11</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter06/perl.xml
0,0 → 1,574
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-perl" role="wrap">
<?dbhtml filename="perl.html"?>
 
<sect1info condition="script">
<productname>perl</productname>
<productnumber>&perl-version;</productnumber>
<address>&perl-url;</address>
</sect1info>
 
<title>Perl-&perl-version;</title>
 
<indexterm zone="ch-system-perl">
<primary sortas="a-Perl">Perl</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet Perl contient le langage pratique d'extraction et de
rapport
(<foreignphrase>Practical Extraction and Report
Language</foreignphrase>).</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&perl-ch6-sbu;</seg>
<seg>&perl-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Perl</title>
 
<para>Tout d'abord, créer un fichier <filename>/etc/hosts</filename>
basique pour être référencé dans un des fichiers de configuration de
Perl en tant que suite de tests optionnelle&nbsp;:</para>
 
<screen><userinput remap="pre">echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
 
<para>Cette version de Perl compile maintenant le module
Compress::Raw::Zlib. Par défaut Perl utilisera une copie interne du code
source Zlib pour la compilation. Lancez la commande suivante afin que Perl
utilise la bibliothèque Zlib installée sur le système&nbsp;:</para>
<screen><userinput remap="pre">sed -i -e "s|BUILD_ZLIB\s*= True|BUILD_ZLIB = False|" \
-e "s|INCLUDE\s*= ./zlib-src|INCLUDE = /usr/include|" \
-e "s|LIB\s*= ./zlib-src|LIB = /usr/lib|" \
cpan/Compress-Raw-Zlib/config.in</userinput></screen>
 
<para>Si vous voulez avoir un contrôle total sur la façon dont Perl
est configuré, vous pouvez supprimer les options <quote>-des</quote> de la commande
suivante et contrôler à la main la façon dont ce paquet est construit.
Alternativement, utilisez exactement la commande ci-dessous pour
utiliser les paramètres par défaut que détecte Perl automatiquement&nbsp;:</para>
 
<screen><userinput remap="configure">sh Configure -des -Dprefix=/usr \
-Dvendorprefix=/usr \
-Dman1dir=/usr/share/man/man1 \
-Dman3dir=/usr/share/man/man3 \
-Dpager="/usr/bin/less -isR" \
-Duseshrplib</userinput></screen>
 
 
<variablelist>
<title>Voici la signification de l'option de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>-Dvendorprefix=/usr</parameter></term>
<listitem>
<para>Ceci s'assure que <command>perl</command> sait comment dire
aux paquets où ils devraient installer leurs modules Perl.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term>
<listitem>
<para>Ceci corrige une erreur dans la façon dont <command>perldoc</command>
fait appel au programme <command>less</command>.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>-Dman1dir=/usr/share/man/man1
-Dman3dir=/usr/share/man/man3</parameter></term>
<listitem>
<para>Comme Groff n'est pas installé, Configure pense que nous ne
voulons pas les pages de man de Perl. Ces paramètres changent cette
décision.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-Duseshrplib</parameter></term>
<listitem>
<para>Construit une bibliothèque partagée dont certains modules perl
ont besoin.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Pour tester les résultats (approximativement 2.5 SBU), lancez&nbsp;:</para>
 
<screen><userinput remap="test">make test</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-perl" role="content">
<title>Contenu de Perl</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<segtitle>Répertoire installé</segtitle>
 
<seglistitem>
<seg>a2p, c2ph, config_data, corelist, cpan, cpan2dist, cpanp,
cpanp-run-perl, dprofpp, enc2xs, find2perl, h2ph, h2xs,
instmodsh, libnetcfg, perl, perl&perl-version; (lien vers perl),
perlbug, perldoc, perlivp, perlthanks (lien vers perlbug), piconv, pl2pm,
pod2html, pod2latex, pod2man, pod2text, pod2usage, podchecker,
podselect, prove, psed (lien vers s2p), pstruct (lien vers c2ph), ptar,
ptardiff, s2p, shasum, splain et xsubpp</seg>
<seg>Plusieurs centaines qui ne peuvent pas être toutes listées ici</seg>
<seg>/usr/lib/perl5</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="a2p">
<term><command>a2p</command></term>
<listitem>
<para>Traduit awk en perl</para>
<indexterm zone="ch-system-perl a2p">
<primary sortas="b-a2p">a2p</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="c2ph">
<term><command>c2ph</command></term>
<listitem>
<para>Affiche les structures C comme si elles étaient générées à partir de
<command>cc -g -S</command></para>
<indexterm zone="ch-system-perl c2ph">
<primary sortas="b-c2ph">c2ph</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="config_data">
<term><command>config_data</command></term>
<listitem>
<para>Interroge ou modifie la configuration des modules Perl</para>
<indexterm zone="ch-system-perl config_data">
<primary sortas="b-config_data">config_data</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="corelist">
<term><command>corelist</command></term>
<listitem>
<para>Une interface en ligne de commande pour Module::CoreList</para>
<indexterm zone="ch-system-perl corelist">
<primary sortas="b-corelist">corelist</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cpan">
<term><command>cpan</command></term>
<listitem>
<para>Interagit avec le réseau d'archive Perl global
(<foreignphrase>Comprehensive Perl Archive Network</foreignphrase>,
CPAN) à partir de la ligne de commande</para>
<indexterm zone="ch-system-perl cpan">
<primary sortas="b-cpan">cpan</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cpan2dist">
<term><command>cpan2dist</command></term>
<listitem>
<para>Le créateur de distribution CPANPLUS</para>
<indexterm zone="ch-system-perl cpan2dist">
<primary sortas="b-cpan2dist">cpan2dist</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cpanp">
<term><command>cpanp</command></term>
<listitem>
<para>Le lanceur CPANPLUS</para>
<indexterm zone="ch-system-perl cpanp">
<primary sortas="b-cpanp">cpanp</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cpanp-run-perl">
<term><command>cpanp-run-perl</command></term>
<listitem>
<para>Script Perl qui est utilisé pour activer la mise en rouge du tampon de sortie
après chaque écriture dans des processus démarrés</para>
<indexterm zone="ch-system-perl cpanp-run-perl">
<primary sortas="b-cpanp-run-perl">cpanp-run-perl</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dprofpp">
<term><command>dprofpp</command></term>
<listitem>
<para>Affiche les données profile de Perl</para>
<indexterm zone="ch-system-perl dprofpp">
<primary sortas="b-dprofpp">dprofpp</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="enc2xs">
<term><command>enc2xs</command></term>
<listitem>
<para>Construit une extension Perl pour
le module Encode, soit à partir de <foreignphrase>Unicode Character
Mappings</foreignphrase> soit à partir de <foreignphrase>Tcl Encoding
Files</foreignphrase></para>
<indexterm zone="ch-system-perl enc2xs">
<primary sortas="b-enc2xs">enc2xs</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="find2perl">
<term><command>find2perl</command></term>
<listitem>
<para>Traduit les commandes <command>find</command> en Perl</para>
<indexterm zone="ch-system-perl find2perl">
<primary sortas="b-find2perl">find2perl</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="h2ph">
<term><command>h2ph</command></term>
<listitem>
<para>Convertit les fichiers d'en-têtes C <filename class="extension">.h</filename>
en fichiers d'en-têtes Perl <filename class="extension">.ph</filename></para>
<indexterm zone="ch-system-perl h2ph">
<primary sortas="b-h2ph">h2ph</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="h2xs">
<term><command>h2xs</command></term>
<listitem>
<para>Convertit les fichiers d'en-têtes C <filename class="extension">.h</filename>
en extensions Perl</para>
<indexterm zone="ch-system-perl h2xs">
<primary sortas="b-h2xs">h2xs</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="instmodsh">
<term><command>instmodsh</command></term>
<listitem>
<para>Script shell pour examiner les modules Perl installés, et
pouvant même créer une archive tar à partir d'un module installé</para>
<indexterm zone="ch-system-perl instmodsh">
<primary sortas="b-instmodsh">instmodsh</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libnetcfg">
<term><command>libnetcfg</command></term>
<listitem>
<para>Peut être utilisé pour configurer
<filename class="libraryfile">libnet</filename></para>
<indexterm zone="ch-system-perl libnetcfg">
<primary sortas="b-libnetcfg">libnetcfg</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perl">
<term><command>perl</command></term>
<listitem>
<para>Combine quelques-unes des meilleures fonctionnalités de C,
<command>sed</command>, <command>awk</command> et <command>sh</command>
en un langage style couteau suisse</para>
<indexterm zone="ch-system-perl perl">
<primary sortas="b-perl">perl</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perl-version">
<term><command>perl&perl-version;</command></term>
<listitem>
<para>Un lien vers <command>perl</command></para>
<indexterm zone="ch-system-perl perl-version">
<primary sortas="b-perl&perl-version;">perl&perl-version;</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perlbug">
<term><command>perlbug</command></term>
<listitem>
<para>Utilisé pour générer des rapports de bogues sur Perl ou les modules
l'accompagnant et pour les envoyer par courrier électronique</para>
<indexterm zone="ch-system-perl perlbug">
<primary sortas="b-perlbug">perlbug</primary>
</indexterm>
</listitem>
</varlistentry>
 
 
<varlistentry id="perldoc">
<term><command>perldoc</command></term>
<listitem>
<para>Affiche une partie de la documentation au format pod, embarquée dans le
répertoire d'installation de Perl ou dans un script Perl</para>
<indexterm zone="ch-system-perl perldoc">
<primary sortas="b-perldoc">perldoc</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perlivp">
<term><command>perlivp</command></term>
<listitem>
<para>La procédure de vérification d'installation de Perl (<foreignphrase>Perl
Installation Verification Procedure</foreignphrase>). Il peut être utilisé pour
vérifier que Perl et ses bibliothèques ont été installés correctement</para>
<indexterm zone="ch-system-perl perlivp">
<primary sortas="b-perlivp">perlivp</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perlthanks">
<term><command>perlthanks</command></term>
<listitem>
<para>Utilisé pour générer des messages de remerciements par mail à
aux développeurs de Perl</para>
<indexterm zone="ch-system-perl perlthanks">
<primary sortas="b-perlthanks">perlthanks</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="piconv">
<term><command>piconv</command></term>
<listitem>
<para>Une version Perl du convertisseur de codage des caractères
<command>iconv</command></para>
<indexterm zone="ch-system-perl piconv">
<primary sortas="b-piconv">piconv</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pl2pm">
<term><command>pl2pm</command></term>
<listitem>
<para>Un outil simple pour la conversion des fichiers Perl4
<filename class="extension">.pl</filename> en modules Perl5
<filename class="extension">.pm</filename></para>
<indexterm zone="ch-system-perl pl2pm">
<primary sortas="b-pl2pm">pl2pm</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2html">
<term><command>pod2html</command></term>
<listitem>
<para>Convertit des fichiers à partir du format pod vers le format HTML</para>
<indexterm zone="ch-system-perl pod2html">
<primary sortas="b-pod2html">pod2html</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2latex">
<term><command>pod2latex</command></term>
<listitem>
<para>Convertit des fichiers à partir du format pod vers le format LaTeX</para>
<indexterm zone="ch-system-perl pod2latex">
<primary sortas="b-pod2latex">pod2latex</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2man">
<term><command>pod2man</command></term>
<listitem>
<para>Convertit des fichiers à partir du format pod vers une entrée formatée
*roff</para>
<indexterm zone="ch-system-perl pod2man">
<primary sortas="b-pod2man">pod2man</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2text">
<term><command>pod2text</command></term>
<listitem>
<para>Convertit des fichiers à partir du format pod vers du texte ANSI</para>
<indexterm zone="ch-system-perl pod2text">
<primary sortas="b-pod2text">pod2text</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2usage">
<term><command>pod2usage</command></term>
<listitem>
<para>Affiche les messages d'usage à partir des documents embarqués pod</para>
<indexterm zone="ch-system-perl pod2usage">
<primary sortas="b-pod2usage">pod2usage</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="podchecker">
<term><command>podchecker</command></term>
<listitem>
<para>Vérifie la syntaxe du format pod des fichiers de documentation</para>
<indexterm zone="ch-system-perl podchecker">
<primary sortas="b-podchecker">podchecker</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="podselect">
<term><command>podselect</command></term>
<listitem>
<para>Affiche les sections sélectionnées de la documentation pod</para>
<indexterm zone="ch-system-perl podselect">
<primary sortas="b-podselect">podselect</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="prove">
<term><command>prove</command></term>
<listitem>
<para>Outil en ligne de commande pour lancer des tests liés au module
Test::Harness.</para>
<indexterm zone="ch-system-perl prove">
<primary sortas="b-prove">prove</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="psed">
<term><command>psed</command></term>
<listitem>
<para>Une version Perl de l'éditeur en flux <command>sed</command></para>
<indexterm zone="ch-system-perl psed">
<primary sortas="b-psed">psed</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pstruct">
<term><command>pstruct</command></term>
<listitem>
<para>Affiche les structures C générées à partir de <command>cc -g -S</command>
stabs</para>
<indexterm zone="ch-system-perl pstruct">
<primary sortas="b-pstruct">pstruct</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ptar">
<term><command>ptar</command></term>
<listitem>
<para>Un programme du genre <command>tar</command> écrit en Perl</para>
<indexterm zone="ch-system-perl ptar">
<primary sortas="b-ptar">ptar</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ptardiff">
<term><command>ptardiff</command></term>
<listitem>
<para>Un programme Perl qui compare une archive extraite et une non extraite</para>
<indexterm zone="ch-system-perl ptardiff">
<primary sortas="b-ptardiff">ptardiff</primary>
</indexterm>
</listitem>
</varlistentry>
 
 
<varlistentry id="s2p">
<term><command>s2p</command></term>
<listitem>
<para>Traduit les scripts <command>sed</command> en perl</para>
<indexterm zone="ch-system-perl s2p">
<primary sortas="b-s2p">s2p</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="shasum">
<term><command>shasum</command></term>
<listitem>
<para>Affiche ou vérifie des sommes de contrôle SHA</para>
<indexterm zone="ch-system-perl shasum">
<primary sortas="b-shasum">shasum</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="splain">
<term><command>splain</command></term>
<listitem>
<para>Utilisé pour forcer la verbosité des messages d'avertissement avec
Perl</para>
<indexterm zone="ch-system-perl splain">
<primary sortas="b-splain">splain</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="xsubpp">
<term><command>xsubpp</command></term>
<listitem>
<para>Convertit le code Perl XS en code C</para>
<indexterm zone="ch-system-perl xsubpp">
<primary sortas="b-xsubpp">xsubpp</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter06/pkg-config.xml
0,0 → 1,101
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-pkg-config" role="wrap">
<?dbhtml filename="pkg-config.html"?>
 
<sect1info condition="script">
<productname>pkg-config</productname>
<productnumber>&pkg-config-version;</productnumber>
<address>&pkg-config-url;</address>
</sect1info>
 
<title>Pkg-config-&pkg-config-version;</title>
 
<indexterm zone="ch-system-pkg-config">
<primary sortas="a-Pkg-config">Pkg-config</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet pkg-config contient un outil pour passer le chemin include et/ou
les chemins de la bibliothèque afin de construire les outils pendant
l'exécution de configure et la fabrication du fichier.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&pkg-config-ch6-sbu;</seg>
<seg>&pkg-config-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Pkg-config</title>
 
<para>Tout d'abord, corrigez un problème d'underquoting qui apparaît
dans les dernières versions de <command>autoconf</command>&nbsp;:</para>
 
<screen><userinput remap="pre">sed -i -e 's/XT])dnl/XT])[]dnl/' \
-e 's/\.])dnl/\.])[]dnl/' pkg.m4</userinput></screen>
 
<para>Préparez la compilation de Pkg-config&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-pkg-config" role="content">
<title>Contenu de Pkg-config</title>
 
<segmentedlist>
<segtitle>Programme installé</segtitle>
 
<seglistitem>
<seg>pkg-config</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="pkg-config">
<term><command>pkg-config</command></term>
<listitem>
<para>Retourne des méta-informations pour la bibliothèque ou le paquet spécifié.</para>
<indexterm zone="ch-system-pkg-config pkg-config">
<primary sortas="b-pkg-config">pkg-config</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
 
/trunk/hlfs/chapter06/iproute2.xml
0,0 → 1,340
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-iproute2" role="wrap">
<?dbhtml filename="iproute2.html"?>
 
<sect1info condition="script">
<productname>iproute2</productname>
<productnumber>&iproute2-version;</productnumber>
<address>&iproute2-url;</address>
</sect1info>
 
<title>IPRoute2-&iproute2-version;</title>
 
<indexterm zone="ch-system-iproute2">
<primary sortas="a-IPRoute2">IPRoute2</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet IPRoute2 contient des programmes pour le réseau,
basique ou avancé, basé sur IPV4.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&iproute2-ch6-sbu;</seg>
<seg>&iproute2-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de IPRoute2</title>
 
<para>Le binaire <command>arpd</command> inclu dans ce paquet dépend de
Berkeley DB. <command>arpd</command> n'étant pas un besoin vraiment courant
sur un système Linux de base, supprimez la dépendance de
Berkeley DB en appliquant la commande <command>sed</command> ci-dessous.
Si vous avez besoin du binaire <command>arpd</command>, vous pouvez
trouver des instructions pour la compilation de Berkeley DB dans le livre
BLFS sur
<ulink url="&blfs-root;view/svn/server/databases.html#db"/>.
</para>
 
<screen><userinput>sed -i '/^TARGETS/s@arpd@@g' misc/Makefile</userinput></screen>
 
<para>Corrigez un bogue à cause duquel la commande <command>ip route get</command>
ne produit aucune sortie&nbsp;:</para>
 
<screen><userinput remap="pre">sed -i '1289i\\tfilter.cloned = 2;' ip/iproute.c</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make DESTDIR=</userinput></screen>
 
 
<variablelist>
<title>Voici la signification de l'option de make&nbsp;:</title>
 
<varlistentry>
<term><parameter>DESTDIR=</parameter></term>
<listitem>
<para>Ceci assure que les binaires IPRoute2 vont s'installer dans le
bon répertoire. Par défaut, <parameter>DESTDIR</parameter> est
initialise a <filename class="directory">/usr</filename>.</para>
</listitem>
</varlistentry>
 
</variablelist>
<para>Ce paquet est fourni avec une suite de tests, mais à cause de
sa nature, il n'est pas possible d'exécuter ces tests de manière
fiable à partir de l'environnement chroot. Si vous souhaitez lancer ces
tests après avoir démarré dans votre nouveau système LFS, assurez-vous de
sélectionner le support pour <filename>/proc/config.gz</filename>
CONFIG_IKCONFIG_PROC (&quot;General setup&quot; -> &quot;Enable access to
.config through /proc/config.gz&quot;) dans votre noyau, puis lancez
'make alltests' depuis le sous-répertoire
<filename class="directory">testsuite/</filename>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make DESTDIR= SBINDIR=/sbin MANDIR=/usr/share/man \
DOCDIR=/usr/share/doc/iproute2-&iproute2-version; install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-iproute2" role="content">
<title>Contenu de IPRoute2</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Répertoires installés</segtitle>
 
<seglistitem>
<seg>ctstat (lien vers lnstat), genl, ifcfg, ifstat, ip, lnstat,
nstat, routef, routel, rtacct, rtmon, rtpr, rtstat (lien vers lnstat),
ss et tc</seg>
<seg>/etc/iproute2, /lib/tc, /usr/share/doc/iproute2-&iproute2-version;,
/usr/lib/tc</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="ctstat">
<term><command>ctstat</command></term>
<listitem>
<para>Outil donnant le statut de la connexion</para>
<indexterm zone="ch-system-iproute2 ctstat">
<primary sortas="b-ctstat">ctstat</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="genl">
<term><command>genl</command></term>
<listitem>
<para></para>
<indexterm zone="ch-system-iproute2 genl">
<primary sortas="b-genl">genl</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ifcfg">
<term><command>ifcfg</command></term>
<listitem>
<para>Un emballage en script shell pour la commande
<command>ip</command>. Remarquez qu'il a besoin des programmes
<command>arping</command> et <command>rdisk</command> du paquet
iputils que vous pouvez trouver sur
<ulink url="http://www.skbuff.net/iputils/"/>.</para>
<indexterm zone="ch-system-iproute2 ifcfg">
<primary sortas="b-ifcfg">ifcfg</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ifstat">
<term><command>ifstat</command></term>
<listitem>
<para>Affiche les statistiques des interfaces, incluant le nombre de
paquets émis et transmis par l'interface</para>
<indexterm zone="ch-system-iproute2 ifstat">
<primary sortas="b-ifstat">ifstat</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ip">
<term><command>ip</command></term>
<listitem>
<para>L'exécutable principal. Il a plusieurs fonctions&nbsp;:</para>
 
<para><command>ip link
<replaceable>&lt;périphérique&gt;</replaceable></command>
autorise les utilisateurs à regarder l'état des périphériques
et à faire des changements.</para>
 
<para><command>ip addr</command> autorise les utilisateurs à
regarder les adresses et leurs propriétés, à ajouter de
nouvelles adresse et à supprimer les anciennes.</para>
 
<para><command>ip neighbor</command> autorise les utilisateurs
à regarder dans les liens des voisins et dans leurs
propriétés, à ajouter de nouvelles entrées et à supprimer les
anciennes.</para>
 
<para><command>ip rule</command> autorise les utilisateurs à
regarder les politiques de routage et à les modifier.</para>
 
<para><command>ip route</command> autorise les utilisateurs à
regarder la table de routage et à modifier les règles de
routage.</para>
 
<para><command>ip tunnel</command> autorise les utilisateurs à
regarder les tunnels IP et leurs propriétés, et à les
modifier.</para>
 
<para><command>ip maddr</command> autorise les utilisateurs à
regarder les adresses multicast et leurs propriétés, et à les
changer.</para>
 
<para><command>ip mroute</command> autorise les utilisateurs à
configurer, modifier ou supprimer le routage multicast.</para>
 
<para><command>ip monitor</command> autorise les utilisateurs
à surveiller en continu l'état des périphériques, des adresses
et des
routes.</para>
<indexterm zone="ch-system-iproute2 ip">
<primary sortas="b-ip">ip</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lnstat">
<term><command>lnstat</command></term>
<listitem>
<para>Fournit les statistiques réseau Linux. C'est un remplacement
plus généraliste et plus complet de l'ancien programme <command>rtstat</command></para>
<indexterm zone="ch-system-iproute2 lnstat">
<primary sortas="b-lnstat">lnstat</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nstat">
<term><command>nstat</command></term>
<listitem>
<para>Affiche les statistiques réseau.</para>
<indexterm zone="ch-system-iproute2 nstat">
<primary sortas="b-nstat">nstat</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="routef">
<term><command>routef</command></term>
<listitem>
<para>Un composant de <command>ip route</command> pour vider les
tables de routage.</para>
<indexterm zone="ch-system-iproute2 routef">
<primary sortas="b-routef">routef</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="routel">
<term><command>routel</command></term>
<listitem>
<para>Un composant de <command>ip route</command> pour afficher les
tables de routage.</para>
<indexterm zone="ch-system-iproute2 routel">
<primary sortas="b-routel">routel</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rtacct">
<term><command>rtacct</command></term>
<listitem>
<para>Affiche le contenu de
<filename>/proc/net/rt_acct</filename></para>
<indexterm zone="ch-system-iproute2 rtacct">
<primary sortas="b-rtacct">rtacct</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rtmon">
<term><command>rtmon</command></term>
<listitem>
<para>Outil de surveillance de routes.</para>
<indexterm zone="ch-system-iproute2 rtmon">
<primary sortas="b-rtmon">rtmon</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rtpr">
<term><command>rtpr</command></term>
<listitem>
<para>Convertit la sortie de <command>ip -o</command> en un format
lisibles</para>
<indexterm zone="ch-system-iproute2 rtpr">
<primary sortas="b-rtpr">rtpr</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rtstat">
<term><command>rtstat</command></term>
<listitem>
<para>Outil de statut de routes</para>
<indexterm zone="ch-system-iproute2 rtstat">
<primary sortas="b-rtstat">rtstat</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ss">
<term><command>ss</command></term>
<listitem>
<para>Similaire à la commande <command>netstat</command>&nbsp;;
affiche les connexions actives</para>
<indexterm zone="ch-system-iproute2 ss">
<primary sortas="b-ss">ss</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tc">
<term><command>tc</command></term>
<listitem>
<para>Exécutable de contrôle du trafic&nbsp;; utile pour
 
l'implémentation de la qualité de service
(QOS) et de la classe de service (COS)</para>
 
<para><command>tc qdisc</command> autorise les utilisateurs à
configurer la discipline de queues</para>
 
<para><command>tc class</command> autorise les utilisateurs à
configurer les classes suivant la planification de la discipline
de queues</para>
 
<para><command>tc estimator</command> autorise les
utilisateurs à estimer le flux réseau dans un réseau</para>
 
<para><command>tc filter</command> autorise les utilisateurs
à configurer les filtres de paquets pour QOS/COS</para>
 
<para><command>tc policy</command> autorise les utilisateurs à
configurer les politiques QOS/COS</para>
<indexterm zone="ch-system-iproute2 ss">
<primary sortas="b-tc">tc</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter06/vim.xml
0,0 → 1,315
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-vim" role="wrap">
<?dbhtml filename="vim.html"?>
 
<title>Vim-&vim-version;</title>
 
<indexterm zone="ch-system-vim">
<primary sortas="a-Vim">Vim</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet Vim contient un puissant éditeur de texte.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&vim-ch6-sbu;</seg>
<seg>&vim-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
<tip>
<title>Alternatives à Vim</title>
 
<para>Si vous préférez un autre éditeur&mdash;comme Emacs, Joe, ou
Nano&mdash;merci de vous
référer à <ulink url="&blfs-root;view/svn/postlfs/editors.html"/> pour
des instructions d'installation.</para>
</tip>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Vim</title>
 
<para>Tout d'abord, modifiez l'emplacement par défaut du fichier de
configuration <filename>vimrc</filename> en
<filename class="directory">/etc</filename>&nbsp;:</para>
 
<screen><userinput remap="pre">echo '#define SYS_VIMRC_FILE "/etc/vimrc"' &gt;&gt; src/feature.h</userinput></screen>
 
<para>Maintenant, préparez la compilation de Vim&nbsp;:</para>
 
<screen><userinput remap="configure">./configure --prefix=/usr --enable-multibyte</userinput></screen>
 
<variablelist>
<title>Voici la signification de l'option de configure&nbsp;:</title>
<varlistentry>
<term><parameter>--enable-multibyte</parameter></term>
<listitem>
<para>Ce commutateur optionnel mais hautement recommandé inclut le
support pour l'édition de fichiers comprenant des codages de caractères
multioctets. Ceci est nécessaire dans le cas d'une utilisation d'une
locale avec un ensemble de caractères multi-octets. Ce commutateur peut aussi
être utile pour avoir la capacité d'éditer des fichiers créés initialement avec
des distributions Linux comme Fedora qui utilise UTF-8 comme encodage
par défaut.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:</para>
 
<screen><userinput remap="test">make test</userinput></screen>
 
<para>Néanmoins, cette suite de tests affiche à l'écran beaucoup de
caractères binaires qui peuvent causer
des soucis sur votre terminal. Ceci peut se résoudre en redirigeant
la sortie vers un journal de traces.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
<para>Beaucoup d'utilisateurs sont habitués à utiliser
<command>vi</command> au lieu de <command>vim</command>. Pour
permettre l'exécution de <command>vim</command> quand les
utilisateurs saisissent habituellement <command>vi</command>, créez
un lien symbolique vers les binaires et vers les pages de man
dans les langues fournies&nbsp;:</para>
 
<screen><userinput remap="install">ln -sv vim /usr/bin/vi
for L in /usr/share/man/{,*/}man1/vim.1; do
ln -sv vim.1 $(dirname $L)/vi.1
done</userinput></screen>
 
<para>Par défaut, la documentation de Vim est installée dans
<filename class="directory">/usr/share/vim</filename>. Le lien
symbolique suivant permet l'accès à la documentation via <filename
class="directory">/usr/share/doc/vim-&vim-version;</filename>, le
rendant cohérent avec l'emplacement de la documentation pour
d'autres paquets&nbsp;:</para>
 
<screen><userinput remap="install">ln -sv ../&vim-docdir;/doc /usr/share/doc/vim-&vim-version;</userinput></screen>
 
<para>Si un système X Window va être installé sur votre système LFS,
il pourrait être nécessaire de recompiler Vim après avoir installé
X. Vim fournit alors une jolie version GUI de l'éditeur qui requiert
X et quelques autres bibliothèques pour s'installer. Pour plus
d'informations sur ce processus, référez-vous à la documentation de
Vim et à la page d'installation de Vim dans le livre BLFS sur <ulink
url="&blfs-root;view/svn/postlfs/editors.html#postlfs-editors-vim"/>.</para>
 
</sect2>
 
<sect2 id="conf-vim" role="configuration">
<title>Configuration de Vim</title>
 
<indexterm zone="conf-vim">
<primary sortas="e-/etc/vimrc">/etc/vimrc</primary>
</indexterm>
 
<para>Par défaut, <command>vim</command> est lancé en mode
compatible vi. Ceci pourrait être nouveau pour les personnes qui ont
utilisé d'autres éditeurs dans le passé. Le paramètre
<quote>nocompatible</quote> est inclus ci-dessous pour surligner le
fait qu'un nouveau comportement est en cours d'utilisation. Il
rappelle aussi à ceux qui voudraient le changer en mode
<quote>compatible</quote> qu'il devrait être le premier paramètre
dans le fichier de configuration. Ceci est nécessaire car il modifie
d'autres paramètres et la surcharge doit survenir après ce
paramètre. Créez un fichier de configuration <command>vim</command>
par défaut en lançant ce qui suit&nbsp;:</para>
 
<screen><userinput>cat &gt; /etc/vimrc &lt;&lt; "EOF"
<literal>" Begin /etc/vimrc
 
set nocompatible
set backspace=2
syntax on
if (&amp;term == "iterm") || (&amp;term == "putty")
set background=dark
endif
 
" End /etc/vimrc</literal>
EOF</userinput></screen>
 
<para>L'option <parameter>set nocompatible</parameter> change le
comportement de <command>vim</command> d'une façon plus utile que le
comportement compatible vi. Supprimez <quote>no</quote> pour
conserver le comportement de l'ancien <command>vi</command>. Le
paramètre <parameter>set backspace=2</parameter> permet le retour en
arrière après des sauts de ligne, l'indentation automatique et le
début de l'insertion. L'instruction <parameter>syntax on</parameter>
active la coloration syntaxique. Enfin, l'instruction
<emphasis>if</emphasis> avec <parameter>set
background=dark</parameter> corrige l'estimation de
<command>vim</command> concernant la couleur du fond de certains
émulateurs de terminaux. Ceci permet d'utiliser de meilleurs gammes
de couleurs pour la coloration syntaxique, notamment avec les fonds
noirs de ces programmes.</para>
 
<para>La documentation pour les autres options disponibles peut être
obtenue en lançant la commande suivante&nbsp;:</para>
 
<screen role="nodump"><userinput>vim -c ':options'</userinput></screen>
 
<note>
<para>Par défaut, Vim installe des fichiers dictionnaire pour
l'anglais.. Pour installer des fichiers dictionnaires pour votre langue,
téléchargez les fichiers <filename>*.spl</filename> et en option, les
<filename>*.sug</filename> pour votre langue et votre encodage sur
<ulink url="ftp://ftp.vim.org/pub/vim/runtime/spell/"/> et enregistrez-les
dans <filename class='directory'>/usr/share/&vim-docdir;/spell/</filename>.</para>
 
<para>Pour utiliser ces fichiers dictionnaire, il faut une
configuration dans <filename>/etc/vimrc</filename>,
comme&nbsp;:</para>
 
<screen><literal>set spelllang=en,ru
set spell</literal></screen>
 
<para>Pour plus d'informations, voir le fichier README approprié situé
sur la page ci-dessus.</para>
</note>
 
</sect2>
 
<sect2 id="contents-vim" role="content">
<title>Contenu de Vim</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Répertoire installé</segtitle>
 
<seglistitem>
<seg>ex (lien vers vim), rview (lien vers vim), rvim (lien vers vim), vi
(lien vers vim), view (lien vers vim), vim, vimdiff (lien vers vim), vimtutor,
et xxd</seg>
<seg>/usr/share/vim</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Descriptions couhtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="ex">
<term><command>ex</command></term>
<listitem>
<para>Démarre <command>vim</command> en mode ex</para>
<indexterm zone="ch-system-vim ex">
<primary sortas="b-ex">ex</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rview">
<term><command>rview</command></term>
<listitem>
<para>Une version restreinte de <command>view</command>&nbsp;: aucune commande
shell ne peut être lancée et <command>view</command> ne peut pas être
suspendu</para>
<indexterm zone="ch-system-vim rview">
<primary sortas="b-rview">rview</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rvim">
<term><command>rvim</command></term>
<listitem>
<para>Une version restreinte de <command>vim</command>&nbsp;: aucune commande
shell ne peut être lancée et <command>vim</command> ne peut pas être suspendu</para>
<indexterm zone="ch-system-vim rvim">
<primary sortas="b-rvim">rvim</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vi">
<term><command>vi</command></term>
<listitem>
<para>Lien vers <command>vim</command></para>
<indexterm zone="ch-system-vim vi">
<primary sortas="b-vi">vi</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="view">
<term><command>view</command></term>
<listitem>
<para>Démarre <command>vim</command> en mode lecture seule</para>
<indexterm zone="ch-system-vim view">
<primary sortas="b-view">view</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vim">
<term><command>vim</command></term>
<listitem>
<para>L'éditeur</para>
<indexterm zone="ch-system-vim vim">
<primary sortas="b-vim">vim</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vimdiff">
<term><command>vimdiff</command></term>
<listitem>
<para>Édite deux ou trois versions d'un fichier avec <command>vim</command> et
montre les différences</para>
<indexterm zone="ch-system-vim vimdiff">
<primary sortas="b-vimdiff">vimdiff</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vimtutor">
<term><command>vimtutor</command></term>
<listitem>
<para>Vous apprend les touches et les commandes basiques de
<command>vim</command></para>
<indexterm zone="ch-system-vim vimtutor">
<primary sortas="b-vimtutor">vimtutor</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="xxd">
<term><command>xxd</command></term>
<listitem>
<para>Fait un affichage hexa du fichier donné. Il peut aussi faire l'inverse
pour une correspondance binaire</para>
<indexterm zone="ch-system-vim xxd">
<primary sortas="b-xxd">xxd</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter06/zlib.xml
0,0 → 1,120
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-zlib" role="wrap">
<?dbhtml filename="zlib.html"?>
 
<sect1info condition="script">
<productname>zlib</productname>
<productnumber>&zlib-version;</productnumber>
<address>&zlib-url;</address>
</sect1info>
 
<title>Zlib-&zlib-version;</title>
 
<indexterm zone="ch-system-zlib">
<primary sortas="a-Zlib">Zlib</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet Zlib contient des routines de compression et
décompression utilisées par quelques programmes.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&zlib-ch6-sbu;</seg>
<seg>&zlib-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Zlib</title>
 
<para>Tout d'abord, corrigez une faute de frappe dans le fichier en-tête du
paquet&nbsp;:</para>
<screen><userinput remap="pre">sed -i 's/ifdef _LARGEFILE64_SOURCE/ifndef _LARGEFILE64_SOURCE/' zlib.h</userinput></screen>
 
<para>Préparez la compilation de Zlib&nbsp;:</para>
 
<screen><userinput remap="configure">CFLAGS='-mstackrealign -fPIC -O3' ./configure --prefix=/usr</userinput></screen>
 
<variablelist>
<title>Voici la signification de la nouvelle variable d'environnement de configure&nbsp;:</title>
 
<varlistentry>
<term><envar>CFLAGS='-mstackrealign -fPIC -O3'</envar></term>
<listitem>
<para>Le paramétrage de CFLAGS écrase l'optimisation par défaut du
paquet pour empêcher certaines erreurs au moment de l'exécution.
Remarquez que -mstackrealign peut provoquer des échecs de construction
sur des systèmes ayant une architecture non Intel.</para>
</listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
<para>La bibliothèque partagée doit être déplacée vers
<filename class="directory">/lib</filename>, et il s'en suit donc
que <filename class="directory">/usr/lib</filename> devra être
recréé&nbsp;:</para>
 
<screen><userinput remap="install">mv -v /usr/lib/libz.so.* /lib
ln -sfv ../../lib/libz.so.&zlib-version; /usr/lib/libz.so</userinput></screen>
 
</sect2>
 
<sect2 id="contents-zlib" role="content">
<title>Contenu de Zlib</title>
 
<segmentedlist>
<segtitle>Bibliothèques installées</segtitle>
 
<seglistitem>
<seg>libz.{a,so}</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="libz">
<term><filename class="libraryfile">libz</filename></term>
<listitem>
<para>Contient des fonctions de compression et décompression utilisées par
quelques programmes</para>
<indexterm zone="ch-system-zlib libz">
<primary sortas="c-libz">libz</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/trunk/hlfs/chapter06/sysvinit.xml
0,0 → 1,337
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-sysvinit" role="wrap">
<?dbhtml filename="sysvinit.html"?>
 
<sect1info condition="script">
<productname>sysvinit</productname>
<productnumber>&sysvinit-version;</productnumber>
<address>&sysvinit-url;</address>
</sect1info>
 
<title>Sysvinit-&sysvinit-version;</title>
 
<indexterm zone="ch-system-sysvinit">
<primary sortas="a-Sysvinit">Sysvinit</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet Sysvinit contient des programmes de contrôle du
démarrage, de l'exécution et de l'arrêt de votre système.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&sysvinit-ch6-sbu;</seg>
<seg>&sysvinit-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Sysvinit</title>
 
<para>Lorsque les niveaux d'exécution changent (par exemple, lors de
l'arrêt du système), <command>init</command> envoie des signaux de
fin aux processus qu'<command>init</command> a lui-même lancé et qui
ne devraient plus s'exécuter dans le nouveau niveau d'exécution. En
faisant ceci, <command>init</command> affiche des messages comme
<quote>Sending processes the TERM signal</quote> (NdT&nbsp;: Envoi
du signal TERM aux processus) ce qui semble impliquer qu'il envoie
ce signal à tous les processus en cours d'exécution. Pour éviter
cette mauvaise interprétation, modifiez les sources pour que ce
message soit remplacé par <quote>Sending processes started by init
the TERM signal</quote> (NdT&nbsp;: Envoi du signal TERM aux
processus lancés par init)&nbsp;:</para>
 
<screen><userinput remap="pre">sed -i 's@Sending processes@&amp; configured via /etc/inittab@g' \
src/init.c</userinput></screen>
 
<para>Une version maintenue du programme <command>wall</command> a été
installée plus haut par Util-linux-ng. Supprimez
l'installation de la version de Sysvinit de ce programme et de sa page de man&nbsp;:</para>
<screen><userinput remap="make">sed -i -e 's/utmpdump wall/utmpdump/' \
-e 's/mountpoint.1 wall.1/mountpoint.1/' src/Makefile</userinput></screen>
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput remap="make">make -C src</userinput></screen>
 
<para>Ce paquet n'est pas fourni avec une suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput remap="install">make -C src install</userinput></screen>
 
</sect2>
 
<sect2 id="conf-sysvinit" role="configuration">
<title>Configuration de Sysvinit</title>
 
<indexterm zone="conf-sysvinit">
<primary sortas="a-Sysvinit">Sysvinit</primary>
<secondary>configuration</secondary>
</indexterm>
 
<indexterm zone="c