source: chapter06/perl.xml@ 11cbbb0

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 11cbbb0 was 11cbbb0, checked in by Jeremy Huntwork <jhuntwork@…>, 18 years ago

Added a patch to fix the sprintf security vulnerability in Perl.
Thanks to Tim van der Molen for pointing it out.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7284 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • 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.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
3 <!ENTITY % general-entities SYSTEM "../general.ent">
4 %general-entities;
5]>
6<sect1 id="ch-system-perl" role="wrap">
7<title>Perl-&perl-version;</title>
8<?dbhtml filename="perl.html"?>
9
10<indexterm zone="ch-system-perl"><primary sortas="a-Perl">Perl</primary></indexterm>
11
12<sect2 role="package"><title/>
13<para>The Perl package contains the Practical Extraction and Report Language.</para>
14
15<segmentedlist>
16<segtitle>&buildtime;</segtitle>
17<segtitle>&diskspace;</segtitle>
18<seglistitem><seg>2.9 SBU</seg><seg>137 MB</seg></seglistitem>
19</segmentedlist>
20
21<segmentedlist>
22<segtitle>&dependencies;</segtitle>
23<seglistitem><seg>Bash, Berkeley DB, Binutils, Coreutils, Diffutils,
24Gawk, GCC, Glibc, Grep, Make, and Sed</seg></seglistitem>
25</segmentedlist>
26</sect2>
27
28<sect2 role="installation">
29<title>Installation of Perl</title>
30
31<para>A security vulnerability exists in Perl's sprintf function. Apply the
32following patch to fix it.</para>
33
34<screen><userinput>patch -Np1 -i ../&perl-sprintf-patch;</userinput></screen>
35
36<para>First create a basic <filename>/etc/hosts</filename> file which will be
37referenced in one of Perl's configuration files as well as being used used by
38the testsuite if you run that.</para>
39
40<screen><userinput>echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
41
42<para>To have full control over the way Perl is set up, run the
43interactive <command>Configure</command> script and hand-pick the way
44this package is built. If the defaults it auto-detects are suitable,
45prepare Perl for compilation with:</para>
46
47<screen><userinput>./configure.gnu --prefix=/usr -Dpager="/usr/bin/less -isR"</userinput></screen>
48
49<para>The meaning of the configure options:</para>
50
51<variablelist>
52<varlistentry>
53<term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term>
54<listitem><para>This corrects an error in the way that
55<command>perldoc</command> invokes the <command>less</command> program.</para>
56</listitem>
57</varlistentry>
58</variablelist>
59
60<para>Compile the package:</para>
61
62<screen><userinput>make</userinput></screen>
63
64<para>Now run the tests, if desired:</para>
65
66<screen><userinput>make test</userinput></screen>
67
68<para>Install the package:</para>
69
70<screen><userinput>make install</userinput></screen>
71
72</sect2>
73
74
75<sect2 id="contents-perl" role="content"><title>Contents of Perl</title>
76
77<segmentedlist>
78<segtitle>Installed programs</segtitle>
79<segtitle>Installed libraries</segtitle>
80<seglistitem><seg>a2p, c2ph, dprofpp, enc2xs,
81find2perl, h2ph, h2xs, libnetcfg, perl, perl&perl-version; (link to perl),
82perlbug, perlcc, perldoc, perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man,
83pod2text, pod2usage, podchecker, podselect, psed (link to s2p), pstruct (link
84to c2ph), s2p, splain, and xsubpp</seg>
85<seg>Several hundred which cannot all be listed here</seg></seglistitem>
86</segmentedlist>
87
88<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
89<?dbfo list-presentation="list"?>
90<?dbhtml list-presentation="table"?>
91
92<varlistentry id="a2p">
93<term><command>a2p</command></term>
94<listitem>
95<para>Translates awk to Perl</para>
96<indexterm zone="ch-system-perl a2p"><primary sortas="b-a2p">a2p</primary></indexterm>
97</listitem>
98</varlistentry>
99
100<varlistentry id="c2ph">
101<term><command>c2ph</command></term>
102<listitem>
103<para>Dumps C structures as generated from <command>cc -g -S</command></para>
104<indexterm zone="ch-system-perl c2ph"><primary sortas="b-c2ph">c2ph</primary></indexterm>
105</listitem>
106</varlistentry>
107
108<varlistentry id="dprofpp">
109<term><command>dprofpp</command></term>
110<listitem>
111<para>Displays Perl profile data</para>
112<indexterm zone="ch-system-perl dprofpp"><primary sortas="b-dprofpp">dprofpp</primary></indexterm>
113</listitem>
114</varlistentry>
115
116<varlistentry id="en2cxs">
117<term><command>en2cxs</command></term>
118<listitem>
119<para>Builds a Perl extension for the Encode module from either
120Unicode Character Mappings or Tcl Encoding Files</para>
121<indexterm zone="ch-system-perl en2cxs"><primary sortas="b-en2cxs">en2cxs</primary></indexterm>
122</listitem>
123</varlistentry>
124
125<varlistentry id="find2perl">
126<term><command>find2perl</command></term>
127<listitem>
128<para>Translates <command>find</command> commands to Perl</para>
129<indexterm zone="ch-system-perl find2perl"><primary sortas="b-find2perl">find2perl</primary></indexterm>
130</listitem>
131</varlistentry>
132
133<varlistentry id="h2ph">
134<term><command>h2ph</command></term>
135<listitem>
136<para>Converts <filename class="extension">.h</filename> C header files to
137<filename class="extension">.ph</filename> Perl header files</para>
138<indexterm zone="ch-system-perl h2ph"><primary sortas="b-h2ph">h2ph</primary></indexterm>
139</listitem>
140</varlistentry>
141
142<varlistentry id="h2xs">
143<term><command>h2xs</command></term>
144<listitem>
145<para>Converts <filename class="extension">.h</filename> C header files to Perl extensions</para>
146<indexterm zone="ch-system-perl h2xs"><primary sortas="b-h2xs">h2xs</primary></indexterm>
147</listitem>
148</varlistentry>
149
150<varlistentry id="libnetcfg">
151<term><command>libnetcfg</command></term>
152<listitem>
153<para>Can be used to configure the <filename class="libraryfile">libnet</filename></para>
154<indexterm zone="ch-system-perl libnetcfg"><primary sortas="b-libnetcfg">libnetcfg</primary></indexterm>
155</listitem>
156</varlistentry>
157
158<varlistentry id="perl">
159<term><command>perl</command></term>
160<listitem>
161<para>Combines some of the best features of C, <command>sed</command>,
162<command>awk</command> and <command>sh</command> into a single swiss-army
163language</para>
164<indexterm zone="ch-system-perl perl"><primary sortas="b-perl">perl</primary></indexterm>
165</listitem>
166</varlistentry>
167
168<varlistentry id="perl-version">
169<term><command>perl&perl-version;</command></term>
170<listitem>
171<para>A hard link to <command>perl</command></para>
172<indexterm zone="ch-system-perl perl-version"><primary
173sortas="b-perl&perl-version;">perl&perl-version;</primary></indexterm>
174</listitem>
175</varlistentry>
176
177
178<varlistentry id="perlbug">
179<term><command>perlbug</command></term>
180<listitem>
181<para>Used to generate bug reports about Perl, or the modules that come
182with it, and mail them</para>
183<indexterm zone="ch-system-perl perlbug"><primary sortas="b-perlbug">perlbug</primary></indexterm>
184</listitem>
185</varlistentry>
186
187<varlistentry id="perlcc">
188<term><command>perlcc</command></term>
189<listitem>
190<para>Generates executables from Perl programs</para>
191<indexterm zone="ch-system-perl perlcc"><primary sortas="b-perlcc">perlcc</primary></indexterm>
192</listitem>
193</varlistentry>
194
195<varlistentry id="perldoc">
196<term><command>perldoc</command></term>
197<listitem>
198<para>Displays a piece of documentation in pod format that is embedded
199in the Perl installation tree or in a Perl script</para>
200<indexterm zone="ch-system-perl perldoc"><primary sortas="b-perldoc">perldoc</primary></indexterm>
201</listitem>
202</varlistentry>
203
204<varlistentry id="perlivp">
205<term><command>perlivp</command></term>
206<listitem>
207<para>The Perl Installation Verification Procedure; it can be used to
208verify that Perl and its libraries have been installed
209correctly</para>
210<indexterm zone="ch-system-perl perlivp"><primary sortas="b-perlivp">perlivp</primary></indexterm>
211</listitem>
212</varlistentry>
213
214<varlistentry id="piconv">
215<term><command>piconv</command></term>
216<listitem>
217<para>A Perl version of the character encoding converter
218<command>iconv</command></para>
219<indexterm zone="ch-system-perl piconv"><primary sortas="b-piconv">piconv</primary></indexterm>
220</listitem>
221</varlistentry>
222
223<varlistentry id="pl2pm">
224<term><command>pl2pm</command></term>
225<listitem>
226<para>A rough tool for converting Perl4 <filename class="extension">.pl</filename>
227files to Perl5 <filename class="extension">.pm</filename> modules</para>
228<indexterm zone="ch-system-perl pl2pm"><primary sortas="b-pl2pm">pl2pm</primary></indexterm>
229</listitem>
230</varlistentry>
231
232<varlistentry id="pod2html">
233<term><command>pod2html</command></term>
234<listitem>
235<para>Converts files from pod format to HTML format</para>
236<indexterm zone="ch-system-perl pod2html"><primary sortas="b-pod2html">pod2html</primary></indexterm>
237</listitem>
238</varlistentry>
239
240<varlistentry id="pod2latex">
241<term><command>pod2latex</command></term>
242<listitem>
243<para>Converts files from pod format to LaTeX format</para>
244<indexterm zone="ch-system-perl pod2latex"><primary sortas="b-pod2latex">pod2latex</primary></indexterm>
245</listitem>
246</varlistentry>
247
248<varlistentry id="pod2man">
249<term><command>pod2man</command></term>
250<listitem>
251<para>Converts pod data to formatted *roff input</para>
252<indexterm zone="ch-system-perl pod2man"><primary sortas="b-pod2man">pod2man</primary></indexterm>
253</listitem>
254</varlistentry>
255
256<varlistentry id="pod2text">
257<term><command>pod2text</command></term>
258<listitem>
259<para>Converts pod data to formatted ASCII text</para>
260<indexterm zone="ch-system-perl pod2text"><primary sortas="b-pod2text">pod2text</primary></indexterm>
261</listitem>
262</varlistentry>
263
264<varlistentry id="pod2usage">
265<term><command>pod2usage</command></term>
266<listitem>
267<para>Prints usage messages from embedded pod docs in files</para>
268<indexterm zone="ch-system-perl pod2usage"><primary sortas="b-pod2usage">pod2usage</primary></indexterm>
269</listitem>
270</varlistentry>
271
272<varlistentry id="podchecker">
273<term><command>podchecker</command></term>
274<listitem>
275<para>Checks the syntax of pod format documentation files</para>
276<indexterm zone="ch-system-perl podchecker"><primary sortas="b-podchecker">podchecker</primary></indexterm>
277</listitem>
278</varlistentry>
279
280<varlistentry id="podselect">
281<term><command>podselect</command></term>
282<listitem>
283<para>Displays selected sections of pod documentation</para>
284<indexterm zone="ch-system-perl podselect"><primary sortas="b-podselect">podselect</primary></indexterm>
285</listitem>
286</varlistentry>
287
288<varlistentry id="psed">
289<term><command>psed</command></term>
290<listitem>
291<para>A Perl version of the stream editor <command>sed</command></para>
292<indexterm zone="ch-system-perl psed"><primary sortas="b-psed">psed</primary></indexterm>
293</listitem>
294</varlistentry>
295
296<varlistentry id="pstruct">
297<term><command>pstruct</command></term>
298<listitem>
299<para>Dumps C structures as generated from <command>cc -g -S</command> stabs</para>
300<indexterm zone="ch-system-perl pstruct"><primary sortas="b-pstruct">pstruct</primary></indexterm>
301</listitem>
302</varlistentry>
303
304<varlistentry id="s2p">
305<term><command>s2p</command></term>
306<listitem>
307<para>Translates <command>sed</command> scripts to Perl</para>
308<indexterm zone="ch-system-perl s2p"><primary sortas="b-s2p">s2p</primary></indexterm>
309</listitem>
310</varlistentry>
311
312<varlistentry id="splain">
313<term><command>splain</command></term>
314<listitem>
315<para>Is used to force verbose warning diagnostics in Perl</para>
316<indexterm zone="ch-system-perl splain"><primary sortas="b-splain">splain</primary></indexterm>
317</listitem>
318</varlistentry>
319
320<varlistentry id="xsubpp">
321<term><command>xsubpp</command></term>
322<listitem>
323<para>Converts Perl XS code into C code</para>
324<indexterm zone="ch-system-perl xsubpp"><primary sortas="b-xsubpp">xsubpp</primary></indexterm>
325</listitem>
326</varlistentry>
327</variablelist>
328
329</sect2>
330
331</sect1>
332
Note: See TracBrowser for help on using the repository browser.