r7453 - in trunk/BOOK: . general/prog

dj at linuxfromscratch.org dj at linuxfromscratch.org
Sun May 11 22:29:39 PDT 2008


Author: dj
Date: 2008-05-11 23:29:39 -0600 (Sun, 11 May 2008)
New Revision: 7453

Added:
   trunk/BOOK/general/prog/jdk.SAVE
Modified:
   trunk/BOOK/general.ent
   trunk/BOOK/general/prog/jdk.xml
Log:
Copied necessary changes from r7452 and added backup of original jdk.xml

Added: trunk/BOOK/general/prog/jdk.SAVE
===================================================================
--- trunk/BOOK/general/prog/jdk.SAVE	                        (rev 0)
+++ trunk/BOOK/general/prog/jdk.SAVE	2008-05-12 05:29:39 UTC (rev 7453)
@@ -0,0 +1,966 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+
+  <!ENTITY jdk-download-binary       "http://java.sun.com/javase/downloads/index.jsp">
+  <!ENTITY jdk-bin-md5sum            "f7528500c17c09546566e05988beda86">
+  <!ENTITY jdk-bin-size              "67 MB">
+  <!ENTITY jdk-bin-buildsize         "207 MB">
+  <!ENTITY jdk-bin-version           "6u5">
+
+  <!ENTITY jdk-source-jrl-md5sum     "83390379fb9f3193e93a9d5eed5b31d9">
+  <!ENTITY jdk-source-bin-md5sum     "8b6f1b8d8dec051c18385539111141ec">
+  <!ENTITY jdk-source-moz-md5sum     "6dcaf7af16211617adff5d672a8b79f4">
+
+  <!ENTITY jdk-source-jrl-size       "111 MB">
+  <!ENTITY jdk-source-bin-size       "2 MB">
+  <!ENTITY jdk-source-moz-size       "8.2 MB">
+
+  <!ENTITY jdk-src-buildsize         "1.5 GB">
+  <!ENTITY jdk-time                  "12.5 SBU (for both installations)">
+  <!ENTITY jdk-version-string        "6u3">
+  <!ENTITY jdk-bin-version-string    "1.6.0_05">
+
+  <!ENTITY jdk-download-source-jrl "http://www.java.net/download/jdk6/&jdk-version-string;/promoted/b05/jdk-&jdk-version-string;-fcs-src-b05-jrl-24_sep_2007.jar">
+  <!ENTITY jdk-download-source-bin "http://www.java.net/download/jdk6/&jdk-version-string;/promoted/b05/jdk-&jdk-version-string;-fcs-bin-b05-jrl-24_sep_2007.jar">
+  <!ENTITY jdk-download-source-moz "http://www.java.net/download/jdk6/&jdk-version-string;/promoted/b05/jdk-&jdk-version-string;-fcs-mozilla_headers-b05-unix-24_sep_2007.jar">
+
+]>
+
+<sect1 id="jdk" xreflabel="JDK-&jdk-version;">
+  <?dbhtml filename="jdk.html" ?>
+
+  <sect1info>
+    <othername>$LastChangedBy: randy $</othername>
+    <date>$Date: 2008-05-10 13:50:47 -0500 (Sat, 10 May 2008) $</date>
+  </sect1info>
+
+  <title>JDK-&jdk-version;</title>
+
+  <indexterm zone="jdk">
+    <primary sortas="a-JDK">JDK</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title>Introduction to JDK</title>
+
+    <para>The <application>JDK</application> package contains
+    Sun's <application>Java</application> development environment. This is
+    useful for developing <application>Java</application> programs and provides
+    the runtime environment necessary to run <application>Java</application>
+    programs.  It also includes a plug-in for browsers so that they can be
+    <application>Java</application> aware.</para>
+
+    <!-- Previously, the plugin included
+    in the <application>JDK</application> binary package was unusable on LFS
+    owing to incompatibilities with <application>GCC</application>-3 compiled
+    browsers.  This is not the case anymore.</para> -->
+
+    <para>The <application>JDK</application> comes in two flavors, a
+    precompiled binary and a source package. You will first need to download
+    and install the binary version of the <application>JDK</application>
+    (you'll need to click and agree to the <quote>Sun Microsystems, Inc.
+    Binary Code License Agreement</quote>). To build from the source, you
+    will need to read, and agree to the Sun
+    <!--<ulink url="&patch-root;/jdk-Readme.txt">-->Java Research License<!--</ulink>-->.
+    You will also need to download the additional files and patches to
+    complete the source build as detailed below. Note that in some countries
+    you cannot download the source code.</para>
+
+    <warning><para>Sun has recently decided not to provide JRL sources for
+    the latest update versions of the JDK.  The source build instructions and
+    patches are here for reference only, and contain known security
+    vulnerabilities.  For more information, please see Sun Alerts
+    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-231246-1">231246</ulink>,
+    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-233321-1">233321</ulink>,
+    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-233322-1">233322</ulink>,
+    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-233323-1">233323</ulink>,
+    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-233324-1">233324</ulink>,
+    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-233325-1">233325</ulink>,
+    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-233326-1">233326</ulink>, and
+    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-233327-1">233327</ulink>.</para>
+    <para>  Sun is actively working on a GPL'd version of the JDK, titled
+    <ulink url="http://openjdk.java.net/projects/jdk6/">OpenJDK</ulink>.
+    This new JDK will be licensed under the
+    <ulink url="http://openjdk.java.net/legal/gplv2+ce.html">GNU General
+    Public License, version 2, with the Classpath Exception</ulink>.
+    A stable OpenJDK was not available at the time of writing.</para></warning>
+
+
+    <bridgehead renderas="sect3">Binary Package Information</bridgehead>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>Binary download (jdk-&jdk-bin-version;-linux-i586.bin):
+        <ulink url="&jdk-download-binary;"/></para>
+      </listitem>
+      <listitem>
+        <para>Download MD5 sum: &jdk-bin-md5sum;</para>
+      </listitem>
+      <listitem>
+        <para>Download size (binary): &jdk-bin-size;</para>
+      </listitem>
+      <listitem>
+        <para>Estimated disk space required: &jdk-bin-buildsize;</para>
+      </listitem>
+    </itemizedlist>
+
+    <bridgehead renderas="sect3">Source Package Information</bridgehead>
+
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>JRL Source
+          <simplelist>
+            <member><ulink url="&jdk-download-source-jrl;"/></member>
+            <member>&jdk-source-jrl-md5sum;</member>
+            <member>&jdk-source-jrl-size;</member>
+          </simplelist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>Source Binaries
+          <simplelist>
+            <member><ulink url="&jdk-download-source-bin;"/></member>
+            <member>&jdk-source-bin-md5sum;</member>
+            <member>&jdk-source-bin-size;</member>
+          </simplelist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>Mozilla Headers
+          <simplelist>
+            <member><ulink url="&jdk-download-source-moz;"/></member>
+            <member>&jdk-source-moz-md5sum;</member>
+            <member>&jdk-source-moz-size;</member>
+          </simplelist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>Estimated disk space required: &jdk-src-buildsize;</para>
+      </listitem>
+      <listitem>
+        <para>Estimated build time: &jdk-time;</para>
+      </listitem>
+    </itemizedlist>
+
+    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
+
+    <bridgehead renderas="sect4">Required Patches</bridgehead>
+    <itemizedlist spacing='compact'>
+      <listitem>
+        <para><ulink
+        url="&patch-root;/jdk-&jdk-version-string;-gcc4-1.patch"/></para>
+      </listitem>
+      <listitem>
+        <para><ulink
+        url="&patch-root;/jdk-&jdk-version-string;-motif_fixes-1.patch"/></para>
+      </listitem>
+      <listitem>
+        <para><ulink
+        url="&patch-root;/jdk-&jdk-version-string;-remove_fixed_paths-1.patch"/></para>
+      </listitem>
+    </itemizedlist>
+
+    <bridgehead renderas="sect3">JDK Dependencies</bridgehead>
+
+    <bridgehead renderas="sect4">Optional Runtime Dependencies (for binary
+    installation)</bridgehead>
+    <para role="optional">
+    <xref linkend="alsa-lib"/>,
+    <xref linkend="cups"/>, and
+    <xref linkend="gtk2"/></para>
+
+    <bridgehead renderas="sect4">Additional Requirements
+    (for source build, including optional requirements)</bridgehead>
+    <para role="required">
+    <xref linkend="cpio"/>,
+    <xref linkend="ksh"/>,
+    <xref linkend="unzip"/>,
+    <xref linkend="which"/>, and
+    <xref linkend="zip"/></para>
+
+    <para condition="html" role="usernotes">User Notes:
+    <ulink url="&blfs-wiki;/jdk"/></para>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of JDK</title>
+
+    <para>The instructions below install both the binary and source versions.
+    You may stop after installing the binary version or continue on installing
+    the source version. You can choose to keep either or both.</para>
+
+    <tip>
+      <para>The <command>./jdk-&jdk-bin-version;-linux-i586.bin</command>
+      command below unpacks the distribution into a
+      <filename class='directory'>jdk&jdk-bin-version-string;</filename>
+      directory.  You will be required to view, and then accept (by entering a
+      <keycap>y</keycap> keypress), a license agreement before any files are
+      unpacked. If you are scripting (automating) the build, you'll need to
+      account for this. There is information about automating build commands
+      in the <xref linkend="automating-builds"/> section of Chapter 2. Towards
+      the end of this section, specific information for automating this type of
+      installation is discussed.</para>
+    </tip>
+
+    <para>Normally in BLFS, the files are unpacked into a subdirectory
+    and the starting point for the installation procedures is that
+    location.  For this application only, start in the directory where all
+    the downloaded files are located.</para>
+
+    <para>Install the binary <application>JDK</application> with the
+    following commands:</para>
+
+<screen><userinput>chmod 755 jdk-&jdk-bin-version;-linux-i586.bin &&
+./jdk-&jdk-bin-version;-linux-i586.bin</userinput></screen>
+
+    <note><para>The installation will end with a message
+    "./jdk-&jdk-bin-version;-linux-i586.bin: line 43: 20283 Aborted" as
+    javaprefix is unset in the environment.  This is by design as
+    <application>GTK+</application> may not be installed during the
+    installation, however, the installation will still exit with a zero error
+    value if scripting the build.</para></note>
+
+    <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
+
+<screen role="root"><userinput>cd jdk&jdk-bin-version-string; &&
+install -v -m755 -d /opt/jdk-bin-&jdk-bin-version; &&
+mv -v * /opt/jdk-bin-&jdk-bin-version; &&
+chown -v -R root:root /opt/jdk-bin-&jdk-bin-version; &&
+ln -v -sf xawt/libmawt.so \
+    /opt/jdk-bin-&jdk-bin-version;/jre/lib/i386/ &&
+cd ..</userinput></screen>
+
+    <para>Recent versions of libX11 break libmawt
+    when used with the Xinerama extension.  While still the
+    <systemitem class="username">root</systemitem> user, apply the
+    following sed to the installed binary to work around this
+    problem:</para>
+
+<screen role="root"><userinput>sed -i 's at XINERAMA@FAKEEXTN at g' \
+    /opt/jdk-bin-&jdk-bin-version;/jre/lib/i386/xawt/libmawt.so</userinput></screen>
+
+    <para>The binary version is now installed.</para>
+
+    <para>If you don't want to compile the source or are not in a position to
+    download the source owing to license restrictions, skip ahead to the
+    configuration section.</para>
+
+    <para>Save the existing path, and append the recently installed
+    <application>JDK</application>.</para>
+
+<screen><userinput>export JAVA_HOME=/opt/jdk-bin-&jdk-bin-version; &&
+export PATH_HOLD=${PATH} &&
+export PATH=${PATH}:${JAVA_HOME}/bin</userinput></screen>
+
+    <para>The source code is contained in self-extracting
+    <filename class='extension'>jar</filename> files.  You
+    will need to be in a windowed environment to extract the sources.
+    Create a directory to store the extracted sources.  Choose the newly
+    created <filename class="directory">jdk-build</filename> directory
+    when prompted for the target directory.</para>
+
+<screen><userinput>mkdir jdk-build &&
+cd jdk-build &&
+for JAR in ../jdk-&jdk-version-string;*.jar
+    do java -jar ${JAR}
+done</userinput></screen>
+
+    <para>Apply all the patches downloaded above:</para>
+
+<screen><userinput>for PATCH in ../jdk-&jdk-version-string;*.patch
+    do patch -Np1 -i ${PATCH}
+done</userinput></screen>
+
+    <para>Use the following commands to apply some minor changes that
+    are a little more specific to BLFS, such as lack of a gcc-2.9
+    compiler, removing a broken demo, and forcing to link to shared
+    libraries.  See the 'Command Explanations' section for more detail:</para>
+
+<screen><userinput>sed -i '/^.*linux)/ { N; /.*/ { N; /.*/d }}' \
+    deploy/make/plugin/{adapter,nscore}/Makefile &&
+sed -i '/.*mtrace.*/ { N; /.*/ s/.*mtrace.*\n.*/\t  mtrace/ }' \
+    j2se/make/mkdemo/jvmti/Makefile &&
+sed -i 's/= true/= false/' \
+    j2se/make/common/shared/Compiler-gcc.gmk</userinput></screen>
+
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="../../xincludes/X11R6_symlink.xml"/>
+
+    <!-- <para>If your <application>X Window System</application> is installed into
+    any prefix other than <filename class="directory">/usr/X11R6</filename>,
+    execute the following commands, replacing
+    <replaceable><PREFIX></replaceable> with the installation prefix of
+    the <application>X Window System</application>:</para>
+
+<screen><userinput>for file in `find . -name Makefile \
+    -or -name Imakefile -or -name *.gmk`
+do sed -i 's@/usr/X11R6@<replaceable><PREFIX></replaceable>@g' $file
+done &&
+sed -i 's@/usr/X11R6@<replaceable><PREFIX></replaceable>@g' \
+    j2se/src/solaris/native/sun/awt/fontpath.c \
+    j2se/src/solaris/classes/sun/awt/motif/linux.fontconfig.Sun.properties \
+    j2se/src/solaris/classes/sun/awt/motif/linux.fontconfig.RedHat.3.properties</userinput></screen> -->
+
+    <para>Set/unset some variables which affect the build:</para>
+
+<screen><userinput>export ALT_BOOTDIR=${JAVA_HOME} &&
+export CLASSPATH_HOLD=${CLASSPATH} &&
+export ALT_CACERTS_FILE=${ALT_BOOTDIR}/jre/lib/security/cacerts &&
+export ALT_MOZILLA_HEADERS_PATH=${PWD}/share/plugin &&
+export MILESTONE="03-BLFS" &&
+export BUILD_NUMBER="b05" &&
+export INSANE=true &&
+export DEV_ONLY=true &&
+export SKIP_FASTDEBUG_BUILD=true &&
+unset JAVA_HOME CLASSPATH CFLAGS CXXFLAGS LDFLAGS</userinput></screen>
+
+      <warning><para>Setting CFLAGS/CXXFLAGS/LDFLAGS is guaranteed to make
+      the build fail. If you are interested in optimizing the build, set
+      OTHER_CFLAGS/OTHER_CXXFLAGS/OTHER_LDFLAGS instead.  -O3, even in
+      OTHER_C{,XX}FLAGS, is known to cause a build failure.</para></warning>
+
+
+    <para>Additionally, if you would like to <command>make</command> in
+    parallel, add the following:</para>
+
+<screen><userinput>export HOTSPOT_BUILD_JOBS=<replaceable><3></replaceable></userinput></screen>
+
+    <para>Build the <application>JDK</application> with the following
+    commands. There will be a few messages about missing files that look like
+    errors. These are caused by not meeting the expected build environment
+    (Red Hat).  As long as the build doesn't stop, the messages
+    are harmless.</para>
+
+<screen><userinput>pushd control/make &&
+make &&
+popd</userinput></screen>
+
+    <para>To test the results, you can run one of the provided demo programs
+    using the newly created <command>java</command> binary. Issue the
+    following commands:</para>
+
+<screen><userinput>pushd control/build/linux-i586/j2sdk-image/demo/jfc/Java2D &&
+../../../bin/java -jar Java2Demo.jar &&
+popd</userinput></screen>
+
+    <para>Now, as the <systemitem class="username">root</systemitem> user,
+    install the <application>JDK</application>:</para>
+
+<screen role="root"><userinput>pushd control/build/linux-i586 &&
+cp -v -a j2sdk-image /opt/jdk-&jdk-version-string; &&
+chown -v -R root:root /opt/jdk-&jdk-version-string; &&
+ln -v -sf xawt/libmawt.so  /opt/jdk-&jdk-version-string;/jre/lib/i386/ &&
+popd</userinput></screen>
+
+    <para>Restore the unprivileged user's environment using the following
+    commands:</para>
+
+<screen><userinput>export JAVA_HOME=${ALT_BOOTDIR} &&
+export CLASSPATH=${CLASSPATH_HOLD} &&
+export PATH=${PATH_HOLD} &&
+unset PATH_HOLD ALT_BOOTDIR CLASSPATH_HOLD \
+    ALT_CACERTS_FILE ALT_MOZILLA_HEADERS_PATH \
+    BUILD_NUMBER MILESTONE INSANE DEV_ONLY \
+    SKIP_FASTDEBUG_BUILD</userinput></screen>
+
+  </sect2>
+
+  <sect2 role="commands">
+    <title>Command Explanations</title>
+
+    <para><command>sed -i '/^.*linux)/...</command>: This command disables
+    the build of a gcc-2.9 compatible browser plugin.  LFS does not contain
+    gcc-2.9, and hasn't in quite a few years.</para>
+
+    <para><command>sed -i '/.*mtrace.*/...</command>: This command disables
+    building of the broken 'waiters' demo.</para>
+
+    <para><command>sed -i 's/= true/= false/'...</command>: This command
+    forces the compiler to link against the standard C libraries
+    dynamically.</para>
+
+    <para><command>export ALT_BOOTDIR=${JAVA_HOME}</command>: This variable sets
+    the location of the bootstrap <application>JDK</application>.</para>
+
+    <para><command>export ALT_CACERTS_FILE...</command>: Specifies the
+    certificate file to use (from the installed binary
+    <application>JDK</application>).</para>
+
+    <para><command>export ALT_MOZILLA_HEADERS_PATH=${PWD}/share/plugin/</command>:
+    This tells the build exactly where to find the
+    <application>Mozilla</application> headers.  This has changed since the
+    previous version and is not mentioned in the installation documentation
+    included with the package source.</para>
+
+    <para><command>export MILESTONE="03-BLFS"</command>: This appends
+    the string '03-BLFS' to the buld number.  'internal' is
+    unconditionally added if MILESTONE is unset.  This is similar
+    to the format used by Sun for the official release.</para>
+
+    <para><command>export BUILD_NUMBER="b05"</command>:
+    This will help you identify the compiled version of the runtime
+    environment and virtual machine by appending this information to
+    the version string. This is the same build number used by Sun to
+    identify the official release.</para>
+
+    <para><command>export INSANE=true</command>: The certified platform for the
+    build is Redhat Enterprise Advanced Server 2.1. This variable ensures that
+    all the errors related to compiling on a non-certified platform will be
+    displayed as warnings instead of errors.</para>
+
+    <para><command>export DEV_ONLY=true</command>: This command
+    skips compiling the comparison build.</para>
+
+    <para><command>export SKIP_FASTDEBUG_BUILD=true</command>: This command
+    skips building of the debug version.  Omit this command if you need
+    to build the fastdebug target.</para>
+
+    <para><command>unset JAVA_HOME CLASSPATH CFLAGS CXXFLAGS LDFLAGS</command>:
+    These variables cause miscompilation of the build. Never set them.</para>
+
+    <para><command>ln -sf xawt/libmawt.so
+    /opt/jdk-&jdk-version-string;/jre/lib/i386/</command>: This fixes
+    linking issues with other applications that expect to find the
+    <application>motif</application> libraries with the other
+    <application>JDK</application> libraries.</para>
+
+  </sect2>
+
+  <sect2 role="configuration">
+    <title>Configuring JDK</title>
+
+    <sect3>
+      <title>Configuration Information</title>
+
+      <para>There are now two Java 2 SDKs installed in
+      <filename>/opt</filename>. You should decide on which one you
+      would like to use as the default. For example if you decide to use the
+      precompiled <application>JDK</application>, do the following as the
+      <systemitem class="username">root</systemitem> user:</para>
+
+<screen role="root"><userinput>ln -v -nsf jdk-bin-&jdk-bin-version; /opt/jdk</userinput></screen>
+
+    <para>The information below assumes your system is set up using the
+    instructions found in
+    <quote><xref linkend="postlfs-config-profile"/></quote>. You may need to
+    extract the relevant information below and incorporate it into your
+    system's startup files if your system is set up differently.</para>
+
+    <para>Add the following <filename>jdk.sh</filename> shell startup file to
+    the <filename>/etc/profile.d</filename> directory with the following
+    commands as the <systemitem class="username">root</systemitem> user:</para>
+
+<screen role="root"><userinput>cat > /etc/profile.d/jdk.sh << "EOF"
+<literal># Begin /etc/profile.d/jdk.sh
+
+# Set JAVA_HOME directory
+JAVA_HOME=/opt/jdk
+
+# Adjust PATH
+pathappend ${JAVA_HOME}/bin PATH
+
+# Auto Java CLASSPATH
+# Copy jar files to, or create symlinks in this directory
+AUTO_CLASSPATH_DIR=/usr/lib/classpath
+pathprepend . CLASSPATH
+for dir in `find ${AUTO_CLASSPATH_DIR} -type d 2>/dev/null`; do
+    pathappend $dir CLASSPATH
+done
+
+export JAVA_HOME CLASSPATH
+unset AUTO_CLASSPATH_DIR
+unset dir
+
+# End /etc/profile.d/jdk.sh</literal>
+EOF</userinput></screen>
+
+    <para>The <application>Java</application> plugin is located in
+    <filename class="directory">$JAVA_HOME/jre/plugin/i?86/ns7/</filename>.
+    Make a symbolic link to the file in that directory from your browser(s)
+    plugins directory.</para>
+
+    <important>
+      <para>The plugin must be a symlink for it to work. If not, the browsers
+      will crash when you attempt to load a <application>Java</application>
+      application.</para>
+    </important>
+
+    </sect3>
+
+  </sect2>
+
+  <sect2 role="content">
+    <title>Contents</title>
+
+    <segmentedlist>
+      <segtitle>Installed Programs</segtitle>
+      <segtitle>Installed Libraries</segtitle>
+      <segtitle>Installed Directory</segtitle>
+
+      <seglistitem>
+        <seg>appletviewer, apt, extcheck, idlj, HtmlConverter, jar,
+        jarsigner, java, javac, javadoc, javah, javap, java-rmi.cgi,
+        javaws, jconsole, jdb, jhat, jinfo, jmap, jps,
+        jrunscript, jsadebugd, jstack, jstat, jstatd, keytool,
+        native2ascii, orbd, pack200, policytool, rmic, rmid, rmiregistry,
+        schemagen, serialver, servertool, tnameserv, unpack200,
+        wsgen, wsimport, and xjc</seg>
+        <seg><envar>$JAVA_HOME</envar>/lib/*,
+        <envar>$JAVA_HOME</envar>/jre/lib/*,
+        and libjavaplugin_oji.so</seg>
+        <seg>/opt/jdk-&jdk-version-string;</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="appletviewer">
+        <term><command>appletviewer</command></term>
+        <listitem>
+          <para>runs Java applets outside of the context of a browser.</para>
+          <indexterm zone="jdk appletviewer">
+            <primary sortas="b-appletviewer">appletviewer</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="apt">
+        <term><command>apt</command></term>
+        <listitem>
+          <para>is an annotation processing tool.</para>
+          <indexterm zone="jdk apt">
+            <primary sortas="b-apt">apt</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="extcheck">
+        <term><command>extcheck</command></term>
+        <listitem>
+          <para>checks a specified jar file for title and version conflicts
+          with any extensions installed in the <application>JDK</application>
+          software.</para>
+          <indexterm zone="jdk extcheck">
+            <primary sortas="b-extcheck">extcheck</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="HtmlConverter">
+        <term><command>HtmlConverter</command></term>
+        <listitem>
+          <para>adds Java auto download to html and asp pages. </para>
+          <indexterm zone="jdk HtmlConverter">
+            <primary sortas="b-HtmlConverter">HtmlConverter</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="idlj">
+        <term><command>idlj</command></term>
+        <listitem>
+          <para>generates Java bindings from a given IDL file.</para>
+          <indexterm zone="jdk idlj">
+            <primary sortas="b-idlj">idlj</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="jar">
+        <term><command>jar</command></term>
+        <listitem>
+          <para>combines multiple files into a single jar archive.</para>
+          <indexterm zone="jdk jar">
+            <primary sortas="b-jar">jar</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="jarsigner">
+        <term><command>jarsigner</command></term>
+        <listitem>
+          <para>signs jar files and verifies the signatures and integrity
+          of a signed jar file.</para>
+          <indexterm zone="jdk jarsigner">
+            <primary sortas="b-jarsigner">jarsigner</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="java">
+        <term><command>java</command></term>
+        <listitem>
+          <para>launches a Java application by starting a Java runtime
+          environment, loading a specified class and invoking its main
+          method.</para>
+          <indexterm zone="jdk java">
+            <primary sortas="b-java">java</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="javac">
+        <term><command>javac</command></term>
+        <listitem>
+          <para>reads class and interface definitions, written in the
+          Java programming language, and compiles them into bytecode
+          class files.</para>
+          <indexterm zone="jdk javac">
+            <primary sortas="b-javac">javac</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="javadoc">
+        <term><command>javadoc</command></term>
+        <listitem>
+          <para>parses the declarations and documentation comments in a
+          set of Java source files and produces a corresponding set of
+          HTML pages describing the classes, interfaces,constructors,
+          methods, and fields.</para>
+          <indexterm zone="jdk javadoc">
+            <primary sortas="b-javadoc">javadoc</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="javah">
+        <term><command>javah</command></term>
+        <listitem>
+          <para>generates C header and source files
+          that are needed to implement native methods.</para>
+          <indexterm zone="jdk javah">
+            <primary sortas="b-javah">javah</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="javap">
+        <term><command>javap</command></term>
+        <listitem>
+          <para>disassembles a Java class file.</para>
+          <indexterm zone="jdk javap">
+            <primary sortas="b-javap">javap</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="java-rmi.cgi">
+        <term><command>java-rmi.cgi</command></term>
+        <listitem>
+          <para>is the Java RMI client.</para>
+          <indexterm zone="jdk java-rmi.cgi">
+            <primary sortas="b-java-rmi.cgi">java-rmi.cgi</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="javaws">
+        <term><command>javaws</command></term>
+        <listitem>
+          <para>launches Java application/applets hosted on a network.</para>
+          <indexterm zone="jdk javaws">
+            <primary sortas="b-javaws">javaws</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="jconsole">
+        <term><command>jconsole</command></term>
+        <listitem>
+          <para>is a graphical console tool to monitor and manage both
+          local and remote Java applications and virtual machines.</para>
+          <indexterm zone="jdk jconsole">
+            <primary sortas="b-jconsole">jconsole</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="jdb">
+        <term><command>jdb</command></term>
+        <listitem>
+          <para>is a simple command-line debugger for Java classes.</para>
+          <indexterm zone="jdk jdb">
+            <primary sortas="b-jdb">jdb</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="jhat">
+        <term><command>jhat</command></term>
+        <listitem>
+          <para>parses a java heap dump file and allows viewing
+          in a webbrowser.</para>
+          <indexterm zone="jdk jhat">
+            <primary sortas="b-jhat">jhat</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="jinfo">
+        <term><command>jinfo</command></term>
+        <listitem>
+          <para>prints Java configuration information for a given Java
+          process, core file, or a remote debug server.</para>
+          <indexterm zone="jdk jinfo">
+            <primary sortas="b-jinfo">jinfo</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="jmap">
+        <term><command>jmap</command></term>
+        <listitem>
+          <para>prints shared object memory maps or heap memory details
+          of a given process, core file, or a remote debug server.</para>
+          <indexterm zone="jdk jmap">
+            <primary sortas="b-jmap">jmap</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="jps">
+        <term><command>jps</command></term>
+        <listitem>
+          <para>lists the instrumented JVMs on the target system.</para>
+          <indexterm zone="jdk jps">
+            <primary sortas="b-jps">jps</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="jrunscript">
+        <term><command>jrunscript</command></term>
+        <listitem>
+          <para>is a command line script shell.</para>
+          <indexterm zone="jdk jrunscript">
+            <primary sortas="b-jrunscript">jrunscript</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="jsadebugd">
+        <term><command>jsadebugd</command></term>
+        <listitem>
+          <para>attaches to a Java process or core file and acts as a
+          debug server.</para>
+          <indexterm zone="jdk jsadebugd">
+            <primary sortas="b-jsadebugd">jsadebugd</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="jstack">
+        <term><command>jstack</command></term>
+        <listitem>
+          <para>prints Java stack traces of Java threads for a given
+          Java process, core file, or a remote debug server.</para>
+          <indexterm zone="jdk jstack">
+            <primary sortas="b-jstack">jstack</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="jstat">
+        <term><command>jstat</command></term>
+        <listitem>
+          <para>displays performance statistics for an instrumented JVM.</para>
+          <indexterm zone="jdk jstat">
+            <primary sortas="b-jstat">jstat</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="jstatd">
+        <term><command>jstatd</command></term>
+        <listitem>
+          <para>is an RMI server application that monitors for the creation
+          and termination of instrumented JVMs.</para>
+          <indexterm zone="jdk jstatd">
+            <primary sortas="b-jstatd">jstatd</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="keytool">
+        <term><command>keytool</command></term>
+        <listitem>
+          <para>is a key and certificate management utility.</para>
+          <indexterm zone="jdk keytool">
+            <primary sortas="b-keytool">keytool</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="native2ascii">
+        <term><command>native2ascii</command></term>
+        <listitem>
+          <para> converts files that contain non-supported character encoding
+          into files containing Latin-1 or Unicode-encoded characters.</para>
+          <indexterm zone="jdk native2ascii">
+            <primary sortas="b-native2ascii">native2ascii</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="orbd">
+        <term><command>orbd</command></term>
+        <listitem>
+          <para>is used to enable clients to transparently locate and invoke
+          persistent objects on servers in the CORBA environment.</para>
+          <indexterm zone="jdk orbd">
+            <primary sortas="b-orbd">orbd</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="pack200">
+        <term><command>pack200</command></term>
+        <listitem>
+          <para>is a Java application that transforms a jar file into a
+          compressed pack200 file using the Java gzip compressor.</para>
+          <indexterm zone="jdk pack200">
+            <primary sortas="b-pack200">pack200</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="policytool">
+        <term><command>policytool</command></term>
+        <listitem>
+          <para>creates and manages a policy file graphically.</para>
+          <indexterm zone="jdk policytool">
+            <primary sortas="b-policytool">policytool</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="rmic">
+        <term><command>rmic</command></term>
+        <listitem>
+          <para>generates stub and skeleton class files for remote objects
+          from the names of compiled Java classes that contain remote
+          object implementations.</para>
+          <indexterm zone="jdk rmic">
+            <primary sortas="b-rmic">rmic</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="rmid">
+        <term><command>rmid</command></term>
+        <listitem>
+          <para>starts the activation system daemon.</para>
+          <indexterm zone="jdk rmid">
+            <primary sortas="b-rmid">rmid</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="rmiregistry">
+        <term><command>rmiregistry</command></term>
+        <listitem>
+          <para>creates and starts a remote object registry on the specified
+          port on the current host.</para>
+          <indexterm zone="jdk rmiregistry">
+            <primary sortas="b-rmiregistry">rmiregistry</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="schemagen">
+        <term><command>schemagen</command></term>
+        <listitem>
+          <para>is a Java XML binding schema generator.</para>
+          <indexterm zone="jdk schemagen">
+            <primary sortas="b-schemagen">schemagen</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="serialver">
+        <term><command>serialver</command></term>
+        <listitem>
+          <para>returns the serialVersionUID for one or more classes in a
+          form suitable for copying into an evolving class.</para>
+          <indexterm zone="jdk serialver">
+            <primary sortas="b-serialver">serialver</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="servertool">
+        <term><command>servertool</command></term>
+        <listitem>
+          <para>provides an ease-of-use interface for application programmers
+          to register, unregister, startup and shutdown a server.</para>
+          <indexterm zone="jdk servertool">
+            <primary sortas="b-servertool">servertool</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="tnameserv">
+        <term><command>tnameserv</command></term>
+        <listitem>
+          <para>starts the Java IDL name server.</para>
+          <indexterm zone="jdk tnameserv">
+            <primary sortas="b-tnameserv">tnameserv</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="unpack200">
+        <term><command>unpack200</command></term>
+        <listitem>
+          <para>is a native implementation that transforms a packed file
+          produced by <application>pack200</application> into a jar
+          file.</para>
+          <indexterm zone="jdk unpack200">
+            <primary sortas="b-unpack200">unpack200</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="wsgen">
+        <term><command>wsgen</command></term>
+        <listitem>
+          <para>generates JAX-WS portable artifacts used in JAX-WS
+          web services.</para>
+          <indexterm zone="jdk wsgen">
+            <primary sortas="b-wsgen">wsgen</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="wsimport">
+        <term><command>wsimport</command></term>
+        <listitem>
+          <para>generates JAX-WS portable artifacts.</para>
+          <indexterm zone="jdk wsimport">
+            <primary sortas="b-wsimport">wsimport</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="xjc">
+        <term><command>xjc</command></term>
+        <listitem>
+          <para>is a Java XML binding compiler.</para>
+          <indexterm zone="jdk xjc">
+            <primary sortas="b-xjc">xjc</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>

Modified: trunk/BOOK/general/prog/jdk.xml
===================================================================
--- trunk/BOOK/general/prog/jdk.xml	2008-05-12 05:07:53 UTC (rev 7452)
+++ trunk/BOOK/general/prog/jdk.xml	2008-05-12 05:29:39 UTC (rev 7453)
@@ -4,29 +4,14 @@
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
 
-  <!ENTITY jdk-download-binary       "http://java.sun.com/javase/downloads/index.jsp">
-  <!ENTITY jdk-bin-md5sum            "f7528500c17c09546566e05988beda86">
-  <!ENTITY jdk-bin-size              "67 MB">
-  <!ENTITY jdk-bin-buildsize         "207 MB">
-  <!ENTITY jdk-bin-version           "6u5">
+  <!ENTITY jdk-download-http   "http://java.sun.com/javase/downloads/index.jsp">
+  <!ENTITY jdk-md5sum          "f7528500c17c09546566e05988beda86">
+  <!ENTITY jdk-size            "67 MB">
+  <!ENTITY jdk-buildsize       "207 MB">
+  <!ENTITY jdk-bin-version     "6u5">
+  <!ENTITY jdk-build-time      "0.3 SBU">
+  <!ENTITY jdk-version-string  "1.6.0_05">
 
-  <!ENTITY jdk-source-jrl-md5sum     "83390379fb9f3193e93a9d5eed5b31d9">
-  <!ENTITY jdk-source-bin-md5sum     "8b6f1b8d8dec051c18385539111141ec">
-  <!ENTITY jdk-source-moz-md5sum     "6dcaf7af16211617adff5d672a8b79f4">
-
-  <!ENTITY jdk-source-jrl-size       "111 MB">
-  <!ENTITY jdk-source-bin-size       "2 MB">
-  <!ENTITY jdk-source-moz-size       "8.2 MB">
-
-  <!ENTITY jdk-src-buildsize         "1.5 GB">
-  <!ENTITY jdk-time                  "12.5 SBU (for both installations)">
-  <!ENTITY jdk-version-string        "6u3">
-  <!ENTITY jdk-bin-version-string    "1.6.0_05">
-
-  <!ENTITY jdk-download-source-jrl "http://www.java.net/download/jdk6/&jdk-version-string;/promoted/b05/jdk-&jdk-version-string;-fcs-src-b05-jrl-24_sep_2007.jar">
-  <!ENTITY jdk-download-source-bin "http://www.java.net/download/jdk6/&jdk-version-string;/promoted/b05/jdk-&jdk-version-string;-fcs-bin-b05-jrl-24_sep_2007.jar">
-  <!ENTITY jdk-download-source-moz "http://www.java.net/download/jdk6/&jdk-version-string;/promoted/b05/jdk-&jdk-version-string;-fcs-mozilla_headers-b05-unix-24_sep_2007.jar">
-
 ]>
 
 <sect1 id="jdk" xreflabel="JDK-&jdk-version;">
@@ -53,133 +38,45 @@
     programs.  It also includes a plug-in for browsers so that they can be
     <application>Java</application> aware.</para>
 
-    <!-- Previously, the plugin included
-    in the <application>JDK</application> binary package was unusable on LFS
-    owing to incompatibilities with <application>GCC</application>-3 compiled
-    browsers.  This is not the case anymore.</para> -->
 
-    <para>The <application>JDK</application> comes in two flavors, a
-    precompiled binary and a source package. You will first need to download
-    and install the binary version of the <application>JDK</application>
-    (you'll need to click and agree to the <quote>Sun Microsystems, Inc.
-    Binary Code License Agreement</quote>). To build from the source, you
-    will need to read, and agree to the Sun
-    <!--<ulink url="&patch-root;/jdk-Readme.txt">-->Java Research License<!--</ulink>-->.
-    You will also need to download the additional files and patches to
-    complete the source build as detailed below. Note that in some countries
-    you cannot download the source code.</para>
-
-    <warning><para>Sun has recently decided not to provide JRL sources for
-    the latest update versions of the JDK.  The source build instructions and
-    patches are here for reference only, and contain known security
-    vulnerabilities.  For more information, please see Sun Alerts
-    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-231246-1">231246</ulink>,
-    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-233321-1">233321</ulink>,
-    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-233322-1">233322</ulink>,
-    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-233323-1">233323</ulink>,
-    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-233324-1">233324</ulink>,
-    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-233325-1">233325</ulink>,
-    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-233326-1">233326</ulink>, and
-    <ulink url="http://sunsolve.sun.com/search/document.do?assetkey=1-66-233327-1">233327</ulink>.</para>
-    <para>  Sun is actively working on a GPL'd version of the JDK, titled
+    <note><para>Sun has recently decided not to provide JRL sources for
+    the latest update versions of the JDK. Sun is actively working on a GPL'd
+    version of the JDK, titled 
     <ulink url="http://openjdk.java.net/projects/jdk6/">OpenJDK</ulink>.
     This new JDK will be licensed under the
     <ulink url="http://openjdk.java.net/legal/gplv2+ce.html">GNU General
     Public License, version 2, with the Classpath Exception</ulink>.
-    A stable OpenJDK was not available at the time of writing.</para></warning>
+    A stable OpenJDK was not available at the time of writing.</para></note>
 
 
-    <bridgehead renderas="sect3">Binary Package Information</bridgehead>
+    <bridgehead renderas="sect3">Package Information</bridgehead>
     <itemizedlist spacing="compact">
       <listitem>
-        <para>Binary download (jdk-&jdk-bin-version;-linux-i586.bin):
-        <ulink url="&jdk-download-binary;"/></para>
+        <para>Download (jdk-&jdk-bin-version;-linux-i586.bin):
+        <ulink url="&jdk-download-http;"/></para>
       </listitem>
       <listitem>
-        <para>Download MD5 sum: &jdk-bin-md5sum;</para>
+        <para>Download MD5 sum: &jdk-md5sum;</para>
       </listitem>
       <listitem>
-        <para>Download size (binary): &jdk-bin-size;</para>
+        <para>Download size (binary): &jdk-size;</para>
       </listitem>
       <listitem>
-        <para>Estimated disk space required: &jdk-bin-buildsize;</para>
+        <para>Estimated disk space required: &jdk-buildsize;</para>
       </listitem>
-    </itemizedlist>
-
-    <bridgehead renderas="sect3">Source Package Information</bridgehead>
-
-    <itemizedlist spacing="compact">
       <listitem>
-        <para>JRL Source
-          <simplelist>
-            <member><ulink url="&jdk-download-source-jrl;"/></member>
-            <member>&jdk-source-jrl-md5sum;</member>
-            <member>&jdk-source-jrl-size;</member>
-          </simplelist>
-        </para>
+        <para>Estimated build time: &jdk-build-time;</para>
       </listitem>
-      <listitem>
-        <para>Source Binaries
-          <simplelist>
-            <member><ulink url="&jdk-download-source-bin;"/></member>
-            <member>&jdk-source-bin-md5sum;</member>
-            <member>&jdk-source-bin-size;</member>
-          </simplelist>
-        </para>
-      </listitem>
-      <listitem>
-        <para>Mozilla Headers
-          <simplelist>
-            <member><ulink url="&jdk-download-source-moz;"/></member>
-            <member>&jdk-source-moz-md5sum;</member>
-            <member>&jdk-source-moz-size;</member>
-          </simplelist>
-        </para>
-      </listitem>
-      <listitem>
-        <para>Estimated disk space required: &jdk-src-buildsize;</para>
-      </listitem>
-      <listitem>
-        <para>Estimated build time: &jdk-time;</para>
-      </listitem>
     </itemizedlist>
 
-    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
-
-    <bridgehead renderas="sect4">Required Patches</bridgehead>
-    <itemizedlist spacing='compact'>
-      <listitem>
-        <para><ulink
-        url="&patch-root;/jdk-&jdk-version-string;-gcc4-1.patch"/></para>
-      </listitem>
-      <listitem>
-        <para><ulink
-        url="&patch-root;/jdk-&jdk-version-string;-motif_fixes-1.patch"/></para>
-      </listitem>
-      <listitem>
-        <para><ulink
-        url="&patch-root;/jdk-&jdk-version-string;-remove_fixed_paths-1.patch"/></para>
-      </listitem>
-    </itemizedlist>
-
     <bridgehead renderas="sect3">JDK Dependencies</bridgehead>
 
-    <bridgehead renderas="sect4">Optional Runtime Dependencies (for binary
-    installation)</bridgehead>
+    <bridgehead renderas="sect4">Optional Runtime Dependencies</bridgehead>
     <para role="optional">
     <xref linkend="alsa-lib"/>,
     <xref linkend="cups"/>, and
     <xref linkend="gtk2"/></para>
 
-    <bridgehead renderas="sect4">Additional Requirements
-    (for source build, including optional requirements)</bridgehead>
-    <para role="required">
-    <xref linkend="cpio"/>,
-    <xref linkend="ksh"/>,
-    <xref linkend="unzip"/>,
-    <xref linkend="which"/>, and
-    <xref linkend="zip"/></para>
-
     <para condition="html" role="usernotes">User Notes:
     <ulink url="&blfs-wiki;/jdk"/></para>
 
@@ -188,14 +85,10 @@
   <sect2 role="installation">
     <title>Installation of JDK</title>
 
-    <para>The instructions below install both the binary and source versions.
-    You may stop after installing the binary version or continue on installing
-    the source version. You can choose to keep either or both.</para>
-
     <tip>
       <para>The <command>./jdk-&jdk-bin-version;-linux-i586.bin</command>
       command below unpacks the distribution into a
-      <filename class='directory'>jdk&jdk-bin-version-string;</filename>
+      <filename class='directory'>jdk&jdk-version-string;</filename>
       directory.  You will be required to view, and then accept (by entering a
       <keycap>y</keycap> keypress), a license agreement before any files are
       unpacked. If you are scripting (automating) the build, you'll need to
@@ -210,7 +103,7 @@
     location.  For this application only, start in the directory where all
     the downloaded files are located.</para>
 
-    <para>Install the binary <application>JDK</application> with the
+    <para>Install the <application>JDK</application> with the
     following commands:</para>
 
 <screen><userinput>chmod 755 jdk-&jdk-bin-version;-linux-i586.bin &&
@@ -225,204 +118,29 @@
 
     <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
 
-<screen role="root"><userinput>cd jdk&jdk-bin-version-string; &&
-install -v -m755 -d /opt/jdk-bin-&jdk-bin-version; &&
-mv -v * /opt/jdk-bin-&jdk-bin-version; &&
-chown -v -R root:root /opt/jdk-bin-&jdk-bin-version; &&
+<screen role="root"><userinput>cd jdk&jdk-version-string; &&
+install -v -m755 -d /opt/jdk-&jdk-bin-version; &&
+mv -v * /opt/jdk-&jdk-bin-version; &&
+chown -v -R root:root /opt/jdk-&jdk-bin-version; &&
 ln -v -sf xawt/libmawt.so \
-    /opt/jdk-bin-&jdk-bin-version;/jre/lib/i386/ &&
+    /opt/jdk-&jdk-bin-version;/jre/lib/i386/ &&
 cd ..</userinput></screen>
 
     <para>Recent versions of libX11 break libmawt
     when used with the Xinerama extension.  While still the
     <systemitem class="username">root</systemitem> user, apply the
-    following sed to the installed binary to work around this
-    problem:</para>
+    following sed to work around this problem:</para>
 
 <screen role="root"><userinput>sed -i 's at XINERAMA@FAKEEXTN at g' \
-    /opt/jdk-bin-&jdk-bin-version;/jre/lib/i386/xawt/libmawt.so</userinput></screen>
+    /opt/jdk-&jdk-bin-version;/jre/lib/i386/xawt/libmawt.so</userinput></screen>
 
-    <para>The binary version is now installed.</para>
-
-    <para>If you don't want to compile the source or are not in a position to
-    download the source owing to license restrictions, skip ahead to the
-    configuration section.</para>
-
-    <para>Save the existing path, and append the recently installed
-    <application>JDK</application>.</para>
-
-<screen><userinput>export JAVA_HOME=/opt/jdk-bin-&jdk-bin-version; &&
-export PATH_HOLD=${PATH} &&
-export PATH=${PATH}:${JAVA_HOME}/bin</userinput></screen>
-
-    <para>The source code is contained in self-extracting
-    <filename class='extension'>jar</filename> files.  You
-    will need to be in a windowed environment to extract the sources.
-    Create a directory to store the extracted sources.  Choose the newly
-    created <filename class="directory">jdk-build</filename> directory
-    when prompted for the target directory.</para>
-
-<screen><userinput>mkdir jdk-build &&
-cd jdk-build &&
-for JAR in ../jdk-&jdk-version-string;*.jar
-    do java -jar ${JAR}
-done</userinput></screen>
-
-    <para>Apply all the patches downloaded above:</para>
-
-<screen><userinput>for PATCH in ../jdk-&jdk-version-string;*.patch
-    do patch -Np1 -i ${PATCH}
-done</userinput></screen>
-
-    <para>Use the following commands to apply some minor changes that
-    are a little more specific to BLFS, such as lack of a gcc-2.9
-    compiler, removing a broken demo, and forcing to link to shared
-    libraries.  See the 'Command Explanations' section for more detail:</para>
-
-<screen><userinput>sed -i '/^.*linux)/ { N; /.*/ { N; /.*/d }}' \
-    deploy/make/plugin/{adapter,nscore}/Makefile &&
-sed -i '/.*mtrace.*/ { N; /.*/ s/.*mtrace.*\n.*/\t  mtrace/ }' \
-    j2se/make/mkdemo/jvmti/Makefile &&
-sed -i 's/= true/= false/' \
-    j2se/make/common/shared/Compiler-gcc.gmk</userinput></screen>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../../xincludes/X11R6_symlink.xml"/>
-
-    <!-- <para>If your <application>X Window System</application> is installed into
-    any prefix other than <filename class="directory">/usr/X11R6</filename>,
-    execute the following commands, replacing
-    <replaceable><PREFIX></replaceable> with the installation prefix of
-    the <application>X Window System</application>:</para>
-
-<screen><userinput>for file in `find . -name Makefile \
-    -or -name Imakefile -or -name *.gmk`
-do sed -i 's@/usr/X11R6@<replaceable><PREFIX></replaceable>@g' $file
-done &&
-sed -i 's@/usr/X11R6@<replaceable><PREFIX></replaceable>@g' \
-    j2se/src/solaris/native/sun/awt/fontpath.c \
-    j2se/src/solaris/classes/sun/awt/motif/linux.fontconfig.Sun.properties \
-    j2se/src/solaris/classes/sun/awt/motif/linux.fontconfig.RedHat.3.properties</userinput></screen> -->
-
-    <para>Set/unset some variables which affect the build:</para>
-
-<screen><userinput>export ALT_BOOTDIR=${JAVA_HOME} &&
-export CLASSPATH_HOLD=${CLASSPATH} &&
-export ALT_CACERTS_FILE=${ALT_BOOTDIR}/jre/lib/security/cacerts &&
-export ALT_MOZILLA_HEADERS_PATH=${PWD}/share/plugin &&
-export MILESTONE="03-BLFS" &&
-export BUILD_NUMBER="b05" &&
-export INSANE=true &&
-export DEV_ONLY=true &&
-export SKIP_FASTDEBUG_BUILD=true &&
-unset JAVA_HOME CLASSPATH CFLAGS CXXFLAGS LDFLAGS</userinput></screen>
-
-      <warning><para>Setting CFLAGS/CXXFLAGS/LDFLAGS is guaranteed to make
-      the build fail. If you are interested in optimizing the build, set
-      OTHER_CFLAGS/OTHER_CXXFLAGS/OTHER_LDFLAGS instead.  -O3, even in
-      OTHER_C{,XX}FLAGS, is known to cause a build failure.</para></warning>
-
-
-    <para>Additionally, if you would like to <command>make</command> in
-    parallel, add the following:</para>
-
-<screen><userinput>export HOTSPOT_BUILD_JOBS=<replaceable><3></replaceable></userinput></screen>
-
-    <para>Build the <application>JDK</application> with the following
-    commands. There will be a few messages about missing files that look like
-    errors. These are caused by not meeting the expected build environment
-    (Red Hat).  As long as the build doesn't stop, the messages
-    are harmless.</para>
-
-<screen><userinput>pushd control/make &&
-make &&
-popd</userinput></screen>
-
-    <para>To test the results, you can run one of the provided demo programs
-    using the newly created <command>java</command> binary. Issue the
-    following commands:</para>
-
-<screen><userinput>pushd control/build/linux-i586/j2sdk-image/demo/jfc/Java2D &&
-../../../bin/java -jar Java2Demo.jar &&
-popd</userinput></screen>
-
-    <para>Now, as the <systemitem class="username">root</systemitem> user,
-    install the <application>JDK</application>:</para>
-
-<screen role="root"><userinput>pushd control/build/linux-i586 &&
-cp -v -a j2sdk-image /opt/jdk-&jdk-version-string; &&
-chown -v -R root:root /opt/jdk-&jdk-version-string; &&
-ln -v -sf xawt/libmawt.so  /opt/jdk-&jdk-version-string;/jre/lib/i386/ &&
-popd</userinput></screen>
-
-    <para>Restore the unprivileged user's environment using the following
-    commands:</para>
-
-<screen><userinput>export JAVA_HOME=${ALT_BOOTDIR} &&
-export CLASSPATH=${CLASSPATH_HOLD} &&
-export PATH=${PATH_HOLD} &&
-unset PATH_HOLD ALT_BOOTDIR CLASSPATH_HOLD \
-    ALT_CACERTS_FILE ALT_MOZILLA_HEADERS_PATH \
-    BUILD_NUMBER MILESTONE INSANE DEV_ONLY \
-    SKIP_FASTDEBUG_BUILD</userinput></screen>
-
   </sect2>
 
   <sect2 role="commands">
     <title>Command Explanations</title>
 
