MFen 1.187 --> 1.213

This commit is contained in:
Marc Fonvieille 2004-02-20 17:16:29 +00:00
parent 292d85dde9
commit 48a9810d46
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=20100

View file

@ -3,7 +3,7 @@
The FreeBSD French Documentation Project
$FreeBSD$
Original revision: 1.187
Original revision: 1.213
-->
<chapter id="ports">
@ -43,13 +43,22 @@
<para>Comment effacer les logiciels pr&eacute;-compil&eacute;s ou
port&eacute;s pr&eacute;c&eacute;demment install&eacute;s.</para>
</listitem>
<listitem>
<para>Comment modifier les param&egrave;tres par d&eacute;faut
utilis&eacute;s par le catalogue des logiciels
port&eacute;s.</para>
</listitem>
<listitem>
<para>Comment mettre &agrave; jour vos logiciels
port&eacute;s.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="ports-overview">
<title>G&eacute;n&eacute;ralit&eacute;s sur l'installation de logiciels</title>
<para>Si vous avez utilis&eacute; auparavant un syst&egrave;me Unix vous
<para>Si vous avez utilis&eacute; auparavant un syst&egrave;me &unix; vous
saurez que la proc&eacute;dure typique pour installer les logiciels
tiers ressemble &agrave; ceci:</para>
@ -63,7 +72,7 @@
<step>
<para>Extraire le logiciel de son format de distribution
(g&eacute;n&eacute;ralement une archive tar compress&eacute;e
soit avec &man.compress.1; soit avec &man.gzip.1;).</para>
soit avec &man.compress.1;, soit avec &man.gzip.1;, ou encore &man.bzip2.1;).</para>
</step>
<step>
@ -109,9 +118,8 @@
t&eacute;l&eacute;charg&eacute; peut &ecirc;tre manipul&eacute; avec
les commandes FreeBSD de gestion des logiciels
pr&eacute;-compil&eacute;s, comme &man.pkg.add.1;,
&man.pkg.delete.1;, &man.pkg.info.1;, et ainsi de suite.</para>
<para>L'installation d'une nouvelle application peut &ecirc;tre
&man.pkg.delete.1;, &man.pkg.info.1;, et ainsi de suite.
L'installation d'une nouvelle application peut &ecirc;tre
effectu&eacute;e gr&acirc;ce &agrave; une unique commande.</para>
<para>Un logiciel port&eacute; pour FreeBSD est un ensemble de fichiers
@ -175,8 +183,8 @@
</listitem>
<listitem>
<para>Les logiciels pr&eacute;-compil&eacute;s ne demandent pas que vous
compreniez le processus impliqu&eacute; dans la compilation de
<para>Les logiciels pr&eacute;-compil&eacute;s ne demandent pas une
compr&eacute;hension du processus impliqu&eacute; dans la compilation de
logiciels sous FreeBSD.</para>
</listitem>
</itemizedlist>
@ -191,7 +199,7 @@
En installant &agrave; partir du catalogue des logiciels
port&eacute;s, vous pouvez ajuster les options de compilation pour
(par exemple) g&eacute;n&eacute;rer du code
sp&eacute;cifique au Pentium III ou &agrave; l'Athlon.</para>
sp&eacute;cifique au Pentium IV ou &agrave; l'Athlon.</para>
</listitem>
<listitem>
@ -378,6 +386,12 @@ local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
<para>L'exemple ci-dessus t&eacute;l&eacute;chargera le logiciel
pr&eacute;-compil&eacute;
correct sans plus d'intervention de l'utilisateur.
Si vous d&eacute;sirez indiquer un autre miroir &os; pour les
logiciels pr&eacute;-compil&eacute;s &agrave; la place du site
de distribution principal, vous devez positionner en
cons&eacute;quence la variable d'environnement
<envar>PACKAGESITE</envar>, pour remplacer les
param&egrave;tres par d&eacute;faut.
&man.pkg.add.1; utilise &man.fetch.3; pour t&eacute;l&eacute;charger les
fichiers, qui respecte diverses variables d'environnement, dont
<envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>, et
@ -394,7 +408,7 @@ local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
toute derni&egrave;re version de l'application.</para>
<para>Les logiciels pr&eacute;-compil&eacute;s sont distribu&eacute;s
dans le format <filename>.tgz</filename>. Vous pouvez les trouver
dans les formats <filename>.tgz</filename> et <filename>.tbz</filename>. Vous pouvez les trouver
sur <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/"></ulink>, ou
sur le CDROM de distribution de FreeBSD. Chaque CD de
@ -481,7 +495,9 @@ docbook =
<row><entry>?</entry><entry>Le logiciel pr&eacute;-compil&eacute;
ne peut &ecirc;tre
trouv&eacute; dans l'index du catalogue des logiciels
port&eacute;s.</entry></row>
port&eacute;s. (Cela peut se produire quand, par exemple,
un logiciel install&eacute; est supprim&eacute; du catalogue des logiciels
port&eacute;s ou renomm&eacute;.)</entry></row>
<row><entry>*</entry><entry>Il y a de multiples versions de ce
logiciel pr&eacute;-compil&eacute;.</entry></row>
@ -686,7 +702,8 @@ docbook =
&ecirc;tre t&eacute;l&eacute;charg&eacute;s pour compiler le
logiciel, et leurs sommes de contr&ocirc;le, pour s'assurer que
ces fichiers n'ont pas &eacute;t&eacute;
corrompus durant le t&eacute;l&eacute;chargement.</para>
corrompus durant le t&eacute;l&eacute;chargement en
utilisant &man.md5.1;.</para>
</listitem>
<listitem>
@ -1024,6 +1041,128 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
coupe-feu, ou devez utiliser un proxy FTP/HTTP.
Consultez la page de manuel &man.fetch.3; pour la liste
compl&egrave;te des variables.</para>
<para>Pour les utilisateurs qui ne peuvent rester
connect&eacute;s &agrave; l'Internet ind&eacute;finiment, il
existe la commande <command>make
<maketarget>fetch</maketarget></command>. Ex&eacute;cutez
cette commande &agrave; la base du catalogue des logiciels
port&eacute;s (<filename
role="directory">/usr/ports</filename>) et les fichiers
n&eacute;cessaires seront t&eacute;l&eacute;charg&eacute;s.
Cette commande fonctionnera &eacute;galement dans les
sous-r&eacute;pertoires du catalogue, par exemple: <filename
role="directory">/usr/ports/net</filename>. Notez que si un
logiciel port&eacute; d&eacute;pend de biblioth&egrave;ques
particuli&egrave;res ou d'autres logiciels port&eacute;s,
cette commande de r&eacute;cup&eacute;rera
<emphasis>pas</emphasis> les sources de ces logiciels.
Remplacez <maketarget>fetch</maketarget> par
<maketarget>fetch-recursive</maketarget> si vous voulez
r&eacute;cup&eacute;rer &eacute;galement les sources des
logiciels dont d&eacute;pend un logiciel
port&eacute;.</para>
<note>
<para>Vous pouvez compiler tous les logiciels d'une
cat&eacute;gorie ou de l'ensemble du catalogue en
ex&eacute;cutant la commande <command>make</command> dans un
r&eacute;pertoire de base, juste comme la commande
<command>make <makevar>fetch</makevar></command>
pr&eacute;c&eacute;dente. C'est, cependant, une id&eacute;e
dangereuse &eacute;tant donn&eacute; que certains logiciels
port&eacute;s ne peuvent coexister. Dans d'autres cas,
certains logiciels port&eacute;s peuvent installer des
fichiers diff&eacute;rents ayant le m&ecirc;me
nom.</para></note>
<para>Dans de rares cas les utilisateurs peuvent vouloir
r&eacute;cup&eacute;rer les archives &agrave; partir d'un
site diff&eacute;rent du <makevar>MASTER_SITES</makevar> par
d&eacute;faut (l'emplacement par d&eacute;faut &agrave;
partir duquel les fichiers sont
t&eacute;l&eacute;charg&eacute;s). Vous pouvez surcharger
l'option <makevar>MASTER_SITES</makevar> avec la commande
suivante:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>r&eacute;pertoire</replaceable></userinput>
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<para>Dans cet exemple nous modifions la valeur par
d&eacute;faut de l'option <makevar>MASTER_SITES</makevar>
pour <hostid
role="fqdn">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</hostid>.</para>
<note>
<para>Certains logiciels port&eacute;s autorisent (ou
m&ecirc;me n&eacute;cessitent) des options de compilation
qui permettent l'activation/d&eacute;sactivation de parties
de l'application qui ne sont pas n&eacute;cessaires, de
certaines options de s&eacute;curit&eacute;, et autres
personnalisations. Quelques noms de logiciels viennent
imm&eacute;diatement &agrave; l'esprit: <filename
role="package">www/mozilla</filename>, <filename
role="package">security/gpgme</filename>, et <filename
role="package">mail/sylpheed-claws</filename>. Un message
sera affich&eacute; quand de telles options sont
disponibles.</para></note>
</sect3>
<sect3>
<title>Modifier les r&eacute;pertoires par d&eacute;faut des
logiciels port&eacute;s</title>
<para>Il est parfois utile (ou obligatoire) d'utiliser des
r&eacute;pertoires diff&eacute;rents pour les archives et le
catalogue des logiciels port&eacute;s. Les variables
<makevar>PORTSDIR</makevar> et <makevar>PREFIX</makevar>
permettent de modifier les r&eacute;pertoires par
d&eacute;faut. Par exemple:</para>
<screen>&prompt.root; <userinput>make PORTSDIR=/usr/home/example/ports install</userinput></screen>
<para>compilera le logiciel dans le r&eacute;pertoire
<filename
role="directory">/usr/home/example/ports</filename> et
installera tout dans <filename
role="directrory">/usr/local</filename>.</para>
<screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/local install</userinput></screen>
<para>le compilera dans <filename
role="directrory">/usr/ports</filename> et l'installera dans
<filename
role="directory">/usr/home/example/local</filename>.</para>
<para>Et bien s&ucirc;r</para>
<screen>&prompt.root; <userinput>make PORTSDIR=../ports PREFIX=../local install</userinput></screen>
<para>combinera les deux (c'est trop long pour tenir sur cette
page, mais cela devrait vous donner une id&eacute;e
g&eacute;n&eacute;rale).</para>
<para>Alternativement, ces variables peuvent &eacute;galement
&ecirc;tre configur&eacute;es dans votre environnement.
Consultez la page de manuel de votre interpr&eacute;teur de
commandes pour des instructions sur la proc&eacute;dure
&agrave; suivre.</para>
</sect3>
<sect3>
<title>Travailler avec <command>imake</command></title>
<para>Certains logiciels port&eacute;s qui utilisent
<command>imake</command> (une partie du syst&egrave;me X
Window) ne fonctionnent pas correctement avec la variable
<makevar>PREFIX</makevar>, et insisteront pour s'installer
sous <filename role="directory">/usr/X11R6</filename>. De
fa&ccedil;on similaire, certains logiciels Perl ignorent
<makevar>PREFIX</makevar> et s'installent dans
l'arborescence Perl. Faire en sorte que ces logiciels
port&eacute;s respectent <makevar>PREFIX</makevar> est une
t&acirc;che difficile voire impossible.</para>
</sect3>
</sect2>
@ -1031,8 +1170,8 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
<title>Supprimer des logiciels port&eacute;s install&eacute;s</title>
<indexterm>
<primary>logiciels port&eacute;s</primary>
<secondary>d&eacute;sinstallation</secondary>
<primary>logiciels port&eacute;s</primary>
<secondary>d&eacute;sinstallation</secondary>
</indexterm>
<para>Maintenant que vous savez comment installer des logiciels
port&eacute;s, vous vous demandez probablement comment les effacer,
@ -1223,7 +1362,7 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
l'application qui vient juste d'&ecirc;tre install&eacute;e,
une commande comme</para>
<screen>&prompt.root; <userinput>pkg_info | grep <replaceable>foopackage</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>pkg_info | grep -i <replaceable>foopackage</replaceable></userinput></screen>
<para>d&eacute;terminera tous les logiciels
pr&eacute;-compil&eacute;s install&eacute;s qui
@ -1255,615 +1394,24 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
<para>La ligne <literal>WWW:</literal>, si elle est pr&eacute;sente,
devrait donner l'URL du site web de l'application.</para>
</listitem>
<listitem>
<para>Les logiciels qui doivent &ecirc;tre lanc&eacute;s au
d&eacute;marrage (comme les serveurs Internet) installent
g&eacute;n&eacute;ralement un exemple de proc&eacute;dure de
lancement dans le r&eacute;pertoire <filename
role="directory">/usr/local/etc/rc.d</filename>. Vous devriez
contr&ocirc;ler si ce fichier est correct et l'&eacute;diter
ou le renommer si n&eacute;cessaire. Consultez la section
<link linkend="configtuning-starting-services">D&eacute;marrer
des services</link> pour plus d'informations.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="ports-trouble">
<title>D&eacute;pannage</title>
<para>Les sections suivantes couvrent certaines des questions les
plus fr&eacute;quemment pos&eacute;es &agrave; propos du catalogue des
logiciels port&eacute;s et certaines techniques de d&eacute;pannage
de base, et
que faire si <link linkend="ports-broken">le portage d'un logiciel
ne fonctionne pas</link>.</para>
<sect2 id="ports-questions">
<title>Quelques questions et leurs r&eacute;ponses</title>
<qandaset>
<qandaentry>
<question>
<para>Je pensais que cela allait &ecirc;tre une discussion sur les
modems??!</para>
</question>
<answer>
<para>Ah. Vous pensiez peut-&ecirc;tre aux &ldquo;ports&rdquo;
s&eacute;rie sur la face arri&egrave;re de votre ordinateur. Nous
utilisons ici le terme &ldquo;port&rdquo; - logiciels
port&eacute;s - pour parler du r&eacute;sultat du
&ldquo;portage&rdquo; d'un logiciel d'un syst&egrave;me
d'exploitation &agrave; un autre.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para id="ports-patch">Qu'est-ce qu'un &ldquo;patch&rdquo; -
correctif?</para>
</question>
<answer>
<para>Un correctif (&ldquo;patch&rdquo;) est un petit fichier
qui pr&eacute;cise comment passer d'une version &agrave; une autre.
Il contient du texte, qui dit des choses comme
&ldquo;effacer la ligne 23&rdquo;, &ldquo;ajouter ces deux
lignes apr&egrave;s la ligne 468&rdquo;, et &ldquo;modifier la
ligne 197 comme ceci&rdquo;. Ils sont aussi connus sont le
nom de &ldquo;diff&rdquo; parce qu'ils sont
g&eacute;n&eacute;r&eacute;s par le
programme &man.diff.1;.</para>
</answer>
</qandaentry>
<indexterm><primary>archive tar</primary></indexterm>
<qandaentry>
<question>
<para id="ports-tarball">Que sont les archives
<command>tar</command>?</para>
</question>
<answer>
<para>C'est un fichier dont l'extension est
<filename>.tar</filename>, ou avec des variantes du style
<filename>.tar.gz</filename>, <filename>.tar.Z</filename>,
<filename>.tar.bz2</filename>, et m&ecirc;me
<filename>.tgz</filename>.</para>
<para>C'est essentiellement une arborescence de r&eacute;pertoires
qui a &eacute;t&eacute; archiv&eacute;e en un seul fichier
(<filename>.tar</filename>) et &eacute;ventuellement
compress&eacute; (<filename>.gz</filename>). Cette technique
&eacute;tait &agrave; l'origine utilis&eacute;e pour les
&ldquo;<emphasis>T</emphasis>ape&rdquo; - bande -
&ldquo;<emphasis>AR</emphasis>chives&rdquo; (d'o&ugrave; le nom de
<command>tar</command>), mais c'est une m&eacute;thode tr&egrave;s
utilis&eacute;e pour distribuer du code source sur
l'Internet.</para>
<para>Vous pouvez obtenir la liste des fichiers qu'elles
contiennent, ou m&ecirc;me les extraire vous-m&ecirc;me en
utilisant le programme Unix standard &man.tar.1;, qui fait
partie du syst&egrave;me de base de FreeBSD, comme ceci:</para>
<screen>&prompt.user; <userinput>tar tvzf foobar.tar.gz</userinput>
&prompt.user; <userinput>tar xzvf foobar.tar.gz</userinput>
&prompt.user; <userinput>tar tvf foobar.tar</userinput>
&prompt.user; <userinput>tar xvf foobar.tar</userinput></screen>
</answer>
</qandaentry>
<indexterm><primary>somme de contr&ocirc;le</primary></indexterm>
<qandaentry>
<question>
<para id="ports-checksum">Et une somme de contr&ocirc;le?</para>
</question>
<answer>
<para>C'est un nombre g&eacute;n&eacute;r&eacute; en additionnant
toutes les donn&eacute;es que contient le fichier que vous voulez
contr&ocirc;ler. Si un caract&egrave;re change, la somme de
contr&ocirc;le ne
sera plus la m&ecirc;me, et une simple comparaison vous permettra
de rep&eacute;rer la diff&eacute;rence.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>J'ai suivi vos indications pour compiler des logiciels
port&eacute;s &agrave; partir d'un CDROM et cela a march&eacute;
sans probl&egrave;me
jusqu'&agrave; ce que j'essaye d'installer le logiciel port&eacute;
<application>Kermit</application>.</para>
<screen>&prompt.root; <userinput>make install</userinput>
&gt;&gt; cku190.tar.gz doesn't seem to exist on this system.
&gt;&gt; Attempting to fetch from ftp://kermit.columbia.edu/kermit/archives/.</screen>
<para>Pourquoi ne le trouve-t-il pas? Ai-je un CDROM
endommag&eacute;?</para>
</question>
<answer>
<para>Comme expliqu&eacute; dans la section <link
linkend="ports-cd">Installer des logiciels port&eacute;s &agrave;
partir d'un CDROM</link>, certains logiciels port&eacute;s ne
peuvent &ecirc;tre mis sur l'ensemble des CDROMs en raison des
restrictions de la licence. <application>Kermit</application>
en est un exemple. Les termes de la licence de
<application>Kermit</application> ne nous permettent pas
d'inclure l'archive sur le CDROM, vous devrez donc la
r&eacute;cup&eacute;rer par
vous-m&ecirc;me&mdash;d&eacute;sol&eacute;!</para>
<para>Vous avez obtenu tous ces messages d'erreur parce que
vous n'&eacute;tiez alors pas connect&eacute; &agrave; l'Internet.
Une fois que
vous l'avez t&eacute;l&eacute;charg&eacute; &agrave; partir d'un des
<makevar>MASTER_SITES</makevar> - sites principaux (list&eacute;s
dans le fichier <filename>Makefile</filename>), vous pouvez
relancer le processus d'installation.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Je l'ai fait, mais quand j'ai essay&eacute; de la mettre dans
<filename>/usr/ports/distfiles</filename>, j'ai eu des erreurs
&agrave; propos de permissions que je n'avais pas.</para>
</question>
<answer>
<para>Le m&eacute;canisme des logiciels port&eacute;s
t&eacute;l&eacute;chargera les archives dans
<filename>/usr/ports/distfiles</filename>, mais de nombreux
administrateurs syst&egrave;me cr&eacute;eront un lien
symbolique entre ce r&eacute;pertoire et un serveur de fichiers
distant ou un CDROM local sur lequel on ne peut que lire.
Dans ce cas, vous devrez alors sp&eacute;cifier un r&eacute;pertoire
diff&eacute;rent pour stocker les &ldquo;distfiles&rdquo; avec la
commande suivante:</para>
<screen>&prompt.root; <userinput>make DISTDIR=<replaceable>/local/dir/with/write/permission</replaceable> install</userinput></screen>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Le syst&egrave;me des logiciels port&eacute;s ne fonctionne-t-il
qu'avec <filename>/usr/ports</filename>? Mon administrateur
syst&egrave;me veut que je mette tout dans
<filename>/u/people/guests/wurzburger</filename>, mais cela
ne semble pas fonctionner.</para>
</question>
<answer>
<para>Vous pouvez utiliser les variables
<makevar>PORTSDIR</makevar> et <makevar>PREFIX</makevar>
pour dire au m&eacute;canisme des logiciels port&eacute;s
d'utiliser des
r&eacute;pertoires diff&eacute;rents. Par exemple:</para>
<screen>&prompt.root; <userinput>make PORTSDIR=/u/people/guests/wurzburger/ports install</userinput></screen>
<para>compilera le logiciel dans
<filename>/u/people/guests/wurzburger/ports</filename> et
installera tout dans <filename>/usr/local</filename>.</para>
<screen>&prompt.root; <userinput>make PREFIX=/u/people/guests/wurzburger/local install</userinput></screen>
<para>le compilera dans <filename>/usr/ports</filename> et
l'installera dans
<filename>/u/people/guests/wurzburger/local</filename>.</para>
<para>Et bien s&ucirc;r:</para>
<screen>&prompt.root; <userinput>make PORTSDIR=../ports PREFIX=../local install</userinput></screen>
<para>combinera les deux (c'est trop long pour tenir
enti&egrave;rement sur la page, mais cela devrait vous donner
l'id&eacute;e g&eacute;n&eacute;rale).</para>
<indexterm><primary>imake</primary></indexterm>
<para>Certains logiciels port&eacute;s qui utilisent &man.imake.1;
(une partie du syst&egrave;me X Window) ne fonctionnent pas bien
avec la variable <makevar>PREFIX</makevar>, et insisteront
pour s'installer sous <filename>/usr/X11R6</filename>. De
fa&ccedil;on similaire, certain logiciels Perl ignorent
<makevar>PREFIX</makevar> et s'installent dans
l'arborescence Perl. Faire en sorte que ces logiciels
port&eacute;s respectent <makevar>PREFIX</makevar> est une
t&acirc;che difficile voire impossible.</para>
<para>Si vous ne voulez pas avoir &agrave; retaper tout cela &agrave;
chaque fois que vous installez un logiciel port&eacute;,
vous pouvez d&eacute;finir ces variables dans votre
environnement par d&eacute;faut. Lisez la page de manuel de votre
interpr&eacute;teur de commandes pour des instructions sur la
mani&egrave;re de le faire.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Je n'ai pas de CDROM FreeBSD, mais j'aimerais avoir
toutes les archives sous la main sur mon syst&egrave;me pour ne pas
avoir &agrave; attendre la fin d'un t&eacute;l&eacute;chargement
&agrave; chaque fois que j'installe un logiciel port&eacute;.
Y-a-t-il une fa&ccedil;on de les
r&eacute;cup&eacute;rer d'un coup?</para>
</question>
<answer>
<para>Pour r&eacute;cup&eacute;rer toutes les archives du
catalogue des logiciels, tapez:</para>
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make fetch</userinput></screen>
<para>Pour toutes les archives d'un sous-r&eacute;pertoire du
catalogue, tapez:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput>
&prompt.root; <userinput>make fetch</userinput></screen>
<para>et pour juste un seule logiciel port&eacute;&mdash;bon, vous
avez probablement d&eacute;j&agrave; devin&eacute;.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Je sais qu'il est probablement plus rapide de
r&eacute;cup&eacute;rer les archives &agrave; partir de sites
miroir FreeBSD proches. Existe-il un moyen de dire au logiciel
port&eacute; de s'adresser &agrave;
d'autres serveurs qu'&agrave; ceux list&eacute;s dans la variable
<makevar>MASTER_SITES</makevar>?</para>
</question>
<answer>
<para>Oui. Si vous savez que, par exemple, <hostid
role="fqdn">ftp.FreeBSD.org</hostid> est plus pr&egrave;s de vous
que les sites list&eacute;s dans <makevar>MASTER_SITES</makevar>,
faites comme dans ce qui suit:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput>
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Je veux savoir de quels fichiers <command>make</command>
aura besoin avant de le laisser essayer de les
t&eacute;l&eacute;charger.</para>
</question>
<answer>
<para><command>make fetch-list</command> affichera une liste
des fichiers n&eacute;cessaires &agrave; un logiciel
port&eacute;.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Y-a-t-il un moyen d'emp&ecirc;cher un logiciel port&eacute;
d'&ecirc;tre compil&eacute;? Je veux faire quelques
modifications sur le code
source avant de l'installer, mais c'est fastidieux de
surveiller ce qui se passe et taper &agrave; chaque fois
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>C</keycap>
</keycombo>.</para>
</question>
<answer>
<para><command>make extract</command> ne fera que
r&eacute;cup&eacute;rer et extraire le code source.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>J'essaye de faire mon propre portage et je voudrais
qu'il ne soit pas compil&eacute; avant que j'ai pu v&eacute;rifier
que les correctifs aient &eacute;t&eacute; correctement
appliqu&eacute;s. Y-a-t-il un &eacute;quivalent &agrave;
<command>make extract</command>, pour les correctifs?</para>
</question>
<answer>
<para>Oui, <command>make patch</command> est ce qu'il vous
faut. Vous trouverez probablement l'option
<makevar>PATCH_DEBUG</makevar> &eacute;galement utile. Et, au
passage, merci de vos efforts!</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>J'ai entendu dire que certaines options du compilateur
pouvaient &ecirc;tre &agrave; l'origine de bogue. Est-ce exact?
Comment puis-je &ecirc;tre s&ucirc;r que je compile les logiciels
port&eacute;s avec les bonnes options?</para>
</question>
<answer>
<para>Oui, avec la version 2.6.3 de <command>gcc</command> (la
version livr&eacute;e avec FreeBSD&nbsp;2.1.0 et 2.1.5), l'option
<option>-O2</option> pouvait g&eacute;n&eacute;rer du code
bogu&eacute; &agrave; moins que vous n'utilisiez &eacute;galement
l'option <option>-fno-strength-reduce</option>. (La plupart des
logiciels port&eacute;s n'utilisent pas l'option
<option>-O2</option>). Vous <emphasis>devriez</emphasis>
pouvoir sp&eacute;cifiez les options du compilateur
avec quelque chose comme:</para>
<screen>&prompt.root; <userinput>make CFLAGS='-O2 -fno-strength-reduce' install</userinput></screen>
<para>ou en &eacute;ditant <filename>/etc/make.conf</filename>,
mais malheureusement tous les ports n'en tiennent pas
compte. La m&eacute;thode la plus sure est d'utiliser
<command>make configure</command>, puis d'aller dans le
r&eacute;pertoire des sources et de v&eacute;rifier les
fichiers <filename>Makefile</filename>s
&agrave; la main, mais cela peut devenir fastidieux s'il y a de
nombreux sous-r&eacute;pertoires, chacun avec leur propre
<filename>Makefile</filename>s.</para>
<para>Les options par d&eacute;faut du compilateur de FreeBSD sont
assez conservatrices, donc si vous ne les avez pas
modifi&eacute;es vous ne devriez pas avoir de
probl&egrave;me.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Il y a tellement de logiciels port&eacute;s qu'il est difficile
de trouver celui que je veux. Y-a-t-il quelque part une
liste des logiciels port&eacute;s disponibles?
</question>
<answer>
<para>Regardez dans le fichier <filename>INDEX</filename> dans
<filename>/usr/ports</filename>. Si vous d&eacute;sirez chercher
dans le catalogue des logiciels port&eacute;s un mot-cl&eacute;,
vous pouvez &eacute;galement le faire.
Par exemple, vous pouvez trouver
les logiciels port&eacute;s concernant le langage de programmation
LISP en utilisant:</para>
<screen>&prompt.user; <userinput>cd /usr/ports</userinput>
&prompt.user; <userinput>make search key=lisp</userinput></screen>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>J'ai lanc&eacute; l'installation du logiciel
<literal>foo</literal> mais le syst&egrave;me a soudainement
interrompu sa compilation et a commenc&eacute; &agrave; compiler le
logiciel <literal>bar</literal>. Que se passe-t-il?</para>
</question>
<answer>
<para>Le logiciel port&eacute; <literal>foo</literal> a besoin de
quelque chose faisant partie de <literal>bar</literal>
&mdash; par exemple, si <literal>foo</literal> utilise des
graphiques, <literal>bar</literal> peut avoir une
biblioth&egrave;que avec des sous-programmes graphiques utiles.
Ou bien <literal>bar</literal> peut &ecirc;tre un outil
n&eacute;cessaire &agrave; la compilation du logiciel port&eacute;
<literal>foo</literal>. Une fois l'installation de
<literal>bar</literal> termin&eacute;e, votre syst&egrave;me
devrait automatiquement reprendre la compilation de
<literal>foo</literal>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para id="ports-remove">J'ai install&eacute; le programme
<literal>grizzle</literal> &agrave; partir du catalogue et c'est
franchement du gaspillage d'espace disque. Je veux
l'effacer mais je ne sais pas o&ugrave; il a mis tous les fichiers.
Des indications?</para>
</question>
<answer>
<para>Aucun probl&egrave;me, tapez simplement:</para>
<screen>&prompt.root; <userinput>pkg_delete grizzle-6.5</userinput></screen>
<para>Une autre alternative est de taper:</para>
<screen>&prompt.root; <userinput>cd <replaceable>/usr/ports/somewhere/grizzle</replaceable></userinput>
&prompt.root; <userinput>make deinstall</userinput></screen>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Une minute, il faut conna&icirc;tre le num&eacute;ro de
version pour utiliser cette commande. Vous ne vous attendez pas
s&eacute;rieusement &agrave; ce que je l'ai retenu,
n'est-ce pas?</para>
</question>
<answer>
<para>Absolument pas, vous pouvez le retrouver en faisant:</para>
<screen>&prompt.root; <userinput>pkg_info -I 'grizzle*'</userinput>
Information for grizzle-6.5:
grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up
arcade game.</screen>
<para>Le num&eacute;ro de version peut &ecirc;tre soit
trouv&eacute; en utilisant <command>pkg_info</command> soit en
tapant: <command>ls /var/db/pkg</command></para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>En parlant d'espace disque, le catalogue des logiciels
port&eacute;s semble occuper &eacute;norm&eacute;ment de place.
Est-il prudent d'y faire un peu de m&eacute;nage?</para>
</question>
<answer>
<para>Oui, si vous avez install&eacute; un programme et que vous
&ecirc;tes &agrave; peu pr&egrave;s certain que vous n'aurez
plus besoin des
sources &agrave; nouveau, il n'y a aucune raison de les conserver.
La meilleure fa&ccedil;on de faire est:</para>
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make clean</userinput></screen>
<para>qui parcourra tous les sous-r&eacute;pertoires et effacera
tout except&eacute; les squelettes et cela pour chaque logiciel
port&eacute;.</para>
<tip><para>Il est possible d'obtenir le m&ecirc;me effet sans
appeler r&eacute;cursivement chaque <filename>Makefile</filename>.
Par exemple, vous pouvez effacer tous les sous-r&eacute;pertoires
<filename>work/</filename> directement avec la commande
suivante:
<screen>&prompt.root; <userinput>find /usr/ports -depth -name work -exec rm -rf {} \;</userinput></screen></para>
</tip>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>J'ai essay&eacute; cela et il reste toujours ces archives,
quelque soit le nom que vous leur donniez, dans le
r&eacute;pertoire <filename>distfiles</filename>. Puis-je
&eacute;galement les effacer?</para>
</question>
<answer>
<para>Oui, si vous &ecirc;tes s&ucirc;r d'en avoir termin&eacute;
avec elles, vous pouvez aussi les supprimer. Elles peuvent
&ecirc;tre effacer manuellement, ou en utilisant <command>make
distclean</command>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>J'aime avoir quantit&eacute; de logiciels pour les tester.
Y-a-t-il un moyen d'installer tous les logiciels port&eacute;s d'un
seul coup?</para>
</question>
<answer>
<para>Faites juste:</para>
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make install</userinput></screen>
<para>Faites attention, car certains logiciels port&eacute;s
peuvent installer des fichiers avec les m&ecirc;me noms. Si
vous installez deux logiciels graphiques et qu'ils
installent tous les deux
<filename>/usr/local/bin/plot</filename> alors vous aurez
&eacute;videmment des ennuis.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>OK, j'ai essay&eacute;, mais comme j'ai pens&eacute; que cela
allait prendre beaucoup de temps j'ai laiss&eacute; travailler la
machine et je suis all&eacute; me coucher. Ce matin quand j'ai
jet&eacute; un coup d'oeil &agrave; l'ordinateur, il n'avait
install&eacute; que
trois logiciels et demi. Quelque chose s'est-il mal
pass&eacute;?</para>
</question>
<answer>
<para>Non, le probl&egrave;me est que certains logiciels port&eacute;s
doivent vous poser des questions auxquelles ils ne peuvent
r&eacute;pondre &agrave; votre place (e.g., &ldquo;Voulez-vous
imprimer au
format A4 ou au format l&eacute;gal US?&rdquo;) et il faut donc que
quelqu'un y r&eacute;ponde sur le moment.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Je ne veux vraiment pas passer la journ&eacute;e plant&eacute;
devant l'&eacute;cran. Une meilleure id&eacute;e?</para>
</question>
<answer>
<para>OK, tapez ceci avant d'aller au lit/travail/jardin
public:</para>
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make -DBATCH install</userinput></screen>
<para>Cela installera tous les logiciels qui ne demandent
<emphasis>pas</emphasis> d'int&eacute;raction avec l'utilisateur.
Ensuite, &agrave; votre retour, faites:</para>
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make -DINTERACTIVE install</userinput></screen>
<para>pour terminer le travail.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Au bureau, nous utilisons <literal>frobble</literal>,
qui se trouve dans votre catalogue des logiciels port&eacute;s,
mais nous l'avons quelque peu modifi&eacute; pour nos propres
besoins. Y-a-t-il un moyen de g&eacute;n&eacute;rer notre propre
version pr&eacute;-compil&eacute;es, pour le distribuer plus
facilement sur nos sites?</para>
</question>
<answer>
<para>Pas de probl&egrave;me, en supposant que vous savez comment
g&eacute;n&eacute;rer les correctifs pour vos modifications:</para>
<screen>&prompt.root; <userinput>cd <replaceable>/usr/ports/somewhere/frobble</replaceable></userinput>
&prompt.root; <userinput>make extract</userinput>
&prompt.root; <userinput>cd work/frobble-2.8</userinput>
[Apply your patches]
&prompt.root; <userinput>cd ../..</userinput>
&prompt.root; <userinput>make package</userinput></screen>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Ce syst&egrave;me de logiciel est vraiment g&eacute;nial. Je
d&eacute;sesp&egrave;re de comprendre comment vous avez fait. Quel
est le secret?</para>
</question>
<answer>
<para>Il n'y a absolument aucun secret, jetez juste un coup
d'oeil aux fichiers <filename>bsd.port.mk</filename> et
<filename>bsd.port.subdir.mk</filename> dans le r&eacute;pertoire
<filename>/usr/ports/Mk/</filename>.</para>
<para>(Cette lecture est d&eacute;conseill&eacute;e &agrave; ceux
que les proc&eacute;dures de commandes compliqu&eacute;es
rebutent.)</para>
</answer>
</qandaentry>
</qandaset>
</sect2>
<sect2 id="ports-broken">
<title>A l'aide! Le portage d'un logiciel ne fonctionne
pas!</title>
<sect1 id="ports-broken">
<title>Que faire avec les logiciels port&eacute;s ne fonctionnant
pas?</title>
<para>Si vous rencontrez un portage qui ne fonctionne pas, il y a
certaines choses que vous pouvez faire:</para>
@ -1905,7 +1453,7 @@ arcade game.</screen>
sur <hostid role="fqdn">ftp.FreeBSD.org</hostid> dans le
r&eacute;pertoire
<ulink
URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/">packages</ulink>,
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/">packages</ulink>,
mais v&eacute;rifiez <emphasis>d'abord</emphasis> votre miroir
local! Il y a globalement plus de chances que cela marche,
que d'essayez de compiler &agrave; partir des sources, et cela va
@ -1914,7 +1462,6 @@ arcade game.</screen>
pr&eacute;-compil&eacute; sur votre syst&egrave;me.</para>
</listitem>
</orderedlist>
</sect2>
</sect1>
</chapter>