source: chapter08/expect.xml@ 70f30e9

xry111/arm64 xry111/arm64-12.0
Last change on this file since 70f30e9 was 7160772, checked in by Xi Ruoyao <xry111@…>, 15 months ago

Merge remote-tracking branch 'origin/trunk' into xry111/arm64

  • Property mode set to 100644
File size: 5.4 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>Update two config scripts to allow building this package for
52 AArch64:</para>
53
54<screen><userinput remap="pre">tar -C tclconfig -xf ../autoconf-&autoconf-version;.tar.xz --strip-components=2 \
55 autoconf-&autoconf-version;/build-aux/config.{guess,sub}</userinput></screen>
56
57 <para>Prepare Expect for compilation:</para>
58
59<screen><userinput remap="configure">./configure --prefix=/usr \
60 --with-tcl=/usr/lib \
61 --enable-shared \
62 --mandir=/usr/share/man \
63 --with-tclinclude=/usr/include</userinput></screen>
64
65 <variablelist>
66 <title>The meaning of the configure options:</title>
67
68 <varlistentry>
69 <term><parameter>--with-tcl=/usr/lib</parameter></term>
70 <listitem>
71 <para>This parameter is needed to tell
72 <command>configure</command> where the
73 <command>tclConfig.sh</command> script is located.</para>
74 </listitem>
75 </varlistentry>
76
77 <varlistentry>
78 <term><parameter>--with-tclinclude=/usr/include</parameter></term>
79 <listitem>
80 <para>This explicitly tells Expect where to find Tcl's internal
81 headers.</para>
82 </listitem>
83 </varlistentry>
84
85 </variablelist>
86
87 <para>Build the package:</para>
88
89<screen><userinput remap="make">make</userinput></screen>
90
91 <important>
92 <para>The test suite for Expect is considered critical.
93 Do not skip it under any circumstances.</para>
94 </important>
95
96 <para>To test the results, issue:</para>
97
98<screen><userinput remap="test">make test</userinput></screen>
99
100 <para>If any test fails with the message
101 <quote><computeroutput>The system has no more ptys. Ask your system
102 administrator to create more</computeroutput></quote>, it indicates
103 you've not mounted the
104 <systemitem class="filesystem">devpts</systemitem> file system
105 correctly. You need to exit from the chroot environment, read
106 <xref linkend='ch-tools-kernfs'/> again, and ensure the
107 <systemitem class="filesystem">devpts</systemitem> file system (and
108 other virtual kernel file systems) mounted correctly. Then reenter
109 the chroot environment following <xref linkend='ch-tools-chroot'/>.
110 This issue needs to be resolved before continuing.</para>
111
112 <para>Install the package:</para>
113
114<screen><userinput remap="install">make install
115ln -svf expect&expect-version;/libexpect&expect-version;.so /usr/lib</userinput></screen>
116
117 </sect2>
118
119 <sect2 id="contents-expect" role="content">
120 <title>Contents of Expect</title>
121
122 <segmentedlist>
123 <segtitle>Installed program</segtitle>
124 <segtitle>Installed library</segtitle>
125
126 <seglistitem>
127 <seg>expect</seg>
128 <seg>libexpect&expect-version;.so</seg>
129 </seglistitem>
130 </segmentedlist>
131
132 <variablelist>
133 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
134 <?dbfo list-presentation="list"?>
135 <?dbhtml list-presentation="table"?>
136
137 <varlistentry id="expect">
138 <term><command>expect</command></term>
139 <listitem>
140 <para>Communicates with other interactive programs according
141 to a script</para>
142 <indexterm zone="ch-system-expect expect">
143 <primary sortas="b-expect">expect</primary>
144 </indexterm>
145 </listitem>
146 </varlistentry>
147
148 <varlistentry id="libexpect">
149 <term><filename class="libraryfile">libexpect-&expect-version;.so</filename></term>
150 <listitem>
151 <para>Contains functions that allow Expect to be used as a Tcl
152 extension or to be used directly from C or C++ (without Tcl)</para>
153 <indexterm zone="ch-system-expect libexpect">
154 <primary sortas="c-libexpect-&expect-version;">libexpect-&expect-version;</primary>
155 </indexterm>
156 </listitem>
157 </varlistentry>
158
159 </variablelist>
160
161 </sect2>
162
163</sect1>
Note: See TracBrowser for help on using the repository browser.