Changeset 042f456


Ignore:
Timestamp:
11/19/2014 09:26:43 PM (9 years ago)
Author:
Pierre Labastie <pieere@…>
Branches:
10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 7.10, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, basic, bdubbs/svn, elogind, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, lazarus, lxqt, nosym, perl-modules, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, trunk, upgradedb, xry111/intltool, xry111/llvm18, xry111/soup3, xry111/test-20220226, xry111/xf86-video-removal
Children:
c66063b
Parents:
7b4e974
Message:

Update to OpenJDK-1.8.0_25

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

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • general/prog/java.xml

    r7b4e974 r042f456  
    77  <!ENTITY anduin-download             "http://anduin.linuxfromscratch.org/files/BLFS/OpenJDK-&openjdk-version;">
    88  <!ENTITY openjdk-download-binary-x86 "&anduin-download;/OpenJDK-&openjdk-version;-i686-bin.tar.xz">
    9   <!ENTITY openjdk-bin-md5sum-x86      "0dffb64ec1f7bf53e0c51824e6b7ce3e">
    10   <!ENTITY openjdk-bin-size-x86        "165 MB">
    11   <!ENTITY openjdk-bin-buildsize-x86   "503 MB">
     9  <!ENTITY openjdk-bin-md5sum-x86      "191bc00a0f1eccb1545f67f0f40723cd">
     10  <!ENTITY openjdk-bin-size-x86        "57 MB">
     11  <!ENTITY openjdk-bin-buildsize-x86   "165 MB">
    1212
    1313  <!ENTITY openjdk-download-binary-x64 "&anduin-download;/OpenJDK-&openjdk-version;-x86_64-bin.tar.xz">
    14   <!ENTITY openjdk-bin-md5sum-x64      "7da9576cdc154a819a7b6702b67d94b2">
    15   <!ENTITY openjdk-bin-size-x64        "142 MB">
    16   <!ENTITY openjdk-bin-buildsize-x64   "399 MB">
     14  <!ENTITY openjdk-bin-md5sum-x64      "110bb2b6f0baea7abe173bf8131e82c9">
     15  <!ENTITY openjdk-bin-size-x64        "57 MB">
     16  <!ENTITY openjdk-bin-buildsize-x64   "169 MB">
    1717]>
    1818
     
    119119    <para role="required">
    120120      <xref linkend="alsa-lib"/>,
    121       <xref linkend="atk"/>,
    122       <xref linkend="cairo"/>,
    123121      <xref linkend="cups"/>,
    124       <xref linkend="gdk-pixbuf"/>,
    125       <xref linkend="giflib"/>,
    126       <xref linkend="gtk2"/>,
    127       <xref linkend="lcms2"/>, and
     122      <xref linkend="giflib"/>, and
    128123      <xref linkend="xorg7-lib"/>
    129124    </para>
  • general/prog/openjdk.xml

    r7b4e974 r042f456  
    55  %general-entities;
    66
    7   <!ENTITY anduin-download               "http://anduin.linuxfromscratch.org/files/BLFS/OpenJDK-&openjdk-version;-&icedtea-version;">
    8   <!ENTITY icedtea-download              "http://icedtea.classpath.org/download/source/icedtea-&icedtea-version;.tar.xz">
    9 
    10   <!ENTITY icedtea-md5sum                "6c57b54ab8b7916425d567dbb478ad73">
    11   <!ENTITY icedtea-size                  "1.9 MB">
    12 
    13   <!ENTITY corba-download                "&anduin-download;/corba.tar.bz2">
    14   <!ENTITY corba-md5sum                  "86cf23060d726aa55d77bffedb8b6a99">
    15   <!ENTITY corba-size                    "1.0 MB">
    16 
    17   <!ENTITY hotspot-download              "&anduin-download;/hotspot.tar.bz2">
    18   <!ENTITY hotspot-md5sum                "026bb8ca9e764fe53b8a19f1ddad1479">
    19   <!ENTITY hotspot-size                  "7.4 MB">
    20 
    21   <!ENTITY jaxp-download                 "&anduin-download;/jaxp.tar.bz2">
    22   <!ENTITY jaxp-md5sum                   "cbd3226b916fe9e6c7e9f1cd15e54d55">
    23   <!ENTITY jaxp-size                     "2.6 MB">
    24 
    25   <!ENTITY jaxws-download                "&anduin-download;/jaxws.tar.bz2">
    26   <!ENTITY jaxws-md5sum                  "84b921fc3e328eea770dc1a092e240dc">
    27   <!ENTITY jaxws-size                    "1.9 MB">
    28 
    29   <!ENTITY jdk-download                  "&anduin-download;/jdk.tar.bz2">
    30   <!ENTITY jdk-md5sum                    "b5a4703501bf4a6adeaa614e6d2345b3">
    31   <!ENTITY jdk-size                      "30.2 MB">
    32 
    33   <!ENTITY langtools-download            "&anduin-download;/langtools.tar.bz2">
    34   <!ENTITY langtools-md5sum              "e104e60e44aba0a8bc60c48df1d859b9">
    35   <!ENTITY langtools-size                "1.6 MB">
    36 
    37   <!ENTITY openjdk-download              "&anduin-download;/openjdk.tar.bz2">
    38   <!ENTITY openjdk-md5sum                "f48d6f8b748f869a5624d2c44998d54c">
    39   <!ENTITY openjdk-size                  "122 KB">
    40 
    41   <!ENTITY rhino-download                "https://github.com/downloads/mozilla/rhino/rhino1_7R4.zip">
    42   <!ENTITY rhino-md5sum                  "ad67a3dff135e3a70f0c3528a2d6edf2">
    43   <!ENTITY rhino-size                    "6.2 MB">
    44 
    45   <!ENTITY icedtea-web-download          "http://icedtea.classpath.org/download/source/icedtea-web-&icedtea-web-version;.tar.gz">
    46 
    47   <!ENTITY openjdk-buildsize             "8-10 GB">
    48   <!ENTITY openjdk-time                  "28-36 SBU (an additional 100 SBU for testsuite)">
     7  <!ENTITY ojdk-upd                  "25">
     8  <!ENTITY ojdk-bd                   "b18">
     9  <!ENTITY ojdk-tarball              "jdk8u&ojdk-upd;-&ojdk-bd;.tar.bz2">
     10  <!ENTITY ojdk-repo                 "http://hg.openjdk.java.net/jdk8u/jdk8u">
     11  <!ENTITY ojdk-download             "&ojdk-repo;/archive/&ojdk-tarball;">
     12
     13  <!ENTITY anduin-download           "http://anduin.linuxfromscratch.org/files/BLFS/OpenJDK-&openjdk-version;-&ojdk-bd;">
     14
     15  <!ENTITY ojdk-md5sum               "a0e0db6c9b322b4639e150b43a374cea">
     16  <!ENTITY ojdk-size                 "384 KB">
     17
     18  <!ENTITY corba-download            "&anduin-download;/corba.tar.xz">
     19  <!ENTITY corba-md5sum              "8ebdf969cd72746a619ae479a1785b41">
     20  <!ENTITY corba-size                "912 KB">
     21
     22  <!ENTITY hotspot-download          "&anduin-download;/hotspot.tar.xz">
     23  <!ENTITY hotspot-md5sum            "684776e6340ff192a818ac38d3d809f1">
     24  <!ENTITY hotspot-size              "6.2 MB">
     25
     26  <!ENTITY jaxp-download             "&anduin-download;/jaxp.tar.xz">
     27  <!ENTITY jaxp-md5sum               "74d98254e16f79d7f88c8d3ee69f3742">
     28  <!ENTITY jaxp-size                 "2.2 MB">
     29
     30  <!ENTITY jaxws-download            "&anduin-download;/jaxws.tar.xz">
     31  <!ENTITY jaxws-md5sum              "24346979cfbba2d9093c02eb3cad8732">
     32  <!ENTITY jaxws-size                "2.1 MB">
     33
     34  <!ENTITY jdk-download              "&anduin-download;/jdk.tar.xz">
     35  <!ENTITY jdk-md5sum                "9a9e1dc67e43efd246348048ecd717aa">
     36  <!ENTITY jdk-size                  "36.2 MB">
     37
     38  <!ENTITY langtools-download        "&anduin-download;/langtools.tar.xz">
     39  <!ENTITY langtools-md5sum          "b1e6dea259a362375a1084576282acd2">
     40  <!ENTITY langtools-size            "2.0 MB">
     41
     42  <!ENTITY nashorn-download          "&anduin-download;/nashorn.tar.xz">
     43  <!ENTITY nashorn-md5sum            "cb457804b83babe31f20a9e7ae4944cf">
     44  <!ENTITY nashorn-size              "1.9 MB">
     45
     46  <!ENTITY jtreg-version             "4.1-b10">
     47  <!ENTITY jtreg-download            "https://adopt-openjdk.ci.cloudbees.com/job/jtreg/lastStableBuild/artifact/jtreg&jtreg-version;.tar.gz">
     48  <!ENTITY jtreg-md5sum              "f48d6f8b748f869a5624d2c44998d54c">
     49  <!ENTITY jtreg-size                "122 KB">
     50
     51  <!ENTITY icedtea-web-download      "http://icedtea.classpath.org/download/source/icedtea-web-&icedtea-web-version;.tar.gz">
     52
     53  <!ENTITY ojdk-buildsize           "3 GB">
     54  <!ENTITY ojdk-time                "10 SBU (an additional 100 SBU for testsuite)">
    4955]>
    5056
    5157<sect1 id="openjdk"
    52        xreflabel="OpenJDK-&openjdk-version;/IcedTea-&icedtea-version;">
     58       xreflabel="OpenJDK-&openjdk-version;">
    5359  <?dbhtml filename="openjdk.html" ?>
    5460
     
    5864  </sect1info>
    5965
    60   <title>OpenJDK-&openjdk-version;/IcedTea-&icedtea-version;</title>
     66  <title>OpenJDK-&openjdk-version;</title>
    6167
    6268  <indexterm zone="openjdk">
     
    6571
    6672  <sect2 role="package">
    67     <title>Introduction to OpenJDK and IcedTea</title>
    68 
    69     <para><application>IcedTea</application> provides a build harness for the
    70     <application>OpenJDK</application> package, Oracle's open-sourced
    71     <application>Java</application> development environment.  In order to
    72     provide a completely free runtime environment, similar to Oracle's closed
    73     distribution, the <application>IcedTea</application> build harness also
    74     provides free, and arguably better versions of parts of the JDK which
    75     have not been open-sourced to date. <application>OpenJDK</application> is
    76     useful for developing <application>Java</application> programs and provides
    77     a complete runtime environment to run <application>Java</application>
    78     programs.</para>
     73    <title>Introduction to OpenJDK</title>
     74
     75    <para>
     76      <application>OpenJDK</application> is an open-source implementation
     77      of Oracle's Java Standard Edition platform.
     78      <application>OpenJDK</application> is useful for developing
     79      <application>Java</application> programs, and provides a complete
     80      runtime environment to run <application>Java</application> programs.
     81    </para>
    7982
    8083    &lfs76_checked;
    8184
    82     <note><para>The browser plugin and webstart implementation have been split
    83     off into a separate project. To provide a complete implementation, you will
    84     need to later install <xref linkend="icedtea-web"/>.</para></note>
    85 
    86     <para>OpenJDK is GPL'd code, however, it should be explained that there has
    87     been a special exception made for non-free projects to use these classes in
    88     their proprietary products.  In similar fashion to the LGPL, which
    89     allows non-free programs to link to libraries provided by free software,
    90     the <ulink url="http://openjdk.java.net/legal/gplv2+ce.html">GNU
    91     General Public License, version 2, with the Classpath Exception</ulink>
    92     allows third party programs to use classes provided by free software
    93     without the requirement that the third party software also be free. As with
    94     the LGPL, any modifications made to the free software portions of a
    95     third party application, must also be made freely available.</para>
    96 
    9785    <note>
    98       <para>The IcedTea build environment includes a very thorough, open source
    99       test suite titled <application>JTreg</application>.
    100       <application>JTreg</application> is intended to test the just built JDK
    101       for reasonable compatibility with the closed Oracle JDK.  However, in
    102       order for an independent implementation to claim compatibility, including
    103       the Oracle sponsored <application>OpenJDK</application> project, it must
    104       pass a closed <application>JCK/TCK</application> test suite.  No claims
    105       of compatibility, even partial compatibility,  may be made without
    106       passing an approved test suite.</para>
    107 
    108       <para>Oracle does provide free community access, on a case by case basis,
    109       to a closed toolkit to ensure 100% compatibility with its proprietary JDK.
    110       The binary version provided here has not been tested against the
    111       <ulink url="http://openjdk.java.net/groups/conformance/JckAccess/jck-access.html">
    112       TCK</ulink>. Any version that is built using the instructions given,
    113       cannot claim to be compatible with the proprietary JDK, without the user
    114       applying for, and completing the compatibility tests themselves.</para>
    115 
    116       <para>With that in mind, the binaries produced using this build method are
    117       regularly tested against the TCK by the members listed on the site above.
    118       In addition to the community license above, an educational, non-commercial
    119       license for the TCK can be obtained from
    120       <ulink url="http://www.oracle.com/technetwork/java/index-137188.html">
    121       here</ulink>.</para>
     86      <para>
     87        A browser plugin and webstart implementation, as well as a
     88        pulseaudio sound backend are provided by the Icedtea project. To provide
     89        a complete implementation, you will need to later install
     90        <xref linkend="icedtea-web"/> and <xref linkend="icedtea-sound"/>.
     91      </para>
     92    </note>
     93
     94    <para>
     95      OpenJDK is GPL'd code, with a special exception made for non-free
     96      projects to use these classes in their proprietary products.
     97      In similar fashion to the LGPL, which allows non-free programs to link
     98      to libraries provided by free software, the
     99      <ulink url="http://openjdk.java.net/legal/gplv2+ce.html">GNU
     100      General Public License, version 2, with the Classpath Exception</ulink>
     101      allows third party programs to use classes provided by free software
     102      without the requirement that the third party software also be free. As
     103      with the LGPL, any modifications made to the free software portions of a
     104      third party application, must also be made freely available.
     105    </para>
     106
     107    <note>
     108      <para>
     109        The <application>OpenJDK</application> source includes a very
     110        thorough, open source test suite using the
     111        <application>JTreg</application> test harness. The testing instructions
     112        below allow to test the just built JDK for reasonable compatibility
     113        with the proprietary Oracle JDK. However, in order for an independent
     114        implementation to claim compatibility, it must pass a proprietary
     115        <application>JCK/TCK</application> test suite. No claims of
     116        compatibility, even partial compatibility, may be made without passing
     117        an approved test suite.
     118      </para>
     119
     120      <para>
     121        Oracle does provide free community access, on a case by case basis, to
     122        a closed toolkit to ensure 100% compatibility with its proprietary JDK.
     123        Neither the binary version provided on the <xref linkend="java"/> page
     124        nor the JVM built with the instructions below have been tested against
     125        the <ulink
     126  url="http://openjdk.java.net/groups/conformance/JckAccess/jck-access.html">
     127        TCK</ulink>. Any version that is built using the instructions given,
     128        cannot claim to be compatible with the proprietary JDK, without the
     129        user applying for, and completing the compatibility tests themselves.
     130      </para>
     131
     132      <para>
     133        With that in mind, the binaries produced using this build method are
     134        regularly tested against the TCK by the members listed on the site
     135        above. In addition to the community license above, an educational,
     136        non-commercial license for the TCK can be obtained from <ulink
     137        url="http://www.oracle.com/technetwork/java/index-137188.html">
     138        here</ulink>.
     139      </para>
    122140    </note>
    123141
     
    125143    <itemizedlist spacing="compact">
    126144      <listitem>
    127         <para>IcedTea Source Package
     145        <para>OpenJDK Root Package
    128146          <simplelist>
    129             <member>Download: <ulink url="&icedtea-download;"/></member>
    130             <member>Download MD5 sum: &icedtea-md5sum;</member>
    131             <member>Download Size: &icedtea-size;</member>
     147            <member>Download: <ulink url="&ojdk-download;"/></member>
     148            <member>Download MD5 sum: &ojdk-md5sum;</member>
     149            <member>Download Size: &ojdk-size;</member>
    132150          </simplelist>
    133151        </para>
     
    135153    </itemizedlist>
    136154
    137     <para>The following may be downladed separately or be done as a
    138     part of the <command>make</command> process. For convenience
    139     the BLFS editors have made the files available in an LFS website.
    140     The files are not distributed with versions, but extracted from
    141     the OpenJDK version control system at specified (tagged) points.</para>
     155    <para>
     156      The following files may be downladed from the OpenJDK mercurial
     157      repository using the addresses <ulink
     158      url="&ojdk-repo;&lt;component&gt;/archive/&ojdk-tarball;"/>,
     159      where &lt;component&gt; is the name of the JVM component (corba,
     160      hostspot, and so on), but that involves renaming the downloaded files,
     161      and renaming the extracted directories.
     162      For convenience, the BLFS editors have made the files available in an LFS
     163      website.
     164    </para>
    142165
    143166    <itemizedlist spacing="compact">
     
    157180            <member>Download MD5 sum: &hotspot-md5sum;</member>
    158181            <member>Download Size: &hotspot-size;</member>
    159           </simplelist>
    160         </para>
    161       </listitem>
    162       <listitem>
    163         <para>IcedTea Build Source
    164           <simplelist>
    165             <member>Download: <ulink url="&openjdk-download;"/></member>
    166             <member>Download MD5 sum: &openjdk-md5sum;</member>
    167             <member>Download Size: &openjdk-size;</member>
    168182          </simplelist>
    169183        </para>
     
    197211      </listitem>
    198212      <listitem>
    199         <para>OpenJDK Source
     213        <para>JDK Source
    200214          <simplelist>
    201215            <member>Download: <ulink url="&jdk-download;"/></member>
     
    206220      </listitem>
    207221      <listitem>
    208         <para>Estimated disk space required: &openjdk-buildsize;</para>
     222        <para>Nashorn Source
     223          <simplelist>
     224            <member>Download: <ulink url="&nashorn-download;"/></member>
     225            <member>Download MD5 sum: &nashorn-md5sum;</member>
     226            <member>Download Size: &nashorn-size;</member>
     227          </simplelist>
     228        </para>
    209229      </listitem>
    210230      <listitem>
    211         <para>Estimated build time: &openjdk-time;</para>
     231        <para>Estimated disk space required: &ojdk-buildsize;</para>
     232      </listitem>
     233      <listitem>
     234        <para>Estimated build time: &ojdk-time;</para>
    212235      </listitem>
    213236    </itemizedlist>
     
    215238    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
    216239
    217     <bridgehead renderas="sect4">Required Patches</bridgehead>
    218240    <itemizedlist spacing='compact'>
    219241      <listitem>
    220242        <para>
    221           <ulink
    222             url="&patch-root;/icedtea-&icedtea-version;-add_cacerts-1.patch"/>
     243          Optional package (to get an icon for the
     244          <filename>openjdk-8-policytool.desktop</filename> file):
     245          <ulink url="&icedtea-web-download;"/>
    223246        </para>
    224247      </listitem>
    225248      <listitem>
    226249        <para>
    227           <ulink
    228             url="&patch-root;/icedtea-&icedtea-version;-fixed_paths-1.patch"/>
    229         </para>
    230       </listitem>
    231       <listitem>
    232         <para>
    233           <ulink
    234             url="&patch-root;/icedtea-&icedtea-version;-fix_new_giflib-1.patch"/>
    235         </para>
    236       </listitem>
    237       <listitem>
    238         <para>
    239           <ulink
    240             url="&patch-root;/icedtea-&icedtea-version;-fix_tests-1.patch"/>
     250          Optional test harness: <ulink url="&jtreg-download;"/>
    241251        </para>
    242252      </listitem>
    243253    </itemizedlist>
    244254
    245     <bridgehead renderas="sect4">Required JAR</bridgehead>
    246     <itemizedlist spacing='compact'>
    247       <listitem>
    248         <para>Rhino Java Script
    249           <simplelist>
    250             <member>Download: <ulink url="&rhino-download;"/></member>
    251             <member>Download MD5 sum: &rhino-md5sum;</member>
    252             <member>Download Size: &rhino-size;</member>
    253           </simplelist>
    254         </para>
    255       </listitem>
    256     </itemizedlist>
    257 
    258     <bridgehead renderas="sect4">Optional package (to obtain an icon for the
    259       <filename>openjdk-7-policytool.desktop</filename> file)</bridgehead>
    260     <itemizedlist spacing='compact'>
    261       <listitem>
    262         <para>
    263           <ulink url="&icedtea-web-download;"/>
    264         </para>
    265       </listitem>
    266     </itemizedlist>
    267255    <bridgehead renderas="sect3">OpenJDK Dependencies</bridgehead>
    268256
    269257    <bridgehead renderas="sect4">Required Dependencies</bridgehead>
    270258    <para role="required">
    271       An existing binary ( <xref linkend="java"/> or an earlier built
     259      An existing binary (<xref linkend="java"/> or an earlier built
    272260      version of this package),
    273261      <xref linkend="alsa-lib"/>,
    274       <xref linkend="apache-ant"/>,
    275       <xref linkend="cacerts"/>,
    276262      <xref linkend="cpio"/>,
    277263      <xref linkend="cups"/>,
    278       <xref linkend="gtk2"/>,
    279       <xref linkend="giflib"/>,
    280264      <xref linkend="unzip"/>,
    281       <xref linkend="wget"/>,
    282265      <xref linkend="which"/>,
    283       <xref linkend="xorg7-lib"/>, and 
     266      <xref linkend="xorg7-lib"/>, and
    284267      <xref linkend="zip"/>
    285268    </para>
     
    287270    <bridgehead renderas="sect4">Recommended</bridgehead>
    288271    <para role="recommended">
    289       <xref linkend="junit"/> and
    290       <xref linkend="nss"/>
     272      <xref linkend="cacerts"/> and
     273      <xref linkend="giflib"/>
    291274    </para>
    292275
    293276    <bridgehead renderas="sect4">Optional</bridgehead>
    294277    <para role="optional">
    295       <xref linkend="libxslt"/>,
    296       <xref linkend="lsb-release"/>,
    297       <xref linkend="mercurial"/>,
    298       <xref linkend="mitkrb"/>,
    299 <!-- Audio support has beeen moved to icedtea-sound
    300       <xref linkend="pulseaudio"/>, --> and
    301       <xref linkend="xorg-server"/> (for the tests)
     278      <xref linkend="mercurial"/> and
     279      <xref linkend="twm"/> (for the tests)
    302280    </para>
    303281
     
    310288    <title>Installation of OpenJDK</title>
    311289
    312     <note><para>The source build of OpenJDK requires <xref
    313     linkend="apache-ant"/>.  You'll need to build that first to satisfy the
    314     circular dependency, and return to this section to continue building
    315     OpenJDK.</para></note>
    316 
    317     <para>Unlike other packages in BLFS, the <application>OpenJDK</application>
    318     source packages are distributed in multiple downloads. Since the IcedTea
    319     build harness will be used to build <application>OpenJDK</application>,
    320     begin by extracting the IcedTea package and changing into the
    321     extracted directory.</para>
    322 
    323     <para>The IcedTea <application>OpenJDK</application> distribution requires
    324     that <filename>js.jar</filename> (from the Rhino package) be in place in
    325     order to provide a java-script implementation for the free JDK. If you have
    326     not installed the js.jar file in another way, do so with the following
    327     commands as the <systemitem class="username">root</systemitem> user:</para>
    328 
    329 <screen role="root"><userinput>unzip ../rhino1_7R4.zip             &amp;&amp;
    330 install -v -d -m755 /usr/share/java &amp;&amp;
    331 install -v -m755 rhino1_7R4/*.jar /usr/share/java</userinput></screen>
    332 
    333     <para>As mentioned previously, <application>OpenJDK</application> is
    334     composed of several individual projects of the proprietary
    335     <application>JDK</application> that have been relicensed under an open
    336     source license.  If you have already downloaded all of the individual
    337     components, place them into the source tree with the following
    338     commands:</para>
    339 
    340 <screen><userinput>cp -v ../corba.tar.bz2     . &amp;&amp;
    341 cp -v ../hotspot.tar.bz2   . &amp;&amp;
    342 cp -v ../jaxp.tar.bz2      . &amp;&amp;
    343 cp -v ../jaxws.tar.bz2     . &amp;&amp;
    344 cp -v ../jdk.tar.bz2       . &amp;&amp;
    345 cp -v ../langtools.tar.bz2 . &amp;&amp;
    346 cp -v ../openjdk.tar.bz2   .</userinput></screen>
    347 
    348     <para>Apply a patch to generate a valid cacerts file using the system CA
    349     certificates:</para>
    350 
    351 <screen><userinput>patch -Np1 -i ../icedtea-&icedtea-version;-add_cacerts-1.patch</userinput></screen>
    352 
    353     <para>Apply a patch to replace fixed paths with ones appropriate for
    354     BLFS:</para>
    355 
    356 <screen><userinput>patch -Np1 -i ../icedtea-&icedtea-version;-fixed_paths-1.patch</userinput></screen>
    357 
    358     <para>Apply a patch to adapt the code to the new giflib API:</para>
    359 
    360 <screen><userinput>patch -Np1 -i ../icedtea-&icedtea-version;-fix_new_giflib-1.patch</userinput></screen>
    361 
    362     <para>Apply a patch to exclude known broken tests from the test
    363     suite:</para>
    364 
    365 <screen><userinput>patch -Np1 -i ../icedtea-&icedtea-version;-fix_tests-1.patch</userinput></screen>
     290    <para>
     291      Unlike other packages in BLFS, the <application>OpenJDK</application>
     292      source packages are distributed in multiple tar balls. You need to first
     293      extract the source root from <filename>&ojdk-tarball;</filename>, change
     294      into the extracted directory, then proceed with the following
     295      instructions:
     296    </para>
     297
     298<screen><userinput>tar -xf ../corba.tar.xz      &amp;&amp;
     299tar -xf ../hotspot.tar.xz    &amp;&amp;
     300tar -xf ../jaxp.tar.xz       &amp;&amp;
     301tar -xf ../jaxws.tar.xz      &amp;&amp;
     302tar -xf ../jdk.tar.xz        &amp;&amp;
     303tar -xf ../langtools.tar.xz  &amp;&amp;
     304tar -xf ../nashorn.tar.xz</userinput></screen>
     305
     306    <para>
     307      If you have downloaded the test harness, unpack it too:
     308    </para>
     309
     310<screen><userinput>tar -xf ../jtreg&jtreg-version;.tar.gz</userinput></screen>
     311
     312<!--TODO: it might be better to add instructions for the cacerts file at
     313this place and to use the switch "with-cacerts-file" -->
     314
     315    <para>
     316      Fix an issue with the new (since 5.1.0) giflib API:
     317    </para>
     318
     319<screen><userinput>sed -e 's/DGifCloseFile(gif/&amp;, NULL/' \
     320    -e '/DGifOpen/s/c)/c, NULL)/'     \
     321    -i jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c</userinput></screen>
     322
     323    <para>
     324      Fix a bug in a shell script used to set the flags for
     325      <command>make</command>:
     326    </para>
     327
     328<screen><userinput>sed 's/\([ \t]\)\]\([^\]\)/\1I]\2/g' \
     329    -i hotspot/make/linux/makefiles/adjust-mflags.sh</userinput></screen>
    366330
    367331    <note>
    368332      <para>
    369          Before proceeding, you should ensure that your environment is
    370          properly set for building <application>OpenJDK</application>. First,
    371          review the content of the <envar>ANT_HOME</envar> variable.
    372          Second, the <envar>PATH</envar> variable should contain the paths to
    373          the <command>java</command> and <command>ant</command> executables.
    374          Last, the <envar>CLASSPATH</envar> variable should be set as
    375          explained on the <xref linkend="java"/> and <xref linkend="junit"/>
    376          pages.
    377        </para>
     333        Before proceeding, you should ensure that your environment
     334        <envar>PATH</envar> variable contains the location of the Java
     335        compilers used for bootstrapping <application>OpenJDK</application>.
     336        This is the only requirement for the environment. Modern Java
     337        installations do not need <envar>JAVA_HOME</envar> and
     338        <envar>CLASSPATH</envar> is not used here. Furthermore, OpenJDK
     339        developers recommand to unset <envar>JAVA_HOME</envar>.
     340      </para>
     341
     342      <para>
     343        The build system does not support the <option>-j</option> switch in
     344        <envar>MAKEFLAGS</envar>.
     345      </para>
    378346    </note>
     347
    379348    <para>Configure and build the package with the following commands
    380     (--with-pkgversion and --with-version-suffix values can be modified to fit
    381     user preferences):</para>
    382 
    383 <screen><userinput>unset JAVA_HOME                                               &amp;&amp;
    384 ./autogen.sh                                                  &amp;&amp;
    385 ./configure --with-jdk-home=/opt/OpenJDK-&openjdk-version;-bin         \
    386             --with-version-suffix=BLFS                        \
    387             --enable-nss                                      \
    388             --disable-system-kerberos                         \
    389             --with-parallel-jobs                              &amp;&amp;
    390 make</userinput></screen>
    391 
    392     <note><para>If you have not installed the tarballs specified above,
    393     they will be automatically downloaded here.</para></note>
    394 
    395     <para>To test the results, issue: <command>make jtregcheck</command>. The
    396     included version of <application>jtreg</application> is old, and the test
    397     suite is also very dependent on the host system and the environment that it
    398     is run in. You should expect to see anywhere between 40 and 100 failures in
    399     jdk with up to 10 errors in the tests themselves.  The majority of the
    400     6000+ tests should pass. The reason for the greatly varying results is due
    401     to how stringent the testing environment must be. Varying architectures,
    402     different versions of dependent libraries, unexpected X Window environment
    403     and window managers, the CA certificates used to generate the
    404     <filename>cacerts</filename> file, and even any user input or power
    405     management or screen saver interruptions during the testing can lead to
    406     various failures. While the known broken tests have been removed, with the
    407     fix_tests patch above, the graphics tests failures cannot be pre-determined
    408     (short of removing them all). The best bet for the minimal number of
    409     failures is to run the test suite in a framebuffer on a different screen
    410     (Xvfb). Even still, disk I/O can cause failures.</para>
    411 
    412 <screen role='nodump'><userinput>export DISPLAY=:20     &amp;&amp;
    413 Xvfb :20 -screen 0 1x1x24 -ac&amp;
    414 echo $!>  Xvfb.pid     &amp;&amp;
    415 make -k jtregcheck     &amp;&amp;
     349    (--with-milestone value can be modified to fit user preferences):</para>
     350
     351<screen><userinput>unset JAVA_HOME               &amp;&amp;
     352sh ./configure                \
     353   --with-update-version=&ojdk-upd;   \
     354   --with-build-number=&ojdk-bd;    \
     355   --with-milestone=BLFS      \
     356   --enable-unlimited-crypto  \
     357   --with-zlib=system         \
     358   --with-giflib=system       &amp;&amp;
     359make DEBUG_BINARIES=true all</userinput></screen>
     360
     361    <para>
     362      It seems that the test infrastructure of OpenJDK is a work in
     363      progress, so that testing the newly built JVM involves several steps.
     364      First, it is better to run the test suite in a frame buffer on a
     365      different display, using Xvfb:
     366    </para>
     367
     368<!-- Careful with the && below:
     369"export DISPLAY=... && somecommand &" exports only DISPLAY to "somecommand"
     370but not to the current environment, and
     371"echo $! .... &&" does not echo the right PID. SO all && suppressed.-->
     372<screen role='nodump'><userinput>if [ -n "$DISPLAY" ]; then
     373  OLD_DISP=$DISPLAY
     374fi
     375export DISPLAY=:20
     376nohup Xvfb $DISPLAY                              \
     377           -fbdir $(pwd)                         \
     378           -pixdepths 8 16 24 32 > Xvfb.out 2>&amp;1 &amp;
     379echo $! > Xvfb.pid
     380echo Waiting for Xvfb to initialize; sleep 1
     381nohup twm -display $DISPLAY \
     382          -f /dev/null > twm.out 2>&amp;1            &amp;
     383echo $! > twm.pid
     384echo Waiting for twm to initialize; sleep 1
     385xhost +</userinput></screen>
     386
     387    <para>
     388      Then, it is necessary to modify some files:
     389    </para>
     390
     391<screen role='nodump'><userinput>echo -e "
     392jdk_all = :jdk_core           \\
     393          :jdk_svc            \\
     394          :jdk_beans          \\
     395          :jdk_imageio        \\
     396          :jdk_sound          \\
     397          :jdk_sctp           \\
     398          com/sun/awt         \\
     399          javax/accessibility \\
     400          javax/print         \\
     401          sun/pisces          \\
     402          com/sun/java/swing" >> jdk/test/TEST.groups &amp;&amp;
     403sed -e 's/all:.*jck.*/all: jtreg/' \
     404    -i langtools/test/Makefile</userinput></screen>
     405
     406    <para>
     407      Some variables have to be set:
     408    </para>
     409
     410<screen role='nodump'><userinput>JT_JAVA=$(type -p javac | sed 's@/bin.*@@') &amp;&amp;
     411JT_HOME=$(pwd)/jtreg                        &amp;&amp;
     412PRODUCT_HOME=$(echo $(pwd)/build/*/images/j2sdk-image)</userinput></screen>
     413
     414    <para>
     415      The tests are run as follows:
     416    </para>
     417
     418<screen role='nodump'><userinput>LANG=C make -k -C test                      \
     419            JT_HOME=${JT_HOME}              \
     420            JT_JAVA=${JT_JAVA}              \
     421            PRODUCT_HOME=${PRODUCT_HOME} all &amp;&amp;
     422LANG=C ${JT_HOME}/linux/bin/jtreg -a -v:fail,error \
     423                -dir:$(pwd)/hotspot/test    \
     424                -k:\!ignore                 \
     425                -jdk:${PRODUCT_HOME}        \
     426                :jdk</userinput></screen>
     427
     428    <para>
     429      The test results can be compared to
     430      <ulink url="http://download.java.net/openjdk/testresults/8/">these
     431      results</ulink>.
     432      Finally, stop the virtual frame buffer and clean up:
     433    </para>
     434
     435<screen role='nodump'><userinput>kill -9 `cat twm.pid`  &amp;&amp;
    416436kill -9 `cat Xvfb.pid` &amp;&amp;
    417 unset DISPLAY          &amp;&amp;
    418 rm -f Xvfb.pid</userinput></screen>
     437rm -f Xvfb.out twm.out &amp;&amp;
     438rm -f Xvfb.pid twm.pid &amp;&amp;
     439if [ -n "$OLD_DISP" ]; then
     440  DISPLAY=$OLD_DISP
     441fi</userinput></screen>
    419442
    420443    <para>Install the package with the following commands as the
    421444    <systemitem class="username">root</systemitem> user:</para>
    422445
    423 <screen role="root"><userinput>chmod 0644 openjdk.build/j2sdk-image/lib/sa-jdi.jar   &amp;&amp;
    424 cp -R openjdk.build/j2sdk-image /opt/OpenJDK-&openjdk-version; &amp;&amp;
     446<screen role="root"><userinput>find build/*/images/j2sdk-image -iname \*.jar -exec chmod a+r {} \; &amp;&amp;
     447chmod a+r build/*/images/j2sdk-image/lib/ct.sym &amp;&amp;
     448find build/*/images/j2sdk-image -iname \*.diz -delete &amp;&amp;
     449find build/*/images/j2sdk-image -iname \*.debuginfo -delete &amp;&amp;
     450cp -R build/*/images/j2sdk-image /opt/OpenJDK-&openjdk-version; &amp;&amp;
    425451chown -R root:root /opt/OpenJDK-&openjdk-version;</userinput></screen>
    426452
     
    437463<screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
    438464
    439 cat &gt; /usr/share/applications/openjdk-7-policytool.desktop &lt;&lt; "EOF" &amp;&amp;
     465cat &gt; /usr/share/applications/openjdk-8-policytool.desktop &lt;&lt; "EOF" &amp;&amp;
    440466<literal>[Desktop Entry]
    441 Name=OpenJDK Java 7 Policy Tool
    442 Name[pt_BR]=OpenJDK Java 7 - Ferramenta de Pol&#237;tica
    443 Comment=OpenJDK Java 7 Policy Tool
    444 Comment[pt_BR]=OpenJDK Java 7 - Ferramenta de Pol&#237;tica
     467Name=OpenJDK Java Policy Tool
     468Name[pt_BR]=OpenJDK Java - Ferramenta de Pol&#237;tica
     469Comment=OpenJDK Java Policy Tool
     470Comment[pt_BR]=OpenJDK Java - Ferramenta de Pol&#237;tica
    445471Exec=/opt/jdk/bin/policytool
    446472Terminal=false
     
    462488    <title>Command Explanations</title>
    463489
    464     <para><command>./autogen.sh</command>: This command forces rebuilding of
    465     auto-generated files to account for new options added to
    466     <filename>configure</filename>.</para>
    467 
    468     <para><parameter>--with-jdk-home</parameter>: This switch provides the
    469     location of the temporary <application>JDK</application>.</para>
    470 
    471     <para><option>--with-pkgversion</option>: This switch can be used
    472     to modify the version string in addition to "IcedTea".</para>
    473 
    474     <para><parameter>--with-version-suffix</parameter>: This switch appends
    475     the given text to the JDK version string.</para>
    476 
    477     <para><parameter>--enable-nss</parameter>: Enable inclusion of NSS
    478     security provider.</para>
    479 
    480     <para><parameter>--disable-system-kerberos</parameter>: Remove this switch,
    481     if <xref linkend="mitkrb"/> is installed.</para>
    482 
    483     <para><parameter>--with-parallel-jobs</parameter>: Allows to set the number
    484     of jobs for <command>make</command> equal to the number of processors plus
    485     one. Note that the default is 2 if this option is not specified. You have to
    486     explicitely set <option>--with-parallel-jobs=1</option> to disable
    487     parallel jobs. The SBU given above are with parallel jobs
    488     disabled.</para>
    489 
    490     <para><command>chmod -v 0644 ...sa-jdi.jar</command>: Fix permissions
    491     in a generated file so all users can access it.</para>
    492 <!-- Now part of icedtea-sound
    493     <para><option>- -enable-pulse-java</option>: This switch enables
    494     building of the pulseaudio libraries (needed to provide a complete
    495     implementation that is reasonably compatible with the proprietary
    496     JDK). <xref linkend="pulseaudio"/> needs to be installed.</para>
    497 -->
     490    <para>
     491      <command>sh configure...</command>: the top level
     492      <filename>configure</filename> is a wrapper around the autotools one.
     493      It is not executable and must be run through <command>sh</command>.
     494    </para>
     495
     496    <para>
     497      <option>--with-boot-jdk</option>: This switch provides the
     498      location of the temporary <application>JDK</application>. It is normally
     499      not needed if <command>java</command> is found in the <envar>PATH</envar>.
     500    </para>
     501
     502    <para>
     503      <parameter>--with-update-version</parameter>: Currently, the build
     504      system does not include the update number in the version string. It has
     505      to be specified here.
     506    </para>
     507
     508    <para>
     509      <parameter>--with-build-number</parameter>: Again, the build
     510      system does not include the build  number in the version string. It has
     511      to be specified here too.
     512    </para>
     513
     514    <para>
     515      <parameter>--with-milestone</parameter>: Used to customize the
     516      version string.
     517    </para>
     518
     519    <para>
     520      <parameter>--enable-unlimited-crypto</parameter>: Because of limitations
     521      on the usage of cryptography in some countries, there is the possibility
     522      to limit the size of encryption keys and the use of some algorithms in a
     523      policy file. This switch allows to ship a policy file with no
     524      restriction. It is the responsability of the user to ensure proper
     525      adherence to the law.
     526    </para>
     527
     528    <para>
     529      <parameter>--with-zlib=system, --with-giflib=system</parameter>: Allows
     530      to use the system libraries instead of the bundled ones.
     531    </para>
     532
     533    <para>
     534      <option>--with-jobs=N</option>: Allows to set the number
     535      of jobs for <command>make</command> equal to N. The default is the
     536      result of a calculation involving the available memory and the number
     537      of processors. The SBU given above are with parallel jobs disabled.
     538    </para>
     539
     540    <para>
     541      <option>--with-cacerts-file=...</option>: Specifies where to find a
     542      <filename>cacerts</filename> file. Otherwise, an empty one is created.
     543      You can get it from an earlier version of the package, or using the
     544      script below to generate one.
     545    </para>
     546    <para>
     547      <command>make DEBUG_BINARIES=true all</command>: The build fails
     548      if DEBUG_BINARIES is not set to true.
     549    </para>
     550
     551    <para>
     552      <command>find ... -iname '*.jar' -exec chmod a+r {} \;</command>
     553      and following line: Fix permission in some library files, in order to
     554      allow all users to access them.
     555    </para>
     556
     557    <para>
     558      <command>find ... -iname '*.diz' -delete</command>: This command and the
     559      the next one remove redundant files.
     560    </para>
    498561
    499562  </sect2>
     
    507570      <title>Configuration Information</title>
    508571
    509       <para>There are now two <application>OpenJDK</application> SDKs
    510       installed in <filename>/opt</filename>. You should decide on which one
    511       you would like to use as the default. For example if you decide to use
    512       the precompiled <application>OpenJDK</application>, do the following as
    513       the <systemitem class="username">root</systemitem> user:</para>
     572      <para>
     573        There are now two <application>OpenJDK</application> SDKs installed
     574        in <filename class="directory">/opt</filename>. You should decide on
     575        which one you would like to use as the default. For example if you
     576        decide to use the precompiled <application>OpenJDK</application>, do
     577        the following as the <systemitem class="username">root</systemitem>
     578        user:
     579      </para>
    514580
    515581<screen role="root"><userinput>ln -v -nsf OpenJDK-&openjdk-version;-bin /opt/jdk</userinput></screen>
     
    565631
    566632<screen role="root"><userinput>cat >> /etc/profile.d/extrapaths.sh &lt;&lt; "EOF" &amp;&amp;
    567 # Begin Java addition
    568 <literal>pathappend /opt/jdk/man       MANPATH
     633<literal># Begin Java addition
     634if ! [ -n $MANPATH ]; then
     635  MANPATH=:/opt/jdk/man
     636else
     637  pathappend /opt/jdk/man       MANPATH
     638fi
    569639# End Java addition</literal>
    570640EOF
     
    579649EOF
    580650
     651mkdir -p /var/cache/man
    581652mandb -c /opt/jdk/man</userinput></screen>
    582653
     
    591662      (cacerts) file</title>
    592663
    593       <para>Use the following procedure to check if the
    594       <filename>cacerts</filename> file was successfully installed during the
    595       OpenJDK build. Also, if the <xref linkend="cacerts"/> have been updated,
    596       the following instructions will generate a new JRE
    597       <filename>cacerts</filename> file. First, check if the
    598       <filename>cacerts</filename> have been successfully installed: </para>
    599 
    600 <screen role="root"><userinput>cd /opt/jdk
    601 bin/keytool -list -keystore jre/lib/security/cacerts</userinput></screen>
    602 
    603       <para>At the prompt "Enter keystore password:", press the "Enter" key if
    604       there is no keystore password defined. If the
    605       <filename>cacerts</filename> were installed correctly, you will see a
    606       list of the certificates with related information for each one. If not,
    607       you need to manually install them. First, generate the
    608       <command>mkcacerts</command> script as the
    609       <systemitem class="username">root</systemitem> user:</para>
     664      <para>
     665        Use the following procedure to install the
     666        <filename>cacerts</filename> or to generate a new one if
     667        <xref linkend="cacerts"/> have been updated. First, if it is not
     668        already present, generate the <command>mkcacerts</command> script
     669        as the <systemitem class="username">root</systemitem> user:
     670      </para>
    610671
    611672<screen role="root"><userinput>cat &gt; /opt/jdk/bin/mkcacerts &lt;&lt; "EOF"
     
    827888
    828889chmod -c 0755 /opt/jdk/bin/mkcacerts</userinput></screen>
    829  
     890
    830891  <note>
    831892    <para>
     
    860921
    861922      <seglistitem>
    862         <seg>appletviewer, apt, extcheck, idlj, jar,
     923        <seg>appletviewer, extcheck, idlj, jar,
    863924        jarsigner, java, javac, javadoc, javah, javap, java-rmi.cgi,
    864         jcmd, jconsole, jdb, jhat, jinfo, jmap, jps,
     925        jcmd, jconsole, jdb, jdeps, jhat, jinfo, jjs, jmap, jps,
    865926        jrunscript, jsadebugd, jstack, jstat, jstatd, keytool, mkcacerts,
    866927        native2ascii, orbd, pack200, policytool, rmic, rmid, rmiregistry,
     
    881942        <term><command>appletviewer</command></term>
    882943        <listitem>
    883           <para>allows you to run applets outside of a web browser.</para>
     944          <para>allows to run applets outside of a web browser.</para>
    884945          <indexterm zone="openjdk appletviewer">
    885946            <primary sortas="b-appletviewer">appletviewer</primary>
    886           </indexterm>
    887         </listitem>
    888       </varlistentry>
    889 
    890       <varlistentry id="apt">
    891         <term><command>apt</command></term>
    892         <listitem>
    893           <para>is an annotation processing tool.</para>
    894           <indexterm zone="openjdk apt">
    895             <primary sortas="b-apt">apt</primary>
    896947          </indexterm>
    897948        </listitem>
     
    9701021          <para>parses the declarations and documentation comments in a
    9711022          set of Java source files and produces a corresponding set of
    972           HTML pages describing the classes, interfaces,constructors,
     1023          HTML pages describing the classes, interfaces, constructors,
    9731024          methods, and fields.</para>
    9741025          <indexterm zone="openjdk javadoc">
     
    10411092      </varlistentry>
    10421093
     1094      <varlistentry id="jdeps">
     1095        <term><command>jdeps</command></term>
     1096        <listitem>
     1097          <para>shows the package-level or class-level dependencies of
     1098          Java class files.</para>
     1099          <indexterm zone="openjdk jdeps">
     1100            <primary sortas="b-jdeps">jdeps</primary>
     1101          </indexterm>
     1102        </listitem>
     1103      </varlistentry>
     1104
    10431105      <varlistentry id="jhat">
    10441106        <term><command>jhat</command></term>
    10451107        <listitem>
    1046           <para>parses a java heap dump file and allows viewing
     1108          <para>parses a java heap dump file and allows viewing it
    10471109          in a web browser.</para>
    10481110          <indexterm zone="openjdk jhat">
     
    10591121          <indexterm zone="openjdk jinfo">
    10601122            <primary sortas="b-jinfo">jinfo</primary>
     1123          </indexterm>
     1124        </listitem>
     1125      </varlistentry>
     1126
     1127      <varlistentry id="jjs">
     1128        <term><command>jjs</command></term>
     1129        <listitem>
     1130          <para>is a command-line tool used to invoke the Nashorn engine. It
     1131          can be used to interpret one or several script files, or to run
     1132          an interactive shell.</para>
     1133          <indexterm zone="openjdk jjs">
     1134            <primary sortas="b-jjs">jjs</primary>
    10611135          </indexterm>
    10621136        </listitem>
  • introduction/welcome/changelog.xml

    r7b4e974 r042f456  
    4949      <itemizedlist>
    5050        <listitem>
     51          <para>[pierre] - Update to OpenJDK-1.8.0_25. Fixes
     52          <ulink url="&blfs-ticket-root;5686">#5686</ulink>.</para>
    5153          <para>[fernando] - Update to unbound-1.5.0. Fixes
    5254          <ulink url="&blfs-ticket-root;5838">#5838</ulink>.</para>
  • packages.ent

    r7b4e974 r042f456  
    287287<!ENTITY junit-version                "4.11">
    288288<!ENTITY hamcrest-version             "1.3">
    289 <!ENTITY openjdk-version              "1.7.0.65">
     289<!ENTITY openjdk-version              "1.8.0_25">
    290290
    291291<!ENTITY python2-majorver             "2.7">
Note: See TracChangeset for help on using the changeset viewer.