source: postlfs/security/nss.xml@ 60db080

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 60db080 was 636acb32, checked in by Randy McMurchy <randy@…>, 17 years ago

Updated the number of tests that should pass in the NSS instructions

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

  • Property mode set to 100644
File size: 10.7 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 nspr-version "4.6.7">
8 <!ENTITY nss-download-http "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_11_7_RTM/src/nss-&nss-version;-with-nspr-&nspr-version;.tar.gz">
9 <!ENTITY nss-download-ftp "ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_11_7_RTM/src/nss-&nss-version;-with-nspr-&nspr-version;.tar.gz">
10 <!ENTITY nss-md5sum "0b0c6bdf63c442d68453e470b8747a9d">
11 <!ENTITY nss-size "5.0 MB">
12 <!ENTITY nss-buildsize "71 MB">
13 <!ENTITY nss-time "0.8 SBU (additional 0.9 SBU to run the test suite)">
14]>
15
16<sect1 id="nss" xreflabel="NSS-&nss-version;">
17 <?dbhtml filename="nss.html"?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>NSS-&nss-version;</title>
25
26 <indexterm zone="nss">
27 <primary sortas="a-NSS">NSS</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to NSS</title>
32
33 <para>The Network Security Services (<application>NSS</application>)
34 package is a set of libraries designed to support cross-platform
35 development of security-enabled client and server applications.
36 Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5,
37 PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other
38 security standards. This is useful for implementing SSL and S/MIME or
39 other Internet security standards into an application.</para>
40
41 <para>The <application>NSS</application> package requires the Netscape
42 Portable Runtime (NSPR) libraries as a prerequisite for building. The
43 <application>NSS</application> package tarball contains the code necessary
44 to build the NSPR libraries. These libraries are built and installed using
45 the instructions below. Essentially, the <application>NSS</application>
46 package is now a combined <application>NSS</application>/NSPR
47 installation.</para>
48
49
50 <bridgehead renderas="sect3">Package Information</bridgehead>
51 <itemizedlist spacing="compact">
52 <listitem>
53 <para>Download (HTTP): <ulink url="&nss-download-http;"/></para>
54 </listitem>
55 <listitem>
56 <para>Download (FTP): <ulink url="&nss-download-ftp;"/></para>
57 </listitem>
58 <listitem>
59 <para>Download MD5 sum: &nss-md5sum;</para>
60 </listitem>
61 <listitem>
62 <para>Download size: &nss-size;</para>
63 </listitem>
64 <listitem>
65 <para>Estimated disk space required: &nss-buildsize;</para>
66 </listitem>
67 <listitem>
68 <para>Estimated build time: &nss-time;</para>
69 </listitem>
70 </itemizedlist>
71
72 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
73 <itemizedlist spacing="compact">
74 <listitem>
75 <para>Required patch: <ulink
76 url="&patch-root;/nss-&nss-version;-with-nspr-&nspr-version;-fedora_fixes-1.patch"/></para>
77 </listitem>
78 </itemizedlist>
79
80 <para condition="html" role="usernotes">User Notes:
81 <ulink url="&blfs-wiki;/nss"/></para>
82
83 </sect2>
84
85 <sect2 role="installation">
86 <title>Installation of NSS</title>
87
88 <para>Install <application>NSS</application> by running the following
89 commands:</para>
90
91<screen><userinput>bash
92
93export WORKINGDIR=$PWD &amp;&amp;
94export BUILD_OPT=1 &amp;&amp;
95
96patch -Np1 -i ../nss-&nss-version;-with-nspr-&nspr-version;-fedora_fixes-1.patch &amp;&amp;
97
98cd mozilla/security/nss &amp;&amp;
99make nss_build_all &amp;&amp;
100cd ../.. &amp;&amp;
101
102export NSS_LINUXDIR=$(basename `ls -d $WORKINGDIR/mozilla/dist/Linux*`)</userinput></screen>
103
104 <para>To test the results, you'll need to set the domain name of your
105 system in the <envar>DOMSUF</envar> environment variable. Most of the tests
106 will fail if you don't provide the correct domain name. A self-generated
107 log file will be parsed at the end of the test to display how many tests
108 passed. It should return 800. To run the tests, ensure you change the
109 <command>export DOMSUF</command> command below to an appropriate value,
110 e.g., <parameter>mydomain.com</parameter> and issue the following
111 commands:</para>
112
113<screen><userinput>bash
114
115export DOMSUF=<replaceable>&lt;validdomain.name&gt;</replaceable> &amp;&amp;
116export PATH=$PATH:$WORKINGDIR/mozilla/dist/$NSS_LINUXDIR/bin &amp;&amp;
117export TEST_RESULTSDIR=$WORKINGDIR/mozilla/tests_results/security &amp;&amp;
118
119cd security/nss/tests &amp;&amp;
120sed -i 's/gmake/make/' common/init.sh &amp;&amp;
121./all.sh &amp;&amp;
122
123grep Passed $TEST_RESULTSDIR/$(hostname).1/results.html | wc -l &amp;&amp;
124
125exit</userinput></screen>
126
127 <caution>
128 <para>If you switch to the <systemitem class="username">root</systemitem>
129 user using a method that does not inherit the environment from the
130 unprivileged user, ensure that
131 <systemitem class="username">root</systemitem>'s
132 <envar>NSS_LINUXDIR</envar> environment variable is set correctly before
133 proceeding with the installation commands.</para>
134 </caution>
135
136 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
137
138<screen role="root"><userinput>install -v -m755 nsprpub/$NSS_LINUXDIR/config/nspr-config \
139 security/nss/cmd/config/nss-config \
140 /usr/bin &amp;&amp;
141install -v -m755 -d /usr/lib/pkgconfig &amp;&amp;
142install -v -m644 nsprpub/lib/pkgconfig/nspr.pc \
143 security/nss/lib/pkgconfig/nss.pc \
144 /usr/lib/pkgconfig &amp;&amp;
145
146cd dist &amp;&amp;
147
148install -v -m755 $NSS_LINUXDIR/lib/*.so /usr/lib &amp;&amp;
149install -v -m644 $NSS_LINUXDIR/lib/{*.chk,libcrmf.a} /usr/lib &amp;&amp;
150
151install -v -m755 -d /usr/include/{nss,nspr} &amp;&amp;
152install -v -m644 {public,private}/nss/* /usr/include/nss &amp;&amp;
153cp -v -RL $NSS_LINUXDIR/include/* /usr/include/nspr &amp;&amp;
154chmod -v 644 /usr/include/nspr/prvrsion.h</userinput></screen>
155
156 <para>Now as the unprivileged user, exit the <command>bash</command>
157 shell started at the beginning of the installation to restore the
158 environment to the original state.</para>
159
160<screen><userinput>exit</userinput></screen>
161
162 </sect2>
163
164 <sect2 role="commands">
165 <title>Command Explanations</title>
166
167 <para><command>bash</command>: Shells are started as many environment
168 variables are created during the installation process. Exiting the shells
169 serves the purpose of restoring the environment and returning back to the
170 original directory when the installation is complete.</para>
171
172 <para><command>export WORKINGDIR=$PWD</command>: This variable is set
173 because many of the commands are dependent on knowing the full path of
174 certain directories. <envar>WORKINGDIR</envar> establishes a known path
175 so that all others can be determined relative to this.</para>
176
177 <para><command>export BUILD_OPT=1</command>: This variable is set so that
178 the build is performed with no debugging symbols built into the binaries
179 and that the default compiler optimizations are used.</para>
180
181 <para><command>export NSS_LINUXDIR=...</command>: This variable is set so
182 that the exact name of the architecture specific directories where the
183 binaries are stored in the source tree can be determined.</para>
184
185 <para><command>make nss_build_all</command>: This command builds the NSPR
186 and <application>NSS</application> libraries and creates a
187 <filename class='directory'>dist</filename> directory which houses all the
188 programs, libraries and interface headers. None of the programs created by
189 this process are installed onto the system using the default instructions.
190 If you need any of these programs installed, you can find them in the
191 <filename class='directory'>mozilla/dist/bin</filename> directory of the
192 source tree.</para>
193
194 <para><command>export PATH=...</command>: This command sets the
195 <envar>PATH</envar> environment variable to include the executables in
196 the source tree as some of them are required to run the test suite.</para>
197
198 <para><command>sed -i 's/gmake/make/' common/init.sh</command>: This
199 command changes the command used to compile some test programs.</para>
200
201 </sect2>
202
203 <sect2 role="content">
204 <title>Contents</title>
205
206 <segmentedlist>
207 <segtitle>Installed Programs</segtitle>
208 <segtitle>Installed Libraries</segtitle>
209 <segtitle>Installed Directories</segtitle>
210
211 <seglistitem>
212 <seg>nspr-config and nss-config</seg>
213 <seg>libcrmf.a, libfreebl3.so, libnspr4.so, libnss3.so, libnssckbi.so,
214 libplc4.so, libplds4.so, libsmime3.so, libsoftokn3.so and
215 libssl3.so</seg>
216 <seg>/usr/include/nspr and /usr/include/nss</seg>
217 </seglistitem>
218 </segmentedlist>
219
220 <variablelist>
221 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
222 <?dbfo list-presentation="list"?>
223 <?dbhtml list-presentation="table"?>
224
225 <varlistentry id="nspr-config">
226 <term><command>nspr-config</command></term>
227 <listitem>
228 <para>is used to determine the NSPR installation settings
229 of the installed NSPR libraries.</para>
230 <indexterm zone="nss nspr-config">
231 <primary sortas="b-nspr-config">nspr-config</primary>
232 </indexterm>
233 </listitem>
234 </varlistentry>
235
236 <varlistentry id="nss-config">
237 <term><command>nss-config</command></term>
238 <listitem>
239 <para>is used to determine the NSS library settings
240 of the installed NSS libraries.</para>
241 <indexterm zone="nss nss-config">
242 <primary sortas="b-nss-config">nss-config</primary>
243 </indexterm>
244 </listitem>
245 </varlistentry>
246 </variablelist>
247
248 <para>The <filename class='libraryfile'>libnspr4.so</filename>,
249 <filename class='libraryfile'>libplc4.so</filename> and
250 <filename class='libraryfile'>libplds4.so</filename> libraries make up the
251 Netscape Portable Runtime (NSPR) libraries. These libraries provide a
252 platform-neutral API for system level and libc like functions. The API
253 is used in the Mozilla client, many of the Netscape/AOL/iPlanet offerings
254 and other software applications.</para>
255
256 <para>The <filename class='libraryfile'>libcrmf.a</filename>,
257 <filename class='libraryfile'>libfreebl.so</filename>,
258 <filename class='libraryfile'>libnss3.so</filename>,
259 <filename class='libraryfile'>libnssckbi.so</filename>,
260 <filename class='libraryfile'>libsmime3.so</filename>,
261 <filename class='libraryfile'>libsoftokn3.so</filename> and
262 <filename class='libraryfile'>libnssl3.so</filename> libraries make up
263 the <application>NSS</application> libraries.</para>
264
265 </sect2>
266
267</sect1>
Note: See TracBrowser for help on using the repository browser.