source: general/genlib/pcre.xml@ 7ebae6b3

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 7ebae6b3 was 7ebae6b3, checked in by Ken Moffat <ken@…>, 9 years ago

Fix buffer overflows in pcre-8.37 - these are also present in most previous 8.3x versions.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@16369 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 7.6 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 pcre-download-http " ">
8<!-- <!ENTITY pcre-download-http "&sourceforge-repo;/pcre/pcre-&pcre-version;.tar.bz2">-->
9 <!ENTITY pcre-download-ftp "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-&pcre-version;.tar.bz2">
10 <!ENTITY pcre-md5sum "ed91be292cb01d21bc7e526816c26981">
11 <!ENTITY pcre-size "1.5 MB">
12 <!ENTITY pcre-buildsize "24 MB (additional 1 MB for the tests)">
13 <!ENTITY pcre-time "0.3 SBU">
14]>
15
16<sect1 id="pcre" xreflabel="PCRE-&pcre-version;">
17 <?dbhtml filename="pcre.html"?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>PCRE-&pcre-version;</title>
25
26 <indexterm zone="pcre">
27 <primary sortas="a-PCRE">PCRE</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to PCRE</title>
32
33 <para>
34 The <application>PCRE</application> package contains
35 <application>Perl</application> Compatible Regular Expression
36 libraries. These are useful for implementing regular expression
37 pattern matching using the same syntax and semantics as
38 <application>Perl</application> 5.
39 </para>
40
41 &lfs77_checked; &gcc5_checked;
42
43 <bridgehead renderas="sect3">Package Information</bridgehead>
44 <itemizedlist spacing="compact">
45 <listitem>
46 <para>
47 Download (HTTP): <ulink url="&pcre-download-http;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download (FTP): <ulink url="&pcre-download-ftp;"/>
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download MD5 sum: &pcre-md5sum;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Download size: &pcre-size;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated disk space required: &pcre-buildsize;
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Estimated build time: &pcre-time;
73 </para>
74 </listitem>
75 </itemizedlist>
76
77 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
78 <itemizedlist spacing='compact'>
79 <listitem>
80 <para>Required patch: <ulink
81 url="&patch-root;/pcre-&pcre-version;-upstream_fixes-1.patch"/></para>
82 </listitem>
83 </itemizedlist>
84
85 <bridgehead renderas="sect3">PCRE Dependencies</bridgehead>
86
87 <bridgehead renderas="sect4">Optional</bridgehead>
88 <para role="optional">
89 <xref linkend="valgrind"/>
90 </para>
91
92 <para condition="html" role="usernotes">User Notes:
93 <ulink url="&blfs-wiki;/pcre"/>
94 </para>
95 </sect2>
96
97 <sect2 role="installation">
98 <title>Installation of PCRE</title>
99
100 <para>
101 Install <application>PCRE</application> by running
102 the following commands:
103 </para>
104
105<screen><userinput>patch -Np1 -i ../pcre-&pcre-version;-upstream_fixes-1.patch &amp;&amp;
106
107./configure --prefix=/usr \
108 --docdir=/usr/share/doc/pcre-&pcre-version; \
109 --enable-unicode-properties \
110 --enable-pcre16 \
111 --enable-pcre32 \
112 --enable-pcregrep-libz \
113 --enable-pcregrep-libbz2 \
114 --enable-pcretest-libreadline \
115 --disable-static &amp;&amp;
116make</userinput></screen>
117
118 <para>
119 To test the results, issue: <command>make check</command>.
120 </para>
121
122 <para>
123 Now, as the <systemitem class="username">root</systemitem> user:
124 </para>
125
126<screen role="root"><userinput>make install &amp;&amp;
127mv -v /usr/lib/libpcre.so.* /lib &amp;&amp;
128ln -sfv ../../lib/$(readlink /usr/lib/libpcre.so) /usr/lib/libpcre.so</userinput></screen>
129
130 </sect2>
131
132 <sect2 role="commands">
133 <title>Command Explanations</title>
134
135 <para>
136 <parameter>--enable-unicode-properties</parameter>: This switch enables
137 Unicode properties support and includes the code for handling UTF-8/16/32
138 character strings in the library. You need this switch if you are going to
139 build <xref linkend="glib2"/> with the
140 <parameter>--with-pcre=system</parameter> switch.
141 </para>
142
143 <para>
144 <parameter>--enable-pcre16</parameter>: This switch enables 16 bit
145 character support.
146 </para>
147
148 <para>
149 <parameter>--enable-pcre32</parameter>: This switch enables 32 bit
150 character support.
151 </para>
152
153 <para>
154 <parameter>--enable-pcregrep-libz</parameter>: This switch adds
155 support to <command>pcregrep</command> to read
156 <filename class="extension">.gz</filename> compressed files.
157 </para>
158
159 <para>
160 <parameter>--enable-pcregrep-libbz2</parameter>: This switch adds
161 support to <command>pcregrep</command> to read
162 <filename class="extension">.bz2</filename> compressed files.
163 </para>
164
165 <para>
166 <parameter>--enable-pcretest-libreadline</parameter>: This switch adds line
167 editing and history features to <command>pcretest</command> program.
168 </para>
169
170 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
171 href="../../xincludes/static-libraries.xml"/>
172
173 <para>
174 <command>mv -v /usr/lib/libpcre.so.* /lib</command>: Moves the
175 <application>PCRE</application> library on the root filesystem
176 so that it is available in case <command>grep</command>
177 gets reinstalled with <application>PCRE</application> support.
178 </para>
179
180 </sect2>
181
182 <sect2 role="content">
183 <title>Contents</title>
184
185 <segmentedlist>
186 <segtitle>Installed Programs</segtitle>
187 <segtitle>Installed Libraries</segtitle>
188 <segtitle>Installed Directory</segtitle>
189
190 <seglistitem>
191 <seg>
192 pcregrep, pcretest and pcre-config
193 </seg>
194 <seg>
195 libpcre.so, libpcre16.so, libpcre32.so,
196 libpcrecpp.so and libpcreposix.so
197 </seg>
198 <seg>
199 /usr/share/doc/pcre-&pcre-version;
200 </seg>
201 </seglistitem>
202 </segmentedlist>
203
204 <variablelist>
205 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
206 <?dbfo list-presentation="list"?>
207 <?dbhtml list-presentation="table"?>
208
209 <varlistentry id="pcregrep">
210 <term><command>pcregrep</command></term>
211 <listitem>
212 <para>
213 is a <command>grep</command> that understands
214 <application>Perl</application> compatible regular expressions.
215 </para>
216 <indexterm zone="pcre pcregrep">
217 <primary sortas="b-pcregrep">pcregrep</primary>
218 </indexterm>
219 </listitem>
220 </varlistentry>
221
222 <varlistentry id="pcretest">
223 <term><command>pcretest</command></term>
224 <listitem>
225 <para>
226 can test a <application>Perl</application> compatible
227 regular expression.
228 </para>
229 <indexterm zone="pcre pcretest">
230 <primary sortas="b-pcretest">pcretest</primary>
231 </indexterm>
232 </listitem>
233 </varlistentry>
234
235 <varlistentry id="pcre-config">
236 <term><command>pcre-config</command></term>
237 <listitem>
238 <para>
239 is used during the compile process of programs linking to
240 the <application>PCRE</application> libraries.
241 </para>
242 <indexterm zone="pcre pcre-config">
243 <primary sortas="b-pcre-config">pcre-config</primary>
244 </indexterm>
245 </listitem>
246 </varlistentry>
247
248 </variablelist>
249
250 </sect2>
251
252</sect1>
Note: See TracBrowser for help on using the repository browser.