source: general/genlib/pcre.xml@ 02d46cb

systemd-13485
Last change on this file since 02d46cb was 02d46cb, checked in by Douglas R. Reno <renodr@…>, 6 years ago

Add upstream security fixes for PCRE. Merged from trunk r17122.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@17201 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 "00aabbfe56d5a48b270f999b508c5ad2">
11 <!ENTITY pcre-size "1.5 MB">
12 <!ENTITY pcre-buildsize "25 MB (with tests)">
13 <!ENTITY pcre-time "0.3 SBU (with tests)">
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 &lfs79_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./configure --prefix=/usr \
107 --docdir=/usr/share/doc/pcre-&pcre-version; \
108 --enable-unicode-properties \
109 --enable-pcre16 \
110 --enable-pcre32 \
111 --enable-pcregrep-libz \
112 --enable-pcregrep-libbz2 \
113 --enable-pcretest-libreadline \
114 --disable-static &amp;&amp;
115make</userinput></screen>
116
117 <para>
118 To test the results, issue: <command>make check</command>.
119 </para>
120
121 <para>
122 Now, as the <systemitem class="username">root</systemitem> user:
123 </para>
124
125<screen role="root"><userinput>make install &amp;&amp;
126mv -v /usr/lib/libpcre.so.* /lib &amp;&amp;
127ln -sfv ../../lib/$(readlink /usr/lib/libpcre.so) /usr/lib/libpcre.so</userinput></screen>
128
129 </sect2>
130
131 <sect2 role="commands">
132 <title>Command Explanations</title>
133
134 <para>
135 <parameter>--enable-unicode-properties</parameter>: This switch enables
136 Unicode properties support and includes the code for handling UTF-8/16/32
137 character strings in the library. You need this switch if you are going to
138 build <xref linkend="glib2"/> with the
139 <parameter>--with-pcre=system</parameter> switch.
140 </para>
141
142 <para>
143 <parameter>--enable-pcre16</parameter>: This switch enables 16 bit
144 character support.
145 </para>
146
147 <para>
148 <parameter>--enable-pcre32</parameter>: This switch enables 32 bit
149 character support.
150 </para>
151
152 <para>
153 <parameter>--enable-pcregrep-libz</parameter>: This switch adds
154 support to <command>pcregrep</command> to read
155 <filename class="extension">.gz</filename> compressed files.
156 </para>
157
158 <para>
159 <parameter>--enable-pcregrep-libbz2</parameter>: This switch adds
160 support to <command>pcregrep</command> to read
161 <filename class="extension">.bz2</filename> compressed files.
162 </para>
163
164 <para>
165 <parameter>--enable-pcretest-libreadline</parameter>: This switch adds line
166 editing and history features to <command>pcretest</command> program.
167 </para>
168
169 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
170 href="../../xincludes/static-libraries.xml"/>
171
172 <para>
173 <command>mv -v /usr/lib/libpcre.so.* /lib</command>: Moves the
174 <application>PCRE</application> library on the root filesystem
175 so that it is available in case <command>grep</command>
176 gets reinstalled with <application>PCRE</application> support.
177 </para>
178
179 </sect2>
180
181 <sect2 role="content">
182 <title>Contents</title>
183
184 <segmentedlist>
185 <segtitle>Installed Programs</segtitle>
186 <segtitle>Installed Libraries</segtitle>
187 <segtitle>Installed Directory</segtitle>
188
189 <seglistitem>
190 <seg>
191 pcregrep, pcretest and pcre-config
192 </seg>
193 <seg>
194 libpcre.so, libpcre16.so, libpcre32.so,
195 libpcrecpp.so and libpcreposix.so
196 </seg>
197 <seg>
198 /usr/share/doc/pcre-&pcre-version;
199 </seg>
200 </seglistitem>
201 </segmentedlist>
202
203 <variablelist>
204 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
205 <?dbfo list-presentation="list"?>
206 <?dbhtml list-presentation="table"?>
207
208 <varlistentry id="pcregrep">
209 <term><command>pcregrep</command></term>
210 <listitem>
211 <para>
212 is a <command>grep</command> that understands
213 <application>Perl</application> compatible regular expressions.
214 </para>
215 <indexterm zone="pcre pcregrep">
216 <primary sortas="b-pcregrep">pcregrep</primary>
217 </indexterm>
218 </listitem>
219 </varlistentry>
220
221 <varlistentry id="pcretest">
222 <term><command>pcretest</command></term>
223 <listitem>
224 <para>
225 can test a <application>Perl</application> compatible
226 regular expression.
227 </para>
228 <indexterm zone="pcre pcretest">
229 <primary sortas="b-pcretest">pcretest</primary>
230 </indexterm>
231 </listitem>
232 </varlistentry>
233
234 <varlistentry id="pcre-config">
235 <term><command>pcre-config</command></term>
236 <listitem>
237 <para>
238 is used during the compile process of programs linking to
239 the <application>PCRE</application> libraries.
240 </para>
241 <indexterm zone="pcre pcre-config">
242 <primary sortas="b-pcre-config">pcre-config</primary>
243 </indexterm>
244 </listitem>
245 </varlistentry>
246
247 </variablelist>
248
249 </sect2>
250
251</sect1>
Note: See TracBrowser for help on using the repository browser.