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

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

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