Files
LFS_Book/chapter05/expect.xml
Anton Maisak aa76adca87 batch typo
2018-05-24 17:53:51 +03:00

144 lines
6.8 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!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>Пакет содержит инструменты для автоматизации и тестирования, и является расширением к скрипт-языку Tcl, для многих интерактивных приложений. Он будет установлен только во временный инструментарий.</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>Установка пакета Expect</title>
<para>Для начала, необходимо указать сценарию конфигурирования пакета использовать <filename>/bin/stty</filename> вместо <filename>/usr/local/bin/stty</filename> который он может искать в хост-системе. Это гарантирует что наши инструменты тестирования останутся в нормальном состоянии до окончания сборки всего временного набора инструментов:</para>
<screen><userinput remap="pre">cp -v configure{,.orig}
sed 's:/usr/local/bin:/bin:' configure.orig &gt; configure</userinput></screen>
<para>Подготовьте пакет Expect к компиляции:</para>
<screen><userinput remap="configure">./configure --prefix=/tools \
--with-tcl=/tools/lib \
--with-tclinclude=/tools/include</userinput></screen>
<variablelist>
<title>Значение параметров конфигурации:</title>
<varlistentry>
<term><parameter>--with-tcl=/tools/lib</parameter></term>
<listitem>
<para>Аргумент обеспечивает то что сценарий конфигурирования будет выполнять поиск установленного пакета Tcl во каталогах временного инструментария, вместо поиска в каталогах хост-системы.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--with-tclinclude=/tools/include</parameter></term>
<listitem>
<para>Значение аргумента явно указывает, где выполнять поиск внутренних заголовочных файлов пакета Tcl. Использование этой опции позволяет избежать условий, при которых сценарий <command>configure</command> может не выполнится, потому что не сможет автоматически найти заголовочные файлы Tcl.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Выполните сборку пакета:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Компиляция завершена. Как обсуждалось ранее выполнение тестов не является обязательным для набора временных инструментов в этой главе. Чтобы запустить выполнение тестов, в любом случае, выполните следующую команду:</para>
<screen><userinput remap="test">make test</userinput></screen>
<para>Наборы тестов Tcl могут завершаться с ошибками, которые не возможно контролировать. Следовательно, сбои при выполнении тестов набора вполне ожидаемы, и они не считаются критичными.</para>
<para>Установите пакет:</para>
<screen><userinput remap="install">make SCRIPTS="" install</userinput></screen>
<variablelist>
<title>Значение параметров make:</title>
<varlistentry>
<term><parameter>SCRIPTS=""</parameter></term>
<listitem>
<para>Это предотвращает установку дополнительных сценариев Expect, которые не нужны.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="contents-expect" role="content">
<title>Содержимое пакета Expect</title>
<segmentedlist>
<segtitle>Установленная программа</segtitle>
<segtitle>Установленная библиотека</segtitle>
<seglistitem>
<seg>expect</seg>
<seg>libexpect-&expect-lib-version;.so</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Краткое описание</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="expect">
<term><command>expect</command></term>
<listitem>
<para>Общается с другими интерактивными программами в соответствии со сценарием</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;.so</filename></term>
<listitem>
<para>Содержит функции, которые позволяют пакету Expect быть использованным как расширение к Tcl или использоваться напрямую, из Си или Си++ (без 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>