-    <para><command>sed -i '/^.*linux)/...</command>: This command disables
-    the build of a gcc-2.9 compatible browser plugin.  LFS does not contain
-    gcc-2.9, and hasn't in quite a few years.</para>
-
-    <para><command>sed -i '/.*mtrace.*/...</command>: This command disables
-    building of the broken 'waiters' demo.</para>
-
-    <para><command>sed -i 's/= true/= false/'...</command>: This command
-    forces the compiler to link against the standard C libraries
-    dynamically.</para>
-
-    <para><command>export ALT_BOOTDIR=${JAVA_HOME}</command>: This variable sets
-    the location of the bootstrap <application>JDK</application>.</para>
-
-    <para><command>export ALT_CACERTS_FILE...</command>: Specifies the
-    certificate file to use (from the installed binary
-    <application>JDK</application>).</para>
-
-    <para><command>export ALT_MOZILLA_HEADERS_PATH=${PWD}/share/plugin/</command>:
-    This tells the build exactly where to find the
-    <application>Mozilla</application> headers.  This has changed since the
-    previous version and is not mentioned in the installation documentation
-    included with the package source.</para>
-
-    <para><command>export MILESTONE="03-BLFS"</command>: This appends
-    the string '03-BLFS' to the buld number.  'internal' is
-    unconditionally added if MILESTONE is unset.  This is similar
-    to the format used by Sun for the official release.</para>
-
-    <para><command>export BUILD_NUMBER="b05"</command>:
-    This will help you identify the compiled version of the runtime
-    environment and virtual machine by appending this information to
-    the version string. This is the same build number used by Sun to
-    identify the official release.</para>
-
-    <para><command>export INSANE=true</command>: The certified platform for the
-    build is Redhat Enterprise Advanced Server 2.1. This variable ensures that
-    all the errors related to compiling on a non-certified platform will be
-    displayed as warnings instead of errors.</para>
-
-    <para><command>export DEV_ONLY=true</command>: This command
-    skips compiling the comparison build.</para>
-
-    <para><command>export SKIP_FASTDEBUG_BUILD=true</command>: This command
-    skips building of the debug version.  Omit this command if you need
-    to build the fastdebug target.</para>
-
-    <para><command>unset JAVA_HOME CLASSPATH CFLAGS CXXFLAGS LDFLAGS</command>:
-    These variables cause miscompilation of the build. Never set them.</para>
-
     <para><command>ln -sf xawt/libmawt.so
