mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-01-19 05:27:39 +00:00
835e40ce16
1. Declare UNIX98 PTY requirement in host system requirements and check it in the script. All desktop or server distros should have it now, but let's stop anyone from building on a embedded distro w/o UNIX98 PTY early... 2. Use Expect test suite as a guard against mishandled $LFS/dev/pts. 3. No need to test the basic function of Expect in Binutils anymore because if ($LFS)/dev/pts is not good, the Expect test suite would have failed.
158 lines
5.1 KiB
XML
158 lines
5.1 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../general.ent">
|
|
%general-entities;
|
|
]>
|
|
|
|
<sect1 id="ch-system-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-system-expect">
|
|
<primary sortas="a-Expect">Expect</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title/>
|
|
|
|
<para>The <application>Expect</application> package contains tools for
|
|
automating, via scripted dialogues, interactive applications such as
|
|
<command>telnet</command>, <command>ftp</command>,
|
|
<command>passwd</command>, <command>fsck</command>,
|
|
<command>rlogin</command>, and <command>tip</command>.
|
|
<application>Expect</application> is also useful for testing these same
|
|
applications as well as easing all sorts of tasks that are prohibitively
|
|
difficult with anything else. The <application>DejaGnu</application>
|
|
framework is written in <application>Expect</application>.</para>
|
|
|
|
<segmentedlist>
|
|
<segtitle>&buildtime;</segtitle>
|
|
<segtitle>&diskspace;</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>&expect-tmp-sbu;</seg>
|
|
<seg>&expect-tmp-du;</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of Expect</title>
|
|
|
|
<para>Prepare Expect for compilation:</para>
|
|
|
|
<screen><userinput remap="configure">./configure --prefix=/usr \
|
|
--with-tcl=/usr/lib \
|
|
--enable-shared \
|
|
--mandir=/usr/share/man \
|
|
--with-tclinclude=/usr/include</userinput></screen>
|
|
|
|
<variablelist>
|
|
<title>The meaning of the configure options:</title>
|
|
|
|
<varlistentry>
|
|
<term><parameter>--with-tcl=/usr/lib</parameter></term>
|
|
<listitem>
|
|
<para>This parameter is needed to tell
|
|
<command>configure</command> where the
|
|
<command>tclConfig.sh</command> script is located.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><parameter>--with-tclinclude=/usr/include</parameter></term>
|
|
<listitem>
|
|
<para>This explicitly tells Expect where to find Tcl's internal
|
|
headers.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
<para>Build the package:</para>
|
|
|
|
<screen><userinput remap="make">make</userinput></screen>
|
|
|
|
<important>
|
|
<para>The test suite for Expect is considered critical.
|
|
Do not skip it under any circumstances.</para>
|
|
</important>
|
|
|
|
<para>To test the results, issue:</para>
|
|
|
|
<screen><userinput remap="test">make test</userinput></screen>
|
|
|
|
<para>If any test fails with the message
|
|
<quote><computeroutput>The system has no more ptys. Ask your system
|
|
administrator to create more</computeroutput></quote>, it indicates
|
|
you've not mounted the
|
|
<systemitem class="filesystem">devpts</systemitem> file system
|
|
correctly. You need to exit from the chroot environment, read
|
|
<xref linkend='ch-tools-kernfs'/> again, and ensure the
|
|
<systemitem class="filesystem">devpts</systemitem> file system (and
|
|
other virtual kernel file systems) mounted correctly. Then reenter
|
|
the chroot environment following <xref linkend='ch-tools-chroot'/>.
|
|
This issue needs to be resolved before continuing.</para>
|
|
|
|
<para>Install the package:</para>
|
|
|
|
<screen><userinput remap="install">make install
|
|
ln -svf expect&expect-version;/libexpect&expect-version;.so /usr/lib</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="contents-expect" role="content">
|
|
<title>Contents of Expect</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed program</segtitle>
|
|
<segtitle>Installed library</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>expect</seg>
|
|
<seg>libexpect&expect-version;.so</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="expect">
|
|
<term><command>expect</command></term>
|
|
<listitem>
|
|
<para>Communicates with other interactive programs according
|
|
to a script</para>
|
|
<indexterm zone="ch-system-expect expect">
|
|
<primary sortas="b-expect">expect</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libexpect">
|
|
<term><filename class="libraryfile">libexpect-&expect-version;.so</filename></term>
|
|
<listitem>
|
|
<para>Contains functions that allow Expect to be used as a Tcl
|
|
extension or to be used directly from C or C++ (without Tcl)</para>
|
|
<indexterm zone="ch-system-expect libexpect">
|
|
<primary sortas="c-libexpect-&expect-version;">libexpect-&expect-version;</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|