source: chapter08/expect.xml@ 835e40c

12.0 12.0-rc1 12.1 12.1-rc1 bdubbs/gcc13 multilib renodr/libudev-from-systemd trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/update-glibc
Last change on this file since 835e40c was 835e40c, checked in by Xi Ruoyao <xry111@…>, 14 months ago

Adjustments for /dev/pts

  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.
  • Property mode set to 100644
File size: 5.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-system-expect" role="wrap">
9 <?dbhtml filename="expect.html"?>
10
11 <sect1info condition="script">
12 <productname>expect</productname>
13 <productnumber>&expect-version;</productnumber>
14 <address>&expect-url;</address>
15 </sect1info>
16
17 <title>Expect-&expect-version;</title>
18
19 <indexterm zone="ch-system-expect">
20 <primary sortas="a-Expect">Expect</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
25
26 <para>The <application>Expect</application> package contains tools for
27 automating, via scripted dialogues, interactive applications such as
28 <command>telnet</command>, <command>ftp</command>,
29 <command>passwd</command>, <command>fsck</command>,
30 <command>rlogin</command>, and <command>tip</command>.
31 <application>Expect</application> is also useful for testing these same
32 applications as well as easing all sorts of tasks that are prohibitively
33 difficult with anything else. The <application>DejaGnu</application>
34 framework is written in <application>Expect</application>.</para>
35
36 <segmentedlist>
37 <segtitle>&buildtime;</segtitle>
38 <segtitle>&diskspace;</segtitle>
39
40 <seglistitem>
41 <seg>&expect-tmp-sbu;</seg>
42 <seg>&expect-tmp-du;</seg>
43 </seglistitem>
44 </segmentedlist>
45
46 </sect2>
47
48 <sect2 role="installation">
49 <title>Installation of Expect</title>
50
51 <para>Prepare Expect for compilation:</para>
52
53<screen><userinput remap="configure">./configure --prefix=/usr \
54 --with-tcl=/usr/lib \
55 --enable-shared \
56 --mandir=/usr/share/man \
57 --with-tclinclude=/usr/include</userinput></screen>
58
59 <variablelist>
60 <title>The meaning of the configure options:</title>
61
62 <varlistentry>
63 <term><parameter>--with-tcl=/usr/lib</parameter></term>
64 <listitem>
65 <para>This parameter is needed to tell
66 <command>configure</command> where the
67 <command>tclConfig.sh</command> script is located.</para>
68 </listitem>
69 </varlistentry>
70
71 <varlistentry>
72 <term><parameter>--with-tclinclude=/usr/include</parameter></term>
73 <listitem>
74 <para>This explicitly tells Expect where to find Tcl's internal
75 headers.</para>
76 </listitem>
77 </varlistentry>
78
79 </variablelist>
80
81 <para>Build the package:</para>
82
83<screen><userinput remap="make">make</userinput></screen>
84
85 <important>
86 <para>The test suite for Expect is considered critical.
87 Do not skip it under any circumstances.</para>
88 </important>
89
90 <para>To test the results, issue:</para>
91
92<screen><userinput remap="test">make test</userinput></screen>
93
94 <para>If any test fails with the message
95 <quote><computeroutput>The system has no more ptys. Ask your system
96 administrator to create more</computeroutput></quote>, it indicates
97 you've not mounted the
98 <systemitem class="filesystem">devpts</systemitem> file system
99 correctly. You need to exit from the chroot environment, read
100 <xref linkend='ch-tools-kernfs'/> again, and ensure the
101 <systemitem class="filesystem">devpts</systemitem> file system (and
102 other virtual kernel file systems) mounted correctly. Then reenter
103 the chroot environment following <xref linkend='ch-tools-chroot'/>.
104 This issue needs to be resolved before continuing.</para>
105
106 <para>Install the package:</para>
107
108<screen><userinput remap="install">make install
109ln -svf expect&expect-version;/libexpect&expect-version;.so /usr/lib</userinput></screen>
110
111 </sect2>
112
113 <sect2 id="contents-expect" role="content">
114 <title>Contents of Expect</title>
115
116 <segmentedlist>
117 <segtitle>Installed program</segtitle>
118 <segtitle>Installed library</segtitle>
119
120 <seglistitem>
121 <seg>expect</seg>
122 <seg>libexpect&expect-version;.so</seg>
123 </seglistitem>
124 </segmentedlist>
125
126 <variablelist>
127 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
128 <?dbfo list-presentation="list"?>
129 <?dbhtml list-presentation="table"?>
130
131 <varlistentry id="expect">
132 <term><command>expect</command></term>
133 <listitem>
134 <para>Communicates with other interactive programs according
135 to a script</para>
136 <indexterm zone="ch-system-expect expect">
137 <primary sortas="b-expect">expect</primary>
138 </indexterm>
139 </listitem>
140 </varlistentry>
141
142 <varlistentry id="libexpect">
143 <term><filename class="libraryfile">libexpect-&expect-version;.so</filename></term>
144 <listitem>
145 <para>Contains functions that allow Expect to be used as a Tcl
146 extension or to be used directly from C or C++ (without Tcl)</para>
147 <indexterm zone="ch-system-expect libexpect">
148 <primary sortas="c-libexpect-&expect-version;">libexpect-&expect-version;</primary>
149 </indexterm>
150 </listitem>
151 </varlistentry>
152
153 </variablelist>
154
155 </sect2>
156
157</sect1>
Note: See TracBrowser for help on using the repository browser.