Index: general.ent
===================================================================
--- general.ent	(revision eab496c53d09288208f2df3a50723d571a3dc5da)
+++ general.ent	(revision d61ead0a10af9de19330391ead36151ae30d6619)
@@ -1,5 +1,5 @@
 <!-- $LastChangedBy$ $Date$ -->
 
-<!ENTITY day          "18">                   <!-- Always 2 digits -->
+<!ENTITY day          "19">                   <!-- Always 2 digits -->
 <!ENTITY month        "02">                   <!-- Always 2 digits -->
 <!ENTITY year         "2018">
@@ -7,5 +7,5 @@
 <!ENTITY copyholder   "The BLFS Development Team">
 <!ENTITY version      "&year;-&month;-&day;">
-<!ENTITY releasedate  "February 18th, &year;">
+<!ENTITY releasedate  "February 19th, &year;">
 <!ENTITY pubdate      "&year;-&month;-&day;"> <!-- metadata req. by TLDP -->
 <!ENTITY blfs-version "svn">                  <!-- svn|[release #] -->
Index: general/prog/apache-ant.xml
===================================================================
--- general/prog/apache-ant.xml	(revision eab496c53d09288208f2df3a50723d571a3dc5da)
+++ general/prog/apache-ant.xml	(revision d61ead0a10af9de19330391ead36151ae30d6619)
@@ -7,7 +7,7 @@
   <!ENTITY apache-ant-download-http "https://archive.apache.org/dist/ant/source/apache-ant-&apache-ant-version;-src.tar.xz">
   <!ENTITY apache-ant-download-ftp  " ">
-  <!ENTITY apache-ant-md5sum        "ebecbe7488c624b06bc6a264a3a7c4ec">
-  <!ENTITY apache-ant-size          "3.4 MB">
-  <!ENTITY apache-ant-buildsize     "121 MB">
+  <!ENTITY apache-ant-md5sum        "57235f3dccfc4b18a260862905ce6c04">
+  <!ENTITY apache-ant-size          "3.6 MB">
+  <!ENTITY apache-ant-buildsize     "262 MB">
   <!ENTITY apache-ant-time          "0.3 SBU (with a JVM using 4 cores)">
 ]>
@@ -69,5 +69,5 @@
         <para>
           Required file: <ulink
-             url="http://repo1.maven.org/maven2/junit/junit/&junit-version;/junit-&junit-version;.jar"/>
+             url="https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/javax/media/jai-core/1.1.3/jai-core-1.1.3.jar"/>
         </para>
       </listitem>
@@ -75,5 +75,17 @@
         <para>
           Required file: <ulink
-             url="http://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/&hamcrest-version;/hamcrest-core-&hamcrest-version;.jar"/>
+             url="https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/com/sun/media/jai-codec/1.1.3/jai-codec-1.1.3.jar"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Required file: <ulink
+             url="http://central.maven.org/maven2/org/tukaani/xz/1.0/xz-1.0.jar"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Required file: <ulink
+             url="http://www.netrexx.org/files/NetRexx-3.06-GA.zip"/>
         </para>
       </listitem>
@@ -101,39 +113,35 @@
     <title>Installation of Apache Ant</title>
 
