Browse Source

Add optional patch to ninja.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11311 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Bruce Dubbs 7 years ago
parent
commit
4476fba0b9
5 changed files with 53 additions and 12 deletions
  1. 10 1
      chapter01/changelog.xml
  2. 8 0
      chapter03/patches.xml
  3. 28 8
      chapter06/ninja.xml
  4. 3 3
      general.ent
  5. 4 0
      patches.ent

+ 10 - 1
chapter01/changelog.xml

@@ -43,7 +43,16 @@
     appropriate for the entry or if needed the entire day's listitem.
 -->
     <listitem>
-      <para>2017-10-24</para>
+      <para>2017-10-15</para>
+      <itemizedlist>
+        <listitem>
+          <para>[bdubbs] - Add optional patch to ninja.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>2017-10-14</para>
       <itemizedlist>
         <listitem>
           <para>[bdubbs] - Update to bash-4.4.12.  Fixes

+ 8 - 0
chapter03/patches.xml

@@ -83,6 +83,14 @@
         <para>MD5 sum: <literal>&kbd-backspace-patch-md5;</literal></para>
       </listitem>
     </varlistentry>
+
+    <varlistentry>
+      <term>Ninja Limit Jobs Patch - <token>&ninja-limit-jobs-patch-size;</token>:</term>
+      <listitem>
+        <para>Download: <ulink url="&patches-root;&ninja-limit-jobs-patch;"/></para>
+        <para>MD5 sum: <literal>&ninja-limit-jobs-patch-md5;</literal></para>
+      </listitem>
+    </varlistentry>
 <!--
     <varlistentry>
       <term>Readline Upstream Fixes Patch - <token>&readline-fixes-patch-size;</token>:</term>

+ 28 - 8
chapter06/ninja.xml

@@ -40,12 +40,35 @@
   <sect2 role="installation">
     <title>Installation of Ninja</title>
 
-    <para>Prepare Ninja for compilation:</para>
+    <para>When run, ninja normally runs a maximum number of processes
+    in parallel.  By default this is the number of cores on the system 
+    plus two.  In some cases this can overheat a CPU or run a system out
+    of memory.  If run from the command line, passing a -jN parameter
+    will limit the number of parallel processes, but some packages
+    embed the execution of ninja and do not pass a -j parameter.</para>
+
+    <para>Using the <emphasis>optional</emphasis> patch below allows a user to
+    limit the number of parallel processes via an environment variable, 
+    NINJAJOBS.  <command>For example</command> setting:
+
+     <!-- Using <command> here to make the output bold.  We really don't want
+     users setting this now and experience shows that many users blindly
+     copy/paste anything in a box. -->
+
+    <screen>export NINJAJOBS=4</screen>
+
+    will limit ninja to four parallel processes.</para>
+
+    <para>If desired, install the patch by running:</para>
+
+<screen><userinput remap="pre">patch -Np1 -i ../ninja-1.8.2-add_NINJAJOBS_var-1.patch</userinput></screen>
+
+    <para>Build Ninja with:</para>
 
 <screen><userinput remap="configure">python3 configure.py --bootstrap</userinput></screen>
 
     <variablelist>
-      <title>The meaning of the configure options:</title>
+      <title>The meaning of the build option:</title>
 
       <varlistentry>
         <term><parameter>--bootstrap</parameter></term>
@@ -66,12 +89,9 @@
     <para>Install the package:</para>
 
 <screen><userinput remap="install">install -vm755 ninja /usr/bin/
-install -vDm644 misc/ninja.vim \
-                /usr/share/vim/vim&vim-majmin;/syntax/ninja.vim
-install -vDm644 misc/bash-completion \
-                /usr/share/bash-completion/completions/ninja
-install -vDm644 misc/zsh-completion \
-                /usr/share/zsh/site-functions/_ninja</userinput></screen>
+install -vDm644 misc/ninja.vim       /usr/share/vim/vim&vim-majmin;/syntax/ninja.vim
+install -vDm644 misc/bash-completion /usr/share/bash-completion/completions/ninja
+install -vDm644 misc/zsh-completion  /usr/share/zsh/site-functions/_ninja</userinput></screen>
 
   </sect2>
 

+ 3 - 3
general.ent

@@ -1,13 +1,13 @@
-<!ENTITY version         "SVN-20171014">
+<!ENTITY version         "SVN-20171015">
 <!ENTITY short-version   "svn">  <!-- Used below in &blfs-book; 
                                       Change to x.y for release but not -rc releases -->
 <!ENTITY generic-version "development"> <!-- Use "development"  or "x.y[-pre{x}]" -->
 
-<!ENTITY versiond        "20171014-systemd">
+<!ENTITY versiond        "20171015-systemd">
 <!ENTITY short-versiond  "systemd">
 <!ENTITY generic-versiond "systemd"> 
 
-<!ENTITY releasedate     "October 14, 2017">
+<!ENTITY releasedate     "October 15, 2017">
 
 <!ENTITY copyrightdate   "1999-2017"><!-- jhalfs needs a literal dash, not &ndash; -->
 <!ENTITY milestone       "8.2">

+ 4 - 0
patches.ent

@@ -44,6 +44,10 @@
 <!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895">
 <!ENTITY kbd-backspace-patch-size "12 KB">
 
+<!ENTITY ninja-limit-jobs-patch "ninja-&ninja-version;-add_NINJAJOBS_var-1.patch">
+<!ENTITY ninja-limit-jobs-patch-md5 "f537a633532492e805aa342fa869ca45">
+<!ENTITY ninja-limit-jobs-patch-size "2.5">
+
 <!ENTITY sysvinit-consolidated-patch "sysvinit-&sysvinit-version;-consolidated-1.patch">
 <!ENTITY sysvinit-consolidated-patch-md5 "0b7b5ea568a878fdcc4057b2bf36e5cb">
 <!ENTITY sysvinit-consolidated-patch-size "3.9 KB">