source: general/genlib/js60.xml@ c4ae75ef

10.0 10.1 11.0 9.0 9.1 ken/refactor-virt lazarus qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since c4ae75ef was c4ae75ef, checked in by Douglas R. Reno <renodr@…>, 2 years ago

Add a security patch for mozjs.

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

  • Property mode set to 100644
File size: 6.9 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 js60-download-http "http://ftp.gnome.org/pub/gnome/teams/releng/tarballs-needing-help/mozjs/mozjs-&JS60-version;.tar.bz2">
8 <!ENTITY js60-download-ftp "ftp://ftp.gnome.org/pub/gnome/teams/releng/tarballs-needing-help/mozjs/mozjs-&JS60-version;.tar.bz2">
9 <!ENTITY js60-md5sum "202f71313e53d9b92e7c578107541539">
10 <!ENTITY js60-size "31 MB">
11 <!ENTITY js60-buildsize "640 MB"> <!-- The buildsize is over 4GB! Actually installed is much smaller. -->
12 <!ENTITY js60-time "6.6 SBU">
13]>
14
15<sect1 id="js60" xreflabel="js60-&JS60-version;">
16 <?dbhtml filename="js60.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>JS-&JS60-version;</title>
24
25 <indexterm zone="js60">
26 <primary sortas="a-js60">js60</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to JS</title>
31
32 <para>
33 <application>JS</application> is Mozilla's JavaScript engine
34 written in C. This package is present for GJS.
35 </para>
36
37 &lfs84_checked;
38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>
43 Download (HTTP): <ulink url="&js60-download-http;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download (FTP): <ulink url="&js60-download-ftp;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download MD5 sum: &js60-md5sum;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download size: &js60-size;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated disk space required: &js60-buildsize;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated build time: &js60-time;
69 </para>
70 </listitem>
71 </itemizedlist>
72
73 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
74 <itemizedlist spacing="compact">
75 <listitem>
76 <para>
77 Required patch:
78 <ulink url="&patch-root;/js60-&JS60-version;-security_fix-1.patch"/>
79 </para>
80 </listitem>
81 </itemizedlist>
82
83 <bridgehead renderas="sect3">JS60 Dependencies</bridgehead>
84
85 <bridgehead renderas="sect4">Required</bridgehead>
86 <para role="required">
87 <xref linkend="autoconf213"/>,
88 <xref linkend="icu"/>,
89 <xref linkend="nspr"/>,
90 <xref linkend="python2"/>,
91 <xref linkend="xorg7-lib"/>,
92 <!--<xref linkend="yasm"/>,--> and
93 <xref linkend="zip"/>
94 </para>
95
96 <bridgehead renderas="sect4">Optional</bridgehead>
97 <para role="optional">
98 <xref linkend="doxygen"/>
99 </para>
100
101 <para condition="html" role="usernotes">
102 User Notes: <ulink url="&blfs-wiki;/js60"/>
103 </para>
104 </sect2>
105
106 <sect2 role="installation">
107 <title>Installation of JS</title>
108
109 <caution>
110 <para>If you are reinstalling JS60 with the security patch listed in this
111 page, save all work and exit your GNOME Session if you have one running.
112 Replacing the JS60 binary will cause the GNOME Shell to crash and return
113 you to your display manager or TTY. After installing the patch,
114 reinstall <xref linkend="gjs"/>. Polkit is unaffected.</para>
115 </caution>
116
117 <para>
118 First, apply a security patch:
119 </para>
120
121<screen><userinput remap="pre">patch -Np1 -i ../js60-&JS60-version;-security_fix-1.patch</userinput></screen>
122
123 <para>
124 Install <application>JS</application> by running the following
125 commands:
126 </para>
127
128 &shell-env;
129
130<screen><userinput>mkdir mozjs-build &amp;&amp;
131cd mozjs-build &amp;&amp;
132
133../js/src/configure --prefix=/usr \
134 --with-intl-api \
135 --with-system-zlib \
136 --with-system-nspr \
137 --with-system-icu \
138 --disable-jemalloc \
139 --enable-readline &amp;&amp;
140make</userinput></screen>
141
142 <para>
143 This package does not come with a working test suite.
144 </para>
145
146 <para>
147 Now, as the <systemitem class="username">root</systemitem> user:
148 </para>
149
150<screen role="root"><userinput>make install</userinput></screen>
151
152 </sect2>
153
154 <sect2 role="commands">
155 <title>Command Explanations</title>
156
157 <para>
158 <parameter>--with-*</parameter>: These parameters allow the build system
159 to use system versions of the above libriares. These are required for
160 stability.
161 </para>
162
163 <para>
164 <parameter>--enable-readline</parameter>: This switch enables Readline
165 support in the JS shell.
166 </para>
167
168 <para>
169 <parameter>--disable-jemalloc</parameter>: This switch disables the
170 internal memory allocator used in JS60. jemalloc causes a conflict with glibc.
171 </para>
172
173 </sect2>
174
175 <sect2 role="content">
176 <title>Contents</title>
177
178 <segmentedlist>
179 <segtitle>Installed Programs</segtitle>
180 <segtitle>Installed Libraries</segtitle>
181 <segtitle>Installed Directories</segtitle>
182
183 <seglistitem>
184 <seg>
185 js60 and js60-config
186 </seg>
187 <seg>
188 libmozjs-60.so and libjs_static.ajs <!-- The AJS file doesn't
189 conflict with the one from js52 like originally thought -->
190 </seg>
191 <seg>
192 /usr/include/mozjs-60
193 </seg>
194 </seglistitem>
195 </segmentedlist>
196
197 <variablelist>
198 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
199 <?dbfo list-presentation="list"?>
200 <?dbhtml list-presentation="table"?>
201
202 <varlistentry id="js6-js60">
203 <term><command>js60</command></term>
204 <listitem>
205 <para>
206 provides a command line interface to the
207 <application>JavaScript</application> engine.
208 </para>
209 <indexterm zone="js60 js60">
210 <primary sortas="b-js60">js60</primary>
211 </indexterm>
212 </listitem>
213 </varlistentry>
214
215 <varlistentry id="js60-config">
216 <term><command>js60-config</command></term>
217 <listitem>
218 <para>
219 is used to find the JS compiler and linker flags.
220 </para>
221 <indexterm zone="js60 js60-config">
222 <primary sortas="b-js60-config">js60-config</primary>
223 </indexterm>
224 </listitem>
225 </varlistentry>
226
227 <varlistentry id="libmozjs-60">
228 <term><filename class="libraryfile">libmozjs-60.so</filename></term>
229 <listitem>
230 <para>
231 contains the Mozilla JavaScript API functions.
232 </para>
233 <indexterm zone="js60 libmozjs-60">
234 <primary sortas="c-libmozjs60">libmozjs-60.so</primary>
235 </indexterm>
236 </listitem>
237 </varlistentry>
238 </variablelist>
239 </sect2>
240</sect1>
Note: See TracBrowser for help on using the repository browser.