-    <note>
-      <para>You may need additional libraries to satisfy the build
-      requirements of various packages installed using
-      <application>Apache Ant</application>. Review the table at
-      <ulink url="http://ant.apache.org/manual/install.html#librarydependencies"/>
-      for any prerequisite libraries you may need. Place any needed libraries
-      in <filename>lib/optional</filename>.</para>
-    </note>
-
-<!--    <para>If it is not possible to install the recommended
-    <application>JUnit</application> package, install
-    <application>Apache Ant</application> by removing the reference to the test
-    instructions (note that the tests will not be performed):</para>
-
-<screen><userinput>sed -i 's/jars,test-jar/jars/' build.xml</userinput></screen>
--->
-    <para>Unpack and copy the <application>junit</application> and
-    <application>hamcrest</application> jar files to the
-    local directory tree.</para>
-
-<screen><userinput>cp -v ../junit-&junit-version;.jar \
-      ../hamcrest-core-&hamcrest-version;.jar lib/optional</userinput></screen>
-
-    <para>Install <application>Apache Ant</application> by running the following
-    commands:</para>
-
-    <para>The unit regression tests are performed during the build step below
-    unless <application>JUnit</application> is not installed. Now, as the
-    <systemitem class="username">root</systemitem> user:</para>
-
-<screen role="root"><userinput>./build.sh -Ddist.dir=/opt/ant-&apache-ant-version; dist &amp;&amp;
-ln -v -sfn ant-&apache-ant-version; /opt/ant</userinput></screen>
-
-    <note><para>Make sure the JAVA_HOME environment variable is set for the
-    <systemitem class="username">root</systemitem> user.</para></note>
+    <note><para>Several dependent packages have moved since the packaging of
+    <application>Ant</application> requiring download of the above extra files.
+    Copy those files into the source tree with the following
+    commands:</para></note>
+
+<screen><userinput>cp -v ../jai-core-1.1.3.jar  \
+      ../jai-codec-1.1.3.jar \
+      ../xz-1.0.jar  lib     &amp;&amp;
+unzip -p ../NetRexx-3.06-GA.zip lib/NetRexxC.jar > lib/NetRexxC.jar</userinput></screen>
+
+    <para>Build a limited bootstrap version of <application>Apache
+    Ant</application> using the following command:</para>
+
+<screen><userinput>./bootstrap.sh</userinput></screen>
+
+    <para>Download the rest of the runtime dependencies using the
+    <filename>fetch.xml</filename> ant build script:</para>
+
+<screen><userinput>bootstrap/bin/ant -f fetch.xml -Ddest=system || true &amp;&amp;
+cp -v lib/*.jar lib/optional/</userinput></screen>
+
+    <para>Build <application>Apache Ant</application> by running the following
+    command:</para>
+
+<screen><userinput>./build.sh -Ddist.dir=$PWD/ant-&apache-ant-version; dist</userinput></screen>
+
+    <para>Install, as the <systemitem class="username">root</systemitem> user:</para>
+
+<screen role="root"><userinput>cp -rv ant-&apache-ant-version; /opt/            &amp;&amp;
+chown -R root:root /opt/ant-&apache-ant-version; &amp;&amp;
+ln -sfv ant-&apache-ant-version; /opt/ant</userinput></screen>
 
   </sect2>
@@ -142,15 +150,16 @@
     <title>Command Explanations</title>
 
-    <para><command>cp -v ... lib/optional</command>:
-    This command copies the JUnit and hamcrest jar files into the directory
-    where Apache Ant will look for them.</para>
-
-    <para><command>./build.sh -Ddist.dir=/opt/ant-&apache-ant-version;
-    dist</command>: This command does everything. It builds, tests, then
+    <para><command>bootstrap/bin/ant -f fetch.xml -Ddest=system ||
+    true</command>: These commands download the rest of the missing dependencies
+    into the source tree (in the <filename>lib/</filename> directory).</para>
+
+    <para><command>cp -v ... lib/optional</command>: This command copies the
+    previously downloaded jar files to the expected place in the source
+    tree so that <command>ant</command> picks them up at buld time.</para>
+
+    <para><command>./build.sh -Ddist.dir=$PWD/ant-&apache-ant-version;
+    dist</command>: This command builds, tests, then
     installs the package into
-    <filename class='directory'>/opt/ant-&apache-ant-version;</filename>.</para>
-
-    <para><command>ln -v -sfn ant-&apache-ant-version; /opt/ant</command>: This
-    command is optional, and creates a convenience symlink.</para>
+    <filename class='directory'>a temporary directory.</filename>.</para>
 
   </sect2>
Index: general/prog/java.xml
===================================================================
--- general/prog/java.xml	(revision eab496c53d09288208f2df3a50723d571a3dc5da)
+++ general/prog/java.xml	(revision d61ead0a10af9de19330391ead36151ae30d6619)
@@ -6,14 +6,14 @@
 
   <!ENTITY anduin-download             "&sources-anduin-http;/OpenJDK/OpenJDK-&openjdk-version;">
-  <!ENTITY openjdk-download-binary-x86 "&anduin-download;/OpenJDK-&openjdk-version;-i686-bin.tar.xz">
-  <!ENTITY openjdk-bin-md5sum-x86      "08ea7bd6d308382d9fb605ffe1599d15">
-  <!ENTITY openjdk-bin-size-x86        "57 MB">
-  <!ENTITY openjdk-bin-buildsize-x86   "167 MB">
+  <!ENTITY openjdk-download-binary-x86 "&anduin-download;/OpenJDK-&openjdk-version;+&openjdk-build;-i686-bin.tar.xz">
+  <!ENTITY openjdk-bin-md5sum-x86      "1d7b1412aec6931a4b267e6b04d4103e">
+  <!ENTITY openjdk-bin-size-x86        "157 MB">
+  <!ENTITY openjdk-bin-buildsize-x86   "303 MB">
 
 
-  <!ENTITY openjdk-download-binary-x64 "&anduin-download;/OpenJDK-&openjdk-version;-x86_64-bin.tar.xz">
-  <!ENTITY openjdk-bin-md5sum-x64      "e924a6923dc156e9f65ca53fffcdcf30">
-  <!ENTITY openjdk-bin-size-x64        "58 MB">
-  <!ENTITY openjdk-bin-buildsize-x64   "170 MB">
+  <!ENTITY openjdk-download-binary-x64 "&anduin-download;/OpenJDK-&openjdk-version;+&openjdk-build;-x86_64-bin.tar.xz">
+  <!ENTITY openjdk-bin-md5sum-x64      "ef09e8b2990341587fae2a5d51d5bdea">
+  <!ENTITY openjdk-bin-size-x64        "169 MB">
+  <!ENTITY openjdk-bin-buildsize-x64   "331 MB">
 ]>
 
@@ -83,5 +83,5 @@
     version.</para>
 
-    &lfs81_checked;
+    &lfs82_checked;
 
     <bridgehead renderas="sect3">Binary Package Information</bridgehead>
@@ -134,7 +134,7 @@
     <systemitem class="username">root</systemitem> user:</para>
 
-<screen role="root"><userinput>install -vdm755 /opt/OpenJDK-&openjdk-version;-bin &amp;&amp;
-mv -v * /opt/OpenJDK-&openjdk-version;-bin         &amp;&amp;
-chown -R root:root /opt/OpenJDK-&openjdk-version;-bin</userinput></screen>
+<screen role="root"><userinput>install -vdm755 /opt/OpenJDK-&openjdk-version;+&openjdk-build;-bin &amp;&amp;
+mv -v * /opt/OpenJDK-&openjdk-version;+&openjdk-build;-bin         &amp;&amp;
+chown -R root:root /opt/OpenJDK-&openjdk-version;+&openjdk-build;-bin</userinput></screen>
 
     <para>
@@ -144,5 +144,5 @@
     </para>
 
-<screen role="root"><userinput>ln -sfn OpenJDK-&openjdk-version;-bin /opt/jdk</userinput></screen>
+<screen role="root"><userinput>ln -sfn OpenJDK-&openjdk-version;+&openjdk-build;-bin /opt/jdk</userinput></screen>
 
     <para>
Index: general/prog/openjdk.xml
===================================================================
--- general/prog/openjdk.xml	(revision eab496c53d09288208f2df3a50723d571a3dc5da)
+++ general/prog/openjdk.xml	(revision d61ead0a10af9de19330391ead36151ae30d6619)
@@ -5,33 +5,29 @@
   %general-entities;
 
-  <!ENTITY ojdk-upd                  "141">
-  <!ENTITY ojdk-bd                   "b15">
-  <!ENTITY ojdk-tarball              "jdk8u&ojdk-upd;-&ojdk-bd;.tar.bz2">
-  <!ENTITY ojdk-repo                 "http://hg.openjdk.java.net/jdk8u/jdk8u">
+  <!ENTITY ojdk-tarball              "jdk-&openjdk-version;+&openjdk-build;.tar.bz2">
+  <!ENTITY ojdk-repo                 "http://hg.openjdk.java.net/jdk-updates/jdk9u">
   <!ENTITY ojdk-download             "&ojdk-repo;/archive/&ojdk-tarball;">
 
   <!ENTITY anduin-download           "&sources-anduin-http;/OpenJDK/OpenJDK-&openjdk-version;">
 
-  <!ENTITY ojdk-md5sum               "df3504e95d6e88924babb3821d4210a6">
-  <!ENTITY ojdk-size                 "498 KB">
-
-  <!ENTITY corba-md5sum              "4061c0f2dc553cf92847e4a39a03ea4e">
-  <!ENTITY hotspot-md5sum            "269a0fde90b9ab5ca19fa82bdb3d6485">
-  <!ENTITY jaxp-md5sum               "a1dfcd15119dd10db6e91dc2019f14e7">
-  <!ENTITY jaxws-md5sum              "16f904d990cb6a3c84ebb81bd6bea1e7">
-  <!ENTITY jdk-md5sum                "c4a99c9c5293bb5c174366664843c8ce">
-  <!ENTITY langtools-md5sum          "4fb652cdd6fee5f2873b00404e9a01f3">
-  <!ENTITY nashorn-md5sum            "c2f06cd8d6e90f3dcc57bec53f419afe">
-  <!ENTITY total-download-size       "63 MB">
-
-  <!ENTITY jtreg-version             "4.2-b08-891">
-  <!ENTITY jtreg-download            "&anduin-download;/jtreg-&jtreg-version;.tar.gz">
-  <!ENTITY jtreg-md5sum              "f409d5313b5d9aa81bb6868082fda161">
-  <!ENTITY jtreg-size                "6.8 MB">
-
-  <!ENTITY icedtea-web-download      "http://icedtea.classpath.org/download/source/icedtea-web-&icedtea-web-version;.tar.gz">
-
-  <!ENTITY ojdk-buildsize           "3.5 GB (additional 529 MB for tests)">
-  <!ENTITY ojdk-time                "4.3 SBU with 8 jobs in parallel (up to 120 SBU for tests, see below)">
+  <!ENTITY ojdk-md5sum               "174205155c001cf0cc5d3250d86cfb69">
+  <!ENTITY ojdk-size                 "812 KB">
+
+  <!ENTITY corba-md5sum              "dbc62e27a93686a9aea12e9c97c2f765">
+  <!ENTITY hotspot-md5sum            "25853ba33123397b2e755249f102ae73">
+  <!ENTITY jaxp-md5sum               "f5ab5e468565e1ab3a181d2efb45b51f">
+  <!ENTITY jaxws-md5sum              "520ff49cb470fbcec2f46cbb3fdb377d">
+  <!ENTITY jdk-md5sum                "be9f261b19451ab1300c5842188e3fe2">
+  <!ENTITY langtools-md5sum          "22b65322d04c8ffafd77230dbe5f178f">
+  <!ENTITY nashorn-md5sum            "729d03b0cede2f697ad77170a9d89095">
+  <!ENTITY total-download-size       "83 MB">
+
+  <!ENTITY jtreg-version             "4.2-b12">
+  <!ENTITY jtreg-download            "https://ci.adoptopenjdk.net/view/all/job/jtreg/lastSuccessfulBuild/artifact/jtreg-&jtreg-version;.tar.gz">
+  <!ENTITY jtreg-md5sum              "630ac0b2108a48a85d71dc1fba856fda">
+  <!ENTITY jtreg-size                "7.3 MB">
+
+  <!ENTITY ojdk-bdsize           "4.6 GB (additional 676 MB for tests)">
+  <!ENTITY ojdk-time                "3.8 SBU with 4 jobs (additonal 12.1 SBU for tests with 4 jobs)">
 ]>
 
@@ -61,5 +57,5 @@
     </para>
 
-    &lfs81_checked;
+    &lfs82_checked;
 
     <note>
@@ -122,10 +118,21 @@
     <itemizedlist spacing="compact">
       <listitem>
-        <para>OpenJDK Root Package
-          <simplelist>
-            <member>Download: <ulink url="&ojdk-download;"/></member>
-            <member>Download MD5 sum: &ojdk-md5sum;</member>
-            <member>Download Size: &ojdk-size;</member>
-          </simplelist>
+        <para>
+          Download (HTTP): <ulink url="&ojdk-download;"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download (FTP): <ulink url=" "/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download MD5 sum: &ojdk-md5sum;
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download Size: &ojdk-size;
         </para>
       </listitem>
@@ -138,5 +145,5 @@
       </listitem>
       <listitem>
-        <para>Estimated disk space required: &ojdk-buildsize;</para>
+        <para>Estimated disk space required: &ojdk-bdsize;</para>
       </listitem>
       <listitem>
@@ -147,19 +154,20 @@
     <bridgehead renderas="sect3">Additional Downloads</bridgehead>
 
+    <bridgehead renderas="sect4">Optional test harness</bridgehead>
+
     <itemizedlist spacing='compact'>
       <listitem>
-        <para>Optional test harness
-          <simplelist>
-            <member>Download: <ulink url="&jtreg-download;"/></member>
-            <member>Download MD5 sum: &jtreg-md5sum;</member>
-            <member>Download Size: &jtreg-size;</member>
-          </simplelist>
+        <para>
+          <ulink url="&jtreg-download;"/>
         </para>
       </listitem>
       <listitem>
         <para>
-          Optional package (to get an icon for the
-          <filename>openjdk-8-policytool.desktop</filename> file):
-          <ulink url="&icedtea-web-download;"/>
+          Download MD5 sum: &jtreg-md5sum;
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download Size: &jtreg-size;
         </para>
       </listitem>
@@ -185,5 +193,8 @@
     <para role="recommended">
       <xref linkend="cacerts"/>,
-      <xref linkend="giflib"/>, and
+      <xref linkend="giflib"/>,
+      <xref linkend="lcms2"/>,
+      <xref linkend="libjpeg"/>,
+      <xref linkend="libpng"/>, and
       <xref linkend="wget"/>
     </para>
@@ -216,10 +227,11 @@
 &jaxp-md5sum;  jaxp.tar.bz2
 &jaxws-md5sum;  jaxws.tar.bz2
+&jdk-md5sum;  jdk.tar.bz2
 &langtools-md5sum;  langtools.tar.bz2
-&jdk-md5sum;  jdk.tar.bz2
 &nashorn-md5sum;  nashorn.tar.bz2
 EOF
 
-for subproject in corba hotspot jaxp jaxws langtools jdk nashorn; do
+for subproject in corba hotspot jaxp jaxws jdk langtools nashorn; do
+
   wget -c &ojdk-repo;/${subproject}/archive/&ojdk-tarball; \
        -O ${subproject}.tar.bz2
@@ -228,5 +240,5 @@
 md5sum -c subprojects.md5 &amp;&amp;
 
-for subproject in corba hotspot jaxp jaxws langtools jdk nashorn; do
+for subproject in corba hotspot jaxp jaxws jdk langtools nashorn; do
   mkdir -pv ${subproject} &amp;&amp;
   tar -xf ${subproject}.tar.bz2 --strip-components=1 -C ${subproject}
@@ -238,7 +250,4 @@
 
 <screen><userinput>tar -xf ../jtreg-&jtreg-version;.tar.gz</userinput></screen>
-
-<!--TODO: it might be better to add instructions for the cacerts file at
-this place and to use the switch "with-cacerts-file" -->
 
     <note>
@@ -264,134 +273,56 @@
     </para>
 
-<screen><userinput>unset JAVA_HOME               &amp;&amp;
-sh ./configure                \
-   --with-update-version=&ojdk-upd;  \
-   --with-build-number=&ojdk-bd;    \
-   --with-milestone=BLFS      \
-   --enable-unlimited-crypto  \
-   --with-zlib=system         \
-   --with-giflib=system       \
-   --with-extra-cflags="-std=c++98 -Wno-error -fno-delete-null-pointer-checks -fno-lifetime-dse" \
-   --with-extra-cxxflags="-std=c++98 -fno-delete-null-pointer-checks -fno-lifetime-dse" &amp;&amp;
-make DEBUG_BINARIES=true SCTP_WERROR= all  &amp;&amp;
-find build/*/images/j2sdk-image -iname \*.diz -delete
-</userinput></screen>
+<screen><userinput>unset JAVA_HOME                             &amp;&amp;
+bash configure --enable-unlimited-crypto    \
+               --disable-warnings-as-errors \
+               --with-stdc++lib=dynamic     \
+               --with-giflib=system         \
+               --with-jtreg=$PWD/jtreg      \
+               --with-lcms=system           \
+               --with-libjpeg=system        \
+               --with-libpng=system         \
+               --with-zlib=system           \
+               --with-version-build="11"    \
+               --with-version-pre=""        \
+               --with-version-opt=""        \
+               --with-cacerts-file=/etc/ssl/java/cacerts.jks &amp;&amp;
+make images</userinput></screen>
 
     <note>
       <para>
