Subversion Repositories svn LFS-FR

Rev

Rev 1342 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-tools-expect" role="wrap">
  <?dbhtml filename="expect.html"?>

   <sect1info condition="script">
     <productname>expect</productname>
     <productnumber>&expect-version;</productnumber>
     <address>&expect-url;</address>
   </sect1info>

  <title>Expect-&expect-version;</title>

  <indexterm zone="ch-tools-expect">
    <primary sortas="a-Expect">Expect</primary>
  </indexterm>

  <sect2 role="package">
    <title/>

    <para>Le paquet Expect contient un programme pour réaliser des dialogues
    scriptés avec d'autres programmes interactifs.</para>

    <segmentedlist>
      <segtitle>&buildtime;</segtitle>
      <segtitle>&diskspace;</segtitle>

      <seglistitem>
        <seg>&expect-ch5-sbu;</seg>
        <seg>&expect-ch5-du;</seg>
      </seglistitem>
    </segmentedlist>

  </sect2>

  <sect2 role="installation">
    <title>Installation de Expect</title>

    <para>Tout d'abord, appliquez un correctif pour supprimer la dépendance vis-à-vis
    de Tk, qui peut être présente sur l'hôte mais qui ne sera pas disponible une
    fois que nous entrerons dans l'environnement <command>chroot</command>&nbsp;:</para>

<screen><userinput remap="pre">patch -Np1 -i ../&expect-tk-patch;</userinput></screen>

     <para>Ensuite, forcez le script configure de expect à utiliser
     <filename>/bin/stty</filename> au lieu d'un
     <filename>/usr/local/bin/stty</filename> qu'il pourrait trouver sur le
     système hôte. Cela garantira que nos outils de test demeurent propres
     pour les constructions finales de la chaîne d'outils&nbsp;:</para>

<screen><userinput remap="pre">cp -v configure{,.orig}
sed 's:/usr/local/bin:/bin:' configure.orig > configure</userinput></screen>

    <para>Construisez maintenant le paquet&nbsp;:</para>

<screen><userinput remap="configure">./configure --prefix=/tools --with-tcl=/tools/lib \
  --with-tclinclude=/tools/include --with-tk=no</userinput></screen>

    <variablelist>
      <title>Voici la signification des options de configure&nbsp;:</title>

      <varlistentry>
        <term><parameter>--with-tcl=/tools/lib</parameter></term>
        <listitem>
          <para>Ceci nous assure que le script configure trouve l'installation
          Tcl dans l'emplacement temporaire des outils à la place d'un résidant
          sur le système hôte.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><parameter>--with-tclinclude=/tools/include</parameter></term>
        <listitem>
          <para>Ceci indique explicitement à Expect où trouver le répertoire
          des sources de Tcl et ses en-têtes internes. Utiliser cette option évite
          certaines conditions d'échec pour
          <command>configure</command> s'il ne peut
          pas découvrir automatiquement l'emplacement des en-têtes de Tcl.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><parameter>--with-tk=no</parameter></term>
        <listitem>
          <para>Ceci indique au script configure de ne pas chercher Tk (le
          composant interface de Tcl) ou les bibliothèques d'X Window System, les deux
          pouvant résider sur le système hôte mais n'existant pas sur l'environnement
          temporaire.</para>
        </listitem>
      </varlistentry>

    </variablelist>

    <para>Construisez le paquet&nbsp;:</para>

<screen><userinput remap="make">make</userinput></screen>

    <para>La compilation est maintenant terminée. Comme décrit plus tôt,
    l'execution de la suite de tests n'est pas obligatoire pour les outils
    temporaires dans ce chapitre. Pour lancer cependant la suite de tests de
    Expect, faites la commande suivante&nbsp;:</para>

   
<screen><userinput remap="test">make test</userinput></screen>

    <para>Remarquez que la suite de tests d'Expect est connue pour
    avoir de nombreux échecs sous certaines conditions de l'hôte, conditions
    qui ne sont pas de notre ressort. Du coup, les échecs de la suite de
    tests ne sont pas surprenants et ne sont pas considérés comme
    critiques.</para>

    <para>Installez-le&nbsp;:</para>

<screen><userinput remap="install">make SCRIPTS="" install</userinput></screen>

    <variablelist>
      <title>Voici la signification du paramètre de make&nbsp;:</title>

      <varlistentry>
        <term><parameter>SCRIPTS=""</parameter></term>
        <listitem>
          <para>Ceci empêche l'installation de scripts expect supplémentaires
          non nécessaires.</para>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

  <sect2 id="contents-expect" role="content">
    <title>Contenu d'Expect</title>

    <segmentedlist>
      <segtitle>Programme installé</segtitle>
      <segtitle>Bibliothèque installée</segtitle>

      <seglistitem>
        <seg>expect</seg>
        <seg>libexpect-&expect-lib-version;.a</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Courte description</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="expect">
        <term><command>expect</command></term>
        <listitem>
          <para>Communique avec les autres programmes interactifs suivant un
          script.</para>
          <indexterm zone="ch-tools-expect expect">
            <primary sortas="b-expect">expect</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libexpect">
        <term><filename class="libraryfile">libexpect-&expect-lib-version;.a</filename></term>
        <listitem>
          <para>Contient des fonctions qui permettent à Expect d'être utilisé comme une
          extension Tcl ou d'être utilisé directement à partir du langage C ou du langage
          C++ (sans Tcl)</para>
          <indexterm zone="ch-tools-expect libexpect">
            <primary sortas="c-libexpect-&expect-lib-version;">libexpect-&expect-lib-version;</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>