Changeset 042f456
- Timestamp:
- 11/19/2014 09:26:43 PM (9 years ago)
- 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
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
general/prog/java.xml
r7b4e974 r042f456 7 7 <!ENTITY anduin-download "http://anduin.linuxfromscratch.org/files/BLFS/OpenJDK-&openjdk-version;"> 8 8 <!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 " 165MB">11 <!ENTITY openjdk-bin-buildsize-x86 " 503MB">9 <!ENTITY openjdk-bin-md5sum-x86 "191bc00a0f1eccb1545f67f0f40723cd"> 10 <!ENTITY openjdk-bin-size-x86 "57 MB"> 11 <!ENTITY openjdk-bin-buildsize-x86 "165 MB"> 12 12 13 13 <!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 " 142MB">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"> 17 17 ]> 18 18 … … 119 119 <para role="required"> 120 120 <xref linkend="alsa-lib"/>, 121 <xref linkend="atk"/>,122 <xref linkend="cairo"/>,123 121 <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 128 123 <xref linkend="xorg7-lib"/> 129 124 </para> -
general/prog/openjdk.xml
r7b4e974 r042f456 5 5 %general-entities; 6 6 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)"> 49 55 ]> 50 56 51 57 <sect1 id="openjdk" 52 xreflabel="OpenJDK-&openjdk-version; /IcedTea-&icedtea-version;">58 xreflabel="OpenJDK-&openjdk-version;"> 53 59 <?dbhtml filename="openjdk.html" ?> 54 60 … … 58 64 </sect1info> 59 65 60 <title>OpenJDK-&openjdk-version; /IcedTea-&icedtea-version;</title>66 <title>OpenJDK-&openjdk-version;</title> 61 67 62 68 <indexterm zone="openjdk"> … … 65 71 66 72 <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> 79 82 80 83 &lfs76_checked; 81 84 82 <note><para>The browser plugin and webstart implementation have been split83 off into a separate project. To provide a complete implementation, you will84 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 has87 been a special exception made for non-free projects to use these classes in88 their proprietary products. In similar fashion to the LGPL, which89 allows non-free programs to link to libraries provided by free software,90 the <ulink url="http://openjdk.java.net/legal/gplv2+ce.html">GNU91 General Public License, version 2, with the Classpath Exception</ulink>92 allows third party programs to use classes provided by free software93 without the requirement that the third party software also be free. As with94 the LGPL, any modifications made to the free software portions of a95 third party application, must also be made freely available.</para>96 97 85 <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> 122 140 </note> 123 141 … … 125 143 <itemizedlist spacing="compact"> 126 144 <listitem> 127 <para> IcedTea SourcePackage145 <para>OpenJDK Root Package 128 146 <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> 132 150 </simplelist> 133 151 </para> … … 135 153 </itemizedlist> 136 154 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;<component>/archive/&ojdk-tarball;"/>, 159 where <component> 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> 142 165 143 166 <itemizedlist spacing="compact"> … … 157 180 <member>Download MD5 sum: &hotspot-md5sum;</member> 158 181 <member>Download Size: &hotspot-size;</member> 159 </simplelist>160 </para>161 </listitem>162 <listitem>163 <para>IcedTea Build Source164 <simplelist>165 <member>Download: <ulink url="&openjdk-download;"/></member>166 <member>Download MD5 sum: &openjdk-md5sum;</member>167 <member>Download Size: &openjdk-size;</member>168 182 </simplelist> 169 183 </para> … … 197 211 </listitem> 198 212 <listitem> 199 <para> OpenJDK Source213 <para>JDK Source 200 214 <simplelist> 201 215 <member>Download: <ulink url="&jdk-download;"/></member> … … 206 220 </listitem> 207 221 <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> 209 229 </listitem> 210 230 <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> 212 235 </listitem> 213 236 </itemizedlist> … … 215 238 <bridgehead renderas="sect3">Additional Downloads</bridgehead> 216 239 217 <bridgehead renderas="sect4">Required Patches</bridgehead>218 240 <itemizedlist spacing='compact'> 219 241 <listitem> 220 242 <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;"/> 223 246 </para> 224 247 </listitem> 225 248 <listitem> 226 249 <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;"/> 241 251 </para> 242 252 </listitem> 243 253 </itemizedlist> 244 254 245 <bridgehead renderas="sect4">Required JAR</bridgehead>246 <itemizedlist spacing='compact'>247 <listitem>248 <para>Rhino Java Script249 <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 the259 <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>267 255 <bridgehead renderas="sect3">OpenJDK Dependencies</bridgehead> 268 256 269 257 <bridgehead renderas="sect4">Required Dependencies</bridgehead> 270 258 <para role="required"> 271 An existing binary ( <xref linkend="java"/> or an earlier built259 An existing binary (<xref linkend="java"/> or an earlier built 272 260 version of this package), 273 261 <xref linkend="alsa-lib"/>, 274 <xref linkend="apache-ant"/>,275 <xref linkend="cacerts"/>,276 262 <xref linkend="cpio"/>, 277 263 <xref linkend="cups"/>, 278 <xref linkend="gtk2"/>,279 <xref linkend="giflib"/>,280 264 <xref linkend="unzip"/>, 281 <xref linkend="wget"/>,282 265 <xref linkend="which"/>, 283 <xref linkend="xorg7-lib"/>, and 266 <xref linkend="xorg7-lib"/>, and 284 267 <xref linkend="zip"/> 285 268 </para> … … 287 270 <bridgehead renderas="sect4">Recommended</bridgehead> 288 271 <para role="recommended"> 289 <xref linkend=" junit"/> and290 <xref linkend=" nss"/>272 <xref linkend="cacerts"/> and 273 <xref linkend="giflib"/> 291 274 </para> 292 275 293 276 <bridgehead renderas="sect4">Optional</bridgehead> 294 277 <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) 302 280 </para> 303 281 … … 310 288 <title>Installation of OpenJDK</title> 311 289 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 && 330 install -v -d -m755 /usr/share/java && 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 . && 341 cp -v ../hotspot.tar.bz2 . && 342 cp -v ../jaxp.tar.bz2 . && 343 cp -v ../jaxws.tar.bz2 . && 344 cp -v ../jdk.tar.bz2 . && 345 cp -v ../langtools.tar.bz2 . && 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 && 299 tar -xf ../hotspot.tar.xz && 300 tar -xf ../jaxp.tar.xz && 301 tar -xf ../jaxws.tar.xz && 302 tar -xf ../jdk.tar.xz && 303 tar -xf ../langtools.tar.xz && 304 tar -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 313 this 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/&, 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> 366 330 367 331 <note> 368 332 <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> 378 346 </note> 347 379 348 <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 && 384 ./autogen.sh && 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 && 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 && 413 Xvfb :20 -screen 0 1x1x24 -ac& 414 echo $!> Xvfb.pid && 415 make -k jtregcheck && 349 (--with-milestone value can be modified to fit user preferences):</para> 350 351 <screen><userinput>unset JAVA_HOME && 352 sh ./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 && 359 make 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" 370 but 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 374 fi 375 export DISPLAY=:20 376 nohup Xvfb $DISPLAY \ 377 -fbdir $(pwd) \ 378 -pixdepths 8 16 24 32 > Xvfb.out 2>&1 & 379 echo $! > Xvfb.pid 380 echo Waiting for Xvfb to initialize; sleep 1 381 nohup twm -display $DISPLAY \ 382 -f /dev/null > twm.out 2>&1 & 383 echo $! > twm.pid 384 echo Waiting for twm to initialize; sleep 1 385 xhost +</userinput></screen> 386 387 <para> 388 Then, it is necessary to modify some files: 389 </para> 390 391 <screen role='nodump'><userinput>echo -e " 392 jdk_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 && 403 sed -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.*@@') && 411 JT_HOME=$(pwd)/jtreg && 412 PRODUCT_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 && 422 LANG=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` && 416 436 kill -9 `cat Xvfb.pid` && 417 unset DISPLAY && 418 rm -f Xvfb.pid</userinput></screen> 437 rm -f Xvfb.out twm.out && 438 rm -f Xvfb.pid twm.pid && 439 if [ -n "$OLD_DISP" ]; then 440 DISPLAY=$OLD_DISP 441 fi</userinput></screen> 419 442 420 443 <para>Install the package with the following commands as the 421 444 <systemitem class="username">root</systemitem> user:</para> 422 445 423 <screen role="root"><userinput>chmod 0644 openjdk.build/j2sdk-image/lib/sa-jdi.jar && 424 cp -R openjdk.build/j2sdk-image /opt/OpenJDK-&openjdk-version; && 446 <screen role="root"><userinput>find build/*/images/j2sdk-image -iname \*.jar -exec chmod a+r {} \; && 447 chmod a+r build/*/images/j2sdk-image/lib/ct.sym && 448 find build/*/images/j2sdk-image -iname \*.diz -delete && 449 find build/*/images/j2sdk-image -iname \*.debuginfo -delete && 450 cp -R build/*/images/j2sdk-image /opt/OpenJDK-&openjdk-version; && 425 451 chown -R root:root /opt/OpenJDK-&openjdk-version;</userinput></screen> 426 452 … … 437 463 <screen role="root"><userinput>mkdir -pv /usr/share/applications && 438 464 439 cat > /usr/share/applications/openjdk- 7-policytool.desktop << "EOF" &&465 cat > /usr/share/applications/openjdk-8-policytool.desktop << "EOF" && 440 466 <literal>[Desktop Entry] 441 Name=OpenJDK Java 7Policy Tool442 Name[pt_BR]=OpenJDK Java 7- Ferramenta de Política443 Comment=OpenJDK Java 7Policy Tool444 Comment[pt_BR]=OpenJDK Java 7- Ferramenta de Política467 Name=OpenJDK Java Policy Tool 468 Name[pt_BR]=OpenJDK Java - Ferramenta de Política 469 Comment=OpenJDK Java Policy Tool 470 Comment[pt_BR]=OpenJDK Java - Ferramenta de Política 445 471 Exec=/opt/jdk/bin/policytool 446 472 Terminal=false … … 462 488 <title>Command Explanations</title> 463 489 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> 498 561 499 562 </sect2> … … 507 570 <title>Configuration Information</title> 508 571 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> 514 580 515 581 <screen role="root"><userinput>ln -v -nsf OpenJDK-&openjdk-version;-bin /opt/jdk</userinput></screen> … … 565 631 566 632 <screen role="root"><userinput>cat >> /etc/profile.d/extrapaths.sh << "EOF" && 567 # Begin Java addition 568 <literal>pathappend /opt/jdk/man MANPATH 633 <literal># Begin Java addition 634 if ! [ -n $MANPATH ]; then 635 MANPATH=:/opt/jdk/man 636 else 637 pathappend /opt/jdk/man MANPATH 638 fi 569 639 # End Java addition</literal> 570 640 EOF … … 579 649 EOF 580 650 651 mkdir -p /var/cache/man 581 652 mandb -c /opt/jdk/man</userinput></screen> 582 653 … … 591 662 (cacerts) file</title> 592 663 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> 610 671 611 672 <screen role="root"><userinput>cat > /opt/jdk/bin/mkcacerts << "EOF" … … 827 888 828 889 chmod -c 0755 /opt/jdk/bin/mkcacerts</userinput></screen> 829 890 830 891 <note> 831 892 <para> … … 860 921 861 922 <seglistitem> 862 <seg>appletviewer, apt,extcheck, idlj, jar,923 <seg>appletviewer, extcheck, idlj, jar, 863 924 jarsigner, java, javac, javadoc, javah, javap, java-rmi.cgi, 864 jcmd, jconsole, jdb, j hat, jinfo, jmap, jps,925 jcmd, jconsole, jdb, jdeps, jhat, jinfo, jjs, jmap, jps, 865 926 jrunscript, jsadebugd, jstack, jstat, jstatd, keytool, mkcacerts, 866 927 native2ascii, orbd, pack200, policytool, rmic, rmid, rmiregistry, … … 881 942 <term><command>appletviewer</command></term> 882 943 <listitem> 883 <para>allows youto run applets outside of a web browser.</para>944 <para>allows to run applets outside of a web browser.</para> 884 945 <indexterm zone="openjdk appletviewer"> 885 946 <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>896 947 </indexterm> 897 948 </listitem> … … 970 1021 <para>parses the declarations and documentation comments in a 971 1022 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, 973 1024 methods, and fields.</para> 974 1025 <indexterm zone="openjdk javadoc"> … … 1041 1092 </varlistentry> 1042 1093 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 1043 1105 <varlistentry id="jhat"> 1044 1106 <term><command>jhat</command></term> 1045 1107 <listitem> 1046 <para>parses a java heap dump file and allows viewing 1108 <para>parses a java heap dump file and allows viewing it 1047 1109 in a web browser.</para> 1048 1110 <indexterm zone="openjdk jhat"> … … 1059 1121 <indexterm zone="openjdk jinfo"> 1060 1122 <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> 1061 1135 </indexterm> 1062 1136 </listitem> -
introduction/welcome/changelog.xml
r7b4e974 r042f456 49 49 <itemizedlist> 50 50 <listitem> 51 <para>[pierre] - Update to OpenJDK-1.8.0_25. Fixes 52 <ulink url="&blfs-ticket-root;5686">#5686</ulink>.</para> 51 53 <para>[fernando] - Update to unbound-1.5.0. Fixes 52 54 <ulink url="&blfs-ticket-root;5838">#5838</ulink>.</para> -
packages.ent
r7b4e974 r042f456 287 287 <!ENTITY junit-version "4.11"> 288 288 <!ENTITY hamcrest-version "1.3"> 289 <!ENTITY openjdk-version "1. 7.0.65">289 <!ENTITY openjdk-version "1.8.0_25"> 290 290 291 291 <!ENTITY python2-majorver "2.7">
Note:
See TracChangeset
for help on using the changeset viewer.