-    /opt/jdk-&jdk-version-string;/jre/lib/i386/</command>: This fixes
+    /opt/jdk-&jdk-bin-version;/jre/lib/i386/</command>: This fixes
     linking issues with other applications that expect to find the
     <application>motif</application> libraries with the other
     <application>JDK</application> libraries.</para>
@@ -435,13 +153,10 @@
     <sect3>
       <title>Configuration Information</title>
 
-      <para>There are now two Java 2 SDKs installed in
-      <filename>/opt</filename>. You should decide on which one you
-      would like to use as the default. For example if you decide to use the
-      precompiled <application>JDK</application>, do the following as the
-      <systemitem class="username">root</systemitem> user:</para>
+    <para>As the <systemitem class="username">root</systemitem> user, create
+    a symlink to the installation directory:</para>
 
-<screen role="root"><userinput>ln -v -nsf jdk-bin-&jdk-bin-version; /opt/jdk</userinput></screen>
+<screen role="root"><userinput>ln -v -nsf jdk-&jdk-bin-version; /opt/jdk</userinput></screen>
 
     <para>The information below assumes your system is set up using the
     instructions found in
@@ -511,7 +226,7 @@
         <seg><envar>$JAVA_HOME</envar>/lib/*,
         <envar>$JAVA_HOME</envar>/jre/lib/*,
         and libjavaplugin_oji.so</seg>
-        <seg>/opt/jdk-&jdk-version-string;</seg>
+        <seg>/opt/jdk-&jdk-bin-version;</seg>
       </seglistitem>
     </segmentedlist>
 

Modified: trunk/BOOK/general.ent
===================================================================
--- trunk/BOOK/general.ent	2008-05-12 05:07:53 UTC (rev 7452)
+++ trunk/BOOK/general.ent	2008-05-12 05:29:39 UTC (rev 7453)
@@ -3,7 +3,7 @@
 $Date$
 -->
 
-<!ENTITY day          "11">                   <!-- Always 2 digits -->
+<!ENTITY day          "12">                   <!-- Always 2 digits -->
 <!ENTITY month        "05">                   <!-- Always 2 digits -->
 <!ENTITY year         "2008">
 <!ENTITY version      "svn-&year;&month;&day;">




More information about the blfs-book mailing list