Changeset cdd1013


Ignore:
Timestamp:
11/24/2014 08:07:55 AM (9 years ago)
Author:
Christopher Gregory <cjg@…>
Branches:
systemd-13485
Children:
f938bec1
Parents:
32163abe
Message:

Merged Java updates from trunk.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@14997 af4574ff-66df-0310-9fd7-8a98e5e911e0

Files:
5 edited

Legend:

Unmodified
Added
Removed
  • general.ent

    r32163abe rcdd1013  
    11<!-- $LastChangedBy$ $Date$ -->
    22
    3 <!ENTITY day          "23">                   <!-- Always 2 digits -->
     3<!ENTITY day          "24">                   <!-- Always 2 digits -->
    44<!ENTITY month        "11">                   <!-- Always 2 digits -->
    55<!ENTITY year         "2014">
     
    77<!ENTITY copyholder   "The BLFS systemd Development Team">
    88<!ENTITY version      "&year;-&month;-&day;">
    9 <!ENTITY releasedate  "November 23rd, &year;">
     9<!ENTITY releasedate  "November 24th, &year;">
    1010<!ENTITY pubdate      "&year;-&month;-&day;"> <!-- metadata req. by TLDP -->
    1111<!ENTITY blfs-version "systemd">              <!-- svn|[release #] -->
  • general/prog/java.xml

    r32163abe rcdd1013  
    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

    r32163abe rcdd1013  
    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 openjdk-buildsize             "8-10 GB">
    46   <!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)">
    4755]>
    4856
    49 <sect1 id="openjdk" xreflabel="OpenJDK-&openjdk-version;/IcedTea-&icedtea-version;">
     57<sect1 id="openjdk"
     58       xreflabel="OpenJDK-&openjdk-version;">
    5059  <?dbhtml filename="openjdk.html" ?>
    5160
     
    5564  </sect1info>
    5665
    57   <title>OpenJDK-&openjdk-version;/IcedTea-&icedtea-version;</title>
     66  <title>OpenJDK-&openjdk-version;</title>
    5867
    5968  <indexterm zone="openjdk">
     
    6271
    6372  <sect2 role="package">
    64     <title>Introduction to OpenJDK and IcedTea</title>
    65 
    66     <para><application>IcedTea</application> provides a build harness for the
    67     <application>OpenJDK</application> package, Oracle's open-sourced
    68     <application>Java</application> development environment.  In order to
    69     provide a completely free runtime environment, similar to Oracle's closed
    70     distribution, the <application>IcedTea</application> build harness also
    71     provides free, and arguably better versions of parts of the JDK which
    72     have not been open-sourced to date. <application>OpenJDK</application> is
    73     useful for developing <application>Java</application> programs and provides
    74     a complete runtime environment to run <application>Java</application>
    75     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>
    7682
    7783    &lfs76_checked;
    7884
    79     <note><para>The browser plugin and webstart implementation have been split
    80     off into a separate project. To provide a complete implementation, you will
    81     need to later install <xref linkend="icedtea-web"/>.</para></note>
    82 
    83     <para>OpenJDK is GPL'd code, however, it should be explained that there has
    84     been a special exception made for non-free projects to use these classes in
    85     their proprietary products.  In similar fashion to the LGPL, which
    86     allows non-free programs to link to libraries provided by free software,
    87     the <ulink url="http://openjdk.java.net/legal/gplv2+ce.html">GNU
    88     General Public License, version 2, with the Classpath Exception</ulink>
    89     allows third party programs to use classes provided by free software
    90     without the requirement that the third party software also be free.  As with
    91     the LGPL, any modifications made to the free software portions of a
    92     third party application, must also be made freely available.</para>
    93 
    9485    <note>
    95       <para>The IcedTea build environment includes a very thorough, open source
    96       test suite titled <application>JTreg</application>.
    97       <application>JTreg</application> is intended to test the just built JDK
    98       for reasonable compatibility with the closed Oracle JDK.  However, in
    99       order for an independent implementation to claim compatibility, including
    100       the Oracle sponsored <application>OpenJDK</application> project, it must
    101       pass a closed <application>JCK/TCK</application> test suite.  No claims
    102       of compatibility, even partial compatibility,  may be made without
    103       passing an approved test suite.</para>
    104 
    105       <para>Oracle does provide free community access, on a case by case basis,
    106       to a closed toolkit to ensure 100% compatibility with its proprietary JDK.
    107       The binary version provided here has not been tested against the
    108       <ulink url="http://openjdk.java.net/groups/conformance/JckAccess/jck-access.html">
    109       TCK</ulink>. Any version that is built using the instructions given,
    110       cannot claim to be compatible with the proprietary JDK, without the user
    111       applying for, and completing the compatibility tests themselves.</para>
    112 
    113       <para>With that in mind, the binaries produced using this build method are
    114       regularly tested against the TCK by the members listed on the site above.
    115       In addition to the community license above, an educational, non-commercial
    116       license for the TCK can be obtained from
    117       <ulink url="http://www.oracle.com/technetwork/java/index-137188.html">
    118       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>
    119140    </note>
    120141
     
    122143    <itemizedlist spacing="compact">
    123144      <listitem>
    124         <para>IcedTea Source Package
     145        <para>OpenJDK Root Package
    125146          <simplelist>
    126             <member>Download: <ulink url="&icedtea-download;"/></member>
    127             <member>Download MD5 sum: &icedtea-md5sum;</member>
    128             <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>
    129150          </simplelist>
    130151        </para>
     
    132153    </itemizedlist>
    133154
    134     <para>The following may be downladed separately or be done as a
    135     part of the <command>make</command> process. For convenience
    136     the BLFS editors have made the files available in an LFS website.
    137     The files are not distributed with versions, but extracted from
    138     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>
    139165
    140166    <itemizedlist spacing="compact">
     
    154180            <member>Download MD5 sum: &hotspot-md5sum;</member>
    155181            <member>Download Size: &hotspot-size;</member>
    156           </simplelist>
    157         </para>
    158       </listitem>
    159       <listitem>
    160         <para>IcedTea Build Source
    161           <simplelist>
    162             <member>Download: <ulink url="&openjdk-download;"/></member>
    163             <member>Download MD5 sum: &openjdk-md5sum;</member>
    164             <member>Download Size: &openjdk-size;</member>
    165182          </simplelist>
    166183        </para>
     
    194211      </listitem>
    195212      <listitem>
    196         <para>OpenJDK Source
     213        <para>JDK Source
    197214          <simplelist>
    198215            <member>Download: <ulink url="&jdk-download;"/></member>
     
    203220      </listitem>
    204221      <listitem>
    205         <para>Estimated disk space required: &openjdk-buildsize;</para>
    206       </listitem>
    207       <listitem>
    208         <para>Estimated build time: &openjdk-time;</para>
    209       </listitem>
    210     </itemizedlist>
    211 
    212     <bridgehead renderas="sect3">Additional Downloads</bridgehead>
    213 
    214     <bridgehead renderas="sect4">Required Patches</bridgehead>
    215     <itemizedlist spacing='compact'>
    216       <listitem>
    217         <para><ulink
    218         url="&patch-root;/icedtea-&icedtea-version;-add_cacerts-1.patch"/></para>
    219       </listitem>
    220       <listitem>
    221         <para><ulink
    222         url="&patch-root;/icedtea-&icedtea-version;-fixed_paths-1.patch"/></para>
    223       </listitem>
    224       <listitem>
    225         <para><ulink
    226         url="&patch-root;/icedtea-&icedtea-version;-fix_new_giflib-1.patch"/></para>
    227       </listitem>
    228       <listitem>
    229         <para><ulink
    230         url="&patch-root;/icedtea-&icedtea-version;-fix_tests-1.patch"/></para>
    231       </listitem>
    232     </itemizedlist>
    233 
    234     <bridgehead renderas="sect4">Required JAR</bridgehead>
    235     <itemizedlist spacing='compact'>
    236       <listitem>
    237         <para>Rhino Java Script
     222        <para>Nashorn Source
    238223          <simplelist>
    239             <member>Download: <ulink url="&rhino-download;"/></member>
    240             <member>Download MD5 sum: &rhino-md5sum;</member>
    241             <member>Download Size: &rhino-size;</member>
     224            <member>Download: <ulink url="&nashorn-download;"/></member>
     225            <member>Download MD5 sum: &nashorn-md5sum;</member>
     226            <member>Download Size: &nashorn-size;</member>
    242227          </simplelist>
    243228        </para>
    244229      </listitem>
     230      <listitem>
     231        <para>Estimated disk space required: &ojdk-buildsize;</para>
     232      </listitem>
     233      <listitem>
     234        <para>Estimated build time: &ojdk-time;</para>
     235      </listitem>
    245236    </itemizedlist>
     237
     238    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
     239
     240    <itemizedlist spacing='compact'>
     241      <listitem>
     242        <para>
     243          Optional package (to get an icon for the
     244          <filename>openjdk-8-policytool.desktop</filename> file):
     245          <ulink url="&icedtea-web-download;"/>
     246        </para>
     247      </listitem>
     248      <listitem>
     249        <para>
     250          Optional test harness: <ulink url="&jtreg-download;"/>
     251        </para>
     252      </listitem>
     253    </itemizedlist>
     254
    246255    <bridgehead renderas="sect3">OpenJDK Dependencies</bridgehead>
    247256
    248257    <bridgehead renderas="sect4">Required Dependencies</bridgehead>
    249258    <para role="required">
    250       An existing binary ( <xref linkend="java"/> or an earlier built
     259      An existing binary (<xref linkend="java"/> or an earlier built
    251260      version of this package),
    252261      <xref linkend="alsa-lib"/>,
    253       <xref linkend="apache-ant"/>,
    254       <xref linkend="cacerts"/>,
    255262      <xref linkend="cpio"/>,
    256263      <xref linkend="cups"/>,
    257       <xref linkend="gtk2"/>,
    258       <xref linkend="giflib"/>,
    259264      <xref linkend="unzip"/>,
    260       <xref linkend="wget"/>,
    261265      <xref linkend="which"/>,
    262       <xref linkend="xorg7-lib"/>, and 
     266      <xref linkend="xorg7-lib"/>, and
    263267      <xref linkend="zip"/>
    264268    </para>
     
    266270    <bridgehead renderas="sect4">Recommended</bridgehead>
    267271    <para role="recommended">
    268       <xref linkend="junit"/> and
    269       <xref linkend="nss"/>
     272      <xref linkend="cacerts"/> and
     273      <xref linkend="giflib"/>
    270274    </para>
    271275
    272276    <bridgehead renderas="sect4">Optional</bridgehead>
    273277    <para role="optional">
    274       <xref linkend="icedtea-web"/> (to obtain icon file for the
    275       <command>policytool</command> menu entry),
    276       <xref linkend="libxslt"/>,
    277       <xref linkend="lsb-release"/>,
    278       <xref linkend="mercurial"/>,
    279       <xref linkend="mitkrb"/>,
    280 <!-- Audio support has beeen moved to icedtea-sound
    281       <xref linkend="pulseaudio"/>, --> and
    282       <xref linkend="xorg-server"/> (for the tests)
     278      <xref linkend="mercurial"/> and
     279      <xref linkend="twm"/> (for the tests)
    283280    </para>
    284281
     
    291288    <title>Installation of OpenJDK</title>
    292289
    293     <note><para>The source build of OpenJDK requires <xref
    294     linkend="apache-ant"/>.  You'll need to build that first to satisfy the
    295     circular dependency, and return to this section to continue building
    296     OpenJDK.</para></note>
    297 
    298     <para>Unlike other packages in BLFS, the <application>OpenJDK</application>
    299     source packages are distributed in multiple downloads. Since the IcedTea
    300     build harness will be used to build <application>OpenJDK</application>,
    301     begin by extracting the IcedTea package and changing into the
    302     extracted directory.</para>
    303 
    304     <para>The IcedTea <application>OpenJDK</application> distribution requires
    305     that <filename>js.jar</filename> (from the Rhino package) be in place in
    306     order to provide a java-script implementation for the free JDK. If you have
    307     not installed the js.jar file in another way, do so with the following
    308     commands as the <systemitem class="username">root</systemitem> user:</para>
    309 
    310 <screen role="root"><userinput>unzip ../rhino1_7R4.zip             &amp;&amp;
    311 install -v -d -m755 /usr/share/java &amp;&amp;
    312 install -v -m755 rhino1_7R4/*.jar /usr/share/java</userinput></screen>
    313 
    314     <para>As mentioned previously, <application>OpenJDK</application> is
    315     composed of several individual projects of the proprietary
    316     <application>JDK</application> that have been relicensed under an open
    317     source license.  If you have already downloaded all of the individual
    318     components, place them into the source tree with the following commands:</para>
    319 
    320 <screen><userinput>cp -v ../corba.tar.bz2     . &amp;&amp;
    321 cp -v ../hotspot.tar.bz2   . &amp;&amp;
    322 cp -v ../jaxp.tar.bz2      . &amp;&amp;
    323 cp -v ../jaxws.tar.bz2     . &amp;&amp;
    324 cp -v ../jdk.tar.bz2       . &amp;&amp;
    325 cp -v ../langtools.tar.bz2 . &amp;&amp;
    326 cp -v ../openjdk.tar.bz2   .</userinput></screen>
    327 
    328     <para>Apply a patch to generate a valid cacerts file using the system CA
    329     certificates:</para>
    330 
    331 <screen><userinput>patch -Np1 -i ../icedtea-&icedtea-version;-add_cacerts-1.patch</userinput></screen>
    332 
    333     <para>Apply a patch to replace fixed paths with ones appropriate for
    334     BLFS:</para>
    335 
    336 <screen><userinput>patch -Np1 -i ../icedtea-&icedtea-version;-fixed_paths-1.patch</userinput></screen>
    337 
    338     <para>Apply a patch to adapt the code to the new giflib API:</para>
    339 
    340 <screen><userinput>patch -Np1 -i ../icedtea-&icedtea-version;-fix_new_giflib-1.patch</userinput></screen>
    341 
    342     <para>Apply a patch to exclude known broken tests from the test suite:</para>
    343 
    344 <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>
     330
     331    <note>
     332      <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>
     346    </note>
    345347
    346348    <para>Configure and build the package with the following commands
    347     (--with-pkgversion and --with-version-suffix values can be modified to fit
    348     user preferences):</para>
    349 
    350 <screen><userinput>unset JAVA_HOME                                               &amp;&amp;
    351 ./autogen.sh                                                  &amp;&amp;
    352 ./configure --with-jdk-home=/opt/OpenJDK-&openjdk-version;-bin         \
    353             --with-version-suffix=BLFS                        \
    354             --enable-nss                                      \
    355             --disable-system-kerberos                         \
    356             --with-parallel-jobs                              &amp;&amp;
    357 make</userinput></screen>
    358 
    359     <note><para>If you have not installed the tarballs specified above,
    360     they will be automatically downloaded here.</para></note>
    361 
    362     <para>To test the results, issue: <command>make jtregcheck</command>. The
    363     included version of <application>jtreg</application> is old, and the test
    364     suite is also very dependent on the host system and the environment that it
    365     is run in. You should expect to see anywhere between 40 and 100 failures in
    366     jdk with up to 10 errors in the tests themselves.  The majority of the
    367     6000+ tests should pass. The reason for the greatly varying results is due
    368     to how stringent the testing environment must be. Varying architectures,
    369     different versions of dependent libraries, unexpected X Window environment
    370     and window managers, the CA certificates used to generate the
    371     <filename>cacerts</filename> file, and even any user input or power
    372     management or screen saver interruptions during the testing can lead to
    373     various failures. While the known broken tests have been removed, with the
    374     fix_tests patch above, the graphics tests failures cannot be pre-determined
    375     (short of removing them all). The best bet for the minimal number of
    376     failures is to run the test suite in a framebuffer on a different screen
    377     (Xvfb). Even still, disk I/O can cause failures.</para>
    378 
    379 <screen role='nodump'><userinput>export DISPLAY=:20     &amp;&amp;
    380 Xvfb :20 -screen 0 1x1x24 -ac&amp;
    381 echo $!>  Xvfb.pid     &amp;&amp;
    382 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;
    383436kill -9 `cat Xvfb.pid` &amp;&amp;
    384 unset DISPLAY          &amp;&amp;
    385 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>
    386442
    387443    <para>Install the package with the following commands as the
    388444    <systemitem class="username">root</systemitem> user:</para>
    389445
    390 <screen role="root"><userinput>chmod 0644 openjdk.build/j2sdk-image/lib/sa-jdi.jar   &amp;&amp;
    391 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;
    392451chown -R root:root /opt/OpenJDK-&openjdk-version;</userinput></screen>
    393452
     
    403462    <para>Now, as <systemitem class="username">root</systemitem> user:</para>
    404463
    405 <screen role="root"><userinput>cat ;&gt; /usr/share/applications/openjdk-7-policytool.desktop &lt;&lt; "EOF" &amp;&amp;
     464<screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
     465
     466cat &gt; /usr/share/applications/openjdk-8-policytool.desktop &lt;&lt; "EOF" &amp;&amp;
    406467<literal>[Desktop Entry]
    407 Name=OpenJDK Java 7 Policy Tool
    408 Name[pt_BR]=OpenJDK Java 7 - Ferramenta de Pol&#237;tica
    409 Comment=OpenJDK Java 7 Policy Tool
    410 Comment[pt_BR]=OpenJDK Java 7 - Ferramenta de Pol&#237;tica
     468Name=OpenJDK Java Policy Tool
     469Name[pt_BR]=OpenJDK Java - Ferramenta de Pol&#237;tica
     470Comment=OpenJDK Java Policy Tool
     471Comment[pt_BR]=OpenJDK Java - Ferramenta de Pol&#237;tica
    411472Exec=/opt/jdk/bin/policytool
    412473Terminal=false
     
    427488    <title>Command Explanations</title>
    428489
    429     <para><command>./autogen.sh</command>: This command forces rebuilding of
    430     auto-generated files to account for new options added to
    431     <filename>configure</filename>.</para>
    432 
    433     <para><parameter>--with-jdk-home</parameter>: This switch provides the
    434     location of the temporary <application>JDK</application>.</para>
    435 
    436     <para><option>--with-pkgversion</option>: This switch can be used
    437     to modify the version string in addition to "IcedTea".</para>
    438 
    439     <para><parameter>--with-version-suffix</parameter>: This switch appends
    440     the given text to the JDK version string.</para>
    441 
    442     <para><parameter>--enable-nss</parameter>: Enable inclusion of NSS
    443     security provider.</para>
    444 
    445     <para><parameter>--disable-system-kerberos</parameter>: Remove this switch
    446     if <xref linkend="mitkrb"/> is installed.</para>
    447 
    448     <para><parameter>--with-parallel-jobs</parameter>: Allows to set the number
    449     of jobs for <command>make</command> equal to the number of processors plus
    450     one. Note that the default is 2 if this option is not specified. You have to
    451     explicitely set <option>--with-parallel-jobs=1</option> to disable
    452     parallel jobs. The SBU given above are with parallel jobs
    453     disabled.</para>
    454 
    455     <para><command>chmod -v 0644 ...sa-jdi.jar</command>: Fix permissions
    456     in a generated file so all users can access it.</para>
    457 <!-- Now part of icedtea-sound
    458     <para><option>- -enable-pulse-java</option>: This switch enables
    459     building of the pulseaudio libraries (needed to provide a complete
    460     implementation that is reasonably compatible with the proprietary
    461     JDK). <xref linkend="pulseaudio"/> needs to be installed.</para>
    462 -->
     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>
    463561
    464562  </sect2>
     
    470568      <title>Configuration Information</title>
    471569
    472       <para>There are now two <application>OpenJDK</application> SDKs
    473       installed in <filename>/opt</filename>. You should decide on which one
    474       you would like to use as the default. For example if you decide to use
    475       the precompiled <application>OpenJDK</application>, do the following as
    476       the <systemitem class="username">root</systemitem> user:</para>
     570      <para>
     571        There are now two <application>OpenJDK</application> SDKs installed
     572        in <filename class="directory">/opt</filename>. You should decide on
     573        which one you would like to use as the default. For example if you
     574        decide to use the precompiled <application>OpenJDK</application>, do
     575        the following as the <systemitem class="username">root</systemitem>
     576        user:
     577      </para>
    477578
    478579<screen role="root"><userinput>ln -sfv OpenJDK-&openjdk-version;-bin /opt/jdk</userinput></screen>
     
    529630
    530631<screen role="root"><userinput>cat >> /etc/profile.d/extrapaths.sh &lt;&lt; "EOF" &amp;&amp;
    531 # Begin Java addition
    532 <literal>pathappend /opt/jdk/man       MANPATH
     632<literal># Begin Java addition
     633if ! [ -n $MANPATH ]; then
     634  MANPATH=:/opt/jdk/man
     635else
     636  pathappend /opt/jdk/man       MANPATH
     637fi
    533638# End Java addition</literal>
    534639EOF
     
    543648EOF
    544649
     650mkdir -p /var/cache/man
    545651mandb -c /opt/jdk/man</userinput></screen>
    546652
     
    552658      <title>Install or update the JRE Certificate Authority Certificates (cacerts) file</title>
    553659
    554       <para>Use the following procedure to check if the
    555       <filename>cacerts</filename> file was successfully installed during the
    556       OpenJDK build. Also, if the <xref linkend="cacerts"/> have been updated,
    557       the following instructions will generate a new JRE
    558       <filename>cacerts</filename> file. First, check if the
    559       <filename>cacerts</filename> have been successfully installed: </para>
    560 
    561 <screen role="root"><userinput>cd /opt/jdk
    562 bin/keytool -list -keystore jre/lib/security/cacerts</userinput></screen>
    563 
    564       <para>At the prompt "Enter keystore password:", press the "Enter" key if
    565       there is no keystore password defined. If the
    566       <filename>cacerts</filename> were installed correctly, you will see a
    567       list of the certificates with related information for each one. If not,
    568       you need to manually install them. First, generate the
    569       <command>mkcacerts</command> script as the
    570       <systemitem class="username">root</systemitem> user:</para>
     660      <para>
     661        Use the following procedure to install the
     662        <filename>cacerts</filename> or to generate a new one if
     663        <xref linkend="cacerts"/> have been updated. First, if it is not
     664        already present, generate the <command>mkcacerts</command> script
     665        as the <systemitem class="username">root</systemitem> user:
     666      </para>
    571667
    572668<screen role="root"><userinput>cat &gt; /opt/jdk/bin/mkcacerts &lt;&lt; "EOF"
     
    781877
    782878chmod -c 0755 /opt/jdk/bin/mkcacerts</userinput></screen>
    783  
     879
    784880  <note>
    785881    <para>
     
    811907
    812908      <seglistitem>
    813         <seg>appletviewer, apt, extcheck, idlj, jar,
     909        <seg>appletviewer, extcheck, idlj, jar,
    814910        jarsigner, java, javac, javadoc, javah, javap, java-rmi.cgi,
    815         jcmd, jconsole, jdb, jhat, jinfo, jmap, jps,
     911        jcmd, jconsole, jdb, jdeps, jhat, jinfo, jjs, jmap, jps,
    816912        jrunscript, jsadebugd, jstack, jstat, jstatd, keytool, mkcacerts,
    817913        native2ascii, orbd, pack200, policytool, rmic, rmid, rmiregistry,
     
    832928        <term><command>appletviewer</command></term>
    833929        <listitem>
    834           <para>allows you to run applets outside of a web browser.</para>
     930          <para>allows to run applets outside of a web browser.</para>
    835931          <indexterm zone="openjdk appletviewer">
    836932            <primary sortas="b-appletviewer">appletviewer</primary>
    837           </indexterm>
    838         </listitem>
    839       </varlistentry>
    840 
    841       <varlistentry id="apt">
    842         <term><command>apt</command></term>
    843         <listitem>
    844           <para>is an annotation processing tool.</para>
    845           <indexterm zone="openjdk apt">
    846             <primary sortas="b-apt">apt</primary>
    847933          </indexterm>
    848934        </listitem>
     
    9211007          <para>parses the declarations and documentation comments in a
    9221008          set of Java source files and produces a corresponding set of
    923           HTML pages describing the classes, interfaces,constructors,
     1009          HTML pages describing the classes, interfaces, constructors,
    9241010          methods, and fields.</para>
    9251011          <indexterm zone="openjdk javadoc">
     
    9921078      </varlistentry>
    9931079
     1080      <varlistentry id="jdeps">
     1081        <term><command>jdeps</command></term>
     1082        <listitem>
     1083          <para>shows the package-level or class-level dependencies of
     1084          Java class files.</para>
     1085          <indexterm zone="openjdk jdeps">
     1086            <primary sortas="b-jdeps">jdeps</primary>
     1087          </indexterm>
     1088        </listitem>
     1089      </varlistentry>
     1090
    9941091      <varlistentry id="jhat">
    9951092        <term><command>jhat</command></term>
    9961093        <listitem>
    997           <para>parses a java heap dump file and allows viewing
     1094          <para>parses a java heap dump file and allows viewing it
    9981095          in a web browser.</para>
    9991096          <indexterm zone="openjdk jhat">
     
    10101107          <indexterm zone="openjdk jinfo">
    10111108            <primary sortas="b-jinfo">jinfo</primary>
     1109          </indexterm>
     1110        </listitem>
     1111      </varlistentry>
     1112
     1113      <varlistentry id="jjs">
     1114        <term><command>jjs</command></term>
     1115        <listitem>
     1116          <para>is a command-line tool used to invoke the Nashorn engine. It
     1117          can be used to interpret one or several script files, or to run
     1118          an interactive shell.</para>
     1119          <indexterm zone="openjdk jjs">
     1120            <primary sortas="b-jjs">jjs</primary>
    10121121          </indexterm>
    10131122        </listitem>
  • introduction/welcome/changelog.xml

    r32163abe rcdd1013  
    4444
    4545-->
     46    <listitem>
     47      <para>November 19th, 2014</para>
     48      <itemizedlist>
     49        <listitem>
     50          <para>[pierre] - Update to OpenJDK-1.8.0_25. Fixes
     51          <ulink url="&blfs-ticket-root;5686">#5686</ulink>.</para>
     52        </listitem>
     53      </itemizedlist>
     54    </listitem>
     55
    4656    <listitem>
    4757      <para>November 7th, 2014</para>
  • packages.ent

    r32163abe rcdd1013  
    285285<!ENTITY junit-version                "4.11">
    286286<!ENTITY hamcrest-version             "1.3">
    287 <!ENTITY openjdk-version              "1.7.0.65">
     287<!ENTITY openjdk-version              "1.8.0.25">
    288288
    289289<!ENTITY python2-majorver             "2.7">
Note: See TracChangeset for help on using the changeset viewer.