source: projects/specs/trunk/j/java-1.8.0-openjdk/java-1.8.0-openjdk-vl.spec @ 10390

Revision 10390, 75.3 KB checked in by tomop, 8 years ago (diff)

nss-3.21.1-3, copy-jdk-configs-1.1-5 and java-1.8.0-openjdk-1.8.0.92-1.b14

Line 
1%bcond_with initial_build
2%bcond_with debug_build
3%bcond_without system_nss
4
5%global __global_ldflags -Wl,-z,relro
6
7# for vbuilder
8%global is_vbuilder %(if [ $USER == "vbuilder" ]; then echo 1; else echo 0; fi)
9%if 0%is_vbuilder
10%global _smp_ncpus_max 1
11%endif
12
13# note, parametrised macros are order-senisitve (unlike not-parametrized) even with normal macros
14# also necessary when passing it as parameter other macros. If not macro, then it is considered as switch
15%global debug_suffix_unquoted -debug
16# quoted one for shell operations
17%global debug_suffix "%{debug_suffix_unquoted}"
18%global normal_suffix ""
19
20#if you wont only debug build, but providing java, build only normal build, but  set normalbuild_parameter
21%global debugbuild_parameter  slowdebug
22%global normalbuild_parameter release
23%global debug_warning This package have full debug on. Install only in need, and remove asap.
24%global debug_on with full debug on
25%global for_debug for packages with debug on
26
27# by default we build normal build always.
28%global include_normal_build 1
29%if %{include_normal_build}
30%global build_loop1 %{normal_suffix}
31%else
32%global build_loop1 %{nil}
33%endif
34
35%if %{with debug_build}
36%global include_debug_build 1
37%else
38%global include_debug_build 0
39%endif
40
41# on intels, we build shenandoah htspot
42%ifarch x86_64
43%global use_shenandoah_hotspot 1
44%else
45%global use_shenandoah_hotspot 0
46%endif
47
48%if %{include_debug_build}
49%global build_loop2 %{debug_suffix}
50%else
51%global build_loop2 %{nil}
52%endif
53
54# if you disable both builds, then build fails
55%global build_loop  %{build_loop1} %{build_loop2}
56# note, that order  normal_suffix debug_suffix, in case of both enabled,
57# is expected in one single case at the end of build
58%global rev_build_loop  %{build_loop2} %{build_loop1}
59
60%ifarch %{jit_arches}
61%global bootstrap_build 1
62%else
63%global bootstrap_build 0
64%endif
65
66%if %{bootstrap_build}
67%global targets bootcycle-images docs
68%else
69%global targets all
70%endif
71
72%global aarch64         aarch64 arm64 armv8
73%global multilib_arches x86_64
74%global jit_arches      %{ix86} x86_64 %{aarch64}
75
76%ifnarch %{jit_arches}
77# Disable hardened build on non-jit arches. Work-around for RHBZ#1290936.
78%undefine _hardened_build
79%global ourcppflags %{nil}
80%global ourldflags %{nil}
81%else
82%ifarch %{aarch64}
83# Disable hardened build on AArch64 as it didn't bootcycle
84%undefine _hardened_build
85%global ourcppflags "-fstack-protector-strong"
86%global ourldflags %{nil}
87%else
88# Filter out flags from the optflags macro that cause problems with the OpenJDK build
89# We filter out -O flags so that the optimisation of HotSpot is not lowered from O3 to O2
90# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
91# We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings
92# We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++
93%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||')
94%global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')
95%global ourldflags %{__global_ldflags}
96%endif
97%endif
98
99%if %{with system_nss}
100# With diabled nss is NSS deactivated, so in NSS_LIBDIR can be wrong path
101# the initialisation must be here. LAter the pkg-connfig have bugy behaviour
102#looks liekopenjdk RPM specific bug
103# Always set this so the nss.cfg file is not broken
104%global NSS_LIBDIR %(pkg-config --variable=libdir nss)
105%global NSS_LIBS %(pkg-config --libs nss)
106%global NSS_CFLAGS %(pkg-config --cflags nss-softokn)
107# see https://bugzilla.redhat.com/show_bug.cgi?id=1332456
108%global NSSSOFTOKN_BUILDTIME_NUMBER %(pkg-config --modversion nss-softokn || : )
109#this is worakround for processing of requires during srpm creation
110%global NSSSOFTOKN_BUILDTIME_VERSION %(if [ "x%{NSSSOFTOKN_BUILDTIME_NUMBER}" == "x" ] ; then echo "" ;else echo ">= %{NSSSOFTOKN_BUILDTIME_NUMBER}" ;fi)
111%global NSS_BUILDTIME_NUMBER %(pkg-config --modversion nss || : )
112%global NSS_BUILDTIME_VERSION %(if [ "x%{NSS_BUILDTIME_NUMBER}" == "x" ] ; then echo "" ;else echo ">= %{NSS_BUILDTIME_NUMBER}" ;fi)
113%endif
114
115# fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
116%global _privatelibs libmawt[.]so.*
117%global __provides_exclude ^(%{_privatelibs})$
118%global __requires_exclude ^(%{_privatelibs})$
119
120%ifarch x86_64
121%global archinstall amd64
122%endif
123%ifarch %{ix86}
124%global archinstall i386
125%endif
126%ifarch %{arm}
127%global archinstall arm
128%endif
129%ifarch %{aarch64}
130%global archinstall aarch64
131%endif
132%ifnarch %{jit_arches}
133%global archinstall %{_arch}
134%endif
135
136
137
138%ifarch %{jit_arches}
139%global with_systemtap 1
140%else
141%global with_systemtap 0
142%endif
143
144# Convert an absolute path to a relative path.  Each symbolic link is
145# specified relative to the directory in which it is installed so that
146# it will resolve properly within chrooted installations.
147%global script 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])'
148%global abs2rel %{__perl} -e %{script}
149
150
151# Standard JPackage naming and versioning defines.
152%global origin          openjdk
153# note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there.
154%global project         aarch64-port
155%global repo            jdk8u
156%global revision        aarch64-jdk8u92-b14
157# eg # jdk8u60-b27 -> jdk8u60 or # aarch64-jdk8u60-b27 -> aarch64-jdk8u60  (dont forget spec escape % by %%)
158%global whole_update    %(VERSION=%{revision}; echo ${VERSION%%-*})
159# eg  jdk8u60 -> 60 or aarch64-jdk8u60 -> 60
160%global updatever       %(VERSION=%{whole_update}; echo ${VERSION##*u})
161# eg jdk8u60-b27 -> b27
162%global buildver        %(VERSION=%{revision}; echo ${VERSION##*-})
163# priority must be 7 digits in total. The expression is workarounding tip
164%global priority        %(TIP=18000%{updatever};  echo ${TIP/tip/99})
165
166%global javaver         1.8.0
167
168# parametrized macros are order-sensitive
169%global fullversion     %{name}-%{version}-%{release}
170#images stub
171%global j2sdkimage       j2sdk-image
172# output dir stub
173%global buildoutputdir() %{expand:openjdk/build/jdk8.build%1}
174#we can copy the javadoc to not arched dir, or made it not noarch
175%global uniquejavadocdir()    %{expand:%{fullversion}%1}
176#main id and dir of this jdk
177%global uniquesuffix()        %{expand:%{fullversion}.%{_arch}%1}
178
179# Standard JPackage directories and symbolic links.
180%global sdkdir()        %{expand:%{uniquesuffix %%1}}
181%global jrelnk()        %{expand:jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%1}
182
183%global jredir()        %{expand:%{sdkdir %%1}/jre}
184%global sdkbindir()     %{expand:%{_jvmdir}/%{sdkdir %%1}/bin}
185%global jrebindir()     %{expand:%{_jvmdir}/%{jredir %%1}/bin}
186%global jvmjardir()     %{expand:%{_jvmjardir}/%{uniquesuffix %%1}}
187
188%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
189
190%if %{with_systemtap}
191# Where to install systemtap tapset (links)
192# We would like these to be in a package specific subdir,
193# but currently systemtap doesn't support that, so we have to
194# use the root tapset dir for now. To distinquish between 64
195# and 32 bit architectures we place the tapsets under the arch
196# specific dir (note that systemtap will only pickup the tapset
197# for the primary arch for now). Systemtap uses the machine name
198# aka build_cpu as architecture specific directory name.
199%global tapsetroot /usr/share/systemtap
200%global tapsetdir %{tapsetroot}/tapset/%{_build_cpu}
201%endif
202
203# not-duplicated scriplets for normal/debug packages
204%global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
205
206%global post_script() %{expand:
207update-desktop-database %{_datadir}/applications &> /dev/null || :
208/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
209exit 0
210}
211
212
213%global post_headless() %{expand:
214# FIXME: identical binaries are copied, not linked. This needs to be
215# fixed upstream.
216# The pretrans lua scriptlet prevents an unmodified java.security
217# from being replaced via an update. It gets created as
218# java.security.rpmnew instead. This invalidates the patch of
219# JDK-8061210 of the January 2015 CPU, JDK-8043201 of the
220# July 2015 CPU and JDK-8141287 of the January 2016 CPU. We
221# fix this via a post scriptlet which runs on updates.
222if [ "$1" -gt 1 ]; then
223  javasecurity="%{_jvmdir}/%{uniquesuffix}/jre/lib/security/java.security"
224  sum=$(md5sum "${javasecurity}" | cut -d' ' -f1)
225  # This is the md5sum of an unmodified java.security file
226  if [ "${sum}" = '1690ac33955594f71dc952c9e83fd396' -o \\
227       "${sum}" = 'b138695d0c0ea947e64a21a627d973ba' -o \\
228       "${sum}" = 'd17958676bdb9f9d941c8a59655311fb' -o \\
229       "${sum}" = '5463aef7dbf0bbcfe79e0336a7f92701' -o \\
230       "${sum}" = '400cc64d4dd31f36dc0cc2c701d603db' -o \\
231       "${sum}" = '321342219bb130d238ff144b9e5dbfc1' -o \\
232       "${sum}" = '134a37a84983b620f4d8d51a550c0c38' ]; then
233    if [ -f "${javasecurity}.rpmnew" ]; then
234      mv -f "${javasecurity}.rpmnew" "${javasecurity}"
235    fi
236  fi
237fi
238
239%ifarch %{jit_arches}
240# MetaspaceShared::generate_vtable_methods not implemented for PPC JIT
241%ifnarch %{power64}
242#see https://bugzilla.redhat.com/show_bug.cgi?id=513605
243%{jrebindir %%1}/java -Xshare:dump >/dev/null 2>/dev/null
244%endif
245%endif
246
247PRIORITY=%{priority}
248if [ "%1" == %{debug_suffix} ]; then
249  let PRIORITY=PRIORITY-1
250fi
251
252ext=.gz
253alternatives \\
254  --install %{_bindir}/java java %{jrebindir %%1}/java $PRIORITY \\
255  --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jredir %%1} \\
256  --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk %%1} \\
257  --slave %{_bindir}/jjs jjs %{jrebindir %%1}/jjs \\
258  --slave %{_bindir}/keytool keytool %{jrebindir %%1}/keytool \\
259  --slave %{_bindir}/orbd orbd %{jrebindir %%1}/orbd \\
260  --slave %{_bindir}/pack200 pack200 %{jrebindir %%1}/pack200 \\
261  --slave %{_bindir}/rmid rmid %{jrebindir %%1}/rmid \\
262  --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir %%1}/rmiregistry \\
263  --slave %{_bindir}/servertool servertool %{jrebindir %%1}/servertool \\
264  --slave %{_bindir}/tnameserv tnameserv %{jrebindir %%1}/tnameserv \\
265  --slave %{_bindir}/policytool policytool %{jrebindir %%1}/policytool \\
266  --slave %{_bindir}/unpack200 unpack200 %{jrebindir %%1}/unpack200 \\
267  --slave %{_mandir}/man1/java.1$ext java.1$ext \\
268  %{_mandir}/man1/java-%{uniquesuffix %%1}.1$ext \\
269  --slave %{_mandir}/man1/jjs.1$ext jjs.1$ext \\
270  %{_mandir}/man1/jjs-%{uniquesuffix %%1}.1$ext \\
271  --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\
272  %{_mandir}/man1/keytool-%{uniquesuffix %%1}.1$ext \\
273  --slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \\
274  %{_mandir}/man1/orbd-%{uniquesuffix %%1}.1$ext \\
275  --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \\
276  %{_mandir}/man1/pack200-%{uniquesuffix %%1}.1$ext \\
277  --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \\
278  %{_mandir}/man1/rmid-%{uniquesuffix %%1}.1$ext \\
279  --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \\
280  %{_mandir}/man1/rmiregistry-%{uniquesuffix %%1}.1$ext \\
281  --slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \\
282  %{_mandir}/man1/servertool-%{uniquesuffix %%1}.1$ext \\
283  --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \\
284  %{_mandir}/man1/tnameserv-%{uniquesuffix %%1}.1$ext \\
285  --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \\
286  %{_mandir}/man1/policytool-%{uniquesuffix %%1}.1$ext \\
287  --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \\
288  %{_mandir}/man1/unpack200-%{uniquesuffix %%1}.1$ext
289
290for X in %{origin} %{javaver} ; do
291  alternatives \\
292    --install %{_jvmdir}/jre-"$X" \\
293    jre_"$X" %{_jvmdir}/%{jredir %%1} $PRIORITY \\
294    --slave %{_jvmjardir}/jre-"$X" \\
295    jre_"$X"_exports %{_jvmdir}/%{jredir %%1}
296done
297
298update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk %%1} $PRIORITY \\
299--slave %{_jvmjardir}/jre-%{javaver}       jre_%{javaver}_%{origin}_exports      %{jvmjardir %%1}
300
301update-desktop-database %{_datadir}/applications &> /dev/null || :
302/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
303exit 0
304}
305
306%global postun_script() %{expand:
307update-desktop-database %{_datadir}/applications &> /dev/null || :
308if [ $1 -eq 0 ] ; then
309    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
310    %{update_desktop_icons}
311fi
312exit 0
313}
314
315
316%global postun_headless() %{expand:
317  alternatives --remove java %{jrebindir %%1}/java
318  alternatives --remove jre_%{origin} %{_jvmdir}/%{jredir %%1}
319  alternatives --remove jre_%{javaver} %{_jvmdir}/%{jredir %%1}
320  alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk %%1}
321}
322
323%global posttrans_script() %{expand:
324%{update_desktop_icons}
325}
326
327%global post_devel() %{expand:
328
329PRIORITY=%{priority}
330if [ "%1" == %{debug_suffix} ]; then
331  let PRIORITY=PRIORITY-1
332fi
333
334ext=.gz
335alternatives \\
336  --install %{_bindir}/javac javac %{sdkbindir %%1}/javac $PRIORITY \\
337  --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir %%1} \\
338  --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdkdir %%1} \\
339  --slave %{_bindir}/appletviewer appletviewer %{sdkbindir %%1}/appletviewer \\
340  --slave %{_bindir}/extcheck extcheck %{sdkbindir %%1}/extcheck \\
341  --slave %{_bindir}/idlj idlj %{sdkbindir %%1}/idlj \\
342  --slave %{_bindir}/jar jar %{sdkbindir %%1}/jar \\
343  --slave %{_bindir}/jarsigner jarsigner %{sdkbindir %%1}/jarsigner \\
344  --slave %{_bindir}/javadoc javadoc %{sdkbindir %%1}/javadoc \\
345  --slave %{_bindir}/javah javah %{sdkbindir %%1}/javah \\
346  --slave %{_bindir}/javap javap %{sdkbindir %%1}/javap \\
347  --slave %{_bindir}/jcmd jcmd %{sdkbindir %%1}/jcmd \\
348  --slave %{_bindir}/jconsole jconsole %{sdkbindir %%1}/jconsole \\
349  --slave %{_bindir}/jdb jdb %{sdkbindir %%1}/jdb \\
350  --slave %{_bindir}/jdeps jdeps %{sdkbindir %%1}/jdeps \\
351  --slave %{_bindir}/jhat jhat %{sdkbindir %%1}/jhat \\
352  --slave %{_bindir}/jinfo jinfo %{sdkbindir %%1}/jinfo \\
353  --slave %{_bindir}/jmap jmap %{sdkbindir %%1}/jmap \\
354  --slave %{_bindir}/jps jps %{sdkbindir %%1}/jps \\
355  --slave %{_bindir}/jrunscript jrunscript %{sdkbindir %%1}/jrunscript \\
356  --slave %{_bindir}/jsadebugd jsadebugd %{sdkbindir %%1}/jsadebugd \\
357  --slave %{_bindir}/jstack jstack %{sdkbindir %%1}/jstack \\
358  --slave %{_bindir}/jstat jstat %{sdkbindir %%1}/jstat \\
359  --slave %{_bindir}/jstatd jstatd %{sdkbindir %%1}/jstatd \\
360  --slave %{_bindir}/native2ascii native2ascii %{sdkbindir %%1}/native2ascii \\
361  --slave %{_bindir}/rmic rmic %{sdkbindir %%1}/rmic \\
362  --slave %{_bindir}/schemagen schemagen %{sdkbindir %%1}/schemagen \\
363  --slave %{_bindir}/serialver serialver %{sdkbindir %%1}/serialver \\
364  --slave %{_bindir}/wsgen wsgen %{sdkbindir %%1}/wsgen \\
365  --slave %{_bindir}/wsimport wsimport %{sdkbindir %%1}/wsimport \\
366  --slave %{_bindir}/xjc xjc %{sdkbindir %%1}/xjc \\
367  --slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \\
368  %{_mandir}/man1/appletviewer-%{uniquesuffix %%1}.1$ext \\
369  --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \\
370  %{_mandir}/man1/extcheck-%{uniquesuffix %%1}.1$ext \\
371  --slave %{_mandir}/man1/idlj.1$ext idlj.1$ext \\
372  %{_mandir}/man1/idlj-%{uniquesuffix %%1}.1$ext \\
373  --slave %{_mandir}/man1/jar.1$ext jar.1$ext \\
374  %{_mandir}/man1/jar-%{uniquesuffix %%1}.1$ext \\
375  --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \\
376  %{_mandir}/man1/jarsigner-%{uniquesuffix %%1}.1$ext \\
377  --slave %{_mandir}/man1/javac.1$ext javac.1$ext \\
378  %{_mandir}/man1/javac-%{uniquesuffix %%1}.1$ext \\
379  --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \\
380  %{_mandir}/man1/javadoc-%{uniquesuffix %%1}.1$ext \\
381  --slave %{_mandir}/man1/javah.1$ext javah.1$ext \\
382  %{_mandir}/man1/javah-%{uniquesuffix %%1}.1$ext \\
383  --slave %{_mandir}/man1/javap.1$ext javap.1$ext \\
384  %{_mandir}/man1/javap-%{uniquesuffix %%1}.1$ext \\
385  --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \\
386  %{_mandir}/man1/jcmd-%{uniquesuffix %%1}.1$ext \\
387  --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \\
388  %{_mandir}/man1/jconsole-%{uniquesuffix %%1}.1$ext \\
389  --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \\
390  %{_mandir}/man1/jdb-%{uniquesuffix %%1}.1$ext \\
391  --slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \\
392  %{_mandir}/man1/jdeps-%{uniquesuffix %%1}.1$ext \\
393  --slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \\
394  %{_mandir}/man1/jhat-%{uniquesuffix %%1}.1$ext \\
395  --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \\
396  %{_mandir}/man1/jinfo-%{uniquesuffix %%1}.1$ext \\
397  --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \\
398  %{_mandir}/man1/jmap-%{uniquesuffix %%1}.1$ext \\
399  --slave %{_mandir}/man1/jps.1$ext jps.1$ext \\
400  %{_mandir}/man1/jps-%{uniquesuffix %%1}.1$ext \\
401  --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \\
402  %{_mandir}/man1/jrunscript-%{uniquesuffix %%1}.1$ext \\
403  --slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \\
404  %{_mandir}/man1/jsadebugd-%{uniquesuffix %%1}.1$ext \\
405  --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \\
406  %{_mandir}/man1/jstack-%{uniquesuffix %%1}.1$ext \\
407  --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \\
408  %{_mandir}/man1/jstat-%{uniquesuffix %%1}.1$ext \\
409  --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \\
410  %{_mandir}/man1/jstatd-%{uniquesuffix %%1}.1$ext \\
411  --slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \\
412  %{_mandir}/man1/native2ascii-%{uniquesuffix %%1}.1$ext \\
413  --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \\
414  %{_mandir}/man1/rmic-%{uniquesuffix %%1}.1$ext \\
415  --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \\
416  %{_mandir}/man1/schemagen-%{uniquesuffix %%1}.1$ext \\
417  --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\
418  %{_mandir}/man1/serialver-%{uniquesuffix %%1}.1$ext \\
419  --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \\
420  %{_mandir}/man1/wsgen-%{uniquesuffix %%1}.1$ext \\
421  --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \\
422  %{_mandir}/man1/wsimport-%{uniquesuffix %%1}.1$ext \\
423  --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \\
424  %{_mandir}/man1/xjc-%{uniquesuffix %%1}.1$ext
425
426for X in %{origin} %{javaver} ; do
427  alternatives \\
428    --install %{_jvmdir}/java-"$X" \\
429    java_sdk_"$X" %{_jvmdir}/%{sdkdir %%1} $PRIORITY \\
430    --slave %{_jvmjardir}/java-"$X" \\
431    java_sdk_"$X"_exports %{_jvmjardir}/%{sdkdir %%1}
432done
433
434update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir %%1} $PRIORITY \\
435--slave %{_jvmjardir}/java-%{javaver}-%{origin}       java_sdk_%{javaver}_%{origin}_exports      %{_jvmjardir}/%{sdkdir %%1}
436
437update-desktop-database %{_datadir}/applications &> /dev/null || :
438/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
439
440exit 0
441}
442
443%global postun_devel() %{expand:
444  alternatives --remove javac %{sdkbindir %%1}/javac
445  alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir %%1}
446  alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir %%1}
447  alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir %%1}
448
449update-desktop-database %{_datadir}/applications &> /dev/null || :
450
451if [ $1 -eq 0 ] ; then
452    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
453    %{update_desktop_icons}
454fi
455exit 0
456}
457
458%global posttrans_devel() %{expand:
459%{update_desktop_icons}
460}
461
462%global post_javadoc() %{expand:
463
464PRIORITY=%{priority}
465if [ "%1" == %{debug_suffix} ]; then
466  let PRIORITY=PRIORITY-1
467fi
468
469alternatives \\
470  --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir %%1}/api \\
471  $PRIORITY
472exit 0
473}
474
475%global postun_javadoc() %{expand:
476  alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir %%1}/api
477exit 0
478}
479
480%global post_javadoc_zip() %{expand:
481
482PRIORITY=%{priority}
483if [ "%1" == %{debug_suffix} ]; then
484  let PRIORITY=PRIORITY-1
485fi
486
487alternatives \\
488  --install %{_javadocdir}/java-zip javadoczip %{_javadocdir}/%{uniquejavadocdir %%1}.zip \\
489  $PRIORITY
490exit 0
491}
492
493%global postun_javadoc_zip() %{expand:
494  alternatives --remove javadoczip %{_javadocdir}/%{uniquejavadocdir %%1}.zip
495exit 0
496}
497
498%global files_jre() %{expand:
499%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png
500%{_datadir}/applications/*policytool%1.desktop
501}
502
503
504%global files_jre_headless() %{expand:
505%defattr(-,root,root,-)
506%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/ASSEMBLY_EXCEPTION
507%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
508%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/THIRD_PARTY_README
509%dir %{_jvmdir}/%{sdkdir %%1}
510%{_jvmdir}/%{jrelnk %%1}
511%{_jvmjardir}/%{jrelnk %%1}
512%{_jvmprivdir}/*
513%{jvmjardir %%1}
514%dir %{_jvmdir}/%{jredir %%1}/lib/security
515%{_jvmdir}/%{jredir %%1}/lib/security/cacerts
516%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/US_export_policy.jar
517%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/local_policy.jar
518%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/java.policy
519%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/java.security
520%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/blacklisted.certs
521%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/logging.properties
522%{_mandir}/man1/java-%{uniquesuffix %%1}.1*
523%{_mandir}/man1/jjs-%{uniquesuffix %%1}.1*
524%{_mandir}/man1/keytool-%{uniquesuffix %%1}.1*
525%{_mandir}/man1/orbd-%{uniquesuffix %%1}.1*
526%{_mandir}/man1/pack200-%{uniquesuffix %%1}.1*
527%{_mandir}/man1/rmid-%{uniquesuffix %%1}.1*
528%{_mandir}/man1/rmiregistry-%{uniquesuffix %%1}.1*
529%{_mandir}/man1/servertool-%{uniquesuffix %%1}.1*
530%{_mandir}/man1/tnameserv-%{uniquesuffix %%1}.1*
531%{_mandir}/man1/unpack200-%{uniquesuffix %%1}.1*
532%{_mandir}/man1/policytool-%{uniquesuffix %%1}.1*
533%if %{with system_nss}
534%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/nss.cfg
535%endif
536%ifarch %{jit_arches}
537%ifnarch %{power64}
538%attr(664, root, root) %ghost %{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/server/classes.jsa
539%attr(664, root, root) %ghost %{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/client/classes.jsa
540%endif
541%endif
542%{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/server/
543%{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/client/
544}
545
546%global files_devel() %{expand:
547%defattr(-,root,root,-)
548%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/ASSEMBLY_EXCEPTION
549%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/LICENSE
550%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/THIRD_PARTY_README
551%dir %{_jvmdir}/%{sdkdir %%1}/bin
552%dir %{_jvmdir}/%{sdkdir %%1}/include
553%dir %{_jvmdir}/%{sdkdir %%1}/lib
554%{_jvmdir}/%{sdkdir %%1}/bin/*
555%{_jvmdir}/%{sdkdir %%1}/include/*
556%{_jvmdir}/%{sdkdir %%1}/lib/*
557%{_jvmjardir}/%{sdkdir %%1}
558%{_datadir}/applications/*jconsole%1.desktop
559%{_mandir}/man1/appletviewer-%{uniquesuffix %%1}.1*
560%{_mandir}/man1/extcheck-%{uniquesuffix %%1}.1*
561%{_mandir}/man1/idlj-%{uniquesuffix %%1}.1*
562%{_mandir}/man1/jar-%{uniquesuffix %%1}.1*
563%{_mandir}/man1/jarsigner-%{uniquesuffix %%1}.1*
564%{_mandir}/man1/javac-%{uniquesuffix %%1}.1*
565%{_mandir}/man1/javadoc-%{uniquesuffix %%1}.1*
566%{_mandir}/man1/javah-%{uniquesuffix %%1}.1*
567%{_mandir}/man1/javap-%{uniquesuffix %%1}.1*
568%{_mandir}/man1/jconsole-%{uniquesuffix %%1}.1*
569%{_mandir}/man1/jcmd-%{uniquesuffix %%1}.1*
570%{_mandir}/man1/jdb-%{uniquesuffix %%1}.1*
571%{_mandir}/man1/jdeps-%{uniquesuffix %%1}.1*
572%{_mandir}/man1/jhat-%{uniquesuffix %%1}.1*
573%{_mandir}/man1/jinfo-%{uniquesuffix %%1}.1*
574%{_mandir}/man1/jmap-%{uniquesuffix %%1}.1*
575%{_mandir}/man1/jps-%{uniquesuffix %%1}.1*
576%{_mandir}/man1/jrunscript-%{uniquesuffix %%1}.1*
577%{_mandir}/man1/jsadebugd-%{uniquesuffix %%1}.1*
578%{_mandir}/man1/jstack-%{uniquesuffix %%1}.1*
579%{_mandir}/man1/jstat-%{uniquesuffix %%1}.1*
580%{_mandir}/man1/jstatd-%{uniquesuffix %%1}.1*
581%{_mandir}/man1/native2ascii-%{uniquesuffix %%1}.1*
582%{_mandir}/man1/rmic-%{uniquesuffix %%1}.1*
583%{_mandir}/man1/schemagen-%{uniquesuffix %%1}.1*
584%{_mandir}/man1/serialver-%{uniquesuffix %%1}.1*
585%{_mandir}/man1/wsgen-%{uniquesuffix %%1}.1*
586%{_mandir}/man1/wsimport-%{uniquesuffix %%1}.1*
587%{_mandir}/man1/xjc-%{uniquesuffix %%1}.1*
588%if %{with_systemtap}
589%dir %{tapsetroot}
590%dir %{tapsetdir}
591%{tapsetdir}/*%{version}-%{release}.%{_arch}%1.stp
592%dir %{_jvmdir}/%{sdkdir %%1}/tapset
593%{_jvmdir}/%{sdkdir %%1}/tapset/*.stp
594%endif
595}
596
597%global files_demo() %{expand:
598%defattr(-,root,root,-)
599%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
600}
601
602%global files_src() %{expand:
603%defattr(-,root,root,-)
604%doc README.src
605%{_jvmdir}/%{sdkdir %%1}/src.zip
606}
607
608%global files_javadoc() %{expand:
609%defattr(-,root,root,-)
610%doc %{_javadocdir}/%{uniquejavadocdir %%1}
611%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
612}
613
614%global files_javadoc_zip() %{expand:
615%defattr(-,root,root,-)
616%doc %{_javadocdir}/%{uniquejavadocdir %%1}.zip
617%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
618}
619
620%global files_accessibility() %{expand:
621%{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/libatk-wrapper.so
622%{_jvmdir}/%{jredir %%1}/lib/ext/java-atk-wrapper.jar
623%{_jvmdir}/%{jredir %%1}/lib/accessibility.properties
624}
625
626# not-duplicated requires/provides/obsolate for normal/debug packages
627%global java_rpo() %{expand:
628Requires: fontconfig
629Requires: xorg-x11-fonts-Type1
630
631# Requires rest of java
632Requires: %{name}-headless%1 = %{version}-%{release}
633OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
634
635
636# Standard JPackage base provides.
637Provides: jre-%{javaver}-%{origin}%1 = %{version}-%{release}
638Provides: jre-%{origin}%1 = %{version}-%{release}
639Provides: jre-%{javaver}%1 = %{version}-%{release}
640Provides: java-%{javaver}%1 = %{version}-%{release}
641Provides: jre = %{javaver}%1
642Provides: java-%{origin}%1 = %{version}-%{release}
643Provides: java%1 = %{javaver}
644# Standard JPackage extensions provides.
645Provides: java-fonts%1 = %{version}
646
647Obsoletes: java-1.7.0-openjdk%1
648Obsoletes: java-1.5.0-gcj%1
649Obsoletes: sinjdoc
650}
651
652%global java_headless_rpo() %{expand:
653# Require /etc/pki/java/cacerts.
654Requires: ca-certificates
655# Require javapackages-tools for ownership of /usr/lib/jvm/
656Requires: javapackages-tools
657# Require zoneinfo data provided by tzdata-java subpackage.
658Requires: tzdata-java >= 2016e
659# libsctp.so.1 is being `dlopen`ed on demand
660Requires: lksctp-tools
661# there is need to depnd on exact version of nss
662%if %{with system_nss}
663Requires: nss
664%endif
665# tool to copy jdk's configs - should be Recommends only, but then only dnf/yum eforce it, not rpm transaction and so no configs are persisted when pure rpm -u is run. I t may be consiedered as regression
666Requires:       copy-jdk-configs >= 1.1-3
667OrderWithRequires: copy-jdk-configs
668# Post requires alternatives to install tool alternatives.
669Requires(post):   alternatives
670# Postun requires alternatives to uninstall tool alternatives.
671Requires(postun): alternatives
672
673# Standard JPackage base provides.
674Provides: jre-%{javaver}-%{origin}-headless%1 = %{version}-%{release}
675Provides: jre-%{origin}-headless%1 = %{version}-%{release}
676Provides: jre-%{javaver}-headless%1 = %{version}-%{release}
677Provides: java-%{javaver}-headless%1 = %{version}-%{release}
678Provides: jre-headless%1 = %{javaver}
679Provides: java-%{origin}-headless%1 = %{version}-%{release}
680Provides: java-headless%1 = %{javaver}
681# Standard JPackage extensions provides.
682Provides: jndi%1 = %{version}
683Provides: jndi-ldap%1 = %{version}
684Provides: jndi-cos%1 = %{version}
685Provides: jndi-rmi%1 = %{version}
686Provides: jndi-dns%1 = %{version}
687Provides: jaas%1 = %{version}
688Provides: jsse%1 = %{version}
689Provides: jce%1 = %{version}
690Provides: jdbc-stdext%1 = 4.1
691Provides: java-sasl%1 = %{version}
692
693Obsoletes: java-1.7.0-openjdk-headless%1
694}
695
696%global java_devel_rpo() %{expand:
697# Require base package.
698Requires:         %{name}%1 = %{version}-%{release}
699OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
700# Post requires alternatives to install tool alternatives.
701Requires(post):   alternatives
702# Postun requires alternatives to uninstall tool alternatives.
703Requires(postun): alternatives
704
705# Standard JPackage devel provides.
706Provides: java-sdk-%{javaver}-%{origin}%1 = %{version}
707Provides: java-sdk-%{javaver}%1 = %{version}
708Provides: java-sdk-%{origin}%1 = %{version}
709Provides: java-sdk%1 = %{javaver}
710Provides: java-%{javaver}-devel%1 = %{version}
711Provides: java-devel-%{origin}%1 = %{version}
712Provides: java-devel%1 = %{javaver}
713
714Obsoletes: java-1.7.0-openjdk-devel%1
715Obsoletes: java-1.5.0-gcj-devel%1
716}
717
718
719%global java_demo_rpo() %{expand:
720Requires: %{name}%1 = %{version}-%{release}
721OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
722
723Obsoletes: java-1.7.0-openjdk-demo%1
724}
725
726%global java_javadoc_rpo() %{expand:
727OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
728# Post requires alternatives to install javadoc alternative.
729Requires(post):   alternatives
730# Postun requires alternatives to uninstall javadoc alternative.
731Requires(postun): alternatives
732
733# Standard JPackage javadoc provides.
734Provides: java-javadoc%1 = %{version}-%{release}
735Provides: java-%{javaver}-javadoc%1 = %{version}-%{release}
736
737Obsoletes: java-1.7.0-openjdk-javadoc%1
738
739}
740
741%global java_src_rpo() %{expand:
742Requires: %{name}-headless%1 = %{version}-%{release}
743
744Obsoletes: java-1.7.0-openjdk-src%1
745}
746
747%global java_accessibility_rpo() %{expand:
748Requires: java-atk-wrapper
749Requires: %{name}%1 = %{version}-%{release}
750OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
751
752Obsoletes: java-1.7.0-openjdk-accessibility%1
753}
754
755# Prevent brp-java-repack-jars from being run.
756%global __jar_repack 0
757
758Name:    java-%{javaver}-%{origin}
759Version: %{javaver}.%{updatever}
760Release: 1.%{buildver}%{?_dist_release}
761Summary: OpenJDK Runtime Environment
762Summary(ja): OpenJDK ランタイム環境
763Group:   Development/Languages
764
765License:  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
766URL:      http://openjdk.java.net/
767
768Vendor: Project Vine
769Distribution: Vine Linux
770
771# aarch64-port now contains integration forest of both aarch64 and normal jdk
772# Source from upstream OpenJDK8 project. To regenerate, use
773# VERSION=aarch64-jdk8u92-b14 FILE_NAME_ROOT=aarch64-port-jdk8u-${VERSION}
774# REPO_ROOT=<path to checked-out repository> generate_source_tarball.sh
775# where the source is obtained from http://hg.openjdk.java.net/%%{project}/%%{repo}
776Source0: %{project}-%{repo}-%{revision}.tar.xz
777
778# Custom README for -src subpackage
779Source2:  README.src
780
781# Use 'generate_tarballs.sh' to generate the following tarballs
782# They are based on code contained in the IcedTea7 project.
783
784# Systemtap tapsets. Zipped up to keep it small.
785Source8: systemtap-tapset.tar.gz
786
787# Desktop files. Adapated from IcedTea.
788Source9: jconsole.desktop.in
789Source10: policytool.desktop.in
790
791# nss configuration file
792Source11: nss.cfg
793
794# Removed libraries that we link instead
795Source12: %{name}-remove-intree-libraries.sh
796
797# Ensure we aren't using the limited crypto policy
798Source13: TestCryptoLevel.java
799
800# Ensure ECDSA is working
801Source14: TestECDSA.java
802
803Source20: repackReproduciblePolycies.sh
804
805# New versions of config files with aarch64 support. This is not upstream yet.
806Source100: config.guess
807Source101: config.sub
808# shenandoah hotpost
809Source999: aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u92-b14.tar.xz
810
811# RPM/distribution specific patches
812
813# Accessibility patches
814# Ignore AWTError when assistive technologies are loaded
815Patch1:   %{name}-accessible-toolkit.patch
816# Restrict access to java-atk-wrapper classes
817Patch3: java-atk-wrapper-security.patch
818
819# Upstreamable patches
820# PR2737: Allow multiple initialization of PKCS11 libraries
821Patch5: multiple-pkcs11-library-init.patch
822# PR2095, RH1163501: 2048-bit DH upper bound too small for Fedora infrastructure (sync with IcedTea 2.x)
823Patch504: rh1163501.patch
824# S4890063, PR2304, RH1214835: HPROF: default text truncated when using doe=n option
825Patch511: rh1214835.patch
826# Turn off strict overflow on IndicRearrangementProcessor{,2}.cpp following 8140543: Arrange font actions
827Patch512: no_strict_overflow.patch
828# Support for building the SunEC provider with the system NSS installation
829# PR1983: Support using the system installation of NSS with the SunEC provider
830# PR2127: SunEC provider crashes when built using system NSS
831# PR2815: Race condition in SunEC provider with system NSS
832# PR2899: Don't use WithSeed versions of NSS functions as they don't fully process the seed
833# PR2934: SunEC provider throwing KeyException with current NSS
834Patch513: pr1983-jdk.patch
835Patch514: pr1983-root.patch
836Patch515: pr2127.patch
837Patch516: pr2815.patch
838Patch517: pr2899.patch
839Patch518: pr2934.patch
840# S8150954, RH1176206, PR2866: Taking screenshots on x11 composite desktop produces wrong result
841# In progress: http://mail.openjdk.java.net/pipermail/awt-dev/2016-March/010742.html
842Patch508: rh1176206-jdk.patch
843Patch509: rh1176206-root.patch
844# RH1337583, PR2974: PKCS#10 certificate requests now use CRLF line endings rather than system line endings
845Patch523: pr2974-rh1337583.patch
846
847# Arch-specific upstreamable patches
848# PR2415: JVM -Xmx requirement is too high on s390
849Patch100: %{name}-s390-java-opts.patch
850# Type fixing for s390
851Patch102: %{name}-size_t.patch
852# Use "%z" for size_t on s390 as size_t != intptr_t
853Patch103: s390-size_t_format_flags.patch
854# PR2991, RH1341258: JVM on PPC64 LE crashes due to an illegal instruction in JITed code
855Patch524: pr2991-rh1341258.patch
856
857# Patches which need backporting to 8u
858# S8073139, RH1191652; fix name of ppc64le architecture
859Patch601: %{name}-rh1191652-root.patch
860Patch602: %{name}-rh1191652-jdk.patch
861Patch603: %{name}-rh1191652-hotspot-aarch64.patch
862# Include all sources in src.zip
863Patch7: include-all-srcs.patch
864# 8035341: Allow using a system installed libpng
865Patch202: system-libpng.patch
866# 8042159: Allow using a system-installed lcms2
867Patch203: system-lcms.patch
868# PR2462: Backport "8074839: Resolve disabled warnings for libunpack and the unpack200 binary"
869# This fixes printf warnings that lead to build failure with -Werror=format-security from optflags
870Patch502: pr2462.patch
871# S8140620, PR2769: Find and load default.sf2 as the default soundbank on Linux
872# waiting on upstream: http://mail.openjdk.java.net/pipermail/jdk8u-dev/2016-January/004916.html
873Patch605: soundFontPatch.patch
874# S8148351, PR2842: Only display resolved symlink for compiler, do not change path
875Patch506: pr2842-01.patch
876Patch507: pr2842-02.patch
877
878# Patches upstream and appearing in 8u102
879# S8148752, PR2943, RH1330188: Compiled StringBuilder code throws StringIndexOutOfBoundsException
880Patch519: 8148752-pr2943-rh1330188.patch
881# S6961123, PR2972, RH1339740:  Java application name in GNOME Shell contains funny characters
882Patch520: 6961123-pr2972-rh1339740.patch
883
884# Patches upstream and appearing in 8u112
885# S8044762, PR2960: com/sun/jdi/OptionTest.java test time out
886Patch521: 8044762-pr2960.patch
887# S8049226, PR2960: com/sun/jdi/OptionTest.java test times out again
888Patch522: 8049226-pr2960.patch
889# 8154210: Zero: Better byte behaviour
890Patch606: 8154210.patch
891
892# Patches ineligible for 8u
893# 8043805: Allow using a system-installed libjpeg
894Patch201: system-libjpeg.patch
895
896# Local fixes
897# see http://mail.openjdk.java.net/pipermail/build-dev/2016-March/016852.html thread
898Patch400: jdk8-archivedJavadoc.patch
899# PR1834, RH1022017: Reduce curves reported by SSL to those in NSS
900Patch525: pr1834-rh1022017.patch
901
902# Non-OpenJDK fixes
903Patch300: jstack-pr1845.patch
904
905BuildRequires: autoconf
906BuildRequires: automake
907BuildRequires: alsa-lib-devel
908BuildRequires: binutils
909BuildRequires: cups-devel
910BuildRequires: desktop-file-utils
911BuildRequires: fontconfig
912BuildRequires: freetype2-devel
913BuildRequires: giflib-devel
914BuildRequires: gcc-c++
915BuildRequires: gtk2-devel
916BuildRequires: lcms2-devel
917BuildRequires: libjpeg-devel
918BuildRequires: libpng-devel
919BuildRequires: libxslt
920BuildRequires: libX11-devel
921BuildRequires: libXi-devel
922BuildRequires: libXinerama-devel
923BuildRequires: libXt-devel
924BuildRequires: libXtst-devel
925%if %{with system_nss}
926# Requirements for setting up the nss.cfg
927BuildRequires: nss-devel
928%endif
929BuildRequires: pkgconfig
930BuildRequires: xorg-x11-proto-devel
931BuildRequires: zip
932%if %{with initial_build}
933BuildRequires: java-1.7.0-openjdk-devel
934%else
935BuildRequires: java-1.8.0-openjdk-devel
936%endif
937# Zero-assembler build requirement.
938%ifnarch %{jit_arches}
939BuildRequires: libffi-devel
940%endif
941BuildRequires: tzdata-java >= 2016e
942# Earlier versions have a bug in tree vectorization on PPC
943BuildRequires: gcc >= 4.8.3-8
944
945# cacerts build requirement.
946BuildRequires: openssl
947%if %{with_systemtap}
948BuildRequires: systemtap-sdt-devel
949%endif
950
951# this is built always, also during debug-only build
952# when it is built in debug-only, then this package is just placeholder
953%{java_rpo %{nil}}
954
955%description
956The OpenJDK runtime environment.
957
958%if %{include_debug_build}
959%package debug
960Summary: OpenJDK Runtime Environment %{debug_on}
961Group:   Development/Languages
962
963%{java_rpo %{debug_suffix_unquoted}}
964%description debug
965The OpenJDK runtime environment.
966%{debug_warning}
967%endif
968
969%if %{include_normal_build}
970%package headless
971Summary: OpenJDK Runtime Environment
972Group:   Development/Languages
973
974%{java_headless_rpo %{nil}}
975
976%description headless
977The OpenJDK runtime environment without audio and video support.
978%endif
979
980%if %{include_debug_build}
981%package headless-debug
982Summary: OpenJDK Runtime Environment %{debug_on}
983Group:   Development/Languages
984
985%{java_headless_rpo %{debug_suffix_unquoted}}
986
987%description headless-debug
988The OpenJDK runtime environment without audio and video support.
989%{debug_warning}
990%endif
991
992%if %{include_normal_build}
993%package devel
994Summary: OpenJDK Development Environment
995Group:   Development/Tools
996
997%{java_devel_rpo %{nil}}
998
999%description devel
1000The OpenJDK development tools.
1001%endif
1002
1003%if %{include_debug_build}
1004%package devel-debug
1005Summary: OpenJDK Development Environment %{debug_on}
1006Group:   Development/Tools
1007
1008%{java_devel_rpo %{debug_suffix_unquoted}}
1009
1010%description devel-debug
1011The OpenJDK development tools.
1012%{debug_warning}
1013%endif
1014
1015%if %{include_normal_build}
1016%package demo
1017Summary: OpenJDK Demos
1018Group:   Development/Languages
1019
1020%{java_demo_rpo %{nil}}
1021
1022%description demo
1023The OpenJDK demos.
1024%endif
1025
1026%if %{include_debug_build}
1027%package demo-debug
1028Summary: OpenJDK Demos %{debug_on}
1029Group:   Development/Languages
1030
1031%{java_demo_rpo %{debug_suffix_unquoted}}
1032
1033%description demo-debug
1034The OpenJDK demos.
1035%{debug_warning}
1036%endif
1037
1038%if %{include_normal_build}
1039%package src
1040Summary: OpenJDK Source Bundle
1041Group:   Development/Languages
1042
1043%{java_src_rpo %{nil}}
1044
1045%description src
1046The OpenJDK source bundle.
1047%endif
1048
1049%if %{include_debug_build}
1050%package src-debug
1051Summary: OpenJDK Source Bundle %{for_debug}
1052Group:   Development/Languages
1053
1054%{java_src_rpo %{debug_suffix_unquoted}}
1055
1056%description src-debug
1057The OpenJDK source bundle %{for_debug}.
1058%endif
1059
1060%if %{include_normal_build}
1061%package javadoc
1062Summary: OpenJDK API Documentation
1063Group:   Documentation
1064Requires: javapackages-tools
1065BuildArch: noarch
1066
1067%{java_javadoc_rpo %{nil}}
1068
1069%description javadoc
1070The OpenJDK API documentation.
1071%endif
1072
1073%if %{include_normal_build}
1074%package javadoc-zip
1075Summary: OpenJDK API Documentation compressed in single archive
1076Group:   Documentation
1077Requires: javapackages-tools
1078BuildArch: noarch
1079
1080%{java_javadoc_rpo %{nil}}
1081
1082%description javadoc-zip
1083The OpenJDK API documentation compressed in single archive.
1084%endif
1085
1086%if %{include_debug_build}
1087%package javadoc-debug
1088Summary: OpenJDK API Documentation %{for_debug}
1089Group:   Documentation
1090Requires: javapackages-tools
1091BuildArch: noarch
1092
1093%{java_javadoc_rpo %{debug_suffix_unquoted}}
1094
1095%description javadoc-debug
1096The OpenJDK API documentation %{for_debug}.
1097%endif
1098
1099%if %{include_debug_build}
1100%package javadoc-zip-debug
1101Summary: OpenJDK API Documentation compressed in single archive %{for_debug}
1102Group:   Documentation
1103Requires: javapackages-tools
1104BuildArch: noarch
1105
1106%{java_javadoc_rpo %{debug_suffix_unquoted}}
1107
1108%description javadoc-zip-debug
1109The OpenJDK API documentation compressed in single archive %{for_debug}.
1110%endif
1111
1112
1113%if %{include_normal_build}
1114%package accessibility
1115Summary: OpenJDK accessibility connector
1116
1117%{java_accessibility_rpo %{nil}}
1118
1119%description accessibility
1120Enables accessibility support in OpenJDK by using java-atk-wrapper. This allows
1121compatible at-spi2 based accessibility programs to work for AWT and Swing-based
1122programs.
1123
1124Please note, the java-atk-wrapper is still in beta, and OpenJDK itself is still
1125being tuned to be working with accessibility features. There are known issues
1126with accessibility on, so please do not install this package unless you really
1127need to.
1128%endif
1129
1130%if %{include_debug_build}
1131%package accessibility-debug
1132Summary: OpenJDK accessibility connector %{for_debug}
1133
1134%{java_accessibility_rpo %{debug_suffix_unquoted}}
1135
1136%description accessibility-debug
1137See normal java-%{version}-openjdk-accessibility description.
1138%endif
1139
1140%prep
1141if [ %{include_normal_build} -eq 0 -o  %{include_normal_build} -eq 1 ] ; then
1142  echo "include_normal_build is %{include_normal_build}"
1143else
1144  echo "include_normal_build is %{include_normal_build}, thats invalid. Use 1 for yes or 0 for no"
1145  exit 11
1146fi
1147if [ %{include_debug_build} -eq 0 -o  %{include_debug_build} -eq 1 ] ; then
1148  echo "include_debug_build is %{include_debug_build}"
1149else
1150  echo "include_debug_build is %{include_debug_build}, thats invalid. Use 1 for yes or 0 for no"
1151  exit 12
1152fi
1153if [ %{include_debug_build} -eq 0 -a  %{include_normal_build} -eq 0 ] ; then
1154  echo "you have disabled both include_debug_build and include_debug_build. no go."
1155  exit 13
1156fi
1157%setup -q -c -n %{uniquesuffix ""} -T -a 0
1158# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
1159prioritylength=`expr length %{priority}`
1160if [ $prioritylength -ne 7 ] ; then
1161 echo "priority must be 7 digits in total, violated"
1162 exit 14
1163fi
1164# For old patches
1165ln -s openjdk jdk8
1166%if %{use_shenandoah_hotspot}
1167#on intels, repalce hotpost by shenandoah-able hotspot
1168pushd openjdk
1169tar -xf %{SOURCE999}
1170rm -rf hotspot
1171cp -r openjdk/hotspot .
1172rm -rf openjdk
1173popd
1174%endif
1175
1176cp %{SOURCE2} .
1177
1178# replace outdated configure guess script
1179#
1180# the configure macro will do this too, but it also passes a few flags not
1181# supported by openjdk configure script
1182cp %{SOURCE100} openjdk/common/autoconf/build-aux/
1183cp %{SOURCE101} openjdk/common/autoconf/build-aux/
1184
1185# OpenJDK patches
1186
1187# Remove libraries that are linked
1188sh %{SOURCE12}
1189
1190%patch201
1191%patch202
1192%patch203
1193
1194%patch1
1195%patch3
1196%patch5
1197%patch7
1198
1199# s390 build fixes
1200%patch100
1201%patch102
1202%patch103
1203
1204# ppc64le fixes
1205%patch524
1206
1207# Zero fixes.
1208%patch606
1209
1210%patch603
1211%patch601
1212%patch602
1213%patch605
1214
1215%patch502
1216%patch504
1217%patch506
1218%patch507
1219%patch508
1220%patch509
1221%patch511
1222%patch512
1223%patch513
1224%patch514
1225%patch515
1226%patch516
1227%patch517
1228%patch518
1229%patch519
1230%patch400
1231%patch520
1232%patch521
1233%patch522
1234%patch523
1235%patch525
1236
1237# Extract systemtap tapsets
1238%if %{with_systemtap}
1239tar xzf %{SOURCE8}
1240%patch300
1241%if %{include_debug_build}
1242cp -r tapset tapset%{debug_suffix}
1243%endif
1244
1245
1246for suffix in %{build_loop} ; do
1247  for file in "tapset"$suffix/*.in; do
1248    OUTPUT_FILE=`echo $file | sed -e s:%{javaver}\.stp\.in$:%{version}-%{release}.%{_arch}.stp:g`
1249    sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir $suffix}/jre/lib/%{archinstall}/server/libjvm.so:g $file > $file.1
1250# TODO find out which architectures other than i686 have a client vm
1251%ifarch %{ix86}
1252    sed -e s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir $suffix}/jre/lib/%{archinstall}/client/libjvm.so:g $file.1 > $OUTPUT_FILE
1253%else
1254    sed -e '/@ABS_CLIENT_LIBJVM_SO@/d' $file.1 > $OUTPUT_FILE
1255%endif
1256    sed -i -e s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir $suffix}:g $OUTPUT_FILE
1257    sed -i -e s:@INSTALL_ARCH_DIR@:%{archinstall}:g $OUTPUT_FILE
1258  done
1259done
1260# systemtap tapsets ends
1261%endif
1262
1263# Prepare desktop files
1264for suffix in %{build_loop} ; do
1265for file in %{SOURCE9} %{SOURCE10} ; do
1266    FILE=`basename $file | sed -e s:\.in$::g`
1267    EXT="${FILE##*.}"
1268    NAME="${FILE%.*}"
1269    OUTPUT_FILE=$NAME$suffix.$EXT
1270    sed -e s:#JAVA_HOME#:%{sdkbindir $suffix}:g $file > $OUTPUT_FILE
1271    sed -i -e  s:#JRE_HOME#:%{jrebindir $suffix}:g $OUTPUT_FILE
1272    sed -i -e  s:#ARCH#:%{version}-%{release}.%{_arch}$suffix:g $OUTPUT_FILE
1273done
1274done
1275
1276%build
1277# How many cpu's do we have?
1278export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
1279export NUM_PROC=${NUM_PROC:-1}
1280%if 0%{?_smp_ncpus_max}
1281# Honor %%_smp_ncpus_max
1282[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
1283%endif
1284
1285# Build IcedTea and OpenJDK.
1286%ifarch s390x sparc64 alpha %{power64} %{aarch64}
1287export ARCH_DATA_MODEL=64
1288%endif
1289%ifarch alpha
1290export CFLAGS="$CFLAGS -mieee"
1291%endif
1292
1293# We use ourcppflags because the OpenJDK build seems to
1294# pass EXTRA_CFLAGS to the HotSpot C++ compiler...
1295# Explicitly set the C++ standard as the default has changed on GCC >= 6
1296EXTRA_CFLAGS="%ourcppflags -std=gnu++98 -Wno-error -fno-delete-null-pointer-checks -fno-lifetime-dse"
1297EXTRA_CPP_FLAGS="%ourcppflags -std=gnu++98 -fno-delete-null-pointer-checks -fno-lifetime-dse"
1298%ifarch %{power64} ppc
1299# fix rpmlint warnings
1300EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
1301%endif
1302export EXTRA_CFLAGS
1303
1304(cd openjdk/common/autoconf
1305 bash ./autogen.sh
1306)
1307
1308for suffix in %{build_loop} ; do
1309if [ "$suffix" = "%{debug_suffix}" ] ; then
1310debugbuild=%{debugbuild_parameter}
1311else
1312debugbuild=%{normalbuild_parameter}
1313fi
1314
1315mkdir -p %{buildoutputdir $suffix}
1316pushd %{buildoutputdir $suffix}
1317
1318%if %{with system_nss}
1319NSS_LIBS="%{NSS_LIBS} -lfreebl" \
1320NSS_CFLAGS="%{NSS_CFLAGS}" \
1321%endif
1322bash ../../configure \
1323%ifnarch %{jit_arches}
1324    --with-jvm-variants=zero \
1325%endif
1326    --disable-zip-debug-info \
1327    --with-milestone="fcs" \
1328    --with-update-version=%{updatever} \
1329    --with-build-number=%{buildver} \
1330    --with-boot-jdk=/usr/lib/jvm/java-openjdk \
1331    --with-debug-level=$debugbuild \
1332    --enable-unlimited-crypto \
1333%if %{with system_nss}
1334    --enable-system-nss \
1335%endif
1336    --with-zlib=system \
1337    --with-libjpeg=system \
1338    --with-giflib=system \
1339    --with-libpng=system \
1340    --with-lcms=bundled \
1341    --with-stdc++lib=dynamic \
1342    --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
1343    --with-extra-cflags="$EXTRA_CFLAGS" \
1344    --with-extra-ldflags="%{ourldflags}" \
1345    --with-num-cores="$NUM_PROC"
1346
1347cat spec.gmk
1348cat hotspot-spec.gmk
1349
1350# The combination of FULL_DEBUG_SYMBOLS=0 and ALT_OBJCOPY=/does_not_exist
1351# disables FDS for all build configs and reverts to pre-FDS make logic.
1352# STRIP_POLICY=none says don't do any stripping. DEBUG_BINARIES=true says
1353# ignore all the other logic about which debug options and just do '-g'.
1354
1355make \
1356    DEBUG_BINARIES=true \
1357    JAVAC_FLAGS=-g \
1358    STRIP_POLICY=no_strip \
1359    POST_STRIP_CMD="" \
1360    LOG=trace \
1361    SCTP_WERROR= \
1362    %{targets}
1363
1364make zip-docs
1365
1366# the build (erroneously) removes read permissions from some jars
1367# this is a regression in OpenJDK 7 (our compiler):
1368# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
1369find images/%{j2sdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
1370chmod ugo+r images/%{j2sdkimage}/lib/ct.sym
1371
1372# remove redundant *diz and *debuginfo files
1373find images/%{j2sdkimage} -iname '*.diz' -exec rm {} \;
1374find images/%{j2sdkimage} -iname '*.debuginfo' -exec rm {} \;
1375
1376popd >& /dev/null
1377
1378# Install nss.cfg right away as we will be using the JRE above
1379export JAVA_HOME=$(pwd)/%{buildoutputdir $suffix}/images/%{j2sdkimage}
1380
1381%if %{with system_nss}
1382# Install nss.cfg right away as we will be using the JRE above
1383install -m 644 %{SOURCE11} $JAVA_HOME/jre/lib/security/
1384%endif
1385
1386# Use system-wide tzdata
1387rm $JAVA_HOME/jre/lib/tzdb.dat
1388ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/jre/lib/tzdb.dat
1389
1390#build cycles
1391done
1392
1393%check
1394
1395# We test debug first as it will give better diagnostics on a crash
1396for suffix in %{rev_build_loop} ; do
1397
1398export JAVA_HOME=$(pwd)/%{buildoutputdir $suffix}/images/%{j2sdkimage}
1399
1400# Check unlimited policy has been used
1401$JAVA_HOME/bin/javac -d . %{SOURCE13}
1402$JAVA_HOME/bin/java TestCryptoLevel
1403
1404# Check ECC is working
1405$JAVA_HOME/bin/javac -d . %{SOURCE14}
1406$JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
1407
1408# Check debug symbols are present and can identify code
1409SERVER_JVM="$JAVA_HOME/jre/lib/%{archinstall}/server/libjvm.so"
1410if [ -f "$SERVER_JVM" ] ; then
1411  nm -aCl "$SERVER_JVM" | grep javaCalls.cpp
1412fi
1413CLIENT_JVM="$JAVA_HOME/jre/lib/%{archinstall}/client/libjvm.so"
1414if [ -f "$CLIENT_JVM" ] ; then
1415  nm -aCl "$CLIENT_JVM" | grep javaCalls.cpp
1416fi
1417ZERO_JVM="$JAVA_HOME/jre/lib/%{archinstall}/zero/libjvm.so"
1418if [ -f "$ZERO_JVM" ] ; then
1419  nm -aCl "$ZERO_JVM" | grep javaCalls.cpp
1420fi
1421
1422# Check src.zip has all sources. See RHBZ#1130490
1423jar -tf $JAVA_HOME/src.zip | grep 'sun.misc.Unsafe'
1424
1425# Check class files include useful debugging information
1426$JAVA_HOME/bin/javap -l java.lang.Object | grep "Compiled from"
1427$JAVA_HOME/bin/javap -l java.lang.Object | grep LineNumberTable
1428$JAVA_HOME/bin/javap -l java.lang.Object | grep LocalVariableTable
1429
1430# Check generated class files include useful debugging information
1431$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep "Compiled from"
1432$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
1433$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
1434done
1435
1436
1437%install
1438rm -rf $RPM_BUILD_ROOT
1439STRIP_KEEP_SYMTAB=libjvm*
1440
1441for suffix in %{build_loop} ; do
1442
1443pushd %{buildoutputdir  $suffix}/images/%{j2sdkimage}
1444
1445#install jsa directories so we can owe them
1446mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}/server/
1447mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}/client/
1448
1449  # Install main files.
1450  install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
1451  cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
1452  install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}
1453  cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}
1454
1455%if %{with_systemtap}
1456  # Install systemtap support files.
1457  install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/tapset
1458  # note, that uniquesuffix  is in BUILD dir in this case
1459  cp -a $RPM_BUILD_DIR/%{uniquesuffix ""}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/tapset/
1460  pushd  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/tapset/
1461   tapsetFiles=`ls *.stp`
1462  popd
1463  install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
1464  pushd $RPM_BUILD_ROOT%{tapsetdir}
1465    RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir $suffix}/tapset %{tapsetdir})
1466    for name in $tapsetFiles ; do
1467      targetName=`echo $name | sed "s/.stp/$suffix.stp/"`
1468      ln -sf $RELATIVE/$name $targetName
1469    done
1470  popd
1471%endif
1472
1473  # Install cacerts symlink.
1474  rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/security/cacerts
1475  pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/security
1476    RELATIVE=$(%{abs2rel} %{_sysconfdir}/pki/java \
1477      %{_jvmdir}/%{jredir $suffix}/lib/security)
1478    ln -sf $RELATIVE/cacerts .
1479  popd
1480
1481  # Install extension symlinks.
1482  install -d -m 755 $RPM_BUILD_ROOT%{jvmjardir $suffix}
1483  pushd $RPM_BUILD_ROOT%{jvmjardir $suffix}
1484    RELATIVE=$(%{abs2rel} %{_jvmdir}/%{jredir $suffix}/lib %{jvmjardir $suffix})
1485    ln -sf $RELATIVE/jsse.jar jsse-%{version}.jar
1486    ln -sf $RELATIVE/jce.jar jce-%{version}.jar
1487    ln -sf $RELATIVE/rt.jar jndi-%{version}.jar
1488    ln -sf $RELATIVE/rt.jar jndi-ldap-%{version}.jar
1489    ln -sf $RELATIVE/rt.jar jndi-cos-%{version}.jar
1490    ln -sf $RELATIVE/rt.jar jndi-rmi-%{version}.jar
1491    ln -sf $RELATIVE/rt.jar jaas-%{version}.jar
1492    ln -sf $RELATIVE/rt.jar jdbc-stdext-%{version}.jar
1493    ln -sf jdbc-stdext-%{version}.jar jdbc-stdext-3.0.jar
1494    ln -sf $RELATIVE/rt.jar sasl-%{version}.jar
1495    for jar in *-%{version}.jar
1496    do
1497      if [ x%{version} != x%{javaver} ]
1498      then
1499        ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|-%{javaver}.jar|g")
1500      fi
1501      ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|.jar|g")
1502    done
1503  popd
1504
1505  # Install JCE policy symlinks.
1506  install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{uniquesuffix $suffix}/jce/vanilla
1507
1508  # Install versioned symlinks.
1509  pushd $RPM_BUILD_ROOT%{_jvmdir}
1510    ln -sf %{jredir $suffix} %{jrelnk $suffix}
1511  popd
1512
1513  pushd $RPM_BUILD_ROOT%{_jvmjardir}
1514    ln -sf %{sdkdir $suffix} %{jrelnk $suffix}
1515  popd
1516
1517  # Remove javaws man page
1518  rm -f man/man1/javaws*
1519
1520  # Install man pages.
1521  install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
1522  for manpage in man/man1/*
1523  do
1524    # Convert man pages to UTF8 encoding.
1525    iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
1526    mv -f $manpage.tmp $manpage
1527    install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
1528      $manpage .1)-%{uniquesuffix $suffix}.1
1529  done
1530
1531  # Install demos and samples.
1532  cp -a demo $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
1533  mkdir -p sample/rmi
1534  if [ ! -e sample/rmi/java-rmi.cgi ] ; then
1535    # hack to allow --short-circuit on install
1536    mv bin/java-rmi.cgi sample/rmi
1537  fi
1538  cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
1539
1540popd
1541
1542
1543# Install Javadoc documentation.
1544install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
1545cp -a %{buildoutputdir $suffix}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}
1546cp -a %{buildoutputdir $suffix}/bundles/jdk-%{javaver}_%{updatever}$suffix-%{buildver}-docs.zip  $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}.zip
1547
1548# Install icons and menu entries.
1549for s in 16 24 32 48 ; do
1550  install -D -p -m 644 \
1551    openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
1552    $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}.png
1553done
1554
1555# Install desktop files.
1556install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
1557for e in jconsole$suffix policytool$suffix ; do
1558    desktop-file-install --vendor=%{uniquesuffix $suffix} --mode=644 \
1559        --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
1560done
1561
1562# Install /etc/.java/.systemPrefs/ directory
1563# See https://bugzilla.redhat.com/show_bug.cgi?id=741821
1564mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
1565
1566# Find JRE directories.
1567find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix} -type d \
1568  | grep -v jre/lib/security \
1569  | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
1570  > %{name}.files-headless"$suffix"
1571# Find JRE files.
1572find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix} -type f -o -type l \
1573  | grep -v jre/lib/security \
1574  | sed 's|'$RPM_BUILD_ROOT'||' \
1575  > %{name}.files.all"$suffix"
1576#split %%{name}.files to %%{name}.files-headless and %%{name}.files
1577#see https://bugzilla.redhat.com/show_bug.cgi?id=875408
1578NOT_HEADLESS=\
1579"%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libjsoundalsa.so
1580%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libpulse-java.so
1581%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libsplashscreen.so
1582%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libawt_xawt.so
1583%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libjawt.so
1584%{_jvmdir}/%{uniquesuffix $suffix}/jre/bin/policytool"
1585#filter  %%{name}.files from  %%{name}.files.all to %%{name}.files-headless
1586ALL=`cat %{name}.files.all"$suffix"`
1587for file in $ALL ; do
1588  INLCUDE="NO" ;
1589  for blacklist in $NOT_HEADLESS ; do
1590#we can not match normally, because rpmbuild will evaluate !0 result as script failure
1591    q=`expr match "$file" "$blacklist"` || :
1592    l=`expr length  "$blacklist"` || :
1593    if [ $q -eq $l  ]; then
1594      INLCUDE="YES" ;
1595    fi;
1596done
1597if [ "x$INLCUDE" = "xNO"  ]; then
1598    echo "$file" >> %{name}.files-headless"$suffix"
1599else
1600    echo "$file" >> %{name}.files"$suffix"
1601fi
1602done
1603# Find demo directories.
1604find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/demo \
1605  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/sample -type d \
1606  | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
1607  > %{name}-demo.files"$suffix"
1608
1609# FIXME: remove SONAME entries from demo DSOs.  See
1610# https://bugzilla.redhat.com/show_bug.cgi?id=436497
1611
1612# Find non-documentation demo files.
1613find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/demo \
1614  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/sample \
1615  -type f -o -type l | sort \
1616  | grep -v README \
1617  | sed 's|'$RPM_BUILD_ROOT'||' \
1618  >> %{name}-demo.files"$suffix"
1619# Find documentation demo files.
1620find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/demo \
1621  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/sample \
1622  -type f -o -type l | sort \
1623  | grep README \
1624  | sed 's|'$RPM_BUILD_ROOT'||' \
1625  | sed 's|^|%doc |' \
1626  >> %{name}-demo.files"$suffix"
1627
1628# intentionally after the files generation, as it goes to separate package
1629# Create links which leads to separately installed java-atk-bridge and allow configuration
1630# links points to java-atk-wrapper - an dependence
1631  pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}
1632    ln -s %{_libdir}/java-atk-wrapper/libatk-wrapper.so.0 libatk-wrapper.so
1633  popd
1634  pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/ext
1635     ln -s %{_libdir}/java-atk-wrapper/java-atk-wrapper.jar  java-atk-wrapper.jar
1636  popd
1637  pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/
1638    echo "#Config file to  enable java-atk-wrapper" > accessibility.properties
1639    echo "" >> accessibility.properties
1640    echo "assistive_technologies=org.GNOME.Accessibility.AtkWrapper" >> accessibility.properties
1641    echo "" >> accessibility.properties
1642  popd
1643
1644bash %{SOURCE20} $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix} %{javaver}
1645# https://bugzilla.redhat.com/show_bug.cgi?id=1183793
1646touch -t 201401010000 $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/security/java.security
1647
1648# end, dual install
1649done
1650
1651%if %{include_normal_build}
1652# intentioanlly only for non-debug
1653%pretrans headless -p <lua>
1654-- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
1655-- see https://bugzilla.redhat.com/show_bug.cgi?id=1290388 for pretrans over pre
1656-- if copy-jdk-configs is in transaction, it installs in pretrans to temp
1657-- if copy_jdk_configs is in temp, then it means that copy-jdk-configs is in tranasction  and so is
1658-- preferred over one in %%{_libexecdir}. If it is not in transaction, then depends
1659-- whether copy-jdk-configs is installed or not. If so, then configs are copied
1660-- (copy_jdk_configs from %%{_libexecdir} used) or not copied at all
1661local posix = require "posix"
1662local debug = false
1663
1664SOURCE1 = "%{rpm_state_dir}/copy_jdk_configs.lua"
1665SOURCE2 = "%{_libexecdir}/copy_jdk_configs.lua"
1666
1667local stat1 = posix.stat(SOURCE1, "type");
1668local stat2 = posix.stat(SOURCE2, "type");
1669
1670  if (stat1 ~= nil) then
1671  if (debug) then
1672    print(SOURCE1 .." exists - copy-jdk-configs in transaction, using this one.")
1673  end;
1674  package.path = package.path .. ";" .. SOURCE1
1675else
1676  if (stat2 ~= nil) then
1677  if (debug) then
1678    print(SOURCE2 .." exists - copy-jdk-configs alrady installed and NOT in transation. Using.")
1679  end;
1680  package.path = package.path .. ";" .. SOURCE2
1681  else
1682    if (debug) then
1683      print(SOURCE1 .." does NOT exists")
1684      print(SOURCE2 .." does NOT exists")
1685      print("No config files will be copied")
1686    end
1687  return
1688  end
1689end
1690-- run contetn of included file with fake args
1691arg = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}"}
1692require "copy_jdk_configs.lua"
1693
1694%post
1695%{post_script %{nil}}
1696
1697%post headless
1698%{post_headless %{nil}}
1699
1700%postun
1701%{postun_script %{nil}}
1702
1703%postun headless
1704%{postun_headless %{nil}}
1705
1706%posttrans
1707%{posttrans_script %{nil}}
1708
1709%post devel
1710%{post_devel %{nil}}
1711
1712%postun devel
1713%{postun_devel %{nil}}
1714
1715%posttrans  devel
1716%{posttrans_devel %{nil}}
1717
1718%post javadoc
1719%{post_javadoc %{nil}}
1720
1721%postun javadoc
1722%{postun_javadoc %{nil}}
1723
1724%post javadoc-zip
1725%{post_javadoc_zip %{nil}}
1726
1727%postun javadoc-zip
1728%{postun_javadoc_zip %{nil}}
1729%endif
1730
1731%if %{include_debug_build}
1732%post debug
1733%{post_script %{debug_suffix_unquoted}}
1734
1735%post headless-debug
1736%{post_headless %{debug_suffix_unquoted}}
1737
1738%postun debug
1739%{postun_script %{debug_suffix_unquoted}}
1740
1741%postun headless-debug
1742%{postun_headless %{debug_suffix_unquoted}}
1743
1744%posttrans debug
1745%{posttrans_script %{debug_suffix_unquoted}}
1746
1747%post devel-debug
1748%{post_devel %{debug_suffix_unquoted}}
1749
1750%postun devel-debug
1751%{postun_devel %{debug_suffix_unquoted}}
1752
1753%posttrans  devel-debug
1754%{posttrans_devel %{debug_suffix_unquoted}}
1755
1756%post javadoc-debug
1757%{post_javadoc %{debug_suffix_unquoted}}
1758
1759%postun javadoc-debug
1760%{postun_javadoc %{debug_suffix_unquoted}}
1761
1762%post javadoc-zip-debug
1763%{post_javadoc_zip %{debug_suffix_unquoted}}
1764
1765%postun javadoc-zip-debug
1766%{postun_javadoc_zip %{debug_suffix_unquoted}}
1767%endif
1768
1769%if %{include_normal_build}
1770%files -f %{name}.files
1771# main package builds always
1772%{files_jre %{nil}}
1773%else
1774%files
1775# placeholder
1776%endif
1777
1778
1779%if %{include_normal_build}
1780%files headless  -f %{name}.files-headless
1781# important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
1782# all config/norepalce files (and more) have to be declared in pretrans. See pretrans
1783%{files_jre_headless %{nil}}
1784
1785%files devel
1786%{files_devel %{nil}}
1787
1788%files demo -f %{name}-demo.files
1789%{files_demo %{nil}}
1790
1791%files src
1792%{files_src %{nil}}
1793
1794%files javadoc
1795%{files_javadoc %{nil}}
1796
1797%files javadoc-zip
1798%{files_javadoc_zip %{nil}}
1799
1800%files accessibility
1801%{files_accessibility %{nil}}
1802%endif
1803
1804%if %{include_debug_build}
1805%files debug -f %{name}.files-debug
1806%{files_jre %{debug_suffix_unquoted}}
1807
1808%files headless-debug  -f %{name}.files-headless-debug
1809%{files_jre_headless %{debug_suffix_unquoted}}
1810
1811%files devel-debug
1812%{files_devel %{debug_suffix_unquoted}}
1813
1814%files demo-debug -f %{name}-demo.files-debug
1815%{files_demo %{debug_suffix_unquoted}}
1816
1817%files src-debug
1818%{files_src %{debug_suffix_unquoted}}
1819
1820%files javadoc-debug
1821%{files_javadoc %{debug_suffix_unquoted}}
1822
1823%files javadoc-zip-debug
1824%{files_javadoc_zip %{debug_suffix_unquoted}}
1825
1826%files accessibility-debug
1827%{files_accessibility %{debug_suffix_unquoted}}
1828%endif
1829
1830%changelog
1831* Tue Jun 21 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.8.0.92-1.b14
1832- new upstream release.
1833- replaced most of stuff with specfile of rawhide.
1834- initial bootstrap build with java-1.7.0-openjdk.
1835
1836* Tue Nov 17 2015 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.7.0.91-2.6.2.1
1837- new upstream release.
1838- import changes from CentOS7.
1839
1840* Mon Jul 14 2014 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.7.0.55-2.4.7.3
1841- replaced most of stuff with specfile of RHEL7.
1842
1843    * Fri May 30 2014 Andrew John Hughes <gnu.andrew@redhat.com> - 1.7.0.55-2.4.7.2
1844    - Remove NSS patches. Issues with PKCS11 provider mean it shouldn't be enabled.
1845    - Always setup nss.cfg and depend on nss-devel at build-time to do so.
1846    - This allows users who wish to use PKCS11+NSS to just add it to java.security.
1847    - Patches to PKCS11 provider will be included upstream in 2.4.8 (ETA July 2014)
1848    - Resolves: rhbz#1099565
1849
1850    * Tue May 20 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.55-2.4.7.0.el7
1851    - bumped to future icedtea-forest 2.4.7
1852    - updatever set to 55, buildver se to 13, release reset to 0
1853    - removed upstreamed patch402 gstackbounds.patch
1854    - removed Requires: rhino, BuildRequires is enough
1855    - ppc64 repalced by power64 macro
1856    - patch111 applied as dry-run (6.6 forward port)
1857    - nss enabled, but notused as default (6.6 forward port)
1858    - Resolves: rhbz#1099565
1859
1860    * Fri Apr 04 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.5.el7
1861    - added OrderWithRequires on headless where possible
1862    - Resolves: rhbz#1038092
1863
1864    * Thu Mar 27 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.3.el7
1865    - synced lua script from fedora.
1866    - Resolves: rhbz#1038092
1867
1868    * Fri Mar 14 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.2.el7
1869    - added fstack-protector-strong to CFLAGS
1870    - Resolves: rhbz#1070816
1871
1872    * Thu Mar 06 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.1.el7
1873    - diabled NSS. Missuisng 1038092 for it as it is in hurry.
1874    - Related: rhbz#1038092
1875
1876    * Thu Jan 30 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.0.el7
1877    - updated to icedtea 2.4.5 + sync with f21
1878     - http://blog.fuseyism.com/index.php/2014/01/29/icedtea-2-4-5-released/
1879    - removed buildRequires: pulseaudio >= 0.9.11, as not neccessary
1880     -  but kept libs-devel)
1881    - removed upstreamed or unwonted patches (thanx to gnu_andrew to pointing them out)
1882     - patch410 1015432.patch (upstreamed)
1883     - patch411 1029588.patch
1884     - patch412 zero-x32.diff
1885     - patch104 java-1.7.0-ppc-zero-jdk.patch
1886     - patch105 java-1.7.0-ppc-zero-hotspot.patch
1887    - patch402 gstackbounds.patch and patch403 PStack-808293.patch applied always
1888 (again thanx to gnu_andrew)
1889    - merged other gnu_andrew's changes
1890     - FT2_CFLAGS and FT2_LIBS hardoced values replaced by correct pkg-config calls
1891     - buildver bumbed to 31
1892    - added build requires  nss-devel
1893    - removed build requires mercurial
1894    - added JRE_RELEASE_VERSION and ALT_PARALLEL_COMPILE_JOBS into make call
1895    - Related: rhbz1038092
1896
1897    * Tue Jan 28 2014 Daniel Mach <dmach@redhat.com> - 1.7.0.51-2.4.4.1
1898    - Mass rebuild 2014-01-24
1899
1900    * Fri Jan 10 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.4.0.el7
1901    - updated to security icedtea 2.4.4
1902     - icedtea_version set to 2.4.4
1903     - updatever bumped to       51
1904     - release reset to 0
1905    - sync with fedora
1906     - added and applied patch411 1029588.patch (rh 1029588)
1907     - added aand applied patch410, 1015432 (rh 1015432)
1908     - and so removed patch121 FixPPC64StackOverflow.patch
1909    - added patch412 zero-x32.diff to try to fix zero builds build
1910    - Resolves: rhbz#1053280
1911
1912    * Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1.7.0.45-2.4.3.5.el7
1913    - Mass rebuild 2013-12-27
1914
1915    * Thu Oct 31 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.4.fel7
1916    - Removed obsoletes for java-1.6.0-openjdk* ,  until decided its presence in el7
1917    - Resolves:rhbz#1018680
1918
1919    * Thu Oct 31 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.3.fel7
1920    - just bumped release, need to confirm, that   patch121, FixPPC64StackOverflow.patch
1921  really works
1922    - Resolves:rhbz#1018680
1923
1924    * Wed Oct 16 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.2.fel7
1925    - added and applied patch121, FixPPC64StackOverflow.patch
1926    - all redundant ppc64 strings replaced by power64 macro
1927    - Resolves:rhbz#1018680
1928
1929    * Wed Oct 16 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.1.fel7
1930    - updated to new  CPU sources 2.4.3
1931    - Resolves:rhbz#1018680
1932
1933    * Mon Oct 14 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.0.fel7
1934    - updated to latest CPU sources 2.4.3
1935    - Resolves:rhbz#1018680
1936
1937    * Mon Oct 14 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.12.fel7
1938    - jdk splitted to headless and rest
1939    - Resolves:rhbz#875408
1940
1941    * Fri Oct 04 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.11.fel7
1942    - another tapset fix
1943    - Resolves:rhbz#875408
1944
1945    * Fri Oct 04 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.10.fel7
1946    - abrt changed to soft dependece
1947    - Resolves:rhbz#875408
1948
1949    * Thu Oct 03 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.9.el7
1950    - renamed tapset source to be "versioned"
1951    - improved agent placement
1952    - Resolves:rhbz#875408
1953
1954    * Wed Oct 02 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.8.el7
1955    - updated tapset to current head (825824)
1956    - Resolves:rhbz#875408
1957
1958    * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.7.el7
1959    - fixed incorrect  _jvmdir/jre-javaver_origin to  _jvmdir/jre-javaver-origin link
1960    - Resolves:rhbz#875408
1961
1962    * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.6.el7
1963    - syncing with f20 - abrt connector
1964    - Resolves:rhbz#875408
1965
1966    * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.3.el7
1967    - syncing with f19/rhel-6.5
1968    - Resolves:rhbz#875408
1969
1970
1971    * Wed Aug 07 2013 Deepak Bhole <dbhole@redhat.com> - 1.7.0.25-2.3.12.3.el7
1972    - Removed obsoletes for java-1.6.0-openjdk*
1973
1974    * Fri Jul 26 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.12.2.el7
1975    - refreshed icedtea7-forest 2.3.12
1976    - fix broken jre_exports alternatives links (thanx to orion bug #979128)
1977
1978    * Thu Jul 25 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.11.0.el7
1979    - added new alternatives jre-1.7.0-openjdk and java-1.7.0-openjdk
1980    - finally merged arm and main source tarballs
1981    - updated to icedtea 2.3.11
1982     - http://blog.fuseyism.com/index.php/2013/07/25/icedtea-2-3-11-released/
1983    - added removal of new jre-1.7.0-openjdk and java-1.7.0-openjdk alternatives
1984    - removed patch 400, rhino for 2.1 and other 2.1 conditional stuff
1985    - removed patch 103 arm-fixes.patch
1986    - removed "dir" from files which was duplicating jre in sdk
1987
1988    * Fri Jul 19 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.6.el7
1989    - jrelnk is now just lnk, everything is pointing through jredir
1990
1991    * Thu Jul 18 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.6.el7
1992    - minor cleaning
1993    - sdklnk removed, and substitued by  sdkdir
1994
1995    * Wed Jul 03 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.5.fel7
1996    - moved to xz compression of sources
1997    - updated 2.1 tarball
1998
1999    * Thu Jun 27 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.4.el7
2000    - Sync with upstream IcedTea7-forest 2.3.10 tag
2001    - Fixes regressions as introduced with 1.7.0.25-2.3.10.3.el6:
2002  rhbz#978005, rhbz#977979, rhbz#976693, IcedTeaBZ#1487.
2003    - all patch commands repalced by patch macro
2004  - updated java-1.7.0-openjdk-ppc-zero-hotspot.patch to pass without loose patching
2005
2006    * Wed Jun 19 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.3.el7
2007    - update of IcedTea7-forest 2.3.10 tarball
2008    - removed patch1000 MBeanFix.patch to fix regressions caused by security patches
2009
2010
2011    * Thu Jun 13 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.2.el7
2012    - added patch1000 MBeanFix.patch to fix regressions caused by security patches
2013
2014    * Thu Jun 13 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.1.el7
2015    - arm tarball updated to 2.1.9
2016    - build bumped to 25
2017
2018    * Wed Jun 12 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.10.0.el7
2019    - fixed RH972717 by enabling patch110 java-1.7.0-openjdk-nss-icedtea-e9c857dcb964.patch
2020    - temporarly swithced to intree lcms as it have security fixes (patch 500)
2021     - added  GENSRCDIR="$PWD/generated.build" to be able to
2022     - removed (build)requires  lcms2(-devel)
2023    - Updated to latest IcedTea7-forest 2.3.10
2024
2025    * Wed Jun 05 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.9.14.fc19
2026    - Added client/server directories so they can be owned
2027    - Renamed patch 107 to 200
2028    - Added nss support from 6.5
2029    - Added fix for RH857717, owned /etc/.java/ and /etc/.java/.systemPrefs
2030    - Removed ant-nodeps, should not be needed
2031
2032    * Tue May 28 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.9.13.el7
2033    - javadoc put into fully versioned directory, but without arch (to be kept noarch)
2034     - uniquejavadocdir
2035    - updated to latest 2.3.9 tarball - fixing the rhbz#967436
2036
2037    * Mon May 27 2013 Omair Majid <omajid@redhat.com> - 1.7.0.19-2.3.9.12.el7
2038    - Allowed multiple OpenJDKs to be installed in parallel
2039    - Removed archname
2040    - Added arch to all, not only multilib arches
2041    - uniquesuffix is now holding fully versioned name
2042    - Intorduced source11 remove-buildids.sh
2043
2044    * Fri May 17 2013 Omair Majid <omajid@redhat.com> - 1.7.0.19-2.3.9.12.el7
2045    - Replace %{name} with %{uniquesuffix} where it's used as a unique suffix.
2046
2047    * Thu May 16 2013 Jiri Vanek <jvanek@redhat.com>
2048    - added variable arm_arches as restriction to some cases of not jit_arches
2049
2050    * Tue May 14 2013 Jiri Vanek <jvanek@redhat.com>
2051    - patch402 gstackbounds.patch applied only to jit arches
2052    - patch403 PStack-808293.patch likewise
2053
2054    * Mon May 13 2013 Jiri Vanek <jvanek@redhat.com>
2055    - initial, not buildable, sync with f19
2056
2057* Tue Mar 12 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 1.7.0.9-2.3.8.1
2058- update to icedtea7 2.3.8
2059
2060* Sun Jul 22 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 1.7.0.5-2.2.1.1
2061- initial build for Vine Linux
2062
2063* Mon Jul 09 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.5-2.2.1.fc18.9
2064- Added support to build older (2.1.1/u3/hs22) version on non-jit (secondary)
2065  arches
2066
2067* Wed Jun 13 2012 jiri Vanek <jvanek@redhat.com> - 1.7.0.3-2.2.1fc18.8
2068- Fixed broken provides sections
2069- Changed java-devel requirement to be self's devel (java-1.7.0-openjdk-devel)
2070
2071* Mon Jun 11 2012 jiri Vanek <jvanek@redhat.com> - 1.7.0.3-2.2.1fc18.7
2072- Used newly prepared tarball with security fixes
2073- Bump to icedtea7-forest-2.2.1
2074- _mandir/man1/jcmd-name.1 added to alternatives
2075- Updated rhino.patch
2076- Modified partially upstreamed patch302 - systemtap.patch
2077- Temporarly disabled patch102 - java-1.7.0-openjdk-size_t.patch
2078- Removed already upstreamed patches 104,107,108,301
2079  - java-1.7.0-openjdk-arm-ftbfs.patch
2080  - java-1.7.0-openjdk-system-zlib.patch
2081  - java-1.7.0-openjdk-remove-mimpure-opt.patch
2082  - systemtap-alloc-size-workaround.patch
2083- patch 105 (java-1.7.0-openjdk-ppc-zero-jdk.patch) have become 104
2084- patch 106 (java-1.7.0-openjdk-ppc-zero-hotspot.patch) have become 105
2085- Added build requires zip, which was untill now  dependence  of dependence
2086- Access gnome brridge jar forced to be 644
2087
2088* Fri May 25 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.7
2089- Miscellaneous fixes brought in from RHEL branch
2090- Resolves: rhbz#825255: Added ALT_STRIP_POLICY so that debug info is not stripped
2091- Moved Patch #7 (usage of system zlib) to #107
2092
2093* Tue May 01 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.6
2094- Removed VisualVM requirements
2095- Obsoleted java-1.6.0-openjdk*
2096- Added BR for zip
2097
2098* Mon Mar 26 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.5
2099- Added SystemTap fixes by Mark Wielaard
2100
2101* Sat Mar 24 2012 Dan Horák <dan[at]danny.cz>> - 1.7.0.3-2.1.fc17.4
2102- update paths in the ppc patches, add missing snippet
2103
2104* Wed Mar 21 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.3
2105- Reverted fix for rhbz#740762
2106- Fixed PPC/PPC64 build (rh804136) -- added patches from Chris Phillips
2107- Moved OpenJDK specific patches to 1XX series
2108
2109* Mon Mar 12 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.2
2110- Resolved rhbz#740762: java.library.path is missing some paths
2111- Unified spec file for x86, x86_64, ARM and s390
2112  - Integrated changes from Dan Horák <dhorak@redhat.com> for Zero/s390
2113  - Integrated changes from Chris Phillips <chphilli@redhat.com> for Zero/ARM
2114
2115* Fri Feb 24 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.1
2116- Added flag so that debuginfo is built into classfiles (rhbz# 796400)
2117- Updated rhino.patch to build scripting support (rhbz# 796398)
2118
2119* Tue Feb 14 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1
2120- Updated to OpenJDK7u3/IcedTea7 2.1
2121- Security fixes:
2122  - S7112642, CVE-2012-0497: Incorrect checking for graphics rendering object
2123  - S7082299, CVE-2011-3571: AtomicReferenceArray insufficient array type check
2124  - S7110687, CVE-2012-0503: Unrestricted use of TimeZone.setDefault
2125  - S7110700, CVE-2012-0505: Incomplete info in the deserialization exception
2126  - S7110683, CVE-2012-0502: KeyboardFocusManager focus stealing
2127  - S7088367, CVE-2011-3563: JavaSound incorrect bounds check
2128  - S7126960, CVE-2011-5035: Add property to limit number of request headers to the HTTP Server
2129  - S7118283, CVE-2012-0501: Off-by-one bug in ZIP reading code
2130  - S7110704, CVE-2012-0506: CORBA fix
2131- Add patch to fix compilation with GCC 4.7
2132
2133* Tue Nov 15 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.3
2134- Added patch to fix bug in jdk_generic_profile.sh
2135- Compile with generic profile to use system libraries
2136- Made remove-intree-libraries.sh more robust
2137- Added lcms requirement
2138- Added patch to fix glibc name clash
2139- Updated java version to include -icedtea
2140
2141* Sun Nov 06 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.2
2142- Added missing changelog entry
2143
2144* Sun Nov 06 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.1
2145- Updated to IcedTea 2.0 tag in the IcedTea OpenJDK7 forest
2146- Removed obsoleted patches
2147- Added system timezone support
2148- Revamp version/release naming scheme to make it proper
2149- Security fixes
2150  - S7000600, CVE-2011-3547: InputStream skip() information leak
2151  - S7019773, CVE-2011-3548: mutable static AWTKeyStroke.ctor
2152  - S7023640, CVE-2011-3551: Java2D TransformHelper integer overflow
2153  - S7032417, CVE-2011-3552: excessive default UDP socket limit under SecurityManager
2154  - S7046823, CVE-2011-3544: missing SecurityManager checks in scripting engine
2155  - S7055902, CVE-2011-3521: IIOP deserialization code execution
2156  - S7057857, CVE-2011-3554: insufficient pack200 JAR files uncompress error checks
2157  - S7064341, CVE-2011-3389: HTTPS: block-wise chosen-plaintext attack against SSL/TLS (BEAST)
2158  - S7070134, CVE-2011-3558: HotSpot crashes with sigsegv from PorterStemmer
2159  - S7077466, CVE-2011-3556: RMI DGC server remote code execution
2160  - S7083012, CVE-2011-3557: RMI registry privileged code execution
2161  - S7096936, CVE-2011-3560: missing checkSetFactory calls in HttpsURLConnection
2162
2163* Mon Aug 29 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110823.1
2164- Provide a "7" version of items to enfore F-16 policy of no Java 7 builds
2165- Resolves: rhbz#728706,  patch from Ville Skyttä <ville.skytta at iki dot fi>
2166
2167* Fri Aug 05 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110803
2168- Use a newer snapshot and forest on classpath.org rather than on openjdk.net
2169- Added in-tree-removal script to remove libraries that we manually link
2170- Updated snapshots
2171- Added DISTRO_NAME and FreeType header/lib locations
2172- Removed application of patch100 and patch 113 (now in forest)
2173
2174* Wed Aug 03 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110729
2175- Initial build from java-1.6.0-openjdk RPM
Note: See TracBrowser for help on using the repository browser.