-        Testing will involve the interplay of pairs of JVMs using the
-        networking interface, so networking must be started.  If it
-        isn't, not only will these tests fail, but the test cleanup
-        will leave orphaned JVMs running.  There will be many of
-        them.  Rebooting may be the easiest recovery.
+        By default, the build system will use (NUMCPU - 1) jobs. To
+        override, set <envar>JOBS=&lt;X&gt;</envar> on make invocation.
       </para>
     </note>
 
     <para>
-      Testing the newly built JVM involves several steps.
-      First, it is better to run the test suite in a frame buffer on a
-      different display, using Xvfb:
-    </para>
-
-<!-- Careful with the && below:
-"export DISPLAY=... && somecommand &" exports only DISPLAY to "somecommand"
-but not to the current environment, and
-"echo $! .... &&" does not echo the right PID. So all && suppressed.-->
-<screen role='nodump'><userinput>if [ -n "$DISPLAY" ]; then
-  OLD_DISP=$DISPLAY
-fi
-export DISPLAY=:20
-nohup Xvfb $DISPLAY                              \
-           -fbdir $(pwd)                         \
-           -pixdepths 8 16 24 32 > Xvfb.out 2>&amp;1 &amp;
-echo $! > Xvfb.pid
-echo Waiting for Xvfb to initialize; sleep 1
-nohup twm -display $DISPLAY \
-          -f /dev/null > twm.out 2>&amp;1            &amp;
-echo $! > twm.pid
-echo Waiting for twm to initialize; sleep 1
-xhost +</userinput></screen>
-
-    <para>
-      Then, it is necessary to modify some files:
-    </para>
-
-<screen role='nodump'><userinput>echo -e "
-jdk_all = :jdk_core           \\
-          :jdk_svc            \\
-          :jdk_beans          \\
-          :jdk_imageio        \\
-          :jdk_sound          \\
-          :jdk_sctp           \\
-          com/sun/awt         \\
-          javax/accessibility \\
-          javax/print         \\
-          sun/pisces          \\
-          com/sun/java/swing" >> jdk/test/TEST.groups &amp;&amp;
-sed -e 's/all:.*jck.*/all: jtreg/'      \
-    -e '/^JTREG /s@\$(JT_PLATFORM)/@@'  \
-    -i langtools/test/Makefile</userinput></screen>
-
-    <para>
-      Some variables have to be set:
-    </para>
-
-<screen role='nodump'><userinput>JT_JAVA=$(type -p javac | sed 's@/bin.*@@') &amp;&amp;
-JT_HOME=$(pwd)/jtreg                        &amp;&amp;
-PRODUCT_HOME=$(echo $(pwd)/build/*/images/j2sdk-image)</userinput></screen>
-
-    <para>
-      The tests are run as follows:
-    </para>
-
-<screen role='nodump'><userinput>LANG=C make -k -C test                       \
-            JT_HOME=${JT_HOME}               \
-            JT_JAVA=${JT_JAVA}               \
-            PRODUCT_HOME=${PRODUCT_HOME} all || true
-LANG=C ${JT_HOME}/bin/jtreg -a -v:fail,error \
-                -dir:$(pwd)/hotspot/test     \
-                -k:\!ignore                  \
-                -jdk:${PRODUCT_HOME}         \
-                :jdk || true</userinput></screen>
-
-    <para>
-      Tests duration depends on various factors such as the network speed
-      and the number of concurrent VM, which is computed from the number
-      of cores and threads, and the amount of RAM installed. A maximum of
-      120 SBU has been observed, but it may be as <quote>low</quote> as 80 SBU.
-    </para>
-
-    <para>
-      The test results can be compared to <ulink
-      url="http://download.java.net/openjdk/testresults/8/">these
-      results</ulink>, although they usually are run on a newer version. About
-      30 tests are known to fail, but the exact number  depends on various
-      conditions, like whether the computer is connected to network, or to a
-      printer, and on the options given to configure
-      (<parameter>--enable-unlimited-crypto</parameter> is known to trigger
-      failures, but those come from the code in the tests, not from the
-      installation). Also, some tests may timeout if the machine is under load.
-    </para>
-
-    <para>
-      Next some cleanup has to be done. The instructions below only stop the
-      frame buffer, but it has been reported that some java VM may be left
-      running after the tests, so it is necessary to check orphaned processes:
-    </para>
-
-<screen role='nodump'><userinput>kill -9 `cat twm.pid`  &amp;&amp;
-kill -9 `cat Xvfb.pid` &amp;&amp;
-rm -f Xvfb.out twm.out &amp;&amp;
-rm -f Xvfb.pid twm.pid &amp;&amp;
-if [ -n "$OLD_DISP" ]; then
-  DISPLAY=$OLD_DISP
-fi</userinput></screen>
+      To test the results, issue: <command>make run-test-tier1</command>. Seven
+      tests are expected to fail, and 11 to error when building only the server
+      target. You can limit the number of concurrent tests by setting
+      <envar>JTREG="JOBS=&lt;X&gt;"</envar> where &lt;X&gt; is the number of
+      jobs.
+    </para>
 
     <para>Install the package with the following commands as the
     <systemitem class="username">root</systemitem> user:</para>
 
-<screen role="root"><userinput>cp -RT build/*/images/j2sdk-image /opt/OpenJDK-&openjdk-version; &amp;&amp;
-chown -R root:root /opt/OpenJDK-&openjdk-version;</userinput></screen>
-
+<screen role="root"><userinput>install -vdm755 /opt/jdk-&openjdk-version;+&openjdk-build;             &amp;&amp;
+cp -Rv build/*/images/jdk/* /opt/jdk-&openjdk-version;+&openjdk-build; &amp;&amp;
+chown -R root:root /opt/jdk-&openjdk-version;+&openjdk-build;          &amp;&amp;
+find /opt/jdk-&openjdk-version;+&openjdk-build; -name \*.diz -delete   &amp;&amp;
+for s in 16 24 32 48; do
+  install -Dm 644 jdk/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \
+                  /usr/share/icons/hicolor/${s}x${s}/apps/java9.png
+done
+</userinput></screen>
+
+    <note>
+      <para>
+        If you only wish to install the Java Runtime Environment, you can
+        substitue <filename>build/*/images/jre</filename> in the above
+        <command>cp</command> command.
+      </para>
+    </note>
+ 
     <para>
       There are now two <application>OpenJDK</application> SDKs installed
@@ -403,36 +334,51 @@
     </para>
 
-<screen role="root"><userinput>ln -v -nsf OpenJDK-&openjdk-version; /opt/jdk</userinput></screen>
-
-    <para>
-      If desired, you may install a .desktop file corresponding to an entry
-      in a desktop menu for <command>policytool</command>. First, you need to
-      obtain an icon from <xref linkend="icedtea-web"/>:
-    </para>
-
-<screen><userinput>tar -xf ../icedtea-web-&icedtea-web-version;.tar.gz  \
-        icedtea-web-&icedtea-web-version;/javaws.png \
-        --strip-components=1</userinput></screen>
-
-    <para>
-      Now, as <systemitem class="username">root</systemitem> user:
+<screen role="root"><userinput>ln -v -nsf jdk-&openjdk-version;+&openjdk-build; /opt/jdk</userinput></screen>
+
+    <para>
+      If desired, you may create .desktop files to add entries
+      in the menu for <command>java</command>, <command>policytool</command>,
+      and <command>jconsole</command>. The needed icons have already been
+      installed. As the <systemitem class="username">root</systemitem> user:
     </para>
 
 <screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
 
-cat &gt; /usr/share/applications/openjdk-8-policytool.desktop &lt;&lt; "EOF" &amp;&amp;
+cat &gt; /usr/share/applications/openjdk-9-java.desktop &lt;&lt; "EOF" &amp;&amp;
 <literal>[Desktop Entry]
-Name=OpenJDK Java Policy Tool
-Name[pt_BR]=OpenJDK Java - Ferramenta de Pol&#237;tica
-Comment=OpenJDK Java Policy Tool
-Comment[pt_BR]=OpenJDK Java - Ferramenta de Pol&#237;tica
+Name=OpenJDK Java 9 Runtime
+Comment=OpenJDK Java 9 Runtime
+Exec=/opt/jdk/bin/java -jar
+Terminal=false
+Type=Application
+Icon=java9
+MimeType=application/x-java-archive;application/java-archive;application/x-jar;
+NoDisplay=true</literal>
+EOF
+
+cat &gt; /usr/share/applications/openjdk-9-policytool.desktop &lt;&lt; "EOF" &amp;&amp;
+<literal>[Desktop Entry]
+Name=OpenJDK Java 9 Policy Tool
+Name[pt_BR]=OpenJDK Java 9 - Ferramenta de Pol&#237;tica
+Comment=OpenJDK Java 9 Policy Tool
+Comment[pt_BR]=OpenJDK Java 9 - Ferramenta de Pol&#237;tica
 Exec=/opt/jdk/bin/policytool
 Terminal=false
 Type=Application
-Icon=javaws
+Icon=java9
 Categories=Settings;</literal>
 EOF
 
-install -v -Dm0644 javaws.png /usr/share/pixmaps/javaws.png</userinput></screen>
+cat &gt; /usr/share/applications/openjdk-9-jconsole.desktop &lt;&lt; "EOF"
+<literal>[Desktop Entry]
+Name=OpenJDK Java 9 Console
+Comment=OpenJDK Java 9 Console
+Keywords=java;console;monotoring
+Exec=/opt/jdk/bin/jconsole
+Terminal=false
+Type=Application
+Icon=java9
+Categories=Application;System;</literal>
+EOF</userinput></screen>
 
     <para>
@@ -449,30 +395,7 @@
 
     <para>
-      <command>sh configure...</command>: the top level
+      <command>bash configure...</command>: the top level
       <filename>configure</filename> is a wrapper around the autotools one.
-      It is not executable and must be run through <command>sh</command>.
-    </para>
-
-    <para>
-      <option>--with-boot-jdk</option>: This switch provides the
-      location of the temporary <application>JDK</application>. It is normally
-      not needed if <command>java</command> is found in the <envar>PATH</envar>.
-    </para>
-
-    <para>
-      <parameter>--with-update-version</parameter>: Currently, the build
-      system does not include the update number in the version string. It has
-      to be specified here.
-    </para>
-
-    <para>
-      <parameter>--with-build-number</parameter>: Again, the build
-      system does not include the build number in the version string. It has
-      to be specified here too.
-    </para>
-
-    <para>
-      <parameter>--with-milestone</parameter>: Used to customize the
-      version string.
+      It is not executable and must be run through <command>bash</command>.
     </para>
 
@@ -487,29 +410,47 @@
 
     <para>
-      <parameter>--with-zlib=system, --with-giflib=system</parameter>: Allows
-      to use the system libraries instead of the bundled ones.
-    </para>
-
-    <para>
-      <parameter>--with-extra-cflags=... --with-extra-cxxflags=...</parameter>:
-      Works around some defects in the code brought to light by the GCC 6
-      more rigorous checking of the C/C++ constructs. Remove those switches
-      if compiling with GCC 5.
-    </para>
-
-    <para>
-      <option>--with-jobs=N</option>: Allows setting the number
-      of jobs for <command>make</command> equal to N. The default is the
-      result of a calculation involving the available memory and the number
-      of processors. Note that even if you specify N=1, some parallelization
-      may be used during the build. The SBU given above are with N=4, on
-      a single processor, 4-core, virtual machine, with 4 GB of memory.
-    </para>
-
-    <para>
-      <option>--with-cacerts-file=...</option>: Specifies where to find a
-      <filename>cacerts</filename> file, <filename class="directory">
-      /etc/ssl/java/cacerts</filename> on a BLFS system. Otherwise, an empty
-      one is created. You can use the
+      <parameter>--disable-warnings-as-errors</parameter>: This switch disables
+      use of <envar>-Werror</envar> in the build.
+    </para>
+
+    <para>
+      <parameter>--with-stdc++lib=dynamic</parameter>: This switch forces the
+      build system to link to <filename>libstdc++.so</filename> (dynamic)
+      instead of <filename>libstdc++.a</filename> (static).
+    </para>
+
+    <para>
+      <parameter>--with-jtreg=$PWD/jtreg</parameter>: This switch tells
+      configure where to find jtreg. Omit if you have not downloaded the
+      optional test suite.
+    </para>
+
+    <para>
+      <parameter>--with-{giflib,lcms,libjpeg,libpng,zlib}=system</parameter>:
+      These switches force the build system to use the system libraries instead
+      of the bundled versions.
+    </para>
+
+    <para>
+      <parameter>--with-version-build</parameter>: Currently, the build
+      system does not include the build number in the version string. It has
+      to be specified here.
+    </para>
+
+    <para>
+      <parameter>--with-version-pre</parameter>: This switch allows you to
+      prefix the version string with a custom string.
+    </para>
+
+    <para>
+      <parameter>--with-version-opt</parameter>: This switch allows you to add
+      an optional build description to the version string.
+    </para>
+
+    <para>
+      <parameter>--with-cacerts-file=/etc/ssl/java/cacerts.jks</parameter>:
+      Specifies where to find a <filename>cacerts</filename> file,
+      <filename class="directory">/etc/ssl/java/cacerts</filename> on a BLFS
+      system. Otherwise, an empty one is created. You can use the
       <command>/usr/sbin/make-ca --force</command> command to generate it, once
       you have installed the Java binaries.
@@ -517,8 +458,7 @@
 
     <para>
-      <command>make DEBUG_BINARIES=true SCTP_WERROR= all</command>: The build
-      fails on 32 bit machines if DEBUG_BINARIES is not set to true. Unsetting
-      SCTP_WERROR is part of the workarounds needed to use GCC 6. You may omit
-      that part of the command if using GCC 5.
+      <option>--with-boot-jdk</option>: This switch provides the
+      location of the temporary <application>JDK</application>. It is normally
+      not needed if <command>java</command> is found in the <envar>PATH</envar>.
     </para>
 
@@ -560,5 +500,5 @@
         <application>OpenJDK</application> uses its own format for the
         CA certificates. Those certificates are located in a file named
-        <filename>/etc/ssl/java/cacerts</filename>. That file should be
+        <filename>/etc/ssl/java/cacerts.jks</filename>. That file should be
         generated using the system PKI trust store. The instructions
         on the <xref linkend="cacerts"/> page should be used to update the file
@@ -568,5 +508,5 @@
       </para>
 
-<screen role="root"><userinput>ln -sfv /etc/ssl/java/cacerts /opt/jdk/jre/lib/security/cacerts</userinput></screen>
+<screen role="root"><userinput>ln -sfv /etc/ssl/java/cacerts.jks /opt/jdk/lib/security/cacerts</userinput></screen>
 
       <para>
Index: introduction/welcome/changelog.xml
===================================================================
--- introduction/welcome/changelog.xml	(revision eab496c53d09288208f2df3a50723d571a3dc5da)
+++ introduction/welcome/changelog.xml	(revision d61ead0a10af9de19330391ead36151ae30d6619)
@@ -42,4 +42,21 @@
     </listitem>
 -->
+    <listitem>
+      <para>February 19th, 2018</para>
+      <itemizedlist>
+        <listitem>
+          <para>[dj] - Update to OpenJDK-9.0.4. Fixes
+          <ulink url="&blfs-ticket-root;9929">#9929</ulink>.</para>
+        </listitem>
+        <listitem>
+          <para>[dj] - Update to make-ca-0.7.</para>
+        </listitem>
+        <listitem>
+          <para>[dj] - Update to Apache-Ant-1.10.2. Fixes
+          <ulink url="&blfs-ticket-root;10377">#10377</ulink>.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
     <listitem>
       <para>February 18th, 2018</para>
Index: packages.ent
===================================================================
--- packages.ent	(revision eab496c53d09288208f2df3a50723d571a3dc5da)
+++ packages.ent	(revision d61ead0a10af9de19330391ead36151ae30d6619)
@@ -25,5 +25,5 @@
 <!ENTITY linux-pam-docs-version       "1.2.0">
 <!ENTITY libpwquality-version         "1.4.0">
-<!ENTITY make-ca-version              "0.6">
+<!ENTITY make-ca-version              "0.7">
 <!ENTITY mitkrb-major-version         "1.16">
 <!ENTITY mitkrb-version               "1.16">
@@ -345,8 +345,9 @@
 <!ENTITY yasm-version                 "1.3.0">
 
-<!ENTITY apache-ant-version           "1.10.1">
+<!ENTITY apache-ant-version           "1.10.2">
 <!ENTITY junit-version                "4.11">
 <!ENTITY hamcrest-version             "1.3">
-<!ENTITY openjdk-version              "1.8.0.141">
+<!ENTITY openjdk-version              "9.0.4">
+<!ENTITY openjdk-build                "11">
 
 <!ENTITY python2-majorver             "2.7">
Index: postlfs/security/cacerts.xml
===================================================================
--- postlfs/security/cacerts.xml	(revision eab496c53d09288208f2df3a50723d571a3dc5da)
+++ postlfs/security/cacerts.xml	(revision d61ead0a10af9de19330391ead36151ae30d6619)
@@ -7,10 +7,10 @@
   <!ENTITY certhost              "https://hg.mozilla.org/">
   <!ENTITY certpath              "/lib/ckfw/builtins/certdata.txt">
-  <!ENTITY cacerts-buildsize     "6.5 MB (with all runtime deps)">
-  <!ENTITY cacerts-time          "0.2 SBU (with all runtime deps)">
+  <!ENTITY cacerts-buildsize     "6.6 MB (with all runtime deps)">
+  <!ENTITY cacerts-time          "0.3 SBU (with all runtime deps)">
 
   <!ENTITY make-ca-download      "https://github.com/djlucas/make-ca/archive/v&make-ca-version;/make-ca-&make-ca-version;.tar.gz">
   <!ENTITY make-ca-size          "36 KB">
-  <!ENTITY make-ca-md5sum        "851f9e267f343c54db8caa87ec5b3d75">
+  <!ENTITY make-ca-md5sum        "4f180b9bf3b11f29d6a79e6022aeae23">
 ]>
 
