source: BOOK/final-system/common/perl.xml@ 23ec9c0

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 23ec9c0 was 7c6284f, checked in by Ken Moffat <zarniwhoop@…>, 16 years ago

Fix known perl vulnerabilities.

  • Property mode set to 100644
File size: 16.2 KB
RevLine 
[3f8be484]1<?xml version="1.0" encoding="ISO-8859-1"?>
[aa18ac0]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[3f8be484]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-system-perl" role="wrap">
9 <?dbhtml filename="perl.html"?>
10
11 <title>Perl-&perl-version;</title>
12
13 <indexterm zone="ch-system-perl">
14 <primary sortas="a-Perl">Perl</primary>
15 </indexterm>
16
17 <sect2 role="package">
18 <title/>
19
20 <para>The Perl package contains the Practical Extraction and Report
21 Language.</para>
22
23 </sect2>
24
25 <sect2 role="installation">
26 <title>Installation of Perl</title>
27
[3508ede]28 <para os="p1">The following patch causes makedepend.sh to also remove
29 <literal>&lt;command-line&gt;</literal> as well as
30 <literal>&lt;command line&gt;</literal>:</para>
31
32<screen os="p2"><userinput>patch -Np1 -i ../&perl-gcc42_fix-patch;</userinput></screen>
33
[d10818d]34 <para os="p3">The following patch prevents perl from including asm/page.h
35 which will no longer be available in headers provided by kernel 2.6.25 and
36 forward:</para>
37
38<screen os="p4"><userinput>patch -Np1 -i ../&perl-no_page_h-patch;</userinput></screen>
39
[7c6284f]40 <para os="p5">The following patch fixes known vulnerabilities in perl:</para>
41
42<screen os="p6"><userinput>patch -Np1 -i ../&perl-security-patch;</userinput></screen>
43
[96d0fe5]44 <para os="s1">The following sed causes <filename>DynaLoader.a</filename>
[6a7f467]45 to be built with -fPIC so it can be linked into a shared library
[040521bc]46 later:</para>
[6a7f467]47
[da50a69]48<screen os="s2"><userinput>sed -i -e "s@pldlflags=''@pldlflags=\"\$cccdlflags\"@g" \
49 -e "s@static_target='static'@static_target='static_pic'@g" Makefile.SH</userinput></screen>
[6a7f467]50
[d73cf0a]51 <note os="a00">
52 <para>If you are following the boot method you will need to enable the
53 loopback device as well as set a hostname for some of the tests:</para>
54
55 <screen><userinput>ip link set lo up
56hostname clfs</userinput></screen>
57 </note>
58
59 <para os="a01">Before starting to configure, create a basic
[36da727]60 <filename>/etc/hosts</filename> file which will be referenced by one
61 of Perl's configuration files as well as used by the testsuite:</para>
[0b1aa01]62
[d73cf0a]63<screen os="a02"><userinput>echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
[0b1aa01]64
[cfe892d]65 <para os="a">To have full control over the way Perl is set up, you can
66 run the interactive <command>Configure</command> script and hand-pick
67 the way this package is built. If you prefer instead to use the defaults
68 that Perl auto-detects, prepare Perl for compilation with:</para>
[3f8be484]69
[6cc6f0a]70<screen os="b"><userinput>CC=gcc ./configure.gnu --prefix=/usr \
[bbf90e8]71 -Dman1dir=/usr/share/man/man1 \
72 -Dman3dir=/usr/share/man/man3 \
[c33fed0]73 -Dpager="/bin/less -isR" \
74 -Dusethreads</userinput></screen>
[3f8be484]75
[e0e40d3]76 <variablelist os="c">
[3f8be484]77 <title>The meaning of the configure option:</title>
78
[e0e40d3]79 <varlistentry os="c1">
[3f8be484]80 <term><parameter>-Dpager="/bin/less -isR"</parameter></term>
81 <listitem>
82 <para>This corrects an error in the way that <command>perldoc</command>
83 invokes the <command>less</command> program.</para>
84 </listitem>
85 </varlistentry>
[bbf90e8]86 <varlistentry os="c2">
87 <term><parameter>-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3</parameter></term>
88 <listitem>
89 <para>Since Groff is not installed yet,
90 <command>configure.gnu</command> thinks that we do not want
91 man pages for Perl. Issuing these parameters overrides this decision.</para>
92 </listitem>
93 </varlistentry>
[c33fed0]94 <varlistentry os="c3">
95 <term><parameter>-Dusethreads</parameter></term>
96 <listitem>
97 <para>This tells Perl to use threads.</para>
98 </listitem>
99 </varlistentry>
[3f8be484]100 </variablelist>
101
[e0e40d3]102 <para os="d">Compile the package:</para>
[3f8be484]103
[e0e40d3]104<screen os="e"><userinput>make</userinput></screen>
[3f8be484]105
[056bbd8]106 <para os="h">To test the results, issue:
[adb2d7f]107 <userinput>make test</userinput>.</para>
[3f8be484]108
[e0e40d3]109 <para os="j">Install the package:</para>
[3f8be484]110
[e0e40d3]111<screen os="k"><userinput>make install</userinput></screen>
[3f8be484]112
113 </sect2>
114
115 <sect2 id="contents-perl" role="content">
116 <title>Contents of Perl</title>
117
118 <segmentedlist>
119 <segtitle>Installed programs</segtitle>
120 <segtitle>Installed libraries</segtitle>
121
122 <seglistitem>
[e29fb58]123 <seg>a2p, c2ph, cpan, dprofpp, enc2xs, find2perl, h2ph, h2xs, instmodsh, libnetcfg,
[3f8be484]124 perl, perl&perl-version; (link to perl), perlbug, perlcc, perldoc,
125 perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man, pod2text,
[e29fb58]126 pod2usage, podchecker, podselect, prove, psed (link to s2p), pstruct (link
[3f8be484]127 to c2ph), s2p, splain, and xsubpp</seg>
128 <seg>Several hundred which cannot all be listed here</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="a2p">
138 <term><command>a2p</command></term>
139 <listitem>
140 <para>Translates awk to Perl</para>
141 <indexterm zone="ch-system-perl a2p">
142 <primary sortas="b-a2p">a2p</primary>
143 </indexterm>
144 </listitem>
145 </varlistentry>
146
147 <varlistentry id="c2ph">
148 <term><command>c2ph</command></term>
149 <listitem>
150 <para>Dumps C structures as generated from
151 <command>cc -g -S</command></para>
152 <indexterm zone="ch-system-perl c2ph">
153 <primary sortas="b-c2ph">c2ph</primary>
154 </indexterm>
155 </listitem>
156 </varlistentry>
157
[e29fb58]158 <varlistentry id="cpan">
159 <term><command>cpan</command></term>
160 <listitem>
161 <para>Shell script that provides a command interface to CPAN.pm</para>
162 <indexterm zone="ch-system-perl cpan">
163 <primary sortas="b-cpan">cpan</primary>
164 </indexterm>
165 </listitem>
166 </varlistentry>
167
[3f8be484]168 <varlistentry id="dprofpp">
169 <term><command>dprofpp</command></term>
170 <listitem>
171 <para>Displays Perl profile data</para>
172 <indexterm zone="ch-system-perl dprofpp">
173 <primary sortas="b-dprofpp">dprofpp</primary>
174 </indexterm>
175 </listitem>
176 </varlistentry>
177
[045e44a]178 <varlistentry id="enc2xs">
179 <term><command>enc2xs</command></term>
180 <listitem>
181 <para>Builds a Perl extension for the Encode module from either
182 Unicode Character Mappings or Tcl Encoding Files</para>
183 <indexterm zone="ch-system-perl enc2xs">
184 <primary sortas="b-enc2xs">enc2xs</primary>
185 </indexterm>
186 </listitem>
187 </varlistentry>
188
[3f8be484]189 <varlistentry id="find2perl">
190 <term><command>find2perl</command></term>
191 <listitem>
192 <para>Translates <command>find</command> commands to Perl</para>
193 <indexterm zone="ch-system-perl find2perl">
194 <primary sortas="b-find2perl">find2perl</primary>
195 </indexterm>
196 </listitem>
197 </varlistentry>
198
199 <varlistentry id="h2ph">
200 <term><command>h2ph</command></term>
201 <listitem>
202 <para>Converts <filename class="extension">.h</filename> C header
203 files to <filename class="extension">.ph</filename> Perl header
204 files</para>
205 <indexterm zone="ch-system-perl h2ph">
206 <primary sortas="b-h2ph">h2ph</primary>
207 </indexterm>
208 </listitem>
209 </varlistentry>
210
211 <varlistentry id="h2xs">
212 <term><command>h2xs</command></term>
213 <listitem>
214 <para>Converts <filename class="extension">.h</filename> C header
215 files to Perl extensions</para>
216 <indexterm zone="ch-system-perl h2xs">
217 <primary sortas="b-h2xs">h2xs</primary>
218 </indexterm>
219 </listitem>
220 </varlistentry>
221
222 <varlistentry id="libnetcfg">
223 <term><command>libnetcfg</command></term>
224 <listitem>
225 <para>Can be used to configure the
226 <filename class="libraryfile">libnet</filename></para>
227 <indexterm zone="ch-system-perl libnetcfg">
228 <primary sortas="b-libnetcfg">libnetcfg</primary>
229 </indexterm>
230 </listitem>
231 </varlistentry>
232
[e29fb58]233 <varlistentry id="instmodsh">
234 <term><command>instmodsh</command></term>
235 <listitem>
236 <para>A shell script for examining installed Perl modules,
237 and can even create a tarball from an installed module</para>
238 <indexterm zone="ch-system-perl instmodsh">
239 <primary sortas="b-instmodsh">instmodsh</primary>
240 </indexterm>
241 </listitem>
242 </varlistentry>
243
[3f8be484]244 <varlistentry id="perl">
245 <term><command>perl</command></term>
246 <listitem>
247 <para>Combines some of the best features of C, <command>sed</command>,
248 <command>awk</command> and <command>sh</command> into a single
[1e91bbd]249 swiss-army-knife language</para>
[3f8be484]250 <indexterm zone="ch-system-perl perl">
251 <primary sortas="b-perl">perl</primary>
252 </indexterm>
253 </listitem>
254 </varlistentry>
255
256 <varlistentry id="perl-version">
257 <term><command>perl&perl-version;</command></term>
258 <listitem>
259 <para>A hard link to <command>perl</command></para>
260 <indexterm zone="ch-system-perl perl-version">
261 <primary sortas="b-perl&perl-version;">perl&perl-version;</primary>
262 </indexterm>
263 </listitem>
264 </varlistentry>
265
266 <varlistentry id="perlbug">
267 <term><command>perlbug</command></term>
268 <listitem>
269 <para>Used to generate bug reports about Perl, or the modules that come
270 with it, and mail them</para>
271 <indexterm zone="ch-system-perl perlbug">
272 <primary sortas="b-perlbug">perlbug</primary>
273 </indexterm>
274 </listitem>
275 </varlistentry>
276
277 <varlistentry id="perlcc">
278 <term><command>perlcc</command></term>
279 <listitem>
280 <para>Generates executables from Perl programs</para>
281 <indexterm zone="ch-system-perl perlcc">
282 <primary sortas="b-perlcc">perlcc</primary>
283 </indexterm>
284 </listitem>
285 </varlistentry>
286
287 <varlistentry id="perldoc">
288 <term><command>perldoc</command></term>
289 <listitem>
290 <para>Displays a piece of documentation in pod format that is embedded
291 in the Perl installation tree or in a Perl script</para>
292 <indexterm zone="ch-system-perl perldoc">
293 <primary sortas="b-perldoc">perldoc</primary>
294 </indexterm>
295 </listitem>
296 </varlistentry>
297
298 <varlistentry id="perlivp">
299 <term><command>perlivp</command></term>
300 <listitem>
301 <para>The Perl Installation Verification Procedure; it can be used to
302 verify that Perl and its libraries have been installed
303 correctly</para>
304 <indexterm zone="ch-system-perl perlivp">
305 <primary sortas="b-perlivp">perlivp</primary>
306 </indexterm>
307 </listitem>
308 </varlistentry>
309
310 <varlistentry id="piconv">
311 <term><command>piconv</command></term>
312 <listitem>
313 <para>A Perl version of the character encoding converter
314 <command>iconv</command></para>
315 <indexterm zone="ch-system-perl piconv">
316 <primary sortas="b-piconv">piconv</primary>
317 </indexterm>
318 </listitem>
319 </varlistentry>
320
321 <varlistentry id="pl2pm">
322 <term><command>pl2pm</command></term>
323 <listitem>
324 <para>A rough tool for converting Perl4
325 <filename class="extension">.pl</filename> files to Perl5
326 <filename class="extension">.pm</filename> modules</para>
327 <indexterm zone="ch-system-perl pl2pm">
328 <primary sortas="b-pl2pm">pl2pm</primary>
329 </indexterm>
330 </listitem>
331 </varlistentry>
332
333 <varlistentry id="pod2html">
334 <term><command>pod2html</command></term>
335 <listitem>
336 <para>Converts files from pod format to HTML format</para>
337 <indexterm zone="ch-system-perl pod2html">
338 <primary sortas="b-pod2html">pod2html</primary>
339 </indexterm>
340 </listitem>
341 </varlistentry>
342
343 <varlistentry id="pod2latex">
344 <term><command>pod2latex</command></term>
345 <listitem>
346 <para>Converts files from pod format to LaTeX format</para>
347 <indexterm zone="ch-system-perl pod2latex">
348 <primary sortas="b-pod2latex">pod2latex</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352
353 <varlistentry id="pod2man">
354 <term><command>pod2man</command></term>
355 <listitem>
356 <para>Converts pod data to formatted *roff input</para>
357 <indexterm zone="ch-system-perl pod2man">
358 <primary sortas="b-pod2man">pod2man</primary>
359 </indexterm>
360 </listitem>
361 </varlistentry>
362
363 <varlistentry id="pod2text">
364 <term><command>pod2text</command></term>
365 <listitem>
366 <para>Converts pod data to formatted ASCII text</para>
367 <indexterm zone="ch-system-perl pod2text">
368 <primary sortas="b-pod2text">pod2text</primary>
369 </indexterm>
370 </listitem>
371 </varlistentry>
372
373 <varlistentry id="pod2usage">
374 <term><command>pod2usage</command></term>
375 <listitem>
376 <para>Prints usage messages from embedded pod docs in files</para>
377 <indexterm zone="ch-system-perl pod2usage">
378 <primary sortas="b-pod2usage">pod2usage</primary>
379 </indexterm>
380 </listitem>
381 </varlistentry>
382
383 <varlistentry id="podchecker">
384 <term><command>podchecker</command></term>
385 <listitem>
386 <para>Checks the syntax of pod format documentation files</para>
387 <indexterm zone="ch-system-perl podchecker">
388 <primary sortas="b-podchecker">podchecker</primary>
389 </indexterm>
390 </listitem>
391 </varlistentry>
392
393 <varlistentry id="podselect">
394 <term><command>podselect</command></term>
395 <listitem>
396 <para>Displays selected sections of pod documentation</para>
397 <indexterm zone="ch-system-perl podselect">
398 <primary sortas="b-podselect">podselect</primary>
399 </indexterm>
400 </listitem>
401 </varlistentry>
402
[e29fb58]403 <varlistentry id="prove">
404 <term><command>prove</command></term>
405 <listitem>
406 <para>A command-line tool for running tests against Test::Harness</para>
407 <indexterm zone="ch-system-perl prove">
408 <primary sortas="b-prove">prove</primary>
409 </indexterm>
410 </listitem>
411 </varlistentry>
412
[3f8be484]413 <varlistentry id="psed">
414 <term><command>psed</command></term>
415 <listitem>
416 <para>A Perl version of the stream editor <command>sed</command></para>
417 <indexterm zone="ch-system-perl psed">
418 <primary sortas="b-psed">psed</primary>
419 </indexterm>
420 </listitem>
421 </varlistentry>
422
423 <varlistentry id="pstruct">
424 <term><command>pstruct</command></term>
425 <listitem>
426 <para>Dumps C structures as generated from <command>cc -g -S</command>
427 stabs</para>
428 <indexterm zone="ch-system-perl pstruct">
429 <primary sortas="b-pstruct">pstruct</primary>
430 </indexterm>
431 </listitem>
432 </varlistentry>
433
434 <varlistentry id="s2p">
435 <term><command>s2p</command></term>
436 <listitem>
437 <para>Translates <command>sed</command> to Perl</para>
438 <indexterm zone="ch-system-perl s2p">
439 <primary sortas="b-s2p">s2p</primary>
440 </indexterm>
441 </listitem>
442 </varlistentry>
443
444 <varlistentry id="splain">
445 <term><command>splain</command></term>
446 <listitem>
447 <para>Is used to force verbose warning diagnostics in Perl</para>
448 <indexterm zone="ch-system-perl splain">
449 <primary sortas="b-splain">splain</primary>
450 </indexterm>
451 </listitem>
452 </varlistentry>
453
454 <varlistentry id="xsubpp">
455 <term><command>xsubpp</command></term>
456 <listitem>
457 <para>Converts Perl XS code into C code</para>
458 <indexterm zone="ch-system-perl xsubpp">
459 <primary sortas="b-xsubpp">xsubpp</primary>
460 </indexterm>
461 </listitem>
462 </varlistentry>
463
464 </variablelist>
465
466 </sect2>
467
468</sect1>
Note: See TracBrowser for help on using the repository browser.