source: postlfs/shells/zsh.xml@ 4f4e7f18

11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/soup3 xry111/xf86-video-removal
Last change on this file since 4f4e7f18 was 4f4e7f18, checked in by Xi Ruoyao <xry111@…>, 23 months ago

zsh: enable libcap and gdbm

They are already in LFS so there is no significant reason not to use
them. Using gdbm may cause license issue but AFAIK as long as we don't
edit gdbm or zsh code in a hidden way we'll not violate the license.

And zsh does not use pam_cap (or any PAM module) at all. Perhaps we
should perform a cleanup on pam_cap dependencies.

  • Property mode set to 100644
File size: 11.0 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 <!ENTITY zsh-download-http "https://www.zsh.org/pub/zsh-&zsh-version;.tar.xz">
8 <!ENTITY zsh-download-ftp " ">
9 <!ENTITY zsh-md5sum "182e37ca3fe3fa6a44f69ad462c5c30e">
10 <!ENTITY zsh-size "3.2 MB">
11 <!ENTITY zsh-buildsize "48 MB (includes documentation and tests)">
12 <!ENTITY zsh-time "1.6 SBU (Using parallelism=4; includes documentation and tests)">
13
14 <!ENTITY zsh-doc-md5sum "8db53446f613521fb4f9b0bd9f6adda1">
15 <!ENTITY zsh-doc-size "3.0 MB">
16]>
17
18<sect1 id="zsh" xreflabel="zsh-&zsh-version;">
19 <?dbhtml filename="zsh.html"?>
20
21 <sect1info>
22 <date>$Date$</date>
23 </sect1info>
24
25 <title>zsh-&zsh-version;</title>
26
27 <indexterm zone="zsh">
28 <primary sortas="a-zsh">zsh</primary>
29 </indexterm>
30
31 <sect2 role="package">
32 <title>Introduction to zsh</title>
33
34 <para>
35 The <application>zsh</application> package contains a command
36 interpreter (shell) usable as an interactive login shell and as
37 a shell script command processor. Of the standard shells,
38 <application>zsh</application> most closely resembles
39 <application>ksh</application> but includes many enhancements.
40 </para>
41
42 &lfs111_checked;
43
44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
47 <para>
48 Download (HTTP): <ulink url="&zsh-download-http;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download (FTP): <ulink url="&zsh-download-ftp;"/>
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download MD5 sum: &zsh-md5sum;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Download size: &zsh-size;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated disk space required: &zsh-buildsize;
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Estimated build time: &zsh-time;
74 </para>
75 </listitem>
76 </itemizedlist>
77
78 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
79 <itemizedlist spacing="compact">
80 <listitem>
81 <para>
82 Optional Documentation: <ulink
83 url="https://www.zsh.org/pub/zsh-&zsh-version;-doc.tar.xz"/>
84 </para>
85 </listitem>
86 <listitem>
87 <para>
88 Documentation MD5 sum: &zsh-doc-md5sum;
89 </para>
90 </listitem>
91 <listitem>
92 <para>
93 Documentation download size: &zsh-doc-size;
94 </para>
95 </listitem>
96 </itemizedlist>
97
98 <note>
99 <para>
100 When there is a new <application>zsh</application> release, the old
101 files shown above are moved to a new server directory:
102 <ulink url="https://www.zsh.org/pub/old/"/>.
103 </para>
104 </note>
105
106 <bridgehead renderas="sect3">zsh Dependencies</bridgehead>
107
108 <bridgehead renderas="sect4">Optional</bridgehead>
109 <para role="optional">
110 <xref linkend="pcre"/> and
111 <xref linkend="valgrind"/>
112 </para>
113
114 <para condition="html" role="usernotes">User Notes:
115 <ulink url="&blfs-wiki;/zsh"/></para>
116
117 </sect2>
118
119 <sect2 role="installation">
120 <title>Installation of zsh</title>
121
122 <para>
123 If you downloaded the optional documentation, unpack it with
124 the following command:
125 </para>
126
127<screen><userinput>tar --strip-components=1 -xvf ../zsh-&zsh-version;-doc.tar.xz</userinput></screen>
128
129<!-- <note>
130 <para>
131 Using a script to build with "su -c script" may produce a funny
132 configure error message: "no controlling tty". If this happens, add
133 the switch -\-with-tcsetpgrp to configure.
134 </para>
135 </note>
136-->
137 <para>
138 Install <application>zsh</application> by running the following
139 commands:
140 </para>
141
142<screen><userinput>./configure --prefix=/usr \
143 --sysconfdir=/etc/zsh \
144 --enable-etcdir=/etc/zsh \
145 --enable-cap \
146 --enable-gdbm &amp;&amp;
147make &amp;&amp;
148
149makeinfo Doc/zsh.texi --plaintext -o Doc/zsh.txt &amp;&amp;
150makeinfo Doc/zsh.texi --html -o Doc/html &amp;&amp;
151makeinfo Doc/zsh.texi --html --no-split --no-headers -o Doc/zsh.html</userinput></screen>
152
153 <para>
154 If you have <xref linkend="texlive"/>
155 installed, you can build PDF format of the documentation by issuing
156 the following command:
157 </para>
158
159<screen remap="doc"><userinput>texi2pdf Doc/zsh.texi -o Doc/zsh.pdf</userinput></screen>
160
161 <para>
162 To test the results, issue: <command>make check</command>.
163 </para>
164
165 <para>
166 Now, as the <systemitem class="username">root</systemitem> user:
167 </para>
168
169<screen role="root"><userinput>make install &amp;&amp;
170make infodir=/usr/share/info install.info &amp;&amp;
171
172install -v -m755 -d /usr/share/doc/zsh-&zsh-version;/html &amp;&amp;
173install -v -m644 Doc/html/* /usr/share/doc/zsh-&zsh-version;/html &amp;&amp;
174install -v -m644 Doc/zsh.{html,txt} /usr/share/doc/zsh-&zsh-version;</userinput></screen>
175
176 <para>
177 If you downloaded the optional documentation, install it by issuing
178 the following commands as the
179 <systemitem class="username">root</systemitem> user:
180 </para>
181
182<screen role="root"><userinput>make htmldir=/usr/share/doc/zsh-&zsh-version;/html install.html &amp;&amp;
183install -v -m644 Doc/zsh.dvi /usr/share/doc/zsh-&zsh-version;</userinput></screen>
184
185 <para>
186 If you built the PDF format of the documentation, install
187 it by issuing the following command as the
188 <systemitem class="username">root</systemitem> user:
189 </para>
190
191<screen role="root"
192 remap="doc"><userinput>install -v -m644 Doc/zsh.pdf /usr/share/doc/zsh-&zsh-version;</userinput></screen>
193
194 </sect2>
195
196 <sect2 role="commands">
197 <title>Command Explanations</title>
198
199 <para>
200 <parameter>--sysconfdir=/etc/zsh</parameter> and
201 <parameter>--enable-etcdir=/etc/zsh</parameter>: These parameters are
202 used so that all the <application>zsh</application> configuration files
203 are consolidated into the <filename class='directory'>/etc/zsh</filename>
204 directory. Omit these parameters if you wish to retain historical
205 compatibility by having all the files located in the
206 <filename class='directory'>/etc</filename> directory.
207 </para>
208
209 <para>
210 <parameter>--enable-cap</parameter>: This option enables
211 POSIX capabilities.
212 </para>
213
214 <para>
215 <parameter>--enable-gdbm</parameter>: This option enables the
216 use of the <application>GDBM</application> library.
217 </para>
218
219 <para>
220 <option>--enable-pcre</option>: This option allows zsh to use
221 the <application>PCRE</application> regular expression library in shell
222 builtins.
223 </para>
224 </sect2>
225
226 <sect2 role="configuration">
227 <title>Configuring zsh</title>
228
229 <sect3 id="zsh-config">
230 <title>Config Files</title>
231
232 <para>
233 There are a whole host of configuration files for
234 <application>zsh</application> including
235 <filename>/etc/zsh/zshenv</filename>,
236 <filename>/etc/zsh/zprofile</filename>,
237 <filename>/etc/zsh/zshrc</filename>,
238 <filename>/etc/zsh/zlogin</filename> and
239 <filename>/etc/zsh/zlogout</filename>.
240 You can find more information on these in the
241 <filename>zsh(1)</filename> and related manual pages.
242 </para>
243
244 <para>
245 The first time zsh is executed, you will be prompted by messages asking
246 several questions. The answers will be used to create a
247 <filename>~/.zshrc</filename> file. If you wish to run these questions
248 again, run <command>zsh
249 /usr/share/zsh/&zsh-version;/functions/zsh-newuser-install -f</command>.
250 </para>
251
252 <para>
253 There are several built-in advanced prompts. In the
254 <command>zsh</command> shell, start advanced prompt support with
255 <command>autoload -U promptinit</command>, then
256 <command>promptinit</command>. Available prompt names are listed with
257 <command>prompt -l</command>. Select a particular one with
258 <command>prompt <literal>&lt;prompt-name&gt;</literal></command>.
259 Display all available
260 prompts with <command>prompt -p</command>. Except for the list and
261 display commands above, you can insert the other ones in
262 <filename>~/.zshrc</filename> to be automatically executed at
263 shell start, with the prompt you chose.
264 </para>
265
266 <indexterm zone="zsh zsh-config">
267 <primary sortas="e-etc-zsh-zshenv">/etc/zsh/zshenv</primary>
268 </indexterm>
269
270 <indexterm zone="zsh zsh-config">
271 <primary sortas="e-etc-zsh-zprofile">/etc/zsh/zprofile</primary>
272 </indexterm>
273
274 <indexterm zone="zsh zsh-config">
275 <primary sortas="e-etc-zsh-zshrc">/etc/zsh/zshrc</primary>
276 </indexterm>
277
278 <indexterm zone="zsh zsh-config">
279 <primary sortas="e-etc-zsh-zlogin">/etc/zsh/zlogin</primary>
280 </indexterm>
281
282 <indexterm zone="zsh zsh-config">
283 <primary sortas="e-etc-zsh-zlogout">/etc/zsh/zlogout</primary>
284 </indexterm>
285
286 </sect3>
287
288 <sect3>
289 <title>Configuration Information</title>
290
291 <para>
292 Update <filename>/etc/shells</filename> to include the
293 <application>zsh</application> shell program names (as the
294 <systemitem class="username">root</systemitem> user):
295 </para>
296
297<screen role="root"><userinput>cat &gt;&gt; /etc/shells &lt;&lt; "EOF"
298<literal>/bin/zsh</literal>
299EOF</userinput></screen>
300
301 </sect3>
302
303 </sect2>
304
305 <sect2 role="content">
306 <title>Contents</title>
307
308 <segmentedlist>
309 <segtitle>Installed Programs</segtitle>
310 <segtitle>Installed Libraries</segtitle>
311 <segtitle>Installed Directories</segtitle>
312
313 <seglistitem>
314 <seg>zsh and zsh-&zsh-version; (hardlinked to each other)</seg>
315 <seg>Numerous plugin helper modules under
316 /usr/lib/zsh/&zsh-version;/</seg>
317 <seg>/usr/{lib,share}/zsh and /usr/share/doc/zsh-&zsh-version;</seg>
318 </seglistitem>
319 </segmentedlist>
320
321 <variablelist>
322 <bridgehead renderas="sect3">Short Description</bridgehead>
323 <?dbfo list-presentation="list"?>
324 <?dbhtml list-presentation="table"?>
325
326 <varlistentry id="zsh-prog">
327 <term><command>zsh</command></term>
328 <listitem>
329 <para>
330 is a shell which has command-line editing, built-in spelling
331 correction, programmable command completion, shell functions (with
332 autoloading), a history mechanism, and a host of other features
333 </para>
334 <indexterm zone="zsh zsh-prog">
335 <primary sortas="b-zsh">zsh</primary>
336 </indexterm>
337 </listitem>
338 </varlistentry>
339
340 </variablelist>
341
342 </sect2>
343
344</sect1>
Note: See TracBrowser for help on using the repository browser.