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