source: postlfs/security/nss.xml@ 0aeb696

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 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 0aeb696 was 0aeb696, checked in by Randy McMurchy <randy@…>, 18 years ago

Added a comment to each file that may need a mention of a test suite added to it, this allows closing of bug #1697

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

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