doc/fr_FR.ISO8859-1/books/handbook/ports/chapter.sgml
2002-07-29 17:53:40 +00:00

1815 lines
73 KiB
Text

<!--
The FreeBSD Documentation Project
The FreeBSD French Documentation Project
$FreeBSD$
$Id: chapter.sgml,v 1.3 2002-07-29 17:53:39 blackend Exp $
Original revision: 1.177
-->
<chapter id="ports">
<title>Installer des applications: les logiciels pr&eacute;-compil&eacute;s
et les logiciels port&eacute;s</title>
&trans.a.fonvieille;
<sect1>
<title>Synopsis</title>
<indexterm><primary>logiciels port&eacute;s</primary></indexterm>
<indexterm><primary>logiciels pr&eacute;-compil&eacute;s</primary></indexterm>
<para>FreeBSD est livr&eacute; avec une riche collection d'outils en tant
que partie du syst&egrave;me de base. Cependant, beaucoup de choses
peuvent &ecirc;tre faites avant d'avoir besoin de recourir &agrave;
l'installation d'une application tiers pour effectuer un travail
pr&eacute;cis. FreeBSD fournit deux technologies compl&eacute;mentaires
pour installer des logiciels tiers sur votre syst&egrave;me:
le Catalogue des logiciels port&eacute;s de FreeBSD, et les logiciels
pr&eacute;-compil&eacute;s. L'un ou l'autre des syst&egrave;mes peut
&ecirc;tre utilis&eacute; pour installer les nouvelles versions de vos
applications favorites &agrave; partir d'un
support local ou directement depuis le r&eacute;seau.</para>
<para>Apr&egrave;s la lecture de ce chapitre, vous saurez:</para>
<itemizedlist>
<listitem>
<para>Comment installer des logiciels tiers
pr&eacute;-compil&eacute;s.</para>
</listitem>
<listitem>
<para>Comment compiler des logiciels tiers &agrave; partir du catalogue
de logiciels port&eacute;s.</para>
</listitem>
<listitem>
<para>Comment effacer les logiciels pr&eacute;-compil&eacute;s ou
port&eacute;s pr&eacute;c&eacute;demment install&eacute;s.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1>
<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
saurez que la proc&eacute;dure typique pour installer les logiciels
tiers ressemble &agrave; ceci:</para>
<procedure>
<step>
<para>T&eacute;l&eacute;charger le logiciel, qui peut &ecirc;tre
distribu&eacute; sous forme de code source, ou sous forme d'un
binaire.</para>
</step>
<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>
</step>
<step>
<para>Recherchez la documentation (peut &ecirc;tre un fichier
<filename>README</filename>, ou des fichiers dans un sous
r&eacute;pertoire <filename>doc/</filename>) et lisez les
informations sur comment installer le logiciel.</para>
</step>
<step>
<para>Si le logiciel &eacute;tait distribu&eacute; sous forme de
sources, compilez-le. Cela peut impliquer l'&eacute;dition d'un
<filename>Makefile</filename>, ou l'ex&eacute;cution d'une
proc&eacute;dure <command>configure</command>, et d'autres
activit&eacute;s.</para>
</step>
<step>
<para>Tester et installer le logiciel.</para>
</step>
</procedure>
<para>Et cela si seulement tout ce passe bien. Si vous installez un
logiciel qui n'a pas &eacute;t&eacute; sp&eacute;cialement port&eacute;
pour FreeBSD, il se peut que vous deviez &eacute;diter le code source
pour le faire fonctionner correctement.</para>
<para>Si vous le voulez, vous pouvez continuer d'installer des
logiciels suivant la m&eacute;thode &ldquo;traditionnelle&rdquo; sous
FreeBSD. Cependant, FreeBSD fournit deux technologies avec
lesquelles vous pouvez vous &eacute;conomiser beaucoup d'efforts: les
logiciels pr&eacute;-compil&eacute;s et le catalogue des logiciels
port&eacute;s. A l'heure de l'&eacute;criture de ces lignes, plus de
&os.numports; applications tiers ont &eacute;t&eacute; mises &agrave;
disposition de cette fa&ccedil;on.</para>
<para>Pour n'importe quelle application donn&eacute;e, le logiciel
pr&eacute;-compil&eacute; FreeBSD pour cette application est un unique
fichier &agrave; t&eacute;l&eacute;charger. Il contient les copies
pr&eacute;-compil&eacute;es de toutes les
commandes de l'application, ainsi que tous fichiers de
configuration et documentation. Un logiciel pr&eacute;-compil&eacute;
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
effectu&eacute;e gr&acirc;ce &agrave; une unique commande.</para>
<para>Un logiciel port&eacute; pour FreeBSD est un ensemble de fichiers
con&ccedil;us pour automatiser le processus de compilation d'une
application &agrave; partir du code source.</para>
<para>Rappelez-vous qu'il y a un certain nombre d'&eacute;tapes que vous
effectueriez si vous compiliez un programme vous-m&ecirc;me (extraction,
application de correctifs, compilation, installation). Les
fichiers qui composent un logiciel port&eacute; contiennent toute
l'information n&eacute;cessaire pour permettre au syst&egrave;me de faire
cela pour vous. Vous lancez une poign&eacute;e de commandes simples et
le code source de l'application est automatiquement
t&eacute;l&eacute;charg&eacute;, extrait, corrig&eacute;, compil&eacute;,
et install&eacute; pour vous.</para>
<para>En fait, le catalogue des logiciels port&eacute;s peut &ecirc;tre
utilis&eacute; pour g&eacute;n&eacute;rer ce qui pourra plus tard
&ecirc;tre manipul&eacute; avec <command>pkg_add</command> et d'autres
commandes de gestion des logiciels pr&eacute;-compil&eacute;s qui
seront pr&eacute;sent&eacute;s sous peu.</para>
<para>Les logiciels pr&eacute;-compil&eacute;s et le catalogue des
logiciels port&eacute;s comprennent la notion de
<emphasis>d&eacute;pendances</emphasis>.
Supposez que vous voulez installer une application qui d&eacute;pend
de l'installation d'une biblioth&egrave;que particuli&egrave;re.
L'application et la biblioth&egrave;que ont &eacute;t&eacute; toutes
deux rendues disponibles sous forme de logiciel port&eacute; pour
FreeBSD ou de logiciel pr&eacute;-compil&eacute;.
Si vous utilisez la commande <command>pkg_add</command> ou le
catalogue des logiciels port&eacute;s pour ajouter l'application, tous
les deux remarqueront que la biblioth&egrave;que n'a pas &eacute;t&eacute;
install&eacute;e, et ces commandes installeront en premier la
biblioth&egrave;que.</para>
<para>Etant donn&eacute; que les deux technologies sont presque semblables,
vous pourriez vous demander pourquoi FreeBSD s'ennuie avec les
deux. Les logiciels pr&eacute;-compil&eacute;s et le catalogue de
logiciels port&eacute;s ont chacun leurs propres forces, et celle que vous
emploierez d&eacute;pendra de votre pr&eacute;f&eacute;rence.</para>
<itemizedlist>
<title>Avantages des logiciels pr&eacute;-compil&eacute;s</title>
<listitem>
<para>L'archive compress&eacute;e d'un logiciel
pr&eacute;-compil&eacute; est g&eacute;n&eacute;ralement plus
petite que l'archive compress&eacute;e contenant le
code source de l'application.</para>
</listitem>
<listitem>
<para>Les logiciels pr&eacute;-compil&eacute;s ne
n&eacute;cessitent pas de compilation suppl&eacute;mentaire.
Pour les grosses applications, comme
<application>Mozilla</application>,
<application>KDE</application>, ou <application>GNOME</application>
cela peut s'av&eacute;rer important, particuli&egrave;rement si
vous &ecirc;tes sur un syst&egrave;me lent.</para>
</listitem>
<listitem>
<para>Les logiciels pr&eacute;-compil&eacute;s ne demandent pas que vous
compreniez le processus impliqu&eacute; dans la compilation de
logiciels sous FreeBSD.</para>
</listitem>
</itemizedlist>
<itemizedlist>
<title>Avantages du catalogue des logiciels port&eacute;s</title>
<listitem>
<para>Les logiciels pr&eacute;-compil&eacute;s sont normalement
compil&eacute;s avec des options conservatrices, parce qu'ils
doivent pouvoir tourner sur le plus grand nombre de syst&egrave;mes.
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>
</listitem>
<listitem>
<para>Certaines applications ont des options de compilation
concernant ce qu'elles peuvent faire et ne pas faire. Par
exemple, <application>Apache</application> peut &ecirc;tre
configur&eacute; avec une tr&egrave;s large vari&eacute;t&eacute;
d'options int&eacute;gr&eacute;es diff&eacute;rentes.
En compilant &agrave; partir du catalogue des logiciels
port&eacute;s vous n'avez pas &agrave; accepter les options par
d&eacute;faut, et vous pouvez
les configurez vous-m&ecirc;me.</para>
<para>Dans certains cas, de multiples logiciels
pr&eacute;-compil&eacute;s existeront pour la m&ecirc;me
application pour sp&eacute;cifier certaines configurations.
Par exemple, <application>Ghostscript</application> est
disponible comme logiciel pr&eacute;-compil&eacute;
<filename>ghostscript</filename> et
<filename>ghostscript-nox11</filename> , en fonction de si
vous avez install&eacute; ou non un serveur X11. Ce type
d'arrangement est possible avec les logiciels
pr&eacute;-compil&eacute;s, mais devient rapidement impossible
si une application a plus d'une ou deux options de
compilation.</para>
</listitem>
<listitem>
<para>Les licences de certains logiciels interdisent les
distributions binaires. Ils doivent &ecirc;tre distribu&eacute;s sous
forme de code source.</para>
</listitem>
<listitem>
<para>Certaines personnes ne font pas confiance aux
distributions binaires. Au moins avec le code source, vous
pouvez (en th&eacute;orie) le parcourir et chercher les
probl&egrave;mes
potentiels par vous-m&ecirc;me.</para>
</listitem>
<listitem>
<para>Si vous avez des correctifs locaux, vous aurez besoin du
code source afin de les appliquer.</para>
</listitem>
<listitem>
<para>Certaines personnes aiment avoir le code source &agrave;
port&eacute;e de main, ainsi elles peuvent le lire si elles
s'ennuient, le
modifier, y faire des emprunts (si la licence le permet bien
s&ucirc;r), etc...</para>
</listitem>
</itemizedlist>
<para>Pour suivre les mises &agrave; jour du catalogue des logiciels
port&eacute;s, inscrivez-vous &agrave; la &a.ports;.</para>
<para>Le reste de ce chapitre expliquera comment utiliser les
logiciels pr&eacute;-compil&eacute;s et le catalogue des logiciels
port&eacute;s et la
gestion des logiciels tiers sous FreeBSD.</para>
</sect1>
<sect1>
<title>Trouver votre application</title>
<para>Avant que vous puissiez installer des applications
vous devez savoir ce que vous voulez, et comment se nomment les
applications.</para>
<para>La liste des applications disponibles pour FreeBSD augmente de
jours en jours. Heureusement, il y a plusieurs fa&ccedil;ons de trouver
ce que vous d&eacute;sirez:</para>
<itemizedlist>
<listitem>
<para>Le site web de FreeBSD maintient &agrave; jour une liste, dans
laquelle on peut effectuer des recherches, de toutes les
applications disponibles &agrave; l'adresse
<ulink url="../../../../ports/index.html">http://www.FreeBSD.org/ports/</ulink>.
La liste est divis&eacute;e en cat&eacute;gories, et vous pouvez soit
chercher une application par son nom (si vous le connaissez),
soit lister toutes les applications disponibles dans une
cat&eacute;gorie.</para>
</listitem>
<indexterm><primary>FreshPorts</primary></indexterm>
<listitem>
<para>Dan Langille maintient FreshPorts, &agrave; l'adresse
<ulink url="http://www.FreshPorts.org/">http://www.FreshPorts.org/</ulink>.
FreshPorts suit les modifications des applications dans le
catalogue des logiciels port&eacute;s, et vous permet de
&ldquo;surveiller&rdquo; un ou plusieurs logiciels port&eacute;s, et
il vous enverra un courrier &eacute;lectronique quand ils sont mis
&agrave; jour.</para>
</listitem>
<indexterm><primary>FreshMeat</primary></indexterm>
<listitem>
<para>Si vous ne connaissez pas le nom de l'application que vous
voulez, essayez d'utiliser un site comme FreshMeat
(<ulink url="http://www.freshmeat.net/">http://www.freshmeat.net/</ulink>)
pour trouver une application, ensuite v&eacute;rifiez sur le site de
FreeBSD si l'application a d&eacute;j&agrave; &eacute;t&eacute;
port&eacute;e.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="packages-using">
<sect1info>
<authorgroup>
<author>
<firstname>Chern</firstname>
<surname>Lee</surname>
<contrib>Contribution de </contrib>
</author>
</authorgroup>
<!-- 30 Mar 2001 -->
</sect1info>
<title>Utiliser le syst&egrave;me des logiciels
pr&eacute;-compil&eacute;s</title>
<sect2>
<title>Installation d'un logiciel pr&eacute;-compil&eacute;</title>
<indexterm>
<primary>logiciels pr&eacute;-compil&eacute;s</primary>
<secondary>installation</secondary>
</indexterm>
<indexterm>
<primary><command>pkg_add</command></primary>
</indexterm>
<para>Vous pouvez utiliser l'utilitaire &man.pkg.add.1; pour
installer un logiciel pr&eacute;-compil&eacute; FreeBSD &agrave;
partir d'un fichier
local ou d'un serveur sur le r&eacute;seau.</para>
<example>
<title>T&eacute;l&eacute;charger un logiciel pr&eacute;-compil&eacute;
puis l'installer localement</title>
<screen>&prompt.root; <userinput>ftp -a <replaceable>ftp2.FreeBSD.org</replaceable></userinput>
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230- This machine is in Vienna, VA, USA, hosted by Verio.
230- Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
<prompt>ftp></prompt> <userinput>cd /pub/FreeBSD/ports/packages/sysutils/</userinput>
250 CWD command successful.
<prompt>ftp></prompt> <userinput>get lsof-4.56.4.tgz</userinput>
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375 00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
<prompt>ftp></prompt> <userinput>exit</userinput>
&prompt.root; <userinput>pkg_add <replaceable>lsof-4.56.4.tgz</replaceable></userinput></screen>
</example>
<para>Si vous n'avez pas une source locale de logiciels
pr&eacute;-compil&eacute;s (comme l'ensemble de CDROM de FreeBSD)
alors il sera probablement plus facile d'utiliser l'option
<option>-r</option> de &man.pkg.add.1;. Cela fera d&eacute;terminer
automatiquement &agrave; l'utilitaire le format objet et la version
corrects et ensuite r&eacute;cup&eacute;rer et installer le logiciel
pr&eacute;-compil&eacute; &agrave; partir d'un site FTP.</para>
<indexterm>
<primary><command>pkg_add</command></primary></indexterm>
<screen>&prompt.root; <userinput>pkg_add -r <replaceable>lsof</replaceable></userinput></screen>
<para>L'exemple ci-dessus t&eacute;l&eacute;chargera le logiciel
pr&eacute;-compil&eacute;
correct sans plus d'intervention de l'utilisateur.
&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
<envar>FTP_PASSWORD</envar>. Il se peut que vous ayez besoin de
configurer une ou plusieurs de ces derni&egrave;res si vous &ecirc;tes
derri&egrave;re un 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. Vous pouvez &eacute;galement remarquer que dans
l'exemple ci-dessus <literal>lsof</literal> est utilis&eacute; au lieu
de <literal>lsof-4.56.4</literal>. Quand la fonction de
r&eacute;cup&eacute;ration &agrave; distance est utilis&eacute;e,
le num&eacute;ro de version doit &ecirc;tre retir&eacute;.
&man.pkg.add.1; t&eacute;l&eacute;chargera automatiquement la
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
sur <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/">
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/</ulink>, ou
sur le CDROM de distribution de FreeBSD. Chaque CD de
l'ensemble de 4-CD de FreeBSD (et le PowerPak, etc...) contient
des logiciels pr&eacute;-compil&eacute;s dans le r&eacute;pertoire
<filename>/packages</filename>. L'organisation des logiciels
pr&eacute;-compil&eacute;s est semblable &agrave; celle de
l'arborescence <filename>/usr/ports</filename>. Chaque
cat&eacute;gorie poss&egrave;de son propre r&eacute;pertoire, et
chaque logiciel pr&eacute;-compil&eacute; peut &ecirc;tre
trouv&eacute; dans le r&eacute;pertoire <filename>All</filename>.</para>
<para>La structure de r&eacute;pertoires du syst&egrave;me de logiciels
pr&eacute;-compil&eacute;s est identique &agrave; celle du catalogue
des logiciels port&eacute;s; ils travaillent ensemble pour former
l'int&eacute;gralit&eacute; du syst&egrave;me de logiciels
pr&eacute;-compil&eacute;s/port&eacute;s.</para>
</sect2>
<sect2>
<title>Effacer un logiciel pr&eacute;-compil&eacute;</title>
<indexterm>
<primary><command>pkg_delete</command></primary>
</indexterm>
<indexterm>
<primary>logiciels pr&eacute;-compil&eacute;s</primary>
<secondary>effacer</secondary>
</indexterm>
<para>Pour d&eacute;sinstaller un logiciel pr&eacute;-compil&eacute;
pr&eacute;c&eacute;demment install&eacute;, utilisez l'utilitaire
&man.pkg.delete.1;.</para>
<screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat-1.7.1</replaceable></userinput></screen>
</sect2>
<sect2>
<title>Gestion des logiciels pr&eacute;-compil&eacute;s</title>
<indexterm>
<primary>logiciels pr&eacute;-compil&eacute;s</primary>
<secondary>gestion</secondary>
</indexterm>
<para>&man.pkg.info.1; est un utilitaire qui liste et d&eacute;crit les
divers logiciels pr&eacute;-compil&eacute;s install&eacute;s.
</para>
<indexterm>
<primary><command>pkg_info</command></primary>
</indexterm>
<screen>&prompt.root; <userinput>pkg_info</userinput>
cvsup-16.1 A general network file distribution system optimized for CV
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...</screen>
<para>&man.pkg.version.1; est un utilitaire qui r&eacute;capitule les
versions de tous les logiciels pr&eacute;-compil&eacute;s
install&eacute;s. Il compare la version du logiciel
pr&eacute;-compil&eacute; avec la version
actuelle trouv&eacute;e dans le catalogue des logiciels port&eacute;s.
</para>
<indexterm>
<primary><command>pkg_version</command></primary>
</indexterm>
<screen>&prompt.root; <userinput>pkg_version</userinput>
cvsup =
docbook =
...</screen>
<para>Les symboles dans la seconde colonne indiquent l'&acirc;ge relatif
de la version install&eacute;e et de la version disponible dans le
catalogue des logiciels port&eacute;s local.</para>
<informaltable frame="none">
<tgroup cols="2">
<thead>
<row>
<entry>Symbole</entry>
<entry>Signification</entry>
</row>
</thead>
<tbody>
<row>
<entry>=</entry> <entry>La version du logiciel
pr&eacute;-compil&eacute; install&eacute;e est &eacute;quivalente
&agrave; celle de celui trouv&eacute; dans le
catalogue des logiciels port&eacute;s local.</entry>
</row>
<row><entry>&lt;</entry>
<entry>La version install&eacute;e est plus ancienne que celle
disponible dans le catalogue des logiciels port&eacute;s.</entry>
</row>
<row><entry>&gt;</entry><entry>La version install&eacute;e est plus
r&eacute;cente que celle trouv&eacute;e dans le catalogue local des
logiciels port&eacute;s. (le catalogue local des logiciels
port&eacute;s est probablement ancien)</entry></row>
<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>
<row><entry>*</entry><entry>Il y a de multiples versions de ce
logiciel pr&eacute;-compil&eacute;.</entry></row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2>
<title>Divers</title>
<para>Toute l'information sur les logiciels pr&eacute;-compil&eacute;s
est stock&eacute;e dans le r&eacute;pertoire
<filename>/var/db/pkg</filename>. La liste des fichiers
install&eacute;s pour chaque logiciel pr&eacute;-compil&eacute;
peut &ecirc;tre trouv&eacute;e dans des fichiers de ce
r&eacute;pertoire.</para>
</sect2>
</sect1>
<sect1 id="ports-using">
<title>Utiliser le catalogue des logiciels port&eacute;s</title>
<para>Les sections suivantes fournissent des instructions de base
sur l'utilisation du catalogue des logiciels port&eacute;s pour installer
et d&eacute;sinstaller des programmes sur votre syst&egrave;me.</para>
<sect2 id="ports-tree">
<title>Obtenir le catalogue des logiciels port&eacute;s</title>
<para>Avant que vous puissiez installer des logiciels port&eacute;s, vous
devez d'abord r&eacute;cup&eacute;rer le catalogue des logiciels
port&eacute;s&mdash; qui est essentiellement un ensemble de
<filename>Makefiles</filename>, de correctifs, et de fichiers de
description habituellement plac&eacute;s dans
<filename>/usr/ports</filename>.</para>
<para>Quand vous avez install&eacute; votre syst&egrave;me FreeBSD,
<application>Sysinstall</application> vous a demand&eacute; si vous
aimeriez installer le catalogue des logiciels port&eacute;s. Si vous
avez choisi non, vous pouvez suivre ces instructions pour
obtenir le catalogue des logiciels port&eacute;s:</para>
<procedure>
<title>La m&eacute;thode Sysinstall</title>
<para>Cette m&eacute;thode implique l'utilisation &agrave; nouveau de
<application>sysinstall</application> pour installer
manuellement le catalogue des logiciels port&eacute;s.</para>
<step>
<para>En tant que <username>root</username>, lancez
<command>/stand/sysinstall</command> comme montr&eacute;
ci-dessous:</para>
<screen>&prompt.root; /stand/sysinstall</screen>
</step>
<step>
<para>Faites d&eacute;filer l'&eacute;cran vers le bas et
s&eacute;lectionnez <guimenuitem>Configure</guimenuitem>,
appuyez sur <keycap>Entr&eacute;e</keycap>.</para>
</step>
<step>
<para>Faites d&eacute;filer l'&eacute;cran vers le bas et
s&eacute;lectionnez <guimenuitem>Distributions</guimenuitem>,
appuyez sur <keycap>Entr&eacute;e</keycap>.</para>
</step>
<step>
<para>Faites d&eacute;filer l'&eacute;cran vers le bas jusqu'&agrave;
<guimenuitem>ports</guimenuitem>, appuyez sur
<keycap>Espace</keycap>.</para>
</step>
<step>
<para>Remontez jusqu'&agrave; <guimenuitem>Exit</guimenuitem>,
appuyez sur <keycap>Entr&eacute;e</keycap>.</para>
</step>
<step>
<para>Choisissez le support d'installation d&eacute;sir&eacute;,
comme un CDROM, par FTP, etc...</para>
</step>
<step>
<para>Suivez les menus pour quitter
<application>sysinstall</application>.</para>
</step>
</procedure>
<para>Une autre alternative pour obtenir et garder &agrave; jour votre
catalogue des logiciels port&eacute;s est d'utiliser
<application>CVSup</application>. Jetez un coup d'oeil au
fichier <application>CVSup</application> du catalogue des
logiciels port&eacute;s,
<filename>/usr/share/examples/cvsup/ports-supfile</filename>.
Consultez <link linkend="cvsup">Utiliser CVSup</link> (<xref
linkend="cvsup">) pour plus d'information sur l'utilisation de
<application>CVSup</application> et le fichier
mentionn&eacute;.</para>
<procedure>
<title>La m&eacute;thode CVSup</title>
<para>C'est une m&eacute;thode rapide pour r&eacute;cup&eacute;rer
le catalogue des
logiciels port&eacute;s en utilisant <application>CVSup</application>.
Si vous voulez garder &agrave; jour votre catalogue, ou apprendre
plus au sujet de <application>CVSup</application>, lisez les
sections mentionn&eacute;es pr&eacute;c&eacute;demment.</para>
<step>
<para>Installer le logiciel port&eacute;
<filename role="package">net/cvsup</filename>. Voir <link
linkend="cvsup-install">Installation de CVSup</link> (<xref
linkend="cvsup-install">) pour plus de details.</para>
</step>
<step>
<para>En tant que <username>root</username>, copier
<filename>/usr/share/examples/cvsup/ports-supfile</filename>
&agrave; un nouvel emplacement, comme <filename>/root</filename> ou
votre r&eacute;pertoire d'utilisateur.</para>
</step>
<step>
<para>Editez <filename>ports-supfile</filename>.</para>
</step>
<step>
<para>Remplacez <replaceable>CHANGE_THIS.FreeBSD.org</replaceable>
avec un serveur <application>CVSup</application> proche de
vous. Voir <link linkend="cvsup-mirrors">Sites CVSup</link>
(<xref linkend="cvsup-mirrors">) pour une liste compl&egrave;te des
sites miroirs.</para>
</step>
<step>
<para>Lancez <command>cvsup</command>:</para>
<screen>&prompt.root; cvsup -g -L 2 <replaceable>/root/ports-supfile</replaceable></screen>
</step>
<step>
<para>Ex&eacute;cuter cela plusieurs fois cons&eacute;cutivement
&agrave; des dates ult&eacute;rieures t&eacute;l&eacute;chargera
tous les changements r&eacute;cents pour
votre catalogue des logiciels port&eacute;s.</para>
</step>
</procedure>
</sect2>
<sect2 id="ports-skeleton">
<title>Installation de logiciels port&eacute;s</title>
<indexterm>
<primary>logiciels port&eacute;s</primary>
<secondary>installation</secondary>
</indexterm>
<para>La premi&egrave;re chose qui devrait &ecirc;tre expliqu&eacute;e
quand on aborde le catalogue des logiciels port&eacute;s est ce que
l'on entend par &ldquo;squelette&rdquo;. En bref, un squelette
est un ensemble minimal de fichiers qui indique &agrave; votre
syst&egrave;me FreeBSD comment compiler et installer proprement un
programme. Chaque squelette contient:</para>
<itemizedlist>
<listitem>
<para>Un fichier <filename>Makefile</filename>. Le fichier
<filename>Makefile</filename> contient les diverses
d&eacute;clarations qui indiquent comment l'application devrait
&ecirc;tre compil&eacute;e et o&ugrave; elle devrait &ecirc;tre
install&eacute;e sur votre syst&egrave;me.</para>
</listitem>
<listitem>
<para>Un fichier <filename>distinfo</filename>. Ce fichier
contient l'information &agrave; propos des fichiers qui doivent
&ecirc;tre t&eacute;l&eacute;charg&eacute;s pour compiler le
logiciel, et les 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>
</listitem>
<listitem>
<para>Un r&eacute;pertoire <filename>files</filename>.
Ce r&eacute;pertoire
contient les correctifs pour permettre la compilation et
l'installation du programme sur votre syst&egrave;me FreeBSD. Les
correctifs sont &agrave; la base de petits fichiers qui indiquent
des modifications sur des fichiers particuliers. Ils sont
sous forme de fichiers texte, qui disent &ldquo;Effacer la
ligne 10&rdquo; ou &ldquo;Modifier la ligne 26
par...&rdquo;. Les correctifs sont &eacute;galement connus sous le
nom de &ldquo;diffs&rdquo; car ils sont
g&eacute;n&eacute;r&eacute;s par le programme &man.diff.1;.</para>
<para>Ce r&eacute;pertoire peut &eacute;galement contenir d'autres
fichiers utilis&eacute;s dans la compilation du logiciel
port&eacute;.</para>
</listitem>
<listitem>
<para>Un fichier <filename>pkg-comment</filename>. C'est une
description du programme sur une ligne.</para>
</listitem>
<listitem>
<para>Un fichier <filename>pkg-descr</filename>. C'est une
description plus d&eacute;taill&eacute;e du programme, souvent en
plusieurs lignes.</para>
</listitem>
<listitem>
<para>Un fichier <filename>pkg-plist</filename>. C'est une
liste de tous les fichiers qui seront install&eacute;s par le
logiciel port&eacute;. Il indique &eacute;galement au
syst&egrave;me des logiciels port&eacute;s quels fichiers
sont &agrave; effacer lors d'une d&eacute;sinstallation.</para>
</listitem>
</itemizedlist>
<para>Certains logiciels port&eacute;s utilisent d'autres fichiers,
comme <filename>pkg-message</filename>. Le catalogue des
logiciels port&eacute;s utilise ces fichiers pour faire face &agrave;
certaines situations sp&eacute;ciales. Si vous d&eacute;sirez plus
de d&eacute;tails
au sujet de ces fichiers, et sur les logiciels port&eacute;s en
g&eacute;n&eacute;ral, consultez le <ulink
url="../porters-handbook/index.html">Manuel du d&eacute;veloppeur de
logiciels port&eacute;s</ulink>.</para>
<para>Maintenant que vous avez suffisamment d'information de fond
au sujet du r&ocirc;le du catalogue des logiciels port&eacute;s,
vous &ecirc;tes fin pr&ecirc;t &agrave; installer votre premier logiciel
port&eacute;. Cela peut &ecirc;tre fait de deux fa&ccedil;ons
diff&eacute;rentes, et chacune sera expliqu&eacute;e ci-dessous.</para>
<para>Avant que nous entrions dans le vif du sujet, vous devez
s&eacute;lectionner le logiciel port&eacute; &agrave; installer.
Il existe quelques mani&egrave;res de le faire, la mani&egrave;re
la plus simple &eacute;tant d'utiliser
la <ulink url="../../../../ports/index.html">liste des logiciels
port&eacute;s sur le site de FreeBSD</ulink>. Vous pouvez passer en
revue les listes de logiciels ou utiliser la fonction de
recherche sur le site. Chaque logiciel port&eacute; inclut
&eacute;galement une description donc vous pouvez lire un peu
plus au sujet de chaque logiciel avant de d&eacute;cider de
l'installer.</para>
<para>Une autre m&eacute;thode consiste &agrave; utiliser la commande
&man.whereis.1;. Tapez simplement <command>whereis
<replaceable>file</replaceable></command> o&ugrave;
<replaceable>file</replaceable> est le programme que vous voulez
installer. S'il est trouv&eacute; sur le syst&egrave;me, on
vous indiquera o&ugrave;
il se trouve, comme par exemple:</para>
<screen>&prompt.root; <userinput>whereis lsof</userinput>
lsof: /usr/ports/sysutils/lsof</screen>
<para>Cela nous indique que <command>lsof</command> (un utilitaire
syst&egrave;me) peut &ecirc;tre trouv&eacute; dans le r&eacute;pertoire
<filename>/usr/ports/sysutils/lsof</filename>.</para>
<para>Encore une autre fa&ccedil;on de trouver un logiciel port&eacute;
particulier est d'utiliser le m&eacute;canisme de recherche
interne du catalogue des logiciels port&eacute;s. Pour utiliser la
fonction de recherche, vous devrez vous trouver dans le
r&eacute;pertoire <filename>/usr/ports</filename>. Une fois dans ce
r&eacute;pertoire, lancez <command>make search
name=<replaceable>program-name</replaceable></command> o&ugrave;
<replaceable>program-name</replaceable> repr&eacute;sente le nom du
programme que vous voulez localiser. Par exemple, si vous
recherchiez <command>lsof</command>:</para>
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make search name=lsof</userinput>
Port: lsof-4.56.4
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
Maint: obrien@FreeBSD.org
Index: sysutils
B-deps:
R-deps: </screen>
<para>La partie du message de sortie &agrave; laquelle vous devez
pr&ecirc;ter attention est la ligne &ldquo;Path:&rdquo;, car cela vous
indique o&ugrave; trouver le logiciel port&eacute;. Les autres
informations ne sont pas n&eacute;cessaires afin d'installer
directement le logiciel
port&eacute;, aussi on en parlera pas ici.</para>
<para>Pour une recherche plus en profondeur vous pouvez &eacute;galement
utiliser <command>make search
key=<replaceable>string</replaceable></command> o&ugrave;
<replaceable>string</replaceable> est le texte &agrave; rechercher.
Cela recherche les noms de logiciels port&eacute;s, les commentaires,
les descriptions et les d&eacute;pendances et peut &ecirc;tre
utilis&eacute; pour
trouver des logiciels port&eacute;s se rapportant &agrave; un sujet
particulier si vous ne connaissez pas le nom du programme que
vous cherchez.</para>
<para>Dans les deux cas, la cha&icirc;ne de caract&egrave;re de
recherche n'est pas sensible &agrave; la casse des caract&egrave;res.
Rechercher &ldquo;LSOF&rdquo; m&egrave;nera aux m&ecirc;me
r&eacute;sultats que la recherche de &ldquo;lsof&rdquo;.</para>
<note>
<para>Vous devez &ecirc;tre sous l'utilisateur
<username>root</username> pour installer des logiciels
port&eacute;s.</para>
</note>
<para>Maintenant que vous avez trouv&eacute; le logiciel port&eacute;
que vous d&eacute;sirez installer, vous &ecirc;tes pr&ecirc;t pour
l'installation en tant
que telle. Le logiciel port&eacute; contient les instructions pour
compiler le code source, mais ne contient pas le code source.
Vous pouvez obtenir le code source &agrave; partie d'un CDROM ou de
l'Internet. Le code source est distribu&eacute; de la fa&ccedil;on dont
l'auteur le d&eacute;sire. Fr&eacute;quemment c'est une archive tar
compress&eacute;e avec gzip, mais elle pourra &ecirc;tre
compress&eacute;e avec un
autre outil ou m&ecirc;me non compress&eacute;e. Le code source d'un
programme, peu importe la forme sous laquelle il est distribu&eacute;,
est appel&eacute; un fichier &ldquo;distfile&rdquo;. Vous pouvez
obtenir le &ldquo;distfile&rdquo; depuis un CDROM ou depuis
l'Internet.</para>
<sect3 id="ports-cd">
<title>Installer des logiciels port&eacute;s &agrave; partir d'un
CDROM</title>
<indexterm>
<primary>logiciels port&eacute;s</primary>
<secondary>installation &agrave; partir d'un CDROM</secondary>
</indexterm>
<para>Les images des CDROM officiels du Projet FreeBSD ne
contiennent plus les distfiles. Ils prennent beaucoup
d'espace qui est bien mieux utilis&eacute; par les logiciels
pr&eacute;-compil&eacute;s. Les CDROMs comme ceux du FreeBSD PowerPak
inclus les distfiles, et vous pouvez les commander
aupr&egrave;s d'un vendeur comme <ulink
url="http://www.freebsdmall.com/">FreeBSD Mall</ulink>. Cette
section suppose que vous disposez d'un tel jeu de
CDROM.</para>
<para>Placez votre CDROM FreeBSD dans le lecteur. Montez-le sur
<filename>/cdrom</filename> (Si vous utilisez un point de
montage diff&eacute;rent, l'installation ne fonctionnera pas). Pour
commencer, rendez-vous dans le r&eacute;pertoire du logiciel
port&eacute; que vous voulez installer:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput></screen>
<para>Une fois &agrave; l'int&eacute;rieur du r&eacute;pertoire
<filename>lsof</filename> vous verrez le squelette du logiciel
port&eacute;. L'&eacute;tape suivante est de compiler
(&eacute;galement appel&eacute; la
construction) le logiciel port&eacute;. Cela est fait en tapant
simplement <command>make</command> &agrave; l'invite. Une fois que
c'est fait, vous devriez voir quelque chose comme ceci:</para>
<screen>&prompt.root; <userinput>make</userinput>
&gt;&gt; lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
&gt;&gt; Attempting to fetch from file:/cdrom/ports/distfiles/.
===&gt; Extracting for lsof-4.57
...
[extraction output snipped]
...
&gt;&gt; Checksum OK for lsof_4.57D.freebsd.tar.gz.
===&gt; Patching for lsof-4.57
===&gt; Applying FreeBSD patches for lsof-4.57
===&gt; Configuring for lsof-4.57
...
[configure output snipped]
...
===&gt; Building for lsof-4.57
...
[compilation output snipped]
...
&prompt.root;</screen>
<para>Notez qu'une fois la compilation termin&eacute;e, vous vous
retrouvez face &agrave; l'invite. L'&eacute;tape suivante est
d'installer
le logiciel port&eacute;. Afin de l'installer, vous devez juste
ajouter un mot &agrave; la commande <command>make</command>, et ce
mot est <command>install</command>:</para>
<screen>&prompt.root; <userinput>make install</userinput>
===&gt; Installing for lsof-4.57
...
[installation output snipped]
...
===&gt; Generating temporary packing list
===&gt; Compressing manual pages for lsof-4.57
===&gt; Registering installation for lsof-4.57
===&gt; SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;</screen>
<para>Une fois de retour &agrave; l'invite, vous devriez &ecirc;tre
en mesure d'ex&eacute;cuter l'application que vous venez juste
d'installer.
Comme <command>lsof</command> est un programme qui tourne avec
des privil&egrave;ges accrus, un avertissement sur la
s&eacute;curit&eacute; est affich&eacute;. Durant la compilation
et l'installation de logiciels port&eacute;s, vous devriez faire
attention &agrave; tout avertissement qui
pourrait appara&icirc;tre.</para>
<note>
<para>Vous pouvez vous &eacute;conomiser une &eacute;tape
suppl&eacute;mentaire en lan&ccedil;ant juste
<command>make install</command> &agrave; la place de
<command>make</command> et <command>make install</command>
sous forme de deux &eacute;tapes s&eacute;par&eacute;es.</para>
</note>
<note>
<para>Certains interpr&eacute;teurs de commandes maintiennent un
cache des commandes qui sont disponibles dans les
r&eacute;pertoires list&eacute;s dans la variable d'environnement
<envar>PATH</envar>, pour acc&eacute;l&eacute;rer les
op&eacute;rations de
recherche des fichiers ex&eacute;cutables de ces commandes. Si
vous utilisez un de ces interpr&eacute;teurs de commandes, vous
pourrez avoir &agrave; utiliser la commande
<command>rehash</command> apr&egrave;s l'installation d'un logiciel
port&eacute;, avant que la commande fra&icirc;chement
install&eacute;e ne puisse &ecirc;tre utilis&eacute;e.
Cela est vrai pour les interpr&eacute;teurs de
commandes faisant partie du syst&egrave;me de base
(comme <command>tcsh</command>) et les interpr&eacute;teurs de
commandes qui sont disponibles en tant que logiciels port&eacute;s
(par exemple, <filename
role="package">shells/zsh</filename>).</para>
</note>
<note>
<para>Soyez conscient que les licences de quelques logiciels
port&eacute;s ne permettent pas leur pr&eacute;sence sur le CDROM.
Cela peut &ecirc;tre d&ucirc; &agrave; la n&eacute;cessit&eacute;
de remplir un formulaire
d'enregistrement avant le t&eacute;l&eacute;chargement, ou que la
redistribution n'est pas permise, etc... Si vous d&eacute;sirez
installer un logiciel port&eacute; qui n'est pas disponible sur le
CDROM, vous devrez vous connecter afin d'effectuer cela
(voir la <link linkend="ports-inet">section
suivante</link>).</para>
</note>
</sect3>
<sect3 id="ports-inet">
<title>Installer des logiciels port&eacute;s &agrave; partir
d'Internet</title>
<para>Comme pour la section pr&eacute;c&eacute;dente, cette section
suppose que vous avez une connexion internet qui fonctionne. Si ce
n'est pas le cas, vous devrez effectuer l'<link
linkend="ports-cd">installation par CDROM</link>.</para>
<para>L'installation d'un logiciel port&eacute; &agrave; partir
d'Internet est effectu&eacute;e de la m&ecirc;me mani&egrave;re
que si vous installiez &agrave; partir
d'un CDROM. La seule diff&eacute;rence entre les deux est que le
distfile est t&eacute;l&eacute;charg&eacute; sur Internet
plut&ocirc;t qu'obtenu sur le CDROM.</para>
<para>Les &eacute;tapes impliqu&eacute;es sont identiques:</para>
<screen>&prompt.root; <userinput>make install</userinput>
&gt;&gt; lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
&gt;&gt; Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
439860 bytes transferred in 18.0 seconds (23.90 kBps)
===&gt; Extracting for lsof-4.57
...
[extraction output snipped]
...
&gt;&gt; Checksum OK for lsof_4.57D.freebsd.tar.gz.
===&gt; Patching for lsof-4.57
===&gt; Applying FreeBSD patches for lsof-4.57
===&gt; Configuring for lsof-4.57
...
[configure output snipped]
...
===&gt; Building for lsof-4.57
...
[compilation output snipped]
...
===&gt; Installing for lsof-4.57
...
[installation output snipped]
...
===&gt; Generating temporary packing list
===&gt; Compressing manual pages for lsof-4.57
===&gt; Registering installation for lsof-4.57
===&gt; SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;</screen>
<para>Comme vous pouvez le voir, la seule diff&eacute;rence est la
ligne qui indique o&ugrave; le syst&egrave;me a
r&eacute;cup&eacute;r&eacute; les sources du
logiciel port&eacute;.</para>
<para>Le catalogue des logiciels port&eacute;s utilise &man.fetch.1;
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 <envar>FTP_PASSWORD</envar>. Il
se peut que vous ayez besoin de configurer une ou plusieurs
de ces derni&egrave;res si vous &ecirc;tes derri&egrave;re un
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>
</sect3>
</sect2>
<sect2 id="ports-removing">
<title>Supprimer des logiciels port&eacute;s install&eacute;s</title>
<indexterm>
<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,
juste au cas o&ugrave; vous en installez un et plus tard vous vous
apercevez que vous n'avez pas install&eacute; le bon logiciel
port&eacute;. Nous d&eacute;sinstallerons notre exemple
pr&eacute;c&eacute;dent (qui &eacute;tait
<command>lsof</command> pour ceux d'entre vous qui n'ont pas
suivi). Comme pour l'installation de logiciels port&eacute;s, la
premi&egrave;re chose que vous devez faire et de vous rendre dans le
r&eacute;pertoire du logiciel port&eacute;,
<filename>/usr/ports/sysutils/lsof</filename>. Apr&egrave;s avoir
chang&eacute; de r&eacute;pertoire, vous &ecirc;tes pr&ecirc;t pour
d&eacute;sinstaller
<command>lsof</command>. C'est fait gr&acirc;ce &agrave; la commande
<command>make deinstall</command>:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput>
&prompt.root; <userinput>make deinstall</userinput>
===&gt; Deinstalling for lsof-4.57</screen>
<para>C'&eacute;tait relativement facile. Vous avez retir&eacute;
<command>lsof</command> de votre syst&egrave;me.
Si vous d&eacute;sirez le
r&eacute;installer, vous pouvez le faire en lan&ccedil;ant <command>make
reinstall</command> depuis le r&eacute;pertoire
<filename>/usr/ports/sysutils/lsof</filename>.</para>
<para>La s&eacute;quence <command>make deinstall</command> et
<command>make reinstall</command> ne fonctionnera pas une fois
que vous avez lanc&eacute; <command>make clean</command>. Si vous
voulez d&eacute;installer un logiciel port&eacute; apr&egrave;s
le nettoyage,
utilisez &man.pkg.delete.1; comme d&eacute;crit dans la
section <link linkend="packages-using">Utiliser le syst&egrave;me
des logiciels pr&eacute;-compil&eacute;s</link> du Manuel.</para>
</sect2>
</sect1>
<sect1 id="ports-nextsteps">
<title>Activit&eacute;s de post-installation</title>
<para>Apr&egrave;s l'installation d'une nouvelle application vous voudrez
normalement lire la documentation qui a pu &ecirc;tre &eacute;galement
install&eacute;e, &eacute;diter les fichiers de configuration
n&eacute;cessaires, v&eacute;rifier que l'application est
lanc&eacute;e au d&eacute;marrage (si c'est un
daemon), et ainsi de suite.</para>
<para>Les &eacute;tapes que vous devez suivre pour configurer
chaque application seront bien &eacute;videmment diff&eacute;rentes.
Cependant, si vous venez juste d'installer une nouvelle application
et que vous vous demandez &ldquo;Et maintenant?&rdquo; les astuces
suivantes pourront vous aider:</para>
<itemizedlist>
<listitem>
<para>Utilisez &man.pkg.info.1; pour d&eacute;terminer quels fichiers
ont &eacute;t&eacute; install&eacute;s et &agrave; quel endroit.
Par exemple, si vous
venez juste d'installer FooPackage version 1.0.0, alors la
commande</para>
<screen>&prompt.root; <userinput>pkg_info -L foopackage-1.0.0 | less</userinput></screen>
<para>affichera tous les fichiers install&eacute;s par le logiciel
pr&eacute;-compil&eacute;. Portez une attention toute
particuli&egrave;re aux
fichiers dans les r&eacute;pertoires <filename>man/</filename>, qui
seront des pages de manuel, dans les r&eacute;pertoires
<filename>etc/</filename> , qui seront des fichiers de
configuration, et dans <filename>doc/</filename> qui seront de
la documentation plus compl&egrave;te.</para>
<para>Si vous n'&ecirc;tes pas s&ucirc;r de la version de
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>
<para>d&eacute;terminera tous les logiciels
pr&eacute;-compil&eacute;s install&eacute;s qui
ont <replaceable>foopackage</replaceable> dans leur nom.
Remplacez <replaceable>foopackage</replaceable> dans votre
ligne de commande par ce qui convient.</para>
</listitem>
<listitem>
<para>Une fois que vous avez identifi&eacute; o&ugrave; les
pages de manuel de l'application ont &eacute;t&eacute;
install&eacute;es, consultez-les en utilisant
la commande &man.man.1;. De m&ecirc;me, jetez un coup d'oeil
aux exemples de fichiers de configuration, et toute autre
documentation additionnelle qui peut avoir &eacute;t&eacute;
fournie.</para>
</listitem>
<listitem>
<para>Si l'application a un site web, consultez-le pour de la
documentation suppl&eacute;mentaire, des listes de questions
fr&eacute;quemment pos&eacute;es, etc... Si vous n'&ecirc;tes
pas s&ucirc;r de
l'adresse du site web, elle peut &ecirc;tre affich&eacute;e dans le
r&eacute;sultat de la commande:</para>
<screen>&prompt.root; <userinput>pkg_info <replaceable>foopackage-1.0.0</replaceable></userinput></screen>
<para>qui souvent contiendra une ligne <literal>WWW:</literal>
avec l'URL du site web de l'application.</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'une version d'Unix
&agrave; une 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;, ou &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;, c'est une
bonne id&eacute;e de d&eacute;finir ces deux 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 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 au compilateur les options &agrave;
utiliser 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>.</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>
<para>Si vous rencontrez un portage qui ne fonctionne pas, il y a
certaines choses que vous pouvez faire:</para>
<orderedlist>
<listitem>
<para>Corrigez le probl&egrave;me! Le <ulink
url="../porters-handbook/index.html">Manuel du d&eacute;veloppeur
de logiciels port&eacute;s</ulink> inclut des informations
d&eacute;taill&eacute;es sur l'infrastructure des logiciels
port&eacute;s vous permettant de corriger le portage
&eacute;ventuellement d&eacute;fectueux
ou m&ecirc;me soumettre le votre!</para>
</listitem>
<listitem>
<para>Rousp&eacute;tez&mdash;<emphasis>par courrier
&eacute;lectronique
uniquement</emphasis>! Envoyez un courrier &eacute;lectronique au
responsable du logiciel port&eacute; tout d'abord. Tapez la
commande <command>make maintainer</command> ou lisez le
fichier <filename>Makefile</filename> pour trouver l'adresse
&eacute;lectronique du responsable. Pensez &agrave;
pr&eacute;ciser le nom et la
version du logiciel port&eacute; (envoyer la ligne
<literal>&dollar;FreeBSD:</literal> du fichier
<filename>Makefile</filename>) et les messages d'erreurs
quand vous &eacute;crivez au responsable. Si vous n'obtenez pas de
r&eacute;ponse du responsable vous pouvez utiliser
&man.send-pr.1; pour soumettre un rapport de
bogue.</para>
</listitem>
<listitem>
<para>R&eacute;cup&eacute;rez la version pr&eacute;-compil&eacute;e
sur un serveur FTP proche de vous. Le catalogue de
&ldquo;r&eacute;f&eacute;rence&rdquo; des logiciels
pr&eacute;-compil&eacute;s se trouve
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>,
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
&eacute;galement beaucoup plus vite. Utilisez le programme
&man.pkg.add.1; pour installer le logiciel
pr&eacute;-compil&eacute; sur votre syst&egrave;me.</para>
</listitem>
</orderedlist>
</sect2>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->