1 |
# If debug is 1, OpenJDK is built with all debug info present. |
2 |
%global debug 0 |
3 |
|
4 |
%global aarch64_hg_tag 992 |
5 |
|
6 |
%global aarch64 aarch64 arm64 armv8 |
7 |
%global multilib_arches %{power64} sparc64 x86_64 %{aarch64} |
8 |
%global jit_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} |
9 |
|
10 |
# sometimes we need to distinguish big and little endian PPC64 |
11 |
# taken from the openjdk-1.7 spec |
12 |
%global ppc64le ppc64le |
13 |
%global ppc64be ppc64 ppc64p7 |
14 |
|
15 |
%ifarch x86_64 |
16 |
%global archinstall amd64 |
17 |
%endif |
18 |
%ifarch ppc |
19 |
%global archinstall ppc |
20 |
%endif |
21 |
%ifarch %{power64} |
22 |
%global archinstall ppc64 |
23 |
%endif |
24 |
%ifarch %{ppc64le} |
25 |
%global archinstall ppc64le |
26 |
%endif |
27 |
%ifarch %{ix86} |
28 |
%global archinstall i386 |
29 |
%endif |
30 |
%ifarch ia64 |
31 |
%global archinstall ia64 |
32 |
%endif |
33 |
%ifarch s390 |
34 |
%global archinstall s390 |
35 |
%endif |
36 |
%ifarch s390x |
37 |
%global archinstall s390x |
38 |
%endif |
39 |
%ifarch %{arm} |
40 |
%global archinstall arm |
41 |
%endif |
42 |
%ifarch %{aarch64} |
43 |
%global archinstall aarch64 |
44 |
%endif |
45 |
# 32 bit sparc, optimized for v9 |
46 |
%ifarch sparcv9 |
47 |
%global archinstall sparc |
48 |
%endif |
49 |
# 64 bit sparc |
50 |
%ifarch sparc64 |
51 |
%global archinstall sparcv9 |
52 |
%endif |
53 |
%ifnarch %{jit_arches} |
54 |
%global archinstall %{_arch} |
55 |
%endif |
56 |
|
57 |
%if %{debug} |
58 |
%global debugbuild slowdebug |
59 |
%else |
60 |
%global debugbuild release |
61 |
%endif |
62 |
|
63 |
%global buildoutputdir jdk8/build/jdk8.build |
64 |
|
65 |
%ifarch %{jit_arches} |
66 |
%global with_systemtap 1 |
67 |
%else |
68 |
%global with_systemtap 0 |
69 |
%endif |
70 |
|
71 |
# Convert an absolute path to a relative path. Each symbolic link is |
72 |
# specified relative to the directory in which it is installed so that |
73 |
# it will resolve properly within chrooted installations. |
74 |
%global script 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])' |
75 |
%global abs2rel %{__perl} -e %{script} |
76 |
|
77 |
# Hard-code libdir on 64-bit architectures to make the 64-bit JDK |
78 |
# simply be another alternative. |
79 |
%global LIBDIR %{_libdir} |
80 |
#backuped original one |
81 |
%ifarch %{multilib_arches} |
82 |
%global syslibdir %{_prefix}/lib64 |
83 |
%global _libdir %{_prefix}/lib |
84 |
%global archname %{name}.%{_arch} |
85 |
%else |
86 |
%global syslibdir %{_libdir} |
87 |
%global archname %{name} |
88 |
%endif |
89 |
|
90 |
# Standard JPackage naming and versioning defines. |
91 |
%global origin openjdk |
92 |
%global updatever 11 |
93 |
%global buildver b12 |
94 |
%global aarch64_updatever 0 |
95 |
%global aarch64_buildver b128 |
96 |
# priority must be 6 digits in total |
97 |
%global priority 18000%{updatever} |
98 |
%global javaver 1.8.0 |
99 |
|
100 |
# Standard JPackage directories and symbolic links. |
101 |
# Make 64-bit JDKs just another alternative on 64-bit architectures. |
102 |
%ifarch %{multilib_arches} |
103 |
%global sdklnk java-%{javaver}-%{origin}.%{_arch} |
104 |
%global jrelnk jre-%{javaver}-%{origin}.%{_arch} |
105 |
%global sdkdir %{name}-%{version}.%{_arch} |
106 |
%else |
107 |
%global sdklnk java-%{javaver}-%{origin} |
108 |
%global jrelnk jre-%{javaver}-%{origin} |
109 |
%global sdkdir %{name}-%{version} |
110 |
%endif |
111 |
%global jredir %{sdkdir}/jre |
112 |
%global sdkbindir %{_jvmdir}/%{sdklnk}/bin |
113 |
%global jrebindir %{_jvmdir}/%{jrelnk}/bin |
114 |
%ifarch %{multilib_arches} |
115 |
%global jvmjardir %{_jvmjardir}/%{name}-%{version}.%{_arch} |
116 |
%else |
117 |
%global jvmjardir %{_jvmjardir}/%{name}-%{version} |
118 |
%endif |
119 |
|
120 |
%if %{with_systemtap} |
121 |
# Where to install systemtap tapset (links) |
122 |
# We would like these to be in a package specific subdir, |
123 |
# but currently systemtap doesn't support that, so we have to |
124 |
# use the root tapset dir for now. To distinquish between 64 |
125 |
# and 32 bit architectures we place the tapsets under the arch |
126 |
# specific dir (note that systemtap will only pickup the tapset |
127 |
# for the primary arch for now). Systemtap uses the machine name |
128 |
# aka build_cpu as architecture specific directory name. |
129 |
%global tapsetroot /usr/share/systemtap |
130 |
%global tapsetdir %{tapsetroot}/tapset/%{_build_cpu} |
131 |
%endif |
132 |
|
133 |
# Prevent brp-java-repack-jars from being run. |
134 |
%global __jar_repack 0 |
135 |
|
136 |
Name: java-%{javaver}-%{origin} |
137 |
Version: %{javaver}.%{updatever} |
138 |
Release: %mkrel 3.%{buildver}.0 |
139 |
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons, |
140 |
# and this change was brought into RHEL-4. java-1.5.0-ibm packages |
141 |
# also included the epoch in their virtual provides. This created a |
142 |
# situation where in-the-wild java-1.5.0-ibm packages provided "java = |
143 |
# 1:1.5.0". In RPM terms, "1.6.0 < 1:1.5.0" since 1.6.0 is |
144 |
# interpreted as 0:1.6.0. So the "java >= 1.6.0" requirement would be |
145 |
# satisfied by the 1:1.5.0 packages. Thus we need to set the epoch in |
146 |
# JDK package >= 1.6.0 to 1, and packages referring to JDK virtual |
147 |
# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0". |
148 |
Epoch: 1 |
149 |
Summary: OpenJDK Runtime Environment |
150 |
Group: Development/Java |
151 |
|
152 |
License: ASL 1.1 and ASL 2.0 and GPL+ and GPLv2 and GPLv2 with exceptions and LGPL+ and LGPLv2 and MPLv1.0 and MPLv1.1 and Public Domain and W3C |
153 |
URL: http://openjdk.java.net/ |
154 |
|
155 |
# Source from upstrem OpenJDK8 project. To regenerate, use |
156 |
# ./generate_source_tarball.sh jdk8u jdk8u jdk8u%{updatever}-%{buildver} |
157 |
# ./generate_source_tarball.sh aarch64-port jdk8 %{aarch64_hg_tag} |
158 |
Source0: jdk8u-jdk8u%{updatever}-%{buildver}.tar.xz |
159 |
Source1: aarch64-hotspot-jdk8-%{aarch64_buildver}-aarch64-%{aarch64_hg_tag}.tar.xz |
160 |
|
161 |
# Custom README for -src subpackage |
162 |
Source2: README.src |
163 |
|
164 |
Source3: java-abrt-launcher.in |
165 |
|
166 |
# Use 'generate_tarballs.sh' to generate the following tarballs |
167 |
# They are based on code contained in the IcedTea7 project. |
168 |
|
169 |
# Systemtap tapsets. Zipped up to keep it small. |
170 |
Source8: systemtap-tapset.tar.gz |
171 |
|
172 |
# Desktop files. Adapated from IcedTea. |
173 |
Source9: jconsole.desktop.in |
174 |
Source10: policytool.desktop.in |
175 |
|
176 |
# nss configuration file |
177 |
Source11: nss.cfg |
178 |
|
179 |
# Removed libraries that we link instead |
180 |
Source12: remove-intree-libraries.sh |
181 |
|
182 |
# Ensure we aren't using the limited crypto policy |
183 |
Source13: TestCryptoLevel.java |
184 |
|
185 |
# New versions of config files with aarch64 support. This is not upstream yet. |
186 |
Source100: config.guess |
187 |
Source101: config.sub |
188 |
|
189 |
# RPM/distribution specific patches |
190 |
|
191 |
# Ignore AWTError when assistive technologies are loaded |
192 |
Patch1: %{name}-accessible-toolkit.patch |
193 |
|
194 |
# RHBZ 1015432 |
195 |
Patch2: 1015432.patch |
196 |
# Restrict access to java-atk-wrapper classes |
197 |
Patch3: java-atk-wrapper-security.patch |
198 |
# RHBZ 808293 |
199 |
Patch4: PStack-808293.patch |
200 |
# Allow multiple initialization of PKCS11 libraries |
201 |
Patch5: multiple-pkcs11-library-init.patch |
202 |
# Disable doclint for compatibility |
203 |
Patch6: disable-doclint-by-default.patch |
204 |
# Include all sources in src.zip |
205 |
Patch7: include-all-srcs.patch |
206 |
# Fix window activation in gnome-shell |
207 |
Patch8: set-active-window.patch |
208 |
# Fix javadoc. Backport from upstream. |
209 |
Patch9: javadoc-error-jdk-8029145.patch |
210 |
# More javadoc. Backport from upstream. |
211 |
Patch10: javadoc-error-jdk-8037484.patch |
212 |
# Problem discovered with make 4.0 |
213 |
Patch11: hotspot-build-j-directive.patch |
214 |
|
215 |
# |
216 |
# OpenJDK specific patches |
217 |
# |
218 |
|
219 |
# Allow icedtea-web to build |
220 |
Patch99: applet-hole.patch |
221 |
|
222 |
# JVM heap size changes for s390 (thanks to aph) |
223 |
Patch100: %{name}-s390-java-opts.patch |
224 |
# Type fixing for s390 |
225 |
Patch102: %{name}-size_t.patch |
226 |
|
227 |
# Patch for PPC/PPC64 |
228 |
Patch103: %{name}-ppc-zero-hotspot.patch |
229 |
|
230 |
Patch201: system-libjpeg.patch |
231 |
Patch202: system-libpng.patch |
232 |
Patch203: system-lcms.patch |
233 |
|
234 |
Patch999: 0001-PPC64LE-arch-support-in-openjdk-1.8.patch |
235 |
Patch9999: enableArm64.patch |
236 |
|
237 |
BuildRequires: autoconf |
238 |
BuildRequires: automake |
239 |
BuildRequires: alsa-lib-devel |
240 |
BuildRequires: binutils |
241 |
BuildRequires: cups-devel |
242 |
BuildRequires: desktop-file-utils |
243 |
BuildRequires: fontconfig |
244 |
BuildRequires: freetype-devel |
245 |
BuildRequires: giflib-devel |
246 |
BuildRequires: gcc-c++ |
247 |
BuildRequires: gtk2-devel |
248 |
BuildRequires: lcms2-devel |
249 |
BuildRequires: libjpeg-devel |
250 |
BuildRequires: libpng-devel |
251 |
BuildRequires: libxslt-devel |
252 |
BuildRequires: libx11-devel |
253 |
BuildRequires: libxi-devel |
254 |
BuildRequires: libxinerama-devel |
255 |
BuildRequires: libxt-devel |
256 |
BuildRequires: libxtst-devel |
257 |
BuildRequires: pkgconfig |
258 |
BuildRequires: x11-proto-devel |
259 |
#BuildRequires: redhat-lsb |
260 |
BuildRequires: zip |
261 |
BuildRequires: java-1.8.0-openjdk-devel |
262 |
# Zero-assembler build requirement. |
263 |
%ifnarch %{jit_arches} |
264 |
BuildRequires: libffi-devel |
265 |
%endif |
266 |
|
267 |
# cacerts build requirement. |
268 |
BuildRequires: openssl |
269 |
# execstack build requirement. |
270 |
# no prelink on ARM yet |
271 |
%ifnarch %{arm} %{aarch64} %{ppc64le} |
272 |
BuildRequires: prelink |
273 |
%endif |
274 |
%if %{with_systemtap} |
275 |
BuildRequires: systemtap |
276 |
%endif |
277 |
|
278 |
Requires: fontconfig |
279 |
#Requires: x11-font-type1 |
280 |
|
281 |
# Requires rest of java |
282 |
Requires: %{name}-headless = %{epoch}:%{version}-%{release} |
283 |
|
284 |
# Standard JPackage base provides. |
285 |
Provides: jre-%{javaver}-%{origin} = %{epoch}:%{version}-%{release} |
286 |
Provides: jre-%{origin} = %{epoch}:%{version}-%{release} |
287 |
Provides: jre-%{javaver} = %{epoch}:%{version}-%{release} |
288 |
Provides: java-%{javaver} = %{epoch}:%{version}-%{release} |
289 |
Provides: jre = %{javaver} |
290 |
Provides: java-%{origin} = %{epoch}:%{version}-%{release} |
291 |
Provides: java = %{epoch}:%{javaver} |
292 |
# Standard JPackage extensions provides. |
293 |
Provides: java-fonts = %{epoch}:%{version} |
294 |
|
295 |
#Obsoletes: java-1.7.0-openjdk < 1:1.7.0.65-2.5.1.2 |
296 |
#Provides: java-1.7.0-openjdk = %{epoch}:%{version}-%{release} |
297 |
|
298 |
%description |
299 |
The OpenJDK runtime environment. |
300 |
|
301 |
|
302 |
%package headless |
303 |
Summary: OpenJDK Runtime Environment |
304 |
Group: Development/Java |
305 |
|
306 |
# Require /etc/pki/java/cacerts. |
307 |
#Requires: ca-certificates |
308 |
Requires: rootcerts-java |
309 |
# Require jpackage-utils for ownership of /usr/lib/jvm/ |
310 |
Requires: jpackage-utils |
311 |
# Require zoneinfo data provided by tzdata-java subpackage. |
312 |
Requires: tzdata-java |
313 |
# Post requires alternatives to install tool alternatives. |
314 |
Requires(post): %{_sbindir}/alternatives |
315 |
# Postun requires alternatives to uninstall tool alternatives. |
316 |
Requires(postun): %{_sbindir}/alternatives |
317 |
|
318 |
# Standard JPackage base provides. |
319 |
Provides: jre-%{javaver}-%{origin}-headless = %{epoch}:%{version}-%{release} |
320 |
Provides: jre-%{origin}-headless = %{epoch}:%{version}-%{release} |
321 |
Provides: jre-%{javaver}-headless = %{epoch}:%{version}-%{release} |
322 |
Provides: java-%{javaver}-headless = %{epoch}:%{version}-%{release} |
323 |
Provides: jre-headless = %{javaver} |
324 |
Provides: java-%{origin}-headless = %{epoch}:%{version}-%{release} |
325 |
Provides: java-headless = %{epoch}:%{javaver} |
326 |
# Standard JPackage extensions provides. |
327 |
Provides: jndi = %{epoch}:%{version} |
328 |
Provides: jndi-ldap = %{epoch}:%{version} |
329 |
Provides: jndi-cos = %{epoch}:%{version} |
330 |
Provides: jndi-rmi = %{epoch}:%{version} |
331 |
Provides: jndi-dns = %{epoch}:%{version} |
332 |
Provides: jaas = %{epoch}:%{version} |
333 |
Provides: jsse = %{epoch}:%{version} |
334 |
Provides: jce = %{epoch}:%{version} |
335 |
Provides: jdbc-stdext = 4.1 |
336 |
Provides: java-sasl = %{epoch}:%{version} |
337 |
|
338 |
#Obsoletes: java-1.7.0-openjdk-headless < 1:1.7.0.65-2.5.1.2 |
339 |
#Provides: java-1.7.0-openjdk-headless = %{epoch}:%{version}-%{release} |
340 |
|
341 |
%description headless |
342 |
The OpenJDK runtime environment without audio and video support. |
343 |
|
344 |
|
345 |
%package devel |
346 |
Summary: OpenJDK Development Environment |
347 |
Group: Development/Java |
348 |
|
349 |
# Require base package. |
350 |
Requires: %{name} = %{epoch}:%{version}-%{release} |
351 |
# Post requires alternatives to install tool alternatives. |
352 |
Requires(post): %{_sbindir}/alternatives |
353 |
# Postun requires alternatives to uninstall tool alternatives. |
354 |
Requires(postun): %{_sbindir}/alternatives |
355 |
|
356 |
# Standard JPackage devel provides. |
357 |
Provides: java-sdk-%{javaver}-%{origin} = %{epoch}:%{version} |
358 |
Provides: java-sdk-%{javaver} = %{epoch}:%{version} |
359 |
Provides: java-sdk-%{origin} = %{epoch}:%{version} |
360 |
Provides: java-sdk = %{epoch}:%{javaver} |
361 |
Provides: java-%{javaver}-devel = %{epoch}:%{version} |
362 |
Provides: java-devel-%{origin} = %{epoch}:%{version} |
363 |
Provides: java-devel = %{epoch}:%{javaver} |
364 |
|
365 |
#Obsoletes: java-1.7.0-openjdk-devel < 1:1.7.0.65-2.5.1.2 |
366 |
#Provides: java-1.7.0-openjdk-devel = %{epoch}:%{version}-%{release} |
367 |
|
368 |
%description devel |
369 |
The OpenJDK development tools. |
370 |
|
371 |
%package demo |
372 |
Summary: OpenJDK Demos |
373 |
Group: Development/Java |
374 |
|
375 |
Requires: %{name} = %{epoch}:%{version}-%{release} |
376 |
|
377 |
#Obsoletes: java-1.7.0-openjdk-demo < 1:1.7.0.65-2.5.1.2 |
378 |
#Provides: java-1.7.0-openjdk-demo = %{epoch}:%{version}-%{release} |
379 |
|
380 |
%description demo |
381 |
The OpenJDK demos. |
382 |
|
383 |
%package src |
384 |
Summary: OpenJDK Source Bundle |
385 |
Group: Development/Java |
386 |
|
387 |
Requires: %{name} = %{epoch}:%{version}-%{release} |
388 |
|
389 |
#Obsoletes: java-1.7.0-openjdk-src < 1:1.7.0.65-2.5.1.2 |
390 |
#Provides: java-1.7.0-openjdk-src = %{epoch}:%{version}-%{release} |
391 |
|
392 |
%description src |
393 |
The OpenJDK source bundle. |
394 |
|
395 |
%package javadoc |
396 |
Summary: OpenJDK API Documentation |
397 |
Group: Documentation |
398 |
Requires: jpackage-utils |
399 |
BuildArch: noarch |
400 |
|
401 |
# Post requires alternatives to install javadoc alternative. |
402 |
Requires(post): %{_sbindir}/alternatives |
403 |
# Postun requires alternatives to uninstall javadoc alternative. |
404 |
Requires(postun): %{_sbindir}/alternatives |
405 |
|
406 |
# Standard JPackage javadoc provides. |
407 |
Provides: java-javadoc = %{epoch}:%{version}-%{release} |
408 |
Provides: java-%{javaver}-javadoc = %{epoch}:%{version}-%{release} |
409 |
|
410 |
#Obsoletes: java-1.7.0-openjdk-javadoc < 1:1.7.0.65-2.5.1.2 |
411 |
#Provides: java-1.7.0-openjdk-javadoc = %{epoch}:%{version}-%{release} |
412 |
|
413 |
%description javadoc |
414 |
The OpenJDK API documentation. |
415 |
|
416 |
|
417 |
%package accessibility |
418 |
Summary: OpenJDK accessibility connector |
419 |
Requires: java-atk-wrapper |
420 |
Requires: %{name} = %{epoch}:%{version}-%{release} |
421 |
|
422 |
#Obsoletes: java-1.7.0-openjdk-accessibility < 1:1.7.0.65-2.5.1.2 |
423 |
#Provides: java-1.7.0-openjdk-accessibility = %{epoch}:%{version}-%{release} |
424 |
|
425 |
%description accessibility |
426 |
Enables accessibility support in OpenJDK by using java-atk-wrapper. This allows |
427 |
compatible at-spi2 based accessibility programs to work for AWT and Swing-based |
428 |
programs. |
429 |
|
430 |
Please note, the java-atk-wrapper is still in beta, and OpenJDK itself is still |
431 |
being tuned to be working with accessibility features. There are known issues |
432 |
with accessibility on, so please do not install this package unless you really |
433 |
need to. |
434 |
|
435 |
|
436 |
%prep |
437 |
%setup -q -c -n %{name} -T -a 0 |
438 |
%ifarch %{aarch64} |
439 |
pushd jdk8 |
440 |
rm -r hotspot |
441 |
tar xf %{SOURCE1} |
442 |
popd |
443 |
%endif |
444 |
cp %{SOURCE2} . |
445 |
|
446 |
# replace outdated configure guess script |
447 |
# |
448 |
# the configure macro will do this too, but it also passes a few flags not |
449 |
# supported by openjdk configure script |
450 |
cp %{SOURCE100} jdk8/common/autoconf/build-aux/ |
451 |
cp %{SOURCE101} jdk8/common/autoconf/build-aux/ |
452 |
|
453 |
# OpenJDK patches |
454 |
|
455 |
# Remove libraries that are linked |
456 |
sh %{SOURCE12} |
457 |
|
458 |
%ifarch %{aarch64} |
459 |
%patch9999 |
460 |
%endif |
461 |
|
462 |
%patch201 |
463 |
%patch202 |
464 |
%patch203 |
465 |
|
466 |
|
467 |
%patch1 |
468 |
%patch2 |
469 |
%patch3 |
470 |
%patch4 |
471 |
%patch5 |
472 |
%patch6 |
473 |
%patch7 |
474 |
%patch8 |
475 |
%patch9 |
476 |
%patch10 |
477 |
%patch11 |
478 |
|
479 |
%patch99 |
480 |
|
481 |
# s390 build fixes |
482 |
%ifarch s390 |
483 |
%patch100 |
484 |
%patch102 |
485 |
%endif |
486 |
|
487 |
%ifarch ppc %{power64} |
488 |
# PPC fixes |
489 |
%patch103 |
490 |
%patch999 -p1 |
491 |
%endif |
492 |
|
493 |
# Extract systemtap tapsets |
494 |
%if %{with_systemtap} |
495 |
|
496 |
tar xzf %{SOURCE8} |
497 |
|
498 |
for file in tapset/*.in; do |
499 |
|
500 |
OUTPUT_FILE=`echo $file | sed -e s:\.in$::g` |
501 |
sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/server/libjvm.so:g $file > $file.1 |
502 |
# TODO find out which architectures other than ix86 have a client vm |
503 |
%ifarch %{ix86} |
504 |
sed -e s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/client/libjvm.so:g $file.1 > $OUTPUT_FILE |
505 |
%else |
506 |
sed -e '/@ABS_CLIENT_LIBJVM_SO@/d' $file.1 > $OUTPUT_FILE |
507 |
%endif |
508 |
sed -i -e s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir}:g $OUTPUT_FILE |
509 |
sed -i -e s:@INSTALL_ARCH_DIR@:%{archinstall}:g $OUTPUT_FILE |
510 |
|
511 |
done |
512 |
|
513 |
%endif |
514 |
|
515 |
# Prepare desktop files |
516 |
for file in %{SOURCE9} %{SOURCE10} ; do |
517 |
OUTPUT_FILE=`basename $file | sed -e s:\.in$::g` |
518 |
sed -e s:@JAVA_HOME@:%{_jvmdir}/%{sdkdir}:g $file > $OUTPUT_FILE |
519 |
sed -i -e s:@VERSION@:%{version}-%{release}.%{_arch}:g $OUTPUT_FILE |
520 |
done |
521 |
|
522 |
%build |
523 |
# How many cpu's do we have? |
524 |
export NUM_PROC=`/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :` |
525 |
export NUM_PROC=${NUM_PROC:-1} |
526 |
|
527 |
# Build IcedTea and OpenJDK. |
528 |
%ifarch s390x sparc64 alpha %{power64} |
529 |
export ARCH_DATA_MODEL=64 |
530 |
%endif |
531 |
%ifarch alpha |
532 |
export CFLAGS="$CFLAGS -mieee" |
533 |
%endif |
534 |
|
535 |
(cd jdk8/common/autoconf |
536 |
bash ./autogen.sh |
537 |
) |
538 |
|
539 |
mkdir -p %{buildoutputdir} |
540 |
|
541 |
pushd %{buildoutputdir} |
542 |
|
543 |
bash ../../configure \ |
544 |
%ifnarch %{jit_arches} |
545 |
--with-jvm-variants=zero \ |
546 |
%endif |
547 |
--disable-zip-debug-info \ |
548 |
--with-milestone="fcs" \ |
549 |
%ifnarch %{aarch64} |
550 |
--with-update-version=%{updatever} \ |
551 |
--with-build-number=%{buildver} \ |
552 |
%else |
553 |
--with-build-number=%{aarch64_buildver} \ |
554 |
--with-user-release-suffix="aarch64-%{aarch64_hg_tag}" \ |
555 |
%endif |
556 |
--with-boot-jdk=/usr/lib/jvm/java-openjdk \ |
557 |
--with-debug-level=%{debugbuild} \ |
558 |
--enable-unlimited-crypto \ |
559 |
--with-zlib=system \ |
560 |
--with-libjpeg=system \ |
561 |
--with-giflib=system \ |
562 |
--with-libpng=system \ |
563 |
--with-lcms=system \ |
564 |
--with-stdc++lib=dynamic \ |
565 |
--with-num-cores="$NUM_PROC" \ |
566 |
--with-extra-cflags="-fno-devirtualize" \ |
567 |
--with-extra-cxxflags="-fno-devirtualize" |
568 |
|
569 |
# The combination of FULL_DEBUG_SYMBOLS=0 and ALT_OBJCOPY=/does_not_exist |
570 |
# disables FDS for all build configs and reverts to pre-FDS make logic. |
571 |
# STRIP_POLICY=none says don't do any stripping. DEBUG_BINARIES=true says |
572 |
# ignore all the other logic about which debug options and just do '-g'. |
573 |
|
574 |
make \ |
575 |
DEBUG_BINARIES=true \ |
576 |
STRIP_POLICY=no_strip \ |
577 |
POST_STRIP_CMD="" \ |
578 |
LOG=trace \ |
579 |
all |
580 |
|
581 |
# the build (erroneously) removes read permissions from some jars |
582 |
# this is a regression in OpenJDK 7 (our compiler): |
583 |
# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437 |
584 |
find images/j2sdk-image -iname '*.jar' -exec chmod ugo+r {} \; |
585 |
chmod ugo+r images/j2sdk-image/lib/ct.sym |
586 |
|
587 |
# remove redundant *diz and *debuginfo files |
588 |
find images/j2sdk-image -iname '*.diz' -exec rm {} \; |
589 |
find images/j2sdk-image -iname '*.debuginfo' -exec rm {} \; |
590 |
|
591 |
popd >& /dev/null |
592 |
|
593 |
export JAVA_HOME=$(pwd)/%{buildoutputdir}/images/j2sdk-image |
594 |
|
595 |
# Install java-abrt-luncher |
596 |
mv $JAVA_HOME/jre/bin/java $JAVA_HOME/jre/bin/java-abrt |
597 |
cat %{SOURCE3} | sed -e s:@JAVA_PATH@:%{_jvmdir}/%{jredir}/bin/java-abrt:g -e s:@LIB_DIR@:%{LIBDIR}/libabrt-java-connector.so:g > $JAVA_HOME/jre/bin/java |
598 |
chmod 755 $JAVA_HOME/jre/bin/java |
599 |
|
600 |
|
601 |
# Copy tz.properties |
602 |
echo "sun.zoneinfo.dir=/usr/share/javazi" >> $JAVA_HOME/jre/lib/tz.properties |
603 |
# Use system-wide tzdata |
604 |
#rm $JAVA_HOME/jre/lib/tzdb.dat |
605 |
#ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/jre/lib/tzdb.dat |
606 |
|
607 |
# Check unlimited policy has been used |
608 |
$JAVA_HOME/bin/javac -d . %{SOURCE13} |
609 |
$JAVA_HOME/bin/java TestCryptoLevel |
610 |
|
611 |
# Check debug symbols are present and can identify code |
612 |
SERVER_JVM="$JAVA_HOME/jre/lib/%{archinstall}/server/libjvm.so" |
613 |
if [ -f "$SERVER_JVM" ] ; then |
614 |
nm -aCl "$SERVER_JVM" | grep javaCalls.cpp |
615 |
fi |
616 |
CLIENT_JVM="$JAVA_HOME/jre/lib/%{archinstall}/client/libjvm.so" |
617 |
if [ -f "$CLIENT_JVM" ] ; then |
618 |
nm -aCl "$CLIENT_JVM" | grep javaCalls.cpp |
619 |
fi |
620 |
ZERO_JVM="$JAVA_HOME/jre/lib/%{archinstall}/zero/libjvm.so" |
621 |
if [ -f "$ZERO_JVM" ] ; then |
622 |
nm -aCl "$ZERO_JVM" | grep javaCalls.cpp |
623 |
fi |
624 |
|
625 |
%install |
626 |
rm -rf $RPM_BUILD_ROOT |
627 |
STRIP_KEEP_SYMTAB=libjvm* |
628 |
|
629 |
# Install symlink to default soundfont |
630 |
install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/audio |
631 |
pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/audio |
632 |
ln -s %{_datadir}/soundfonts/default.sf2 |
633 |
popd |
634 |
|
635 |
pushd %{buildoutputdir}/images/j2sdk-image |
636 |
|
637 |
# Install main files. |
638 |
install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir} |
639 |
cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir} |
640 |
install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} |
641 |
cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} |
642 |
|
643 |
%if %{with_systemtap} |
644 |
# Install systemtap support files. |
645 |
install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset |
646 |
cp -a $RPM_BUILD_DIR/%{name}/tapset/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset/ |
647 |
install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir} |
648 |
pushd $RPM_BUILD_ROOT%{tapsetdir} |
649 |
RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir}/tapset %{tapsetdir}) |
650 |
ln -sf $RELATIVE/*.stp . |
651 |
popd |
652 |
%endif |
653 |
|
654 |
# Install cacerts symlink. |
655 |
rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/cacerts |
656 |
pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security |
657 |
RELATIVE=$(%{abs2rel} %{_sysconfdir}/pki/java \ |
658 |
%{_jvmdir}/%{jredir}/lib/security) |
659 |
ln -sf $RELATIVE/cacerts . |
660 |
popd |
661 |
|
662 |
# Install extension symlinks. |
663 |
install -d -m 755 $RPM_BUILD_ROOT%{jvmjardir} |
664 |
pushd $RPM_BUILD_ROOT%{jvmjardir} |
665 |
RELATIVE=$(%{abs2rel} %{_jvmdir}/%{jredir}/lib %{jvmjardir}) |
666 |
ln -sf $RELATIVE/jsse.jar jsse-%{version}.jar |
667 |
ln -sf $RELATIVE/jce.jar jce-%{version}.jar |
668 |
ln -sf $RELATIVE/rt.jar jndi-%{version}.jar |
669 |
ln -sf $RELATIVE/rt.jar jndi-ldap-%{version}.jar |
670 |
ln -sf $RELATIVE/rt.jar jndi-cos-%{version}.jar |
671 |
ln -sf $RELATIVE/rt.jar jndi-rmi-%{version}.jar |
672 |
ln -sf $RELATIVE/rt.jar jaas-%{version}.jar |
673 |
ln -sf $RELATIVE/rt.jar jdbc-stdext-%{version}.jar |
674 |
ln -sf jdbc-stdext-%{version}.jar jdbc-stdext-3.0.jar |
675 |
ln -sf $RELATIVE/rt.jar sasl-%{version}.jar |
676 |
for jar in *-%{version}.jar |
677 |
do |
678 |
if [ x%{version} != x%{javaver} ] |
679 |
then |
680 |
ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|-%{javaver}.jar|g") |
681 |
fi |
682 |
ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|.jar|g") |
683 |
done |
684 |
popd |
685 |
|
686 |
# Install JCE policy symlinks. |
687 |
install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{archname}/jce/vanilla |
688 |
|
689 |
# Install versionless symlinks. |
690 |
pushd $RPM_BUILD_ROOT%{_jvmdir} |
691 |
ln -sf %{jredir} %{jrelnk} |
692 |
ln -sf %{sdkdir} %{sdklnk} |
693 |
popd |
694 |
|
695 |
pushd $RPM_BUILD_ROOT%{_jvmjardir} |
696 |
ln -sf %{sdkdir} %{jrelnk} |
697 |
ln -sf %{sdkdir} %{sdklnk} |
698 |
popd |
699 |
|
700 |
# Remove javaws man page |
701 |
rm -f man/man1/javaws* |
702 |
|
703 |
# Install man pages. |
704 |
install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1 |
705 |
for manpage in man/man1/* |
706 |
do |
707 |
# Convert man pages to UTF8 encoding. |
708 |
iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp |
709 |
mv -f $manpage.tmp $manpage |
710 |
install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \ |
711 |
$manpage .1)-%{name}.1 |
712 |
done |
713 |
|
714 |
# Install demos and samples. |
715 |
cp -a demo $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir} |
716 |
mkdir -p sample/rmi |
717 |
mv bin/java-rmi.cgi sample/rmi |
718 |
cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir} |
719 |
|
720 |
popd |
721 |
|
722 |
|
723 |
# Install nss.cfg |
724 |
install -m 644 %{SOURCE11} $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/ |
725 |
|
726 |
|
727 |
# Install Javadoc documentation. |
728 |
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir} |
729 |
cp -a %{buildoutputdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{name} |
730 |
|
731 |
# Install icons and menu entries. |
732 |
for s in 16 24 32 48 ; do |
733 |
install -D -p -m 644 \ |
734 |
jdk8/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \ |
735 |
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}.png |
736 |
done |
737 |
|
738 |
# Install desktop files. |
739 |
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps} |
740 |
for e in jconsole policytool ; do |
741 |
desktop-file-install --vendor=%{name} --mode=644 \ |
742 |
--dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop |
743 |
done |
744 |
|
745 |
# Find JRE directories. |
746 |
find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type d \ |
747 |
| grep -v jre/lib/security \ |
748 |
| sed 's|'$RPM_BUILD_ROOT'|%dir |' \ |
749 |
> %{name}.files.headless |
750 |
# Find JRE files. |
751 |
find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type f -o -type l \ |
752 |
| grep -v jre/lib/security \ |
753 |
| sed 's|'$RPM_BUILD_ROOT'||' \ |
754 |
>> %{name}.files.all |
755 |
#split %{name}.files to %{name}.files-headless and %{name}.files |
756 |
#see https://bugzilla.redhat.com/show_bug.cgi?id=875408 |
757 |
NOT_HEADLESS=\ |
758 |
"%{_jvmdir}/%{jredir}/lib/%{archinstall}/libjsoundalsa.so |
759 |
%{_jvmdir}/%{jredir}/lib/%{archinstall}/libpulse-java.so |
760 |
%{_jvmdir}/%{jredir}/lib/%{archinstall}/libsplashscreen.so |
761 |
%{_jvmdir}/%{jredir}/lib/%{archinstall}/libawt_xawt.so |
762 |
%{_jvmdir}/%{jredir}/lib/%{archinstall}/libjawt.so" |
763 |
#filter %{name}.files from %{name}.files.all to %{name}.files-headless |
764 |
ALL=`cat %{name}.files.all` |
765 |
for file in $ALL ; do |
766 |
INLCUDE="NO" ; |
767 |
for blacklist in $NOT_HEADLESS ; do |
768 |
# we can not match normally, because rpmbuild will evaluate !0 result as script failure |
769 |
q=`expr match "$file" "$blacklist"` || : |
770 |
l=`expr length "$blacklist"` || : |
771 |
if [ $q -eq $l ]; then |
772 |
INLCUDE="YES" ; |
773 |
fi; |
774 |
done |
775 |
if [ "x$INLCUDE" = "xNO" ]; then |
776 |
echo "$file" >> %{name}.files-headless |
777 |
else |
778 |
echo "$file" >> %{name}.files |
779 |
fi |
780 |
done |
781 |
# Find demo directories. |
782 |
find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \ |
783 |
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample -type d \ |
784 |
| sed 's|'$RPM_BUILD_ROOT'|%dir |' \ |
785 |
> %{name}-demo.files |
786 |
|
787 |
# FIXME: remove SONAME entries from demo DSOs. See |
788 |
# https://bugzilla.redhat.com/show_bug.cgi?id=436497 |
789 |
|
790 |
# Find non-documentation demo files. |
791 |
find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \ |
792 |
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \ |
793 |
-type f -o -type l | sort \ |
794 |
| grep -v README \ |
795 |
| sed 's|'$RPM_BUILD_ROOT'||' \ |
796 |
>> %{name}-demo.files |
797 |
# Find documentation demo files. |
798 |
find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \ |
799 |
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \ |
800 |
-type f -o -type l | sort \ |
801 |
| grep README \ |
802 |
| sed 's|'$RPM_BUILD_ROOT'||' \ |
803 |
| sed 's|^|%doc |' \ |
804 |
>> %{name}-demo.files |
805 |
|
806 |
# intentionally after the files generation, as it goes to separate package |
807 |
# Create links which leads to separately installed java-atk-bridge and allow configuration |
808 |
# links points to java-atk-wrapper - an dependence |
809 |
pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir}/lib/%{archinstall} |
810 |
ln -s %{syslibdir}/java-atk-wrapper/libatk-wrapper.so.0 libatk-wrapper.so |
811 |
popd |
812 |
pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir}/lib/ext |
813 |
ln -s %{syslibdir}/java-atk-wrapper/java-atk-wrapper.jar java-atk-wrapper.jar |
814 |
popd |
815 |
pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir}/lib/ |
816 |
echo "#Config file to enable java-atk-wrapper" > accessibility.properties |
817 |
echo "" >> accessibility.properties |
818 |
echo "assistive_technologies=org.GNOME.Accessibility.AtkWrapper" >> accessibility.properties |
819 |
echo "" >> accessibility.properties |
820 |
popd |
821 |
|
822 |
%post headless |
823 |
# FIXME: identical binaries are copied, not linked. This needs to be |
824 |
# fixed upstream. |
825 |
ext=%{_extension} |
826 |
alternatives \ |
827 |
--install %{_bindir}/java java %{jrebindir}/java %{priority} \ |
828 |
--slave %{_jvmdir}/jre jre %{_jvmdir}/%{jrelnk} \ |
829 |
--slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk} \ |
830 |
--slave %{_bindir}/jjs jjs %{jrebindir}/jjs \ |
831 |
--slave %{_bindir}/keytool keytool %{jrebindir}/keytool \ |
832 |
--slave %{_bindir}/orbd orbd %{jrebindir}/orbd \ |
833 |
--slave %{_bindir}/pack200 pack200 %{jrebindir}/pack200 \ |
834 |
--slave %{_bindir}/rmid rmid %{jrebindir}/rmid \ |
835 |
--slave %{_bindir}/rmiregistry rmiregistry %{jrebindir}/rmiregistry \ |
836 |
--slave %{_bindir}/servertool servertool %{jrebindir}/servertool \ |
837 |
--slave %{_bindir}/tnameserv tnameserv %{jrebindir}/tnameserv \ |
838 |
--slave %{_bindir}/unpack200 unpack200 %{jrebindir}/unpack200 \ |
839 |
--slave %{_mandir}/man1/java.1$ext java.1$ext \ |
840 |
%{_mandir}/man1/java-%{name}.1$ext \ |
841 |
--slave %{_mandir}/man1/jjs.1$ext jjs.1$ext \ |
842 |
%{_mandir}/man1/jjs-%{name}.1$ext \ |
843 |
--slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \ |
844 |
%{_mandir}/man1/keytool-%{name}.1$ext \ |
845 |
--slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \ |
846 |
%{_mandir}/man1/orbd-%{name}.1$ext \ |
847 |
--slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \ |
848 |
%{_mandir}/man1/pack200-%{name}.1$ext \ |
849 |
--slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \ |
850 |
%{_mandir}/man1/rmid-%{name}.1$ext \ |
851 |
--slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \ |
852 |
%{_mandir}/man1/rmiregistry-%{name}.1$ext \ |
853 |
--slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \ |
854 |
%{_mandir}/man1/servertool-%{name}.1$ext \ |
855 |
--slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \ |
856 |
%{_mandir}/man1/tnameserv-%{name}.1$ext \ |
857 |
--slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \ |
858 |
%{_mandir}/man1/unpack200-%{name}.1$ext |
859 |
|
860 |
alternatives \ |
861 |
--install %{_jvmdir}/jre-%{origin} \ |
862 |
jre_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \ |
863 |
--slave %{_jvmjardir}/jre-%{origin} \ |
864 |
jre_%{origin}_exports %{_jvmjardir}/%{jrelnk} |
865 |
|
866 |
alternatives \ |
867 |
--install %{_jvmdir}/jre-%{javaver} \ |
868 |
jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} \ |
869 |
--slave %{_jvmjardir}/jre-%{javaver} \ |
870 |
jre_%{javaver}_exports %{_jvmjardir}/%{jrelnk} |
871 |
|
872 |
exit 0 |
873 |
|
874 |
%postun headless |
875 |
if [ $1 -eq 0 ] |
876 |
then |
877 |
alternatives --remove java %{jrebindir}/java |
878 |
alternatives --remove jre_%{origin} %{_jvmdir}/%{jrelnk} |
879 |
alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk} |
880 |
fi |
881 |
|
882 |
%post devel |
883 |
ext=%{_extension} |
884 |
alternatives \ |
885 |
--install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \ |
886 |
--slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdklnk} \ |
887 |
--slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdklnk} \ |
888 |
--slave %{_bindir}/appletviewer appletviewer %{sdkbindir}/appletviewer \ |
889 |
--slave %{_bindir}/extcheck extcheck %{sdkbindir}/extcheck \ |
890 |
--slave %{_bindir}/idlj idlj %{sdkbindir}/idlj \ |
891 |
--slave %{_bindir}/jar jar %{sdkbindir}/jar \ |
892 |
--slave %{_bindir}/jarsigner jarsigner %{sdkbindir}/jarsigner \ |
893 |
--slave %{_bindir}/javadoc javadoc %{sdkbindir}/javadoc \ |
894 |
--slave %{_bindir}/javah javah %{sdkbindir}/javah \ |
895 |
--slave %{_bindir}/javap javap %{sdkbindir}/javap \ |
896 |
--slave %{_bindir}/jcmd jcmd %{sdkbindir}/jcmd \ |
897 |
--slave %{_bindir}/jconsole jconsole %{sdkbindir}/jconsole \ |
898 |
--slave %{_bindir}/jdb jdb %{sdkbindir}/jdb \ |
899 |
--slave %{_bindir}/jdeps jdeps %{sdkbindir}/jdeps \ |
900 |
--slave %{_bindir}/jhat jhat %{sdkbindir}/jhat \ |
901 |
--slave %{_bindir}/jinfo jinfo %{sdkbindir}/jinfo \ |
902 |
--slave %{_bindir}/jmap jmap %{sdkbindir}/jmap \ |
903 |
--slave %{_bindir}/jps jps %{sdkbindir}/jps \ |
904 |
--slave %{_bindir}/jrunscript jrunscript %{sdkbindir}/jrunscript \ |
905 |
--slave %{_bindir}/jsadebugd jsadebugd %{sdkbindir}/jsadebugd \ |
906 |
--slave %{_bindir}/jstack jstack %{sdkbindir}/jstack \ |
907 |
--slave %{_bindir}/jstat jstat %{sdkbindir}/jstat \ |
908 |
--slave %{_bindir}/jstatd jstatd %{sdkbindir}/jstatd \ |
909 |
--slave %{_bindir}/native2ascii native2ascii %{sdkbindir}/native2ascii \ |
910 |
--slave %{_bindir}/policytool policytool %{sdkbindir}/policytool \ |
911 |
--slave %{_bindir}/rmic rmic %{sdkbindir}/rmic \ |
912 |
--slave %{_bindir}/schemagen schemagen %{sdkbindir}/schemagen \ |
913 |
--slave %{_bindir}/serialver serialver %{sdkbindir}/serialver \ |
914 |
--slave %{_bindir}/wsgen wsgen %{sdkbindir}/wsgen \ |
915 |
--slave %{_bindir}/wsimport wsimport %{sdkbindir}/wsimport \ |
916 |
--slave %{_bindir}/xjc xjc %{sdkbindir}/xjc \ |
917 |
--slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \ |
918 |
%{_mandir}/man1/appletviewer-%{name}.1$ext \ |
919 |
--slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \ |
920 |
%{_mandir}/man1/extcheck-%{name}.1$ext \ |
921 |
--slave %{_mandir}/man1/idlj.1$ext idlj.1$ext \ |
922 |
%{_mandir}/man1/idlj-%{name}.1$ext \ |
923 |
--slave %{_mandir}/man1/jar.1$ext jar.1$ext \ |
924 |
%{_mandir}/man1/jar-%{name}.1$ext \ |
925 |
--slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \ |
926 |
%{_mandir}/man1/jarsigner-%{name}.1$ext \ |
927 |
--slave %{_mandir}/man1/javac.1$ext javac.1$ext \ |
928 |
%{_mandir}/man1/javac-%{name}.1$ext \ |
929 |
--slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \ |
930 |
%{_mandir}/man1/javadoc-%{name}.1$ext \ |
931 |
--slave %{_mandir}/man1/javah.1$ext javah.1$ext \ |
932 |
%{_mandir}/man1/javah-%{name}.1$ext \ |
933 |
--slave %{_mandir}/man1/javap.1$ext javap.1$ext \ |
934 |
%{_mandir}/man1/javap-%{name}.1$ext \ |
935 |
--slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \ |
936 |
%{_mandir}/man1/jcmd-%{name}.1$ext \ |
937 |
--slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \ |
938 |
%{_mandir}/man1/jconsole-%{name}.1$ext \ |
939 |
--slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \ |
940 |
%{_mandir}/man1/jdb-%{name}.1$ext \ |
941 |
--slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \ |
942 |
%{_mandir}/man1/jdeps-%{name}.1$ext \ |
943 |
--slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \ |
944 |
%{_mandir}/man1/jhat-%{name}.1$ext \ |
945 |
--slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \ |
946 |
%{_mandir}/man1/jinfo-%{name}.1$ext \ |
947 |
--slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \ |
948 |
%{_mandir}/man1/jmap-%{name}.1$ext \ |
949 |
--slave %{_mandir}/man1/jps.1$ext jps.1$ext \ |
950 |
%{_mandir}/man1/jps-%{name}.1$ext \ |
951 |
--slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \ |
952 |
%{_mandir}/man1/jrunscript-%{name}.1$ext \ |
953 |
--slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \ |
954 |
%{_mandir}/man1/jsadebugd-%{name}.1$ext \ |
955 |
--slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \ |
956 |
%{_mandir}/man1/jstack-%{name}.1$ext \ |
957 |
--slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \ |
958 |
%{_mandir}/man1/jstat-%{name}.1$ext \ |
959 |
--slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \ |
960 |
%{_mandir}/man1/jstatd-%{name}.1$ext \ |
961 |
--slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \ |
962 |
%{_mandir}/man1/native2ascii-%{name}.1$ext \ |
963 |
--slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \ |
964 |
%{_mandir}/man1/policytool-%{name}.1$ext \ |
965 |
--slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \ |
966 |
%{_mandir}/man1/rmic-%{name}.1$ext \ |
967 |
--slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \ |
968 |
%{_mandir}/man1/schemagen-%{name}.1$ext \ |
969 |
--slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \ |
970 |
%{_mandir}/man1/serialver-%{name}.1$ext \ |
971 |
--slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \ |
972 |
%{_mandir}/man1/wsgen-%{name}.1$ext \ |
973 |
--slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \ |
974 |
%{_mandir}/man1/wsimport-%{name}.1$ext \ |
975 |
--slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \ |
976 |
%{_mandir}/man1/xjc-%{name}.1$ext |
977 |
|
978 |
alternatives \ |
979 |
--install %{_jvmdir}/java-%{origin} \ |
980 |
java_sdk_%{origin} %{_jvmdir}/%{sdklnk} %{priority} \ |
981 |
--slave %{_jvmjardir}/java-%{origin} \ |
982 |
java_sdk_%{origin}_exports %{_jvmjardir}/%{sdklnk} |
983 |
|
984 |
alternatives \ |
985 |
--install %{_jvmdir}/java-%{javaver} \ |
986 |
java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} %{priority} \ |
987 |
--slave %{_jvmjardir}/java-%{javaver} \ |
988 |
java_sdk_%{javaver}_exports %{_jvmjardir}/%{sdklnk} |
989 |
|
990 |
exit 0 |
991 |
|
992 |
%postun devel |
993 |
if [ $1 -eq 0 ] |
994 |
then |
995 |
alternatives --remove javac %{sdkbindir}/javac |
996 |
alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdklnk} |
997 |
alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} |
998 |
fi |
999 |
|
1000 |
exit 0 |
1001 |
|
1002 |
%post javadoc |
1003 |
alternatives \ |
1004 |
--install %{_javadocdir}/java javadocdir %{_javadocdir}/%{name}/api \ |
1005 |
%{priority} |
1006 |
|
1007 |
exit 0 |
1008 |
|
1009 |
%postun javadoc |
1010 |
if [ $1 -eq 0 ] |
1011 |
then |
1012 |
alternatives --remove javadocdir %{_javadocdir}/%{name}/api |
1013 |
fi |
1014 |
|
1015 |
exit 0 |
1016 |
|
1017 |
|
1018 |
%files -f %{name}.files |
1019 |
%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png |
1020 |
|
1021 |
|
1022 |
%files headless -f %{name}.files-headless |
1023 |
%defattr(-,root,root,-) |
1024 |
%doc %{buildoutputdir}/images/j2sdk-image/jre/ASSEMBLY_EXCEPTION |
1025 |
%doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE |
1026 |
%doc %{buildoutputdir}/images/j2sdk-image/jre/THIRD_PARTY_README |
1027 |
|
1028 |
%dir %{_jvmdir}/%{sdkdir} |
1029 |
%{_jvmdir}/%{jrelnk} |
1030 |
%{_jvmjardir}/%{jrelnk} |
1031 |
%{_jvmprivdir}/* |
1032 |
%{jvmjardir} |
1033 |
%dir %{_jvmdir}/%{jredir}/lib/security |
1034 |
%{_jvmdir}/%{jredir}/lib/security/cacerts |
1035 |
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy |
1036 |
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security |
1037 |
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/blacklisted.certs |
1038 |
%{_mandir}/man1/java-%{name}.1* |
1039 |
%{_mandir}/man1/jjs-%{name}.1* |
1040 |
%{_mandir}/man1/keytool-%{name}.1* |
1041 |
%{_mandir}/man1/orbd-%{name}.1* |
1042 |
%{_mandir}/man1/pack200-%{name}.1* |
1043 |
%{_mandir}/man1/rmid-%{name}.1* |
1044 |
%{_mandir}/man1/rmiregistry-%{name}.1* |
1045 |
%{_mandir}/man1/servertool-%{name}.1* |
1046 |
%{_mandir}/man1/tnameserv-%{name}.1* |
1047 |
%{_mandir}/man1/unpack200-%{name}.1* |
1048 |
%{_jvmdir}/%{jredir}/lib/security/nss.cfg |
1049 |
%{_jvmdir}/%{jredir}/lib/audio/ |
1050 |
%{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar |
1051 |
%{_jvmdir}/%{jredir}/lib/security/local_policy.jar |
1052 |
|
1053 |
%files devel |
1054 |
%defattr(-,root,root,-) |
1055 |
%doc %{buildoutputdir}/images/j2sdk-image/ASSEMBLY_EXCEPTION |
1056 |
%doc %{buildoutputdir}/images/j2sdk-image/LICENSE |
1057 |
%doc %{buildoutputdir}/images/j2sdk-image/THIRD_PARTY_README |
1058 |
%dir %{_jvmdir}/%{sdkdir}/bin |
1059 |
%dir %{_jvmdir}/%{sdkdir}/include |
1060 |
%dir %{_jvmdir}/%{sdkdir}/lib |
1061 |
%if %{with_systemtap} |
1062 |
%dir %{_jvmdir}/%{sdkdir}/tapset |
1063 |
%endif |
1064 |
%{_jvmdir}/%{sdkdir}/bin/* |
1065 |
%{_jvmdir}/%{sdkdir}/include/* |
1066 |
%{_jvmdir}/%{sdkdir}/lib/* |
1067 |
%if %{with_systemtap} |
1068 |
%{_jvmdir}/%{sdkdir}/tapset/*.stp |
1069 |
%endif |
1070 |
%{_jvmdir}/%{sdklnk} |
1071 |
%{_jvmjardir}/%{sdklnk} |
1072 |
%{_datadir}/applications/*jconsole.desktop |
1073 |
%{_datadir}/applications/*policytool.desktop |
1074 |
%{_mandir}/man1/appletviewer-%{name}.1* |
1075 |
%{_mandir}/man1/extcheck-%{name}.1* |
1076 |
%{_mandir}/man1/idlj-%{name}.1* |
1077 |
%{_mandir}/man1/jar-%{name}.1* |
1078 |
%{_mandir}/man1/jarsigner-%{name}.1* |
1079 |
%{_mandir}/man1/javac-%{name}.1* |
1080 |
%{_mandir}/man1/javadoc-%{name}.1* |
1081 |
%{_mandir}/man1/javah-%{name}.1* |
1082 |
%{_mandir}/man1/javap-%{name}.1* |
1083 |
%{_mandir}/man1/jconsole-%{name}.1* |
1084 |
%{_mandir}/man1/jcmd-%{name}.1* |
1085 |
%{_mandir}/man1/jdb-%{name}.1* |
1086 |
%{_mandir}/man1/jdeps-%{name}.1* |
1087 |
%{_mandir}/man1/jhat-%{name}.1* |
1088 |
%{_mandir}/man1/jinfo-%{name}.1* |
1089 |
%{_mandir}/man1/jmap-%{name}.1* |
1090 |
%{_mandir}/man1/jps-%{name}.1* |
1091 |
%{_mandir}/man1/jrunscript-%{name}.1* |
1092 |
%{_mandir}/man1/jsadebugd-%{name}.1* |
1093 |
%{_mandir}/man1/jstack-%{name}.1* |
1094 |
%{_mandir}/man1/jstat-%{name}.1* |
1095 |
%{_mandir}/man1/jstatd-%{name}.1* |
1096 |
%{_mandir}/man1/native2ascii-%{name}.1* |
1097 |
%{_mandir}/man1/policytool-%{name}.1* |
1098 |
%{_mandir}/man1/rmic-%{name}.1* |
1099 |
%{_mandir}/man1/schemagen-%{name}.1* |
1100 |
%{_mandir}/man1/serialver-%{name}.1* |
1101 |
%{_mandir}/man1/wsgen-%{name}.1* |
1102 |
%{_mandir}/man1/wsimport-%{name}.1* |
1103 |
%{_mandir}/man1/xjc-%{name}.1* |
1104 |
%if %{with_systemtap} |
1105 |
%{tapsetroot} |
1106 |
%endif |
1107 |
|
1108 |
%files demo -f %{name}-demo.files |
1109 |
%defattr(-,root,root,-) |
1110 |
%doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE |
1111 |
|
1112 |
%files src |
1113 |
%defattr(-,root,root,-) |
1114 |
%doc README.src |
1115 |
%{_jvmdir}/%{sdkdir}/src.zip |
1116 |
|
1117 |
%files javadoc |
1118 |
%defattr(-,root,root,-) |
1119 |
%doc %{_javadocdir}/%{name} |
1120 |
%doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE |
1121 |
|
1122 |
%files accessibility |
1123 |
%{_jvmdir}/%{jredir}/lib/%{archinstall}/libatk-wrapper.so |
1124 |
%{_jvmdir}/%{jredir}/lib/ext/java-atk-wrapper.jar |
1125 |
%{_jvmdir}/%{jredir}/lib/accessibility.properties |
1126 |
|