Index: pst/ps/fop.xml
===================================================================
--- pst/ps/fop.xml	(revision eab496c53d09288208f2df3a50723d571a3dc5da)
+++ pst/ps/fop.xml	(revision d61ead0a10af9de19330391ead36151ae30d6619)
@@ -90,29 +90,5 @@
         </para>
       </listitem>
-
-      <listitem>
-        <para>Java Advanced Imaging (JAI) API components (architecture dependent):
-          <simplelist>
-            <member><ulink url="&jai-download;"/></member>
-            <member>&jai-md5sum;</member>
-            <member>&jai-size;</member>
-          </simplelist>
-          <literallayout>or</literallayout> <!-- Force some space -->
-          <simplelist>
-            <member><ulink url="&jai64-download;"/></member>
-            <member>&jai64-md5sum;</member>
-            <member>&jai64-size;</member>
-          </simplelist>
-        </para>
-      </listitem>
     </itemizedlist>
-<!--    <itemizedlist spacing="compact">
-      <title>Required patch</title>
-      <listitem>
-        <para>
-          <ulink url="&patch-root;/fop-&fop-version;-listNPE-1.patch"/>
-        </para>
-      </listitem>
-    </itemizedlist>-->
 
     <bridgehead renderas="sect3">fop Dependencies</bridgehead>
@@ -167,31 +143,8 @@
 
     <sect3>
-      <title>Installing Java Advanced Imaging (JAI) API components</title>
-
-      <para>
-        Install the JAI API components. As the <systemitem
-        class="username">root</systemitem> user:
-      </para>
-
-<screen role="root"><userinput>case `uname -m` in
-  i?86)
-    tar -xf ../jai-&jai-version;-lib-linux-i586.tar.gz
-    cp -v jai-&jai-version;/lib/{jai*,mlibwrapper_jai.jar} $JAVA_HOME/jre/lib/ext/
-    cp -v jai-&jai-version;/lib/libmlib_jai.so             $JAVA_HOME/jre/lib/i386/
-    ;;
-
-  x86_64)
-    tar -xf ../jai-&jai-version;-lib-linux-amd64.tar.gz
-    cp -v jai-&jai-version;/lib/{jai*,mlibwrapper_jai.jar} $JAVA_HOME/jre/lib/ext/
-    cp -v jai-&jai-version;/lib/libmlib_jai.so             $JAVA_HOME/jre/lib/amd64/
-    ;;
-esac</userinput></screen>
-    </sect3>
-
-    <sect3>
       <title>Installing fop Components</title>
 
       <para>
-        The <command>javadoc</command> command coming with OpenJDK 8 has
+        The <command>javadoc</command> command coming with OpenJDK 9 has
         become much stricter than before regarding the conformance of the
         Javadoc comments in source code to HTML. The FOP documentation does
@@ -202,5 +155,7 @@
 <screen><userinput>sed -i '\@&lt;/javad@i\
 &lt;arg value="-Xdoclint:none"/&gt;\
-&lt;arg value="--allow-script-in-comments"/&gt;' fop/build.xml</userinput></screen>
+&lt;arg value="--allow-script-in-comments"/&gt;\
+&lt;arg value="--ignore-source-errors"/&gt;' \
+    fop/build.xml</userinput></screen>
 
       <para>
@@ -218,9 +173,5 @@
 <screen><userinput>cd fop                    &amp;&amp;
 export LC_ALL=en_US.UTF-8 &amp;&amp;
-
-ant compile               &amp;&amp;
-ant jar-main              &amp;&amp;
-ant jar-hyphenation       &amp;&amp;
-ant javadocs              &amp;&amp;
+ant all javadocs          &amp;&amp;
 mv build/javadocs .</userinput></screen>
 
@@ -357,8 +308,15 @@
       <para>
         To include the <command>fop</command> script in your path,
-        update your personal or system-wide profile with the following:
-      </para>
-
-<screen><literal>PATH=$PATH:/opt/fop</literal></screen>
+        update the system-wide profile with the following command as the
+        <systemitem class="username">root</systemitem> user:
+      </para>
+
+<screen><literal>cat &gt; /etc/profile.d/fop.sh &lt;&lt; "EOF"
+# Begin /etc/profile.d/fop.sh
+
+pathappend /opt/fop
+
+# End /etc/profile.d/fop.sh
+EOF</literal></screen>
 
       <note>
