aboutsummaryrefslogtreecommitdiffstats
path: root/chapter08/perl.xml
diff options
context:
space:
mode:
authorBruce Dubbs <bdubbs@linuxfromscratch.org>2020-06-07 20:16:00 +0000
committerBruce Dubbs <bdubbs@linuxfromscratch.org>2020-06-07 20:16:00 +0000
commitfcc027677da55c41dcaea045f5b9ff8b088e6495 (patch)
tree42500a7858959695b971e7f28f1d0bf33185db2e /chapter08/perl.xml
parentd53fefab5a6772fef606392a61608fc290e6a7ae (diff)
Initial commit of alternative cross LFS
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11897 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter08/perl.xml')
-rw-r--r--chapter08/perl.xml522
1 files changed, 522 insertions, 0 deletions
diff --git a/chapter08/perl.xml b/chapter08/perl.xml
new file mode 100644
index 000000000..284464d87
--- /dev/null
+++ b/chapter08/perl.xml
@@ -0,0 +1,522 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+
+<sect1 id="ch-system-perl" role="wrap">
+ <?dbhtml filename="perl.html"?>
+
+ <sect1info condition="script">
+ <productname>perl</productname>
+ <productnumber>&perl-version;</productnumber>
+ <address>&perl-url;</address>
+ </sect1info>
+
+ <title>Perl-&perl-version;</title>
+
+ <indexterm zone="ch-system-perl">
+ <primary sortas="a-Perl">Perl</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title/>
+
+ <para>The Perl package contains the Practical Extraction and Report
+ Language.</para>
+
+ <segmentedlist>
+ <segtitle>&buildtime;</segtitle>
+ <segtitle>&diskspace;</segtitle>
+
+ <seglistitem>
+ <seg>&perl-ch6-sbu;</seg>
+ <seg>&perl-ch6-du;</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ </sect2>
+
+ <sect2 role="installation">
+ <title>Installation of Perl</title>
+
+ <para>First create a basic <filename>/etc/hosts</filename> file to be
+ referenced in one of Perl's configuration files as well as the optional
+ test suite:</para>
+
+<screen><userinput remap="pre">echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
+
+ <para>This version of Perl now builds the Compress::Raw::Zlib and
+ Compress::Raw::BZip2 modules. By
+ default Perl will use an internal copy of the sources for the build.
+ Issue the following command so that Perl will use the libraries
+ installed on the system:</para>
+
+<screen><userinput remap="pre">export BUILD_ZLIB=False
+export BUILD_BZIP2=0</userinput></screen>
+<!--
+ <para>Apply a patch to allow the Errno.pm module and the h2ph
+ program to build correctly when building with GCC 5:</para>
+
+<screen><userinput remap="pre">patch -Np1 -i ../&perl-gcc5-fixes-patch;</userinput></screen>
+-->
+
+ <para>To have full control over the way Perl is set up, you can remove the
+ <quote>-des</quote> options from the following command and hand-pick the way
+ this package is built. Alternatively, use the command exactly as below to
+ use the defaults that Perl auto-detects:</para>
+
+<screen><userinput remap="configure">sh Configure -des -Dprefix=/usr \
+ -Dvendorprefix=/usr \
+ -Dman1dir=/usr/share/man/man1 \
+ -Dman3dir=/usr/share/man/man3 \
+ -Dpager="/usr/bin/less -isR" \
+ -Duseshrplib \
+ -Dusethreads</userinput></screen>
+
+ <variablelist>
+ <title>The meaning of the configure options:</title>
+
+ <varlistentry>
+ <term><parameter>-Dvendorprefix=/usr</parameter></term>
+ <listitem>
+ <para>This ensures <command>perl</command> knows how to
+ tell packages where they should install their perl modules.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term>
+ <listitem>
+ <para>This ensures that <userinput>less</userinput> is used instead
+ of <userinput>more</userinput>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter>-Dman1dir=/usr/share/man/man1
+ -Dman3dir=/usr/share/man/man3</parameter></term>
+ <listitem>
+ <para>Since Groff is not installed yet, <command>Configure</command>
+ thinks that we do not want man pages for Perl. Issuing these
+ parameters overrides this decision.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter>-Duseshrplib</parameter></term>
+ <listitem>
+ <para>Build a shared libperl needed by some perl modules.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter>-Dusethreads</parameter></term>
+ <listitem>
+ <para>Build perl with support for threads.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ <para>Compile the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+ <para>To test the results (approximately 11 SBU), issue:</para>
+
+<screen><userinput remap="test">make test</userinput></screen>
+
+ <!--note><para>One test fails due to using the most recent version of gdbm.
+ </para></note-->
+
+ <para>Install the package and clean up:</para>
+
+<screen><userinput remap="install">make install
+unset BUILD_ZLIB BUILD_BZIP2</userinput></screen>
+
+ </sect2>
+
+ <sect2 id="contents-perl" role="content">
+ <title>Contents of Perl</title>
+
+ <segmentedlist>
+ <segtitle>Installed programs</segtitle>
+ <segtitle>Installed libraries</segtitle>
+ <segtitle>Installed directory</segtitle>
+
+ <seglistitem>
+ <seg>corelist, cpan, enc2xs, encguess, h2ph, h2xs, instmodsh,
+ json_pp, libnetcfg, perl, perl&perl-version; (hard link to perl),
+ perlbug, perldoc, perlivp, perlthanks (hard link to perlbug), piconv,
+ pl2pm, pod2html, pod2man, pod2text, pod2usage, podchecker, podselect,
+ prove, ptar, ptardiff, ptargrep, shasum,
+ splain, xsubpp, and zipdetails</seg>
+ <seg>Many which cannot all be listed here</seg>
+ <seg>/usr/lib/perl5</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ <variablelist>
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+ <?dbfo list-presentation="list"?>
+ <?dbhtml list-presentation="table"?>
+<!--
+ <varlistentry id="c2ph">
+ <term><command>c2ph</command></term>
+ <listitem>
+ <para>Dumps C structures as generated from
+ <command>cc -g -S</command></para>
+ <indexterm zone="ch-system-perl c2ph">
+ <primary sortas="b-c2ph">c2ph</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+-->
+ <varlistentry id="corelist">
+ <term><command>corelist</command></term>
+ <listitem>
+ <para>A commandline frontend to Module::CoreList</para>
+ <indexterm zone="ch-system-perl corelist">
+ <primary sortas="b-corelist">corelist</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="cpan">
+ <term><command>cpan</command></term>
+ <listitem>
+ <para>Interact with the Comprehensive Perl Archive Network (CPAN)
+ from the command line</para>
+ <indexterm zone="ch-system-perl cpan">
+ <primary sortas="b-cpan">cpan</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="enc2xs">
+ <term><command>enc2xs</command></term>
+ <listitem>
+ <para>Builds a Perl extension for the Encode module from either
+ Unicode Character Mappings or Tcl Encoding Files</para>
+ <indexterm zone="ch-system-perl enc2xs">
+ <primary sortas="b-enc2xs">enc2xs</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="encguess">
+ <term><command>encguess</command></term>
+ <listitem>
+ <para>Guess the encoding type of one or several files</para>
+ <indexterm zone="ch-system-perl encguess">
+ <primary sortas="b-encguess">encguess</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="h2ph">
+ <term><command>h2ph</command></term>
+ <listitem>
+ <para>Converts <filename class="extension">.h</filename> C header
+ files to <filename class="extension">.ph</filename> Perl header
+ files</para>
+ <indexterm zone="ch-system-perl h2ph">
+ <primary sortas="b-h2ph">h2ph</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="h2xs">
+ <term><command>h2xs</command></term>
+ <listitem>
+ <para>Converts <filename class="extension">.h</filename> C header
+ files to Perl extensions</para>
+ <indexterm zone="ch-system-perl h2xs">
+ <primary sortas="b-h2xs">h2xs</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="instmodsh">
+ <term><command>instmodsh</command></term>
+ <listitem>
+ <para>Shell script for examining installed Perl modules,
+ and can create a tarball from an installed module</para>
+ <indexterm zone="ch-system-perl instmodsh">
+ <primary sortas="b-instmodsh">instmodsh</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="json_pp">
+ <term><command>json_pp</command></term>
+ <listitem>
+ <para>Converts data between certain input and output formats</para>
+ <indexterm zone="ch-system-perl json_pp">
+ <primary sortas="b-json_pp">json_pp</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="libnetcfg">
+ <term><command>libnetcfg</command></term>
+ <listitem>
+ <para>Can be used to configure the
+ <filename class="libraryfile">libnet</filename> Perl module</para>
+ <indexterm zone="ch-system-perl libnetcfg">
+ <primary sortas="b-libnetcfg">libnetcfg</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="perl">
+ <term><command>perl</command></term>
+ <listitem>
+ <para>Combines some of the best features of C, <command>sed</command>,
+ <command>awk</command> and <command>sh</command> into a single
+ swiss-army language</para>
+ <indexterm zone="ch-system-perl perl">
+ <primary sortas="b-perl">perl</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="perl-version">
+ <term><command>perl&perl-version;</command></term>
+ <listitem>
+ <para>A hard link to <command>perl</command></para>
+ <indexterm zone="ch-system-perl perl-version">
+ <primary sortas="b-perl&perl-version;">perl&perl-version;</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="perlbug">
+ <term><command>perlbug</command></term>
+ <listitem>
+ <para>Used to generate bug reports about Perl, or the modules that come
+ with it, and mail them</para>
+ <indexterm zone="ch-system-perl perlbug">
+ <primary sortas="b-perlbug">perlbug</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="perldoc">
+ <term><command>perldoc</command></term>
+ <listitem>
+ <para>Displays a piece of documentation in pod format that is embedded
+ in the Perl installation tree or in a Perl script</para>
+ <indexterm zone="ch-system-perl perldoc">
+ <primary sortas="b-perldoc">perldoc</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="perlivp">
+ <term><command>perlivp</command></term>
+ <listitem>
+ <para>The Perl Installation Verification Procedure; it can be used to
+ verify that Perl and its libraries have been installed
+ correctly</para>
+ <indexterm zone="ch-system-perl perlivp">
+ <primary sortas="b-perlivp">perlivp</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="perlthanks">
+ <term><command>perlthanks</command></term>
+ <listitem>
+ <para>Used to generate thank you messages to mail to the Perl
+ developers</para>
+ <indexterm zone="ch-system-perl perlthanks">
+ <primary sortas="b-perlthanks">perlthanks</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="piconv">
+ <term><command>piconv</command></term>
+ <listitem>
+ <para>A Perl version of the character encoding converter
+ <command>iconv</command></para>
+ <indexterm zone="ch-system-perl piconv">
+ <primary sortas="b-piconv">piconv</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pl2pm">
+ <term><command>pl2pm</command></term>
+ <listitem>
+ <para>A rough tool for converting Perl4
+ <filename class="extension">.pl</filename> files to Perl5
+ <filename class="extension">.pm</filename> modules</para>
+ <indexterm zone="ch-system-perl pl2pm">
+ <primary sortas="b-pl2pm">pl2pm</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pod2html">
+ <term><command>pod2html</command></term>
+ <listitem>
+ <para>Converts files from pod format to HTML format</para>
+ <indexterm zone="ch-system-perl pod2html">
+ <primary sortas="b-pod2html">pod2html</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pod2man">
+ <term><command>pod2man</command></term>
+ <listitem>
+ <para>Converts pod data to formatted *roff input</para>
+ <indexterm zone="ch-system-perl pod2man">
+ <primary sortas="b-pod2man">pod2man</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pod2text">
+ <term><command>pod2text</command></term>
+ <listitem>
+ <para>Converts pod data to formatted ASCII text</para>
+ <indexterm zone="ch-system-perl pod2text">
+ <primary sortas="b-pod2text">pod2text</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pod2usage">
+ <term><command>pod2usage</command></term>
+ <listitem>
+ <para>Prints usage messages from embedded pod docs in files</para>
+ <indexterm zone="ch-system-perl pod2usage">
+ <primary sortas="b-pod2usage">pod2usage</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="podchecker">
+ <term><command>podchecker</command></term>
+ <listitem>
+ <para>Checks the syntax of pod format documentation files</para>
+ <indexterm zone="ch-system-perl podchecker">
+ <primary sortas="b-podchecker">podchecker</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="podselect">
+ <term><command>podselect</command></term>
+ <listitem>
+ <para>Displays selected sections of pod documentation</para>
+ <indexterm zone="ch-system-perl podselect">
+ <primary sortas="b-podselect">podselect</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="prove">
+ <term><command>prove</command></term>
+ <listitem>
+ <para>Command line tool for running tests against the Test::Harness
+ module</para>
+ <indexterm zone="ch-system-perl prove">
+ <primary sortas="b-prove">prove</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+<!--
+ <varlistentry id="pstruct">
+ <term><command>pstruct</command></term>
+ <listitem>
+ <para>Dumps C structures as generated from <command>cc -g -S</command>
+ stabs</para>
+ <indexterm zone="ch-system-perl pstruct">
+ <primary sortas="b-pstruct">pstruct</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+-->
+ <varlistentry id="ptar">
+ <term><command>ptar</command></term>
+ <listitem>
+ <para>A <command>tar</command>-like program written in Perl</para>
+ <indexterm zone="ch-system-perl ptar">
+ <primary sortas="b-ptar">ptar</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="ptardiff">
+ <term><command>ptardiff</command></term>
+ <listitem>
+ <para>A Perl program that compares an extracted archive with an
+ unextracted one</para>
+ <indexterm zone="ch-system-perl ptardiff">
+ <primary sortas="b-ptardiff">ptardiff</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="ptargrep">
+ <term><command>ptargrep</command></term>
+ <listitem>
+ <para>A Perl program that applies pattern matching to the contents
+ of files in a tar archive</para>
+ <indexterm zone="ch-system-perl ptargrep">
+ <primary sortas="b-ptargrep">ptargrep</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="shasum">
+ <term><command>shasum</command></term>
+ <listitem>
+ <para>Prints or checks SHA checksums</para>
+ <indexterm zone="ch-system-perl shasum">
+ <primary sortas="b-shasum">shasum</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="splain">
+ <term><command>splain</command></term>
+ <listitem>
+ <para>Is used to force verbose warning diagnostics in Perl</para>
+ <indexterm zone="ch-system-perl splain">
+ <primary sortas="b-splain">splain</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="xsubpp">
+ <term><command>xsubpp</command></term>
+ <listitem>
+ <para>Converts Perl XS code into C code</para>
+ <indexterm zone="ch-system-perl xsubpp">
+ <primary sortas="b-xsubpp">xsubpp</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="zipdetails">
+ <term><command>zipdetails</command></term>
+ <listitem>
+ <para>Displays details about the internal structure of a Zip file</para>
+ <indexterm zone="ch-system-perl zipdetails">
+ <primary sortas="b-zipdetails">zipdetails</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect2>
+
+</sect1>