lfs/chapter07/perl.xml
Bruce Dubbs e91edadd00 Package and format updates.
Update to iana-etc-20240612.
Update to bc-6.7.6.
Update to man-pages-6.9.1.
Update to linux-6.9.7.
Update to sysklogd-2.5.2.
Update to shadow-4.16.0.
Update to systemd-256.1.
Update to setuptools-70.1.1.

Also change the formatting of options '-Dsomething' to '-D something'.
2024-06-30 10:40:41 -05:00

120 lines
3.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!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-tools-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-tools-perl">
<primary sortas="a-Perl">Perl</primary>
<secondary>tools</secondary>
</indexterm>
<sect2 role="package">
<title/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter08/perl.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&perl-tmp-sbu;</seg>
<seg>&perl-tmp-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Perl</title>
<para>Prepare Perl for compilation:</para>
<screen><userinput remap="configure">sh Configure -des \
-D prefix=/usr \
-D vendorprefix=/usr \
-D useshrplib \
-D privlib=/usr/lib/perl5/&perl-version-min;/core_perl \
-D archlib=/usr/lib/perl5/&perl-version-min;/core_perl \
-D sitelib=/usr/lib/perl5/&perl-version-min;/site_perl \
-D sitearch=/usr/lib/perl5/&perl-version-min;/site_perl \
-D vendorlib=/usr/lib/perl5/&perl-version-min;/vendor_perl \
-D vendorarch=/usr/lib/perl5/&perl-version-min;/vendor_perl</userinput></screen>
<variablelist>
<title>The meaning of the Configure options:</title>
<varlistentry>
<term><parameter>-des</parameter></term>
<listitem>
<para>This is a combination of three options: -d uses defaults for
all items; -e ensures completion of all tasks; -s silences
non-essential output.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D vendorprefix=/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>-D useshrplib</parameter></term>
<listitem>
<para>Build <systemitem class='library'>libperl</systemitem>
needed by some Perl modules as a shared library, instead of
a static library.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D privlib,-D archlib,-D sitelib,...</parameter></term>
<listitem>
<para>These settings define where Perl looks for installed
modules. The LFS editors chose to put them in a directory structure
based on the MAJOR.MINOR version of Perl (&perl-version-min;) which
allows upgrading Perl to newer patch levels (the patch level is
the last dot separated part in the full version string like
&perl-version;) without reinstalling all of the modules.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make install</userinput></screen>
</sect2>
<sect2 role="content">
<title/>
<para>Details on this package are located in <xref linkend="contents-perl" role="."/></para>
</sect2>
</sect1>