source: projects/specs/trunk/j/java-1.7.0-openjdk/java-1.7.0-openjdk-vl.spec @ 9817

Revision 9817, 64.2 KB checked in by tomop, 8 years ago (diff)

java-1.7.0-openjdk-1.7.0.91-2.6.2.1

Line 
1
2%define release_number 1
3
4# If debug is 1, OpenJDK is built with all debug info present.
5%global debug 0
6
7# we remove the build id notes explicitly to avoid generating (potentially
8# conflicting) files in the -debuginfo package
9%undefine _missing_build_ids_terminate_build
10
11%global icedtea_version 2.6.2
12%global hg_tag icedtea-{icedtea_version}
13
14%global aarch64                 aarch64 arm64 armv8
15#sometimes we need to distinguish big and little endian PPC64
16%global ppc64le                 ppc64le
17%global ppc64be                 ppc64 ppc64p7
18%global multilib_arches %{power64} sparc64 x86_64
19%global jit_arches              %{ix86} x86_64 sparcv9 sparc64 %{ppc64be} %{ppc64le} %{aarch64}
20
21# With disabled nss is NSS deactivated, so in NSS_LIBDIR can be wrong path
22# the initialisation must be here. LAter the pkg-connfig have bugy behaviour
23#looks liekopenjdk RPM specific bug
24# Always set this so the nss.cfg file is not broken
25%global NSS_LIBDIR %(pkg-config --variable=libdir nss)
26
27%ifarch x86_64
28%global archbuild amd64
29%global archinstall amd64
30%endif
31%ifarch ppc
32%global archbuild ppc
33%global archinstall ppc
34%global archdef PPC
35%endif
36%ifarch %{ppc64be}
37%global archbuild ppc64
38%global archinstall ppc64
39%global archdef PPC
40%endif
41%ifarch %{ppc64le}
42%global archbuild ppc64le
43%global archinstall ppc64le
44%global archdef PPC64
45%endif
46%ifarch %{ix86}
47%global archbuild i586
48%global archinstall i386
49%endif
50%ifarch ia64
51%global archbuild ia64
52%global archinstall ia64
53%endif
54%ifarch s390
55%global archbuild s390
56%global archinstall s390
57%global archdef S390
58%endif
59%ifarch s390x
60%global archbuild s390x
61%global archinstall s390x
62%global archdef S390
63%endif
64%ifarch %{arm}
65%global archbuild arm
66%global archinstall arm
67%global archdef ARM
68%endif
69%ifarch %{aarch64}
70%global archbuild aarch64
71%global archinstall aarch64
72%global archdef AARCH64
73%endif
74# 32 bit sparc, optimized for v9
75%ifarch sparcv9
76%global archbuild sparc
77%global archinstall sparc
78%endif
79# 64 bit sparc
80%ifarch sparc64
81%global archbuild sparcv9
82%global archinstall sparcv9
83%endif
84%ifnarch %{jit_arches}
85%global archbuild %{_arch}
86%global archinstall %{_arch}
87%endif
88
89%if %{debug}
90%global debugbuild debug_build
91%else
92%global debugbuild %{nil}
93%endif
94
95# If hsbootstrap is 1, build HotSpot alone first and use that in the bootstrap JDK
96# You can turn this on to avoid issues where HotSpot is broken in the bootstrap JDK
97%global hsbootstrap 0
98
99%if %{debug}
100%global buildoutputdir openjdk/build/linux-%{archbuild}-debug
101%else
102%global buildoutputdir openjdk/build/linux-%{archbuild}
103%endif
104
105%global with_pulseaudio 1
106
107%ifarch %{jit_arches}
108%global with_systemtap 1
109%else
110%global with_systemtap 0
111%endif
112
113# Convert an absolute path to a relative path.  Each symbolic link is
114# specified relative to the directory in which it is installed so that
115# it will resolve properly within chrooted installations.
116%global script 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])'
117%global abs2rel %{__perl} -e %{script}
118
119# Hard-code libdir on 64-bit architectures to make the 64-bit JDK
120# simply be another alternative.
121%global LIBDIR       %{_libdir}
122#backuped original one
123%ifarch %{multilib_arches}
124%global syslibdir       %{_prefix}/lib64
125%global _libdir         %{_prefix}/lib
126%else
127%global syslibdir       %{_libdir}
128%endif
129
130# Standard JPackage naming and versioning defines.
131%global origin          openjdk
132%global updatever       91
133%global buildver        00
134# Keep priority on 7digits in case updatever>9
135%global priority        17000%{updatever}
136%global javaver         1.7.0
137
138%global sdkdir          %{uniquesuffix}
139%global jrelnk          jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}
140
141%global jredir          %{sdkdir}/jre
142%global sdkbindir       %{_jvmdir}/%{sdkdir}/bin
143%global jrebindir       %{_jvmdir}/%{jredir}/bin
144%global jvmjardir       %{_jvmjardir}/%{uniquesuffix}
145
146%global fullversion     %{name}-%{version}-%{release}
147
148%global uniquesuffix          %{fullversion}.%{_arch}
149#we can copy the javadoc to not arched dir, or made it not noarch
150%global uniquejavadocdir       %{fullversion}
151
152%ifarch %{jit_arches}
153# Where to install systemtap tapset (links)
154# We would like these to be in a package specific subdir,
155# but currently systemtap doesn't support that, so we have to
156# use the root tapset dir for now. To distinquish between 64
157# and 32 bit architectures we place the tapsets under the arch
158# specific dir (note that systemtap will only pickup the tapset
159# for the primary arch for now). Systemtap uses the machine name
160# aka build_cpu as architecture specific directory name.
161%global tapsetroot /usr/share/systemtap
162  %ifarch %{ix86}
163    %global tapsetdir %{tapsetroot}/tapset/i386
164  %else
165    %global tapsetdir %{tapsetroot}/tapset/%{_build_cpu}
166  %endif
167%endif
168
169# Prevent brp-java-repack-jars from being run.
170%global __jar_repack 0
171
172Name:    java-%{javaver}-%{origin}
173Version: %{javaver}.%{updatever}
174Release: %{icedtea_version}.%{release_number}%{?_dist_release}
175# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons,
176# and this change was brought into RHEL-4.  java-1.5.0-ibm packages
177# also included the epoch in their virtual provides.  This created a
178# situation where in-the-wild java-1.5.0-ibm packages provided "java =
179# 1:1.5.0".  In RPM terms, "1.6.0 < 1:1.5.0" since 1.6.0 is
180# interpreted as 0:1.6.0.  So the "java >= 1.6.0" requirement would be
181# satisfied by the 1:1.5.0 packages.  Thus we need to set the epoch in
182# JDK package >= 1.6.0 to 1, and packages referring to JDK virtual
183# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
184# Epoch:   1
185Summary: OpenJDK Runtime Environment
186Summary(ja): OpenJDK ランタイム環境
187Group:   Development/Languages
188
189License:  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
190URL:      http://openjdk.java.net/
191
192#head
193#REPO=http://icedtea.classpath.org/hg/icedtea7-forest
194#current release
195#REPO=http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5
196# hg clone $REPO/ openjdk -r %{hg_tag}
197# hg clone $REPO/corba/ openjdk/corba -r %{hg_tag}
198# hg clone $REPO/hotspot/ openjdk/hotspot -r %{hg_tag}
199# hg clone $REPO/jaxp/ openjdk/jaxp -r %{hg_tag}
200# hg clone $REPO/jaxws/ openjdk/jaxws -r %{hg_tag}
201# hg clone $REPO/jdk/ openjdk/jdk -r %{hg_tag}
202# hg clone $REPO/langtools/ openjdk/langtools -r %{hg_tag}
203# find openjdk -name ".hg" -exec rm -rf '{}' \;
204# sh /git/java-1.7.0-openjdk/rhel-7.1/fsg.sh
205# tar cJf openjdk-icedtea-%{icedtea_version}.tar.xz openjdk
206Source0:  openjdk-icedtea-%{icedtea_version}.tar.xz
207
208# README file
209# This source is under maintainer's/java-team's control
210Source2:  README.src
211
212# Sources 6-12 are taken from hg clone http://icedtea.classpath.org/hg/icedtea7
213# Unless said differently, there is directory with required sources which should be enough to pack/rename
214
215# Class rewrite to rewrite rhino hierarchy
216Source5: class-rewriter.tar.gz
217
218# Systemtap tapsets. Zipped up to keep it small.
219# last update from http://icedtea.classpath.org/hg/icedtea7/file/8599fdfc398d/tapset
220Source6: systemtap-tapset-2014-03-19.tar.xz
221
222# .desktop files.
223Source7:  policytool.desktop
224Source77: jconsole.desktop
225
226# nss configuration file
227Source8: nss.cfg
228
229# FIXME: Taken from IcedTea snapshot 877ad5f00f69, but needs to be moved out
230# hg clone -r 877ad5f00f69 http://icedtea.classpath.org/hg/icedtea7
231Source9: pulseaudio.tar.gz
232
233# Removed libraries that we link instead
234Source10: remove-intree-libraries.sh
235
236#http://icedtea.classpath.org/hg/icedtea7/file/933d082ec889/fsg.sh
237# file to clean tarball, should be ketp updated as possible
238Source1111: fsg.sh
239
240# Remove build ids from binaries
241Source11: remove-buildids.sh
242
243# Ensure we aren't using the limited crypto policy
244Source12: TestCryptoLevel.java
245
246Source13: java-abrt-luncher
247
248# RPM/distribution specific patches
249
250# Allow TCK to pass with access bridge wired in
251Patch1:   java-1.7.0-openjdk-java-access-bridge-tck.patch
252
253# Disable access to access-bridge packages by untrusted apps
254Patch3:   java-1.7.0-openjdk-java-access-bridge-security.patch
255
256# Ignore AWTError when assistive technologies are loaded
257Patch4:   java-1.7.0-openjdk-accessible-toolkit.patch
258
259# Build docs even in debug
260Patch5:   java-1.7.0-openjdk-debugdocs.patch
261
262# Add debuginfo where missing
263Patch6:   %{name}-debuginfo.patch
264
265#
266# OpenJDK specific patches
267#
268
269# Add rhino support
270Patch100: rhino.patch
271
272Patch106: %{name}-freetype-check-fix.patch
273
274# allow to create hs_pid.log in tmp (in 700 permissions) if working directory is unwritable
275Patch200: abrt_friendly_hs_log_jdk7.patch
276
277#
278# Optional component packages
279#
280
281# Make the ALSA based mixer the default when building with the pulseaudio based
282# mixer
283Patch300: pulse-soundproperties.patch
284
285# Make the curves reported by Java's SSL implementation match those of NSS
286Patch400: rh1022017.patch
287
288# Temporary patches
289Patch500: 8072932or8074489.patch
290# End of tmp patches
291
292BuildRequires: autoconf
293BuildRequires: automake
294BuildRequires: gcc-c++
295BuildRequires: alsa-lib-devel
296BuildRequires: cups-devel
297BuildRequires: desktop-file-utils
298BuildRequires: giflib-devel
299BuildRequires: lcms2-devel >= 2.5
300BuildRequires: libX11-devel
301BuildRequires: libXi-devel
302BuildRequires: libXp-devel
303BuildRequires: libXt-devel
304BuildRequires: libXtst-devel
305BuildRequires: libjpeg-turbo-devel
306BuildRequires: libpng-devel
307BuildRequires: wget
308BuildRequires: libxslt
309BuildRequires: xorg-x11-proto-devel
310BuildRequires: ant
311BuildRequires: libXinerama-devel
312BuildRequires: rhino
313BuildRequires: lsb
314BuildRequires: zip
315BuildRequires: fontconfig
316BuildRequires: xorg-x11-fonts-Type1
317BuildRequires: zlib > 1.2.3-6
318BuildRequires: java-1.7.0-openjdk-devel
319BuildRequires: fontconfig
320BuildRequires: at-spi-devel
321BuildRequires: gawk
322BuildRequires: pkgconfig >= 0.9.0
323BuildRequires: xorg-x11-utils
324# Requirements for setting up the nss.cfg
325BuildRequires: nss-devel
326# Required for NIO2
327BuildRequires: libattr-devel
328# Required for smartcard support
329BuildRequires: pcsc-lite-devel
330# Required for SCTP support
331BuildRequires: lksctp-tools-devel
332# Required for fallback native proxy support
333BuildRequires: GConf2-devel
334# PulseAudio build requirements.
335%if %{with_pulseaudio}
336BuildRequires: pulseaudio-libs-devel >= 0.9.11
337%endif
338# Zero-assembler build requirement.
339%ifnarch %{jit_arches}
340BuildRequires: libffi-devel >= 3.0.10
341%endif
342
343# cacerts build requirement.
344BuildRequires: openssl
345# execstack build requirement.
346# no prelink on ARM yet
347%ifnarch %{arm} %{aarch64} %{ppc64le}
348BuildRequires: prelink
349%endif
350%ifarch %{jit_arches}
351#systemtap build requirement.
352BuildRequires: systemtap-sdt-devel
353%endif
354
355Requires: fontconfig
356Requires: xorg-x11-fonts-Type1
357#requires rest of java
358Requires: %{name}-headless = %{?epoch}:%{version}-%{release}
359OrderWithRequires: %{name}-headless = %{?epoch}:%{version}-%{release}
360
361
362# Standard JPackage base provides.
363Provides: jre-%{javaver}-%{origin} = %{?epoch}:%{version}-%{release}
364Provides: jre-%{origin} = %{?epoch}:%{version}-%{release}
365Provides: jre-%{javaver} = %{?epoch}:%{version}-%{release}
366Provides: java-%{javaver} = %{?epoch}:%{version}-%{release}
367Provides: jre = %{javaver}
368Provides: java-%{origin} = %{?epoch}:%{version}-%{release}
369Provides: java = %{?epoch}:%{javaver}
370# Standard JPackage extensions provides.
371Provides: java-fonts = %{?epoch}:%{version}
372
373# Obsolete older 1.6 packages as it cannot use the new bytecode
374# Obsoletes: java-1.6.0-openjdk
375# Obsoletes: java-1.6.0-openjdk-demo
376# Obsoletes: java-1.6.0-openjdk-devel
377# Obsoletes: java-1.6.0-openjdk-javadoc
378# Obsoletes: java-1.6.0-openjdk-src
379
380%description
381The OpenJDK runtime environment.
382
383%package headless
384Summary: The OpenJDK runtime environment without audio and video support
385Summary(ja): オーディオ・ビデオサポートなしの OpenJDK ランタイム環境
386Group:   Development/Languages
387
388Requires: lcms2 >= 2.5
389Requires: libjpeg = 6b
390# Require /etc/pki/java/cacerts.
391Requires: ca-certificates
392# Require jpackage-utils for ant.
393Requires: jpackage-utils >= 1.7.3-1jpp.2
394# Require zoneinfo data provided by tzdata-java subpackage.
395Requires: tzdata-java
396# Post requires alternatives to install tool alternatives.
397Requires(post):   %{_sbindir}/alternatives
398# Postun requires alternatives to uninstall tool alternatives.
399Requires(postun): %{_sbindir}/alternatives
400
401Provides: jre-%{javaver}-%{origin}-headless = %{?epoch}:%{version}-%{release}
402Provides: jre-%{origin}-headless = %{?epoch}:%{version}-%{release}
403Provides: jre-%{javaver}-headless = %{?epoch}:%{version}-%{release}
404Provides: java-%{javaver}-headless = %{?epoch}:%{version}-%{release}
405Provides: jre-headless = %{?epoch}:%{javaver}
406Provides: java-%{origin}-headless = %{?epoch}:%{version}-%{release}
407Provides: java-headless = %{?epoch}:%{javaver}
408# Standard JPackage extensions provides.
409Provides: jndi = %{?epoch}:%{version}
410Provides: jndi-ldap = %{?epoch}:%{version}
411Provides: jndi-cos = %{?epoch}:%{version}
412Provides: jndi-rmi = %{?epoch}:%{version}
413Provides: jndi-dns = %{?epoch}:%{version}
414Provides: jaas = %{?epoch}:%{version}
415Provides: jsse = %{?epoch}:%{version}
416Provides: jce = %{?epoch}:%{version}
417Provides: jdbc-stdext = 4.1
418Provides: java-sasl = %{?epoch}:%{version}
419
420%description headless
421The OpenJDK runtime environment without audio and video
422
423%package devel
424Summary: OpenJDK Development Environment
425Summary(ja): OpenJDK 開発環境
426Group:   Development/Tools
427
428# Require base package.
429Requires:         %{name} = %{?epoch}:%{version}-%{release}
430OrderWithRequires: %{name}-headless = %{?epoch}:%{version}-%{release}
431# Post requires alternatives to install tool alternatives.
432Requires(post):   %{_sbindir}/alternatives
433# Postun requires alternatives to uninstall tool alternatives.
434Requires(postun): %{_sbindir}/alternatives
435
436# Standard JPackage devel provides.
437Provides: java-sdk-%{javaver}-%{origin} = %{?epoch}:%{version}
438Provides: java-sdk-%{javaver} = %{?epoch}:%{version}
439Provides: java-sdk-%{origin} = %{?epoch}:%{version}
440Provides: java-sdk = %{?epoch}:%{javaver}
441Provides: java-%{javaver}-devel = %{?epoch}:%{version}
442Provides: java-devel-%{origin} = %{?epoch}:%{version}
443Provides: java-devel = %{?epoch}:%{javaver}
444
445
446%description devel
447The OpenJDK development tools.
448
449%package demo
450Summary: OpenJDK Demos
451Summary(ja): OpenJDK デモ
452Group:   Development/Languages
453
454Requires: %{name} = %{?epoch}:%{version}-%{release}
455OrderWithRequires: %{name}-headless = %{?epoch}:%{version}-%{release}
456
457%description demo
458The OpenJDK demos.
459
460%package src
461Summary: OpenJDK Source Bundle
462Summary(ja): OpenJDK ソースバンドル
463Group:   Development/Languages
464
465Requires: %{name} = %{?epoch}:%{version}-%{release}
466
467%description src
468The OpenJDK source bundle.
469
470%package javadoc
471Summary: OpenJDK API Documentation
472Summary(ja): OpenJDK API ドキュメント
473Group:   Documentation
474Requires: jpackage-utils
475BuildArch: noarch
476
477OrderWithRequires: %{name}-headless = %{?epoch}:%{version}-%{release}
478# Post requires alternatives to install javadoc alternative.
479Requires(post):   %{_sbindir}/alternatives
480# Postun requires alternatives to uninstall javadoc alternative.
481Requires(postun): %{_sbindir}/alternatives
482
483# Standard JPackage javadoc provides.
484Provides: java-javadoc = %{?epoch}:%{version}-%{release}
485Provides: java-%{javaver}-javadoc = %{?epoch}:%{version}-%{release}
486
487%description javadoc
488The OpenJDK API documentation.
489
490%package accessibility
491Summary: OpenJDK accessibility connector
492Summary(ja): OpenJDK アクセシビリティコネクタ
493Requires: java-atk-wrapper
494Requires: %{name} = %{?epoch}:%{version}-%{release}
495OrderWithRequires: %{name}-headless = %{?epoch}:%{version}-%{release}
496
497%description accessibility
498Enables accessibility support in OpenJDK by using java-at-wrapper. This allows compatible at-spi2 based accessibility programs to work for AWT and Swing-based programs.
499Please note, the java-atk-wrapper is still in beta, and also OpenJDK itself is still in phase of tuning to be working with accessibility features.
500Although working pretty fine, there are known issues with accessibility on, so do not rather install this package unless you really need.
501
502%prep
503%setup -q -c -n %{uniquesuffix} -T -a 0
504# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
505prioritylength=`expr length %{priority}`
506if [ $prioritylength -ne 7 ] ; then
507 echo "priority must be 7 digits in total, violated"
508 exit 14
509fi
510cp %{SOURCE2} .
511
512# OpenJDK patches
513%patch100
514
515# pulseaudio support
516%if %{with_pulseaudio}
517%patch300
518%endif
519
520# ECC fix
521%patch400
522
523# Add systemtap patches if enabled
524%if %{with_systemtap}
525%endif
526
527%patch500
528
529# Remove libraries that are linked
530sh %{SOURCE10}
531
532# Extract the rewriter (to rewrite rhino classes)
533tar xzf %{SOURCE5}
534
535# Extract systemtap tapsets
536%if %{with_systemtap}
537
538tar xf %{SOURCE6}
539
540for file in tapset/*.in; do
541
542    OUTPUT_FILE=`echo $file | sed -e s:%{javaver}\.stp\.in$:%{version}-%{release}.stp:g`
543    sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/server/libjvm.so:g $file > $file.1
544# FIXME this should really be %if %{has_client_jvm}
545%ifarch %{ix86}
546    sed -e s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/client/libjvm.so:g $file.1 > $OUTPUT_FILE
547%else
548    sed -e '/@ABS_CLIENT_LIBJVM_SO@/d' $file.1 > $OUTPUT_FILE
549%endif
550    sed -i -e s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir}:g $OUTPUT_FILE
551    sed -i -e s:@INSTALL_ARCH_DIR@:%{archinstall}:g $OUTPUT_FILE
552
553done
554
555%endif
556
557# Pulseaudio
558%if %{with_pulseaudio}
559tar xzf %{SOURCE9}
560%endif
561
562
563%patch3
564%patch4
565
566%if %{debug}
567%patch5
568%patch6
569%endif
570
571%patch106
572%patch200
573
574%build
575# How many cpu's do we have?
576export NUM_PROC=`/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :`
577export NUM_PROC=${NUM_PROC:-1}
578
579# Build IcedTea and OpenJDK.
580%ifarch s390x sparc64 alpha %{power64} %{aarch64}
581export ARCH_DATA_MODEL=64
582%endif
583%ifarch alpha
584export CFLAGS="$CFLAGS -mieee"
585%endif
586
587#CFLAGS="$CFLAGS -fstack-protector-strong"
588CFLAGS="$CFLAGS -fstack-protector"
589export CFLAGS
590
591# Build the re-written rhino jar
592mkdir -p rhino/{old,new}
593
594# Compile the rewriter
595(cd rewriter
596 javac com/redhat/rewriter/ClassRewriter.java
597)
598
599# Extract rhino.jar contents and rewrite
600(cd rhino/old
601 jar xf /usr/share/java/rhino.jar
602)
603
604java -cp rewriter com.redhat.rewriter.ClassRewriter \
605    $PWD/rhino/old \
606    $PWD/rhino/new \
607    org.mozilla \
608    sun.org.mozilla
609
610(cd rhino/old
611 for file in `find -type f -not -name '*.class'` ; do
612     new_file=../new/`echo $file | sed -e 's#org#sun/org#'`
613     mkdir -pv `dirname $new_file`
614     cp -v $file $new_file
615     sed -ie 's#org\.mozilla#sun.org.mozilla#g' $new_file
616 done
617)
618
619(cd rhino/new
620   jar cfm ../rhino.jar META-INF/MANIFEST.MF sun
621)
622
623export SYSTEM_JDK_DIR=/usr/lib/jvm/java-1.7.0-openjdk
624
625export JDK_TO_BUILD_WITH=${SYSTEM_JDK_DIR}
626
627
628pushd openjdk >& /dev/null
629
630export ALT_BOOTDIR="$JDK_TO_BUILD_WITH"
631
632# Save old umask as jdk_generic_profile overwrites it
633oldumask=`umask`
634
635# Set generic profile
636%ifnarch %{jit_arches}
637export ZERO_BUILD=true
638%endif
639
640export PKGVERSION="vine-%{release}-%{_arch} u%{updatever}-b%{buildver}"
641
642source jdk/make/jdk_generic_profile.sh
643
644# Restore old umask
645umask $oldumask
646
647%if %{hsbootstrap}
648
649mkdir bootstrap
650
651make \
652  DISABLE_INTREE_EC=true \
653  UNLIMITED_CRYPTO=true \
654  ANT="/usr/bin/ant" \
655  DISTRO_NAME="Vine Linux" \
656  DISTRO_PACKAGE_VERSION="${PKGVERSION}" \
657  JDK_UPDATE_VERSION=`printf "%02d" %{updatever}` \
658  JDK_BUILD_NUMBER=b`printf "%02d" %{buildver}` \
659  JRE_RELEASE_VERSION=%{javaver}_`printf "%02d" %{updatever}`-b`printf "%02d" %{buildver}` \
660  MILESTONE="fcs" \
661  ALT_PARALLEL_COMPILE_JOBS="$NUM_PROC" \
662  HOTSPOT_BUILD_JOBS="$NUM_PROC" \
663  STATIC_CXX="false" \
664  RHINO_JAR="$PWD/../rhino/rhino.jar" \
665  GENSRCDIR="$PWD/generated.build" \
666  FT2_CFLAGS="`pkg-config --cflags freetype2` " \
667  FT2_LIBS="`pkg-config --libs freetype2` " \
668  DEBUG_CLASSFILES="true" \
669  DEBUG_BINARIES="true" \
670  STRIP_POLICY="no_strip" \
671  JAVAC_WARNINGS_FATAL="false" \
672  INSTALL_LOCATION=%{_jvmdir}/%{sdkdir} \
673  SYSTEM_GSETTINGS="true" \
674  BUILD_JAXP=false BUILD_JAXWS=false BUILD_LANGTOOLS=false BUILD_JDK=false BUILD_CORBA=false \
675  ALT_JDK_IMPORT_PATH=${JDK_TO_BUILD_WITH} ALT_OUTPUTDIR=${PWD}/bootstrap \
676  %{debugbuild}
677
678export VM_DIR=bootstrap-vm/jre/lib/%{archinstall}/server
679cp -dR ${SYSTEM_JDK_DIR}-* bootstrap-vm
680rm -vf ${VM_DIR}/libjvm.so
681if [ ! -e ${VM_DIR} ] ; then mkdir -p ${VM_DIR}; fi
682cp -av bootstrap/hotspot/import/jre/lib/%{archinstall}/server/libjvm.so ${VM_DIR}
683
684export ALT_BOOTDIR=${PWD}/bootstrap-vm
685 
686%endif
687
688# ENABLE_FULL_DEBUG_SYMBOLS=0 is the internal HotSpot option
689# to turn off the stripping of debuginfo. FULL_DEBUG_SYMBOLS
690# does the same for product builds, but is ignored on non-product builds.
691make \
692  DISABLE_INTREE_EC=true \
693  UNLIMITED_CRYPTO=true \
694  ANT="/usr/bin/ant" \
695  DISTRO_NAME="Vine Linux" \
696  DISTRO_PACKAGE_VERSION="${PKGVERSION}" \
697  JDK_UPDATE_VERSION=`printf "%02d" %{updatever}` \
698  JDK_BUILD_NUMBER=b`printf "%02d" %{buildver}` \
699  JRE_RELEASE_VERSION=%{javaver}_`printf "%02d" %{updatever}`-b`printf "%02d" %{buildver}` \
700  MILESTONE="fcs" \
701  ALT_PARALLEL_COMPILE_JOBS="$NUM_PROC" \
702  HOTSPOT_BUILD_JOBS="$NUM_PROC" \
703  STATIC_CXX="false" \
704  RHINO_JAR="$PWD/../rhino/rhino.jar" \
705  GENSRCDIR="$PWD/generated.build" \
706  FT2_CFLAGS="`pkg-config --cflags freetype2` " \
707  FT2_LIBS="`pkg-config --libs freetype2` " \
708  DEBUG_CLASSFILES="true" \
709  DEBUG_BINARIES="true" \
710  STRIP_POLICY="no_strip" \
711  JAVAC_WARNINGS_FATAL="false" \
712  INSTALL_LOCATION=%{_jvmdir}/%{sdkdir} \
713  SYSTEM_GSETTINGS="true" \
714  %{debugbuild}
715
716popd >& /dev/null
717
718if [ -e $(pwd)/%{buildoutputdir}/j2sdk-image/lib/sa-jdi.jar ]; then
719  chmod 644 $(pwd)/%{buildoutputdir}/j2sdk-image/lib/sa-jdi.jar;
720fi
721
722export JAVA_HOME=$(pwd)/%{buildoutputdir}/j2sdk-image
723
724# Install java-abrt-luncher
725mkdir  $JAVA_HOME/jre-abrt
726mkdir  $JAVA_HOME/jre-abrt/bin
727mv $JAVA_HOME/jre/bin/java $JAVA_HOME/jre-abrt/bin/java
728ln -s %{_jvmdir}/%{sdkdir}/jre/lib $JAVA_HOME/jre-abrt/lib
729cat %{SOURCE13} | sed -e s:@JAVA_PATH@:%{_jvmdir}/%{sdkdir}/jre-abrt/bin/java:g -e s:@LIB_DIR@:%{LIBDIR}/libabrt-java-connector.so:g >  $JAVA_HOME/jre/bin/java
730chmod 755 $JAVA_HOME/jre/bin/java
731
732# Install nss.cfg right away as we will be using the JRE above
733cp -a %{SOURCE8} $JAVA_HOME/jre/lib/security/
734sed -i -e s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g $JAVA_HOME/jre/lib/security/nss.cfg
735
736# Build pulseaudio and install it to JDK build location
737%if %{with_pulseaudio}
738pushd pulseaudio
739make JAVA_HOME=$JAVA_HOME -f Makefile.pulseaudio
740cp -pPRf build/native/libpulse-java.so $JAVA_HOME/jre/lib/%{archinstall}/
741cp -pPRf build/pulse-java.jar $JAVA_HOME/jre/lib/ext/
742popd
743%endif
744
745# Copy tz.properties
746echo "sun.zoneinfo.dir=/usr/share/javazi" >> $JAVA_HOME/jre/lib/tz.properties
747
748#remove all fontconfig files. This change should be usptreamed soon
749rm -f %{buildoutputdir}/j2re-image/lib/fontconfig*.properties.src
750rm -f %{buildoutputdir}/j2re-image/lib/fontconfig*.bfc
751rm -f %{buildoutputdir}/j2sdk-image/jre/lib/fontconfig*.properties.src
752rm -f %{buildoutputdir}/j2sdk-image/jre/lib/fontconfig*.bfc
753rm -f %{buildoutputdir}/lib/fontconfig*.properties.src
754rm -f %{buildoutputdir}/lib/fontconfig*.bfc
755
756# Check unlimited policy has been used
757$JAVA_HOME/bin/javac -d . %{SOURCE12}
758$JAVA_HOME/bin/java TestCryptoLevel
759
760sh %{SOURCE11} ${JAVA_HOME}
761
762%install
763rm -rf $RPM_BUILD_ROOT
764STRIP_KEEP_SYMTAB=libjvm*
765
766# there used to be and link to soundfont
767# will be replaced by fix of http://mail.openjdk.java.net/pipermail/sound-dev/2015-October/000352.html
768# once done, and have to go to fedora first. Removed from rhel7 for now
769
770pushd %{buildoutputdir}/j2sdk-image
771
772#install jsa directories so we can owe them
773mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/%{archinstall}/server/
774mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/%{archinstall}/client/
775
776  # Install main files.
777  install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
778  cp -a jre-abrt bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
779  install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
780  cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
781  cp -a ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
782
783%ifarch %{jit_arches}
784  # Install systemtap support files.
785  install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset
786  cp -a $RPM_BUILD_DIR/%{uniquesuffix}/tapset/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset/
787  install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
788  pushd $RPM_BUILD_ROOT%{tapsetdir}
789    RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir}/tapset %{tapsetdir})
790    ln -sf $RELATIVE/*.stp .
791  popd
792%endif
793
794  # Install cacerts symlink.
795  rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/cacerts
796  pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security
797    RELATIVE=$(%{abs2rel} %{_sysconfdir}/pki/java \
798      %{_jvmdir}/%{jredir}/lib/security)
799    ln -sf $RELATIVE/cacerts .
800  popd
801
802  # Install extension symlinks.
803  install -d -m 755 $RPM_BUILD_ROOT%{jvmjardir}
804  pushd $RPM_BUILD_ROOT%{jvmjardir}
805    RELATIVE=$(%{abs2rel} %{_jvmdir}/%{jredir}/lib %{jvmjardir})
806    ln -sf $RELATIVE/jsse.jar jsse-%{version}.jar
807    ln -sf $RELATIVE/jce.jar jce-%{version}.jar
808    ln -sf $RELATIVE/rt.jar jndi-%{version}.jar
809    ln -sf $RELATIVE/rt.jar jndi-ldap-%{version}.jar
810    ln -sf $RELATIVE/rt.jar jndi-cos-%{version}.jar
811    ln -sf $RELATIVE/rt.jar jndi-rmi-%{version}.jar
812    ln -sf $RELATIVE/rt.jar jaas-%{version}.jar
813    ln -sf $RELATIVE/rt.jar jdbc-stdext-%{version}.jar
814    ln -sf jdbc-stdext-%{version}.jar jdbc-stdext-3.0.jar
815    ln -sf $RELATIVE/rt.jar sasl-%{version}.jar
816    for jar in *-%{version}.jar
817    do
818      if [ x%{version} != x%{javaver} ]
819      then
820        ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|-%{javaver}.jar|g")
821      fi
822      ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|.jar|g")
823    done
824  popd
825
826  # Install JCE policy symlinks.
827  install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{uniquesuffix}/jce/vanilla
828
829  # Install versioned symlinks.
830  pushd $RPM_BUILD_ROOT%{_jvmdir}
831    ln -sf %{jredir} %{jrelnk}
832  popd
833
834  pushd $RPM_BUILD_ROOT%{_jvmjardir}
835    ln -sf %{sdkdir} %{jrelnk}
836  popd
837
838  # Remove javaws man page
839  rm -f man/man1/javaws*
840
841  # Install man pages.
842  install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
843  for manpage in man/man1/*
844  do
845    # Convert man pages to UTF8 encoding.
846    iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
847    mv -f $manpage.tmp $manpage
848    install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
849      $manpage .1)-%{uniquesuffix}.1
850  done
851
852  # Install demos and samples.
853  cp -a demo $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
854  mkdir -p sample/rmi
855  mv bin/java-rmi.cgi sample/rmi
856  cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
857
858popd
859
860
861# Install Javadoc documentation.
862install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
863cp -a %{buildoutputdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir}
864
865# Install icons and menu entries.
866for s in 16 24 32 48 ; do
867  install -D -p -m 644 \
868    openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
869    $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}.png
870done
871
872# Install desktop files.
873install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
874for e in %{SOURCE7} %{SOURCE77} ; do
875    sed -i "s/#ARCH#/%{_arch}-%{release}/g" $e
876    sed -i "s|/usr/bin|%{sdkbindir}/|g" $e
877    desktop-file-install --vendor=%{uniquesuffix} --mode=644 \
878        --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e
879done
880
881# Install /etc/.java/.systemPrefs/ directory
882# See https://bugzilla.redhat.com/show_bug.cgi?id=741821
883mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
884
885# Find JRE directories.
886find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type d \
887  | grep -v jre/lib/security \
888  | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
889  > %{name}.files-headless
890# Find JRE files.
891find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type f -o -type l \
892  | grep -v jre/lib/security \
893  | sed 's|'$RPM_BUILD_ROOT'||' \
894  > %{name}.files.all
895#split %{name}.files to %{name}.files-headless and %{name}.files
896#see https://bugzilla.redhat.com/show_bug.cgi?id=875408
897NOT_HEADLESS=\
898"%{_jvmdir}/%{uniquesuffix}/jre/lib/%{archinstall}/libjsoundalsa.so
899%{_jvmdir}/%{uniquesuffix}/jre/lib/%{archinstall}/libpulse-java.so
900%{_jvmdir}/%{uniquesuffix}/jre/lib/%{archinstall}/libsplashscreen.so
901%{_jvmdir}/%{uniquesuffix}/jre/lib/%{archinstall}/xawt/libmawt.so
902%{_jvmdir}/%{uniquesuffix}/jre-abrt/lib/%{archinstall}/libjsoundalsa.so
903%{_jvmdir}/%{uniquesuffix}/jre-abrt/lib/%{archinstall}/libpulse-java.so
904%{_jvmdir}/%{uniquesuffix}/jre-abrt/lib/%{archinstall}/libsplashscreen.so
905%{_jvmdir}/%{uniquesuffix}/jre-abrt/lib/%{archinstall}/xawt/libmawt.so"
906#filter  %{name}.files from  %{name}.files.all to  %{name}.files-headless
907ALL=`cat %{name}.files.all`
908for file in $ALL ; do
909  INLCUDE="NO" ;
910  for blacklist in $NOT_HEADLESS ; do
911#we can not match normally, because rpmbuild will evaluate !0 result as script failure
912    q=`expr match "$file" "$blacklist"` || :
913    l=`expr length  "$blacklist"` || :
914    if [ $q -eq $l  ]; then
915      INLCUDE="YES" ;
916    fi;
917  done
918    if [ "x$INLCUDE" = "xNO"  ]; then
919      echo "$file" >> %{name}.files-headless
920    else
921      echo "$file" >> %{name}.files
922    fi
923done
924# Find demo directories.
925find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
926  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample -type d \
927  | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
928  > %{name}-demo.files
929
930# FIXME: remove SONAME entries from demo DSOs.  See
931# https://bugzilla.redhat.com/show_bug.cgi?id=436497
932
933# Find non-documentation demo files.
934find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
935  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \
936  -type f -o -type l | sort \
937  | grep -v README \
938  | sed 's|'$RPM_BUILD_ROOT'||' \
939  >> %{name}-demo.files
940# Find documentation demo files.
941find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
942  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \
943  -type f -o -type l | sort \
944  | grep README \
945  | sed 's|'$RPM_BUILD_ROOT'||' \
946  | sed 's|^|%doc |' \
947  >> %{name}-demo.files
948
949# intentionally after the files generation, as it goes to separate package
950# Create links which leads to separately installed java-atk-bridge and allow configuration
951# links points to java-atk-wrapper - an dependence
952  pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir}/lib/%{archinstall}
953    ln -s %{syslibdir}/java-atk-wrapper/libatk-wrapper.so.0 libatk-wrapper.so
954  popd
955  pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir}/lib/ext
956     ln -s %{syslibdir}/java-atk-wrapper/java-atk-wrapper.jar  java-atk-wrapper.jar
957  popd
958  pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir}/lib/
959    echo "#Config file to  enable java-atk-wrapper" > accessibility.properties
960    echo "" >> accessibility.properties
961    echo "assistive_technologies=org.GNOME.Accessibility.AtkWrapper" >> accessibility.properties
962    echo "" >> accessibility.properties
963  popd
964
965%pretrans headless -p <lua>
966-- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
967
968local posix = require "posix"
969
970local currentjvm = "%{uniquesuffix}"
971local jvmdir = "%{_jvmdir}"
972local jvmDestdir = jvmdir
973local origname = "%{name}"
974local origjavaver = "%{javaver}"
975--trasnform substitute names to lua patterns
976--all percentages must be doubled for case of RPM escapingg
977local name = string.gsub(string.gsub(origname, "%%-", "%%%%-"), "%%.", "%%%%.")
978local javaver = string.gsub(origjavaver, "%%.", "%%%%.")
979local arch ="%{_arch}"
980local  debug = false;
981
982local jvms = { }
983
984local caredFiles = {"jre/lib/calendars.properties",
985              "jre/lib/content-types.properties",
986              "jre/lib/flavormap.properties",
987              "jre/lib/logging.properties",
988              "jre/lib/net.properties",
989              "jre/lib/psfontj2d.properties",
990              "jre/lib/sound.properties",
991              "jre/lib/tz.properties",
992              "jre/lib/deployment.properties",
993              "jre/lib/deployment.config",
994              "jre/lib/security/US_export_policy.jar",
995              "jre/lib/security/java.policy",
996              "jre/lib/security/java.security",
997              "jre/lib/security/local_policy.jar",
998              "jre/lib/security/nss.cfg,",
999              "jre/lib/ext"}
1000
1001function splitToTable(source, pattern)
1002  local i1 = string.gmatch(source, pattern)
1003  local l1 = {}
1004  for i in i1 do
1005    table.insert(l1, i)
1006  end
1007  return l1
1008end
1009
1010if (debug) then
1011  print("started")
1012end;
1013
1014foundJvms = posix.dir(jvmdir);
1015if (foundJvms == nil) then
1016  if (debug) then
1017    print("no, or nothing in "..jvmdir.." exit")
1018  end;
1019  return
1020end
1021
1022if (debug) then
1023  print("found "..#foundJvms.."jvms")
1024end;
1025
1026for i,p in pairs(foundJvms) do
1027-- regex similar to %{_jvmdir}/%{name}-%{javaver}*%{_arch} bash command
1028--all percentages must be doubled for case of RPM escapingg
1029  if (string.find(p, name.."%%-"..javaver..".*"..arch) ~= nil ) then
1030    if (debug) then
1031      print("matched:  "..p)
1032    end;
1033    if (currentjvm ==  p) then
1034      if (debug) then
1035        print("this jdk is already installed. exiting lua script")
1036      end;
1037      return
1038    end ;
1039    table.insert(jvms, p)
1040  else
1041    if (debug) then
1042      print("NOT matched:  "..p)
1043    end;
1044  end
1045end
1046
1047if (#jvms <=0) then
1048  if (debug) then
1049    print("no matching jdk in "..jvmdir.." exit")
1050  end;
1051  return
1052end;
1053
1054if (debug) then
1055  print("matched "..#jvms.." jdk in "..jvmdir)
1056end;
1057
1058--full names are like java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64
1059table.sort(jvms , function(a,b)
1060-- version-sort
1061-- split on non word: . -
1062  local l1 = splitToTable(a, "[^%.-]+")
1063  local l2 = splitToTable(b, "[^%.-]+")
1064  for x = 1, math.min(#l1, #l2) do
1065    local l1x = tonumber(l1[x])
1066    local l2x = tonumber(l2[x])
1067    if (l1x ~= nil and l2x ~= nil)then
1068--if hunks are numbers, go with them
1069      if (l1x < l2x) then return true; end
1070      if (l1x > l2x) then return false; end
1071    else
1072      if (l1[x] < l2[x]) then return true; end
1073      if (l1[x] > l2[x]) then return false; end
1074    end
1075-- if hunks are equals then move to another pair of hunks
1076  end
1077return a<b
1078
1079end)
1080
1081if (debug) then
1082  print("sorted lsit of jvms")
1083  for i,file in pairs(jvms) do
1084    print(file)
1085  end
1086end
1087
1088latestjvm = jvms[#jvms]
1089
1090
1091for i,file in pairs(caredFiles) do
1092  local SOURCE=jvmdir.."/"..latestjvm.."/"..file
1093  local DEST=jvmDestdir.."/"..currentjvm.."/"..file
1094  if (debug) then
1095    print("going to copy "..SOURCE)
1096    print("to  "..DEST)
1097  end;
1098  local stat1 = posix.stat(SOURCE, "type");
1099  if (stat1 ~= nil) then
1100  if (debug) then
1101    print(SOURCE.." exists")
1102  end;
1103  local s = ""
1104  local dirs = splitToTable(DEST, "[^/]+")
1105  for i,d in pairs(dirs) do
1106    if (i == #dirs) then
1107      break
1108    end
1109    s = s.."/"..d
1110    local stat2 = posix.stat(s, "type");
1111    if (stat2 == nil) then
1112      if (debug) then
1113        print(s.." does not exists, creating")
1114      end;
1115      posix.mkdir(s)
1116    else
1117      if (debug) then
1118        print(s.." exists,not creating")
1119      end;
1120    end
1121  end
1122-- Copy with -a to keep everything intact
1123    local exe = "cp".." -ar "..SOURCE.." "..DEST
1124    if (debug) then
1125      print("executing "..exe)
1126    end;   
1127    os.execute(exe)
1128  else
1129    if (debug) then
1130      print(SOURCE.." does not exists")
1131    end;
1132  end
1133end
1134
1135
1136%post
1137update-desktop-database %{_datadir}/applications &> /dev/null || :
1138/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
1139exit 0
1140
1141
1142# FIXME: identical binaries are copied, not linked. This needs to be
1143# fixed upstream.
1144%post headless
1145# The pretrans lua scriptlet prevents an unmodified java.security
1146# from being replaced via an update. It gets created as
1147# java.security.rpmnew instead. This invalidates the patch of
1148# JDK-8061210 of the January 2015 CPU or JDK-8043201 of the
1149# July 2015 CPU. We fix this via a post scriptlet which runs on updates.
1150if [ "$1" -gt 1 ]; then
1151  javasecurity="%{_jvmdir}/%{uniquesuffix}/jre/lib/security/java.security"
1152  sum=$(md5sum "${javasecurity}" | cut -d' ' -f1)
1153  # This is the md5sum of an unmodified java.security file
1154  if [ "${sum}" = '567d9244d9ef1ac0e557d05eb0892413' -o \
1155       "${sum}" = '034a9bfa527cbdf58f021ce0e47e22db' ]; then
1156    if [ -f "${javasecurity}.rpmnew" ]; then
1157      mv -f "${javasecurity}.rpmnew" "${javasecurity}"
1158    fi
1159  fi
1160fi
1161
1162%ifarch %{jit_arches}
1163# MetaspaceShared::generate_vtable_methods not implemented for PPC JIT
1164%ifnarch %{power64}
1165#see https://bugzilla.redhat.com/show_bug.cgi?id=513605
1166%{jrebindir}/java -Xshare:dump >/dev/null 2>/dev/null
1167%endif
1168%endif
1169
1170ext=.gz
1171alternatives \
1172  --install %{_bindir}/java java %{jrebindir}/java %{priority} \
1173  --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jredir} \
1174  --slave %{_jvmjardir}/jre jre_exports %{jvmjardir} \
1175  --slave %{_bindir}/keytool keytool %{jrebindir}/keytool \
1176  --slave %{_bindir}/orbd orbd %{jrebindir}/orbd \
1177  --slave %{_bindir}/pack200 pack200 %{jrebindir}/pack200 \
1178  --slave %{_bindir}/rmid rmid %{jrebindir}/rmid \
1179  --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir}/rmiregistry \
1180  --slave %{_bindir}/servertool servertool %{jrebindir}/servertool \
1181  --slave %{_bindir}/tnameserv tnameserv %{jrebindir}/tnameserv \
1182  --slave %{_bindir}/unpack200 unpack200 %{jrebindir}/unpack200 \
1183  --slave %{_mandir}/man1/java.1$ext java.1$ext \
1184  %{_mandir}/man1/java-%{uniquesuffix}.1$ext \
1185  --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \
1186  %{_mandir}/man1/keytool-%{uniquesuffix}.1$ext \
1187  --slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \
1188  %{_mandir}/man1/orbd-%{uniquesuffix}.1$ext \
1189  --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \
1190  %{_mandir}/man1/pack200-%{uniquesuffix}.1$ext \
1191  --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \
1192  %{_mandir}/man1/rmid-%{uniquesuffix}.1$ext \
1193  --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \
1194  %{_mandir}/man1/rmiregistry-%{uniquesuffix}.1$ext \
1195  --slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \
1196  %{_mandir}/man1/servertool-%{uniquesuffix}.1$ext \
1197  --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \
1198  %{_mandir}/man1/tnameserv-%{uniquesuffix}.1$ext \
1199  --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \
1200  %{_mandir}/man1/unpack200-%{uniquesuffix}.1$ext
1201
1202for X in %{origin} %{javaver} ; do
1203  alternatives \
1204    --install %{_jvmdir}/jre-"$X" \
1205    jre_"$X" %{_jvmdir}/%{jredir} %{priority} \
1206    --slave %{_jvmjardir}/jre-"$X" \
1207    jre_"$X"_exports %{jvmjardir}
1208done
1209
1210update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \
1211--slave %{_jvmjardir}/jre-%{javaver}       jre_%{javaver}_%{origin}_exports      %{jvmjardir}
1212
1213update-desktop-database %{_datadir}/applications &> /dev/null || :
1214
1215/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
1216
1217exit 0
1218
1219%postun
1220update-desktop-database %{_datadir}/applications &> /dev/null || :
1221
1222if [ $1 -eq 0 ] ; then
1223    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
1224    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
1225fi
1226
1227exit 0
1228
1229
1230%postun headless
1231  alternatives --remove java %{jrebindir}/java
1232  alternatives --remove jre_%{origin} %{_jvmdir}/%{jredir}
1233  alternatives --remove jre_%{javaver} %{_jvmdir}/%{jredir}
1234  alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk}
1235
1236  # avoid unnecessary failure
1237  if [ -e %{_jvmdir}/%{uniquesuffix} ]  ; then
1238    # as lua copied all necessary config files, we do not wont the double rpmnew and rpm.save
1239    rm -rf %{_jvmdir}/%{uniquesuffix} 
1240  fi
1241exit 0
1242
1243%posttrans
1244/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
1245
1246
1247
1248%post devel
1249ext=.gz
1250alternatives \
1251  --install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \
1252  --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir} \
1253  --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdkdir} \
1254  --slave %{_bindir}/appletviewer appletviewer %{sdkbindir}/appletviewer \
1255  --slave %{_bindir}/apt apt %{sdkbindir}/apt \
1256  --slave %{_bindir}/extcheck extcheck %{sdkbindir}/extcheck \
1257  --slave %{_bindir}/idlj idlj %{sdkbindir}/idlj \
1258  --slave %{_bindir}/jar jar %{sdkbindir}/jar \
1259  --slave %{_bindir}/jarsigner jarsigner %{sdkbindir}/jarsigner \
1260  --slave %{_bindir}/javadoc javadoc %{sdkbindir}/javadoc \
1261  --slave %{_bindir}/javah javah %{sdkbindir}/javah \
1262  --slave %{_bindir}/javap javap %{sdkbindir}/javap \
1263  --slave %{_bindir}/jcmd jcmd %{sdkbindir}/jcmd \
1264  --slave %{_bindir}/jconsole jconsole %{sdkbindir}/jconsole \
1265  --slave %{_bindir}/jdb jdb %{sdkbindir}/jdb \
1266  --slave %{_bindir}/jhat jhat %{sdkbindir}/jhat \
1267  --slave %{_bindir}/jinfo jinfo %{sdkbindir}/jinfo \
1268  --slave %{_bindir}/jmap jmap %{sdkbindir}/jmap \
1269  --slave %{_bindir}/jps jps %{sdkbindir}/jps \
1270  --slave %{_bindir}/jrunscript jrunscript %{sdkbindir}/jrunscript \
1271  --slave %{_bindir}/jsadebugd jsadebugd %{sdkbindir}/jsadebugd \
1272  --slave %{_bindir}/jstack jstack %{sdkbindir}/jstack \
1273  --slave %{_bindir}/jstat jstat %{sdkbindir}/jstat \
1274  --slave %{_bindir}/jstatd jstatd %{sdkbindir}/jstatd \
1275  --slave %{_bindir}/native2ascii native2ascii %{sdkbindir}/native2ascii \
1276  --slave %{_bindir}/policytool policytool %{sdkbindir}/policytool \
1277  --slave %{_bindir}/rmic rmic %{sdkbindir}/rmic \
1278  --slave %{_bindir}/schemagen schemagen %{sdkbindir}/schemagen \
1279  --slave %{_bindir}/serialver serialver %{sdkbindir}/serialver \
1280  --slave %{_bindir}/wsgen wsgen %{sdkbindir}/wsgen \
1281  --slave %{_bindir}/wsimport wsimport %{sdkbindir}/wsimport \
1282  --slave %{_bindir}/xjc xjc %{sdkbindir}/xjc \
1283  --slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \
1284  %{_mandir}/man1/appletviewer-%{uniquesuffix}.1$ext \
1285  --slave %{_mandir}/man1/apt.1$ext apt.1$ext \
1286  %{_mandir}/man1/apt-%{uniquesuffix}.1$ext \
1287  --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \
1288  %{_mandir}/man1/extcheck-%{uniquesuffix}.1$ext \
1289  --slave %{_mandir}/man1/jar.1$ext jar.1$ext \
1290  %{_mandir}/man1/jar-%{uniquesuffix}.1$ext \
1291  --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \
1292  %{_mandir}/man1/jarsigner-%{uniquesuffix}.1$ext \
1293  --slave %{_mandir}/man1/javac.1$ext javac.1$ext \
1294  %{_mandir}/man1/javac-%{uniquesuffix}.1$ext \
1295  --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \
1296  %{_mandir}/man1/javadoc-%{uniquesuffix}.1$ext \
1297  --slave %{_mandir}/man1/javah.1$ext javah.1$ext \
1298  %{_mandir}/man1/javah-%{uniquesuffix}.1$ext \
1299  --slave %{_mandir}/man1/javap.1$ext javap.1$ext \
1300  %{_mandir}/man1/javap-%{uniquesuffix}.1$ext \
1301  --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \
1302  %{_mandir}/man1/jconsole-%{uniquesuffix}.1$ext \
1303  --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \
1304  %{_mandir}/man1/jdb-%{uniquesuffix}.1$ext \
1305  --slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \
1306  %{_mandir}/man1/jhat-%{uniquesuffix}.1$ext \
1307  --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \
1308  %{_mandir}/man1/jinfo-%{uniquesuffix}.1$ext \
1309  --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \
1310  %{_mandir}/man1/jmap-%{uniquesuffix}.1$ext \
1311  --slave %{_mandir}/man1/jps.1$ext jps.1$ext \
1312  %{_mandir}/man1/jps-%{uniquesuffix}.1$ext \
1313  --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \
1314  %{_mandir}/man1/jrunscript-%{uniquesuffix}.1$ext \
1315  --slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \
1316  %{_mandir}/man1/jsadebugd-%{uniquesuffix}.1$ext \
1317  --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \
1318  %{_mandir}/man1/jstack-%{uniquesuffix}.1$ext \
1319  --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \
1320  %{_mandir}/man1/jstat-%{uniquesuffix}.1$ext \
1321  --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \
1322  %{_mandir}/man1/jstatd-%{uniquesuffix}.1$ext \
1323  --slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \
1324  %{_mandir}/man1/native2ascii-%{uniquesuffix}.1$ext \
1325  --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \
1326  %{_mandir}/man1/policytool-%{uniquesuffix}.1$ext \
1327  --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \
1328  %{_mandir}/man1/rmic-%{uniquesuffix}.1$ext \
1329  --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \
1330  %{_mandir}/man1/schemagen-%{uniquesuffix}.1$ext \
1331  --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \
1332  %{_mandir}/man1/serialver-%{uniquesuffix}.1$ext \
1333  --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \
1334  %{_mandir}/man1/wsgen-%{uniquesuffix}.1$ext \
1335  --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \
1336  %{_mandir}/man1/wsimport-%{uniquesuffix}.1$ext \
1337  --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \
1338  %{_mandir}/man1/xjc-%{uniquesuffix}.1$ext
1339
1340for X in %{origin} %{javaver} ; do
1341  alternatives \
1342    --install %{_jvmdir}/java-"$X" \
1343    java_sdk_"$X" %{_jvmdir}/%{sdkdir} %{priority} \
1344    --slave %{_jvmjardir}/java-"$X" \
1345    java_sdk_"$X"_exports %{_jvmjardir}/%{sdkdir}
1346done
1347
1348update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir} %{priority} \
1349--slave %{_jvmjardir}/java-%{javaver}-%{origin}       java_sdk_%{javaver}_%{origin}_exports      %{_jvmjardir}/%{sdkdir}
1350
1351update-desktop-database %{_datadir}/applications &> /dev/null || :
1352/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
1353
1354exit 0
1355
1356%postun devel
1357  alternatives --remove javac %{sdkbindir}/javac
1358  alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir}
1359  alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir}
1360  alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir}
1361
1362update-desktop-database %{_datadir}/applications &> /dev/null || :
1363
1364if [ $1 -eq 0 ] ; then
1365    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
1366    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
1367fi
1368
1369exit 0
1370
1371%posttrans  devel
1372/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
1373
1374
1375%post javadoc
1376alternatives \
1377  --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir}/api \
1378  %{priority}
1379
1380exit 0
1381
1382%postun javadoc
1383  alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir}/api
1384
1385exit 0
1386
1387
1388%files -f %{name}.files
1389%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png
1390
1391# important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
1392# all config/norepalce files (and more) have to be declared in pretrans. See pretrans
1393%files headless  -f %{name}.files-headless
1394%defattr(-,root,root,-)
1395%doc %{_jvmdir}/%{sdkdir}/ASSEMBLY_EXCEPTION
1396%doc %{_jvmdir}/%{sdkdir}/LICENSE
1397%doc %{_jvmdir}/%{sdkdir}/THIRD_PARTY_README
1398%dir %{_jvmdir}/%{sdkdir}
1399%dir %{_jvmdir}/%{sdkdir}/jre/lib/
1400%dir %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}
1401%ifarch x86_64
1402%dir %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/xawt
1403%endif
1404%{_jvmdir}/%{jrelnk}
1405%{_jvmjardir}/%{jrelnk}
1406%{_jvmprivdir}/*
1407%{jvmjardir}
1408%dir %{_jvmdir}/%{jredir}/lib/security
1409%{_jvmdir}/%{jredir}/lib/security/cacerts
1410%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar
1411%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/local_policy.jar
1412%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy
1413%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security
1414%config(noreplace) %{_jvmdir}/%{jredir}/lib/logging.properties
1415%{_mandir}/man1/java-%{uniquesuffix}.1*
1416%{_mandir}/man1/keytool-%{uniquesuffix}.1*
1417%{_mandir}/man1/orbd-%{uniquesuffix}.1*
1418%{_mandir}/man1/pack200-%{uniquesuffix}.1*
1419%{_mandir}/man1/rmid-%{uniquesuffix}.1*
1420%{_mandir}/man1/rmiregistry-%{uniquesuffix}.1*
1421%{_mandir}/man1/servertool-%{uniquesuffix}.1*
1422%{_mandir}/man1/tnameserv-%{uniquesuffix}.1*
1423%{_mandir}/man1/unpack200-%{uniquesuffix}.1*
1424%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/nss.cfg
1425# removed %%{_jvmdir}/%%{jredir}/lib/audio/
1426# see soundfont in %%install
1427%ifarch %{jit_arches}
1428%attr(664, root, root) %ghost %{_jvmdir}/%{jredir}/lib/%{archinstall}/server/classes.jsa
1429%attr(664, root, root) %ghost %{_jvmdir}/%{jredir}/lib/%{archinstall}/client/classes.jsa
1430%endif
1431%{_jvmdir}/%{jredir}/lib/%{archinstall}/server/
1432%{_jvmdir}/%{jredir}/lib/%{archinstall}/client/
1433%{_sysconfdir}/.java/
1434%{_sysconfdir}/.java/.systemPrefs
1435%{_jvmdir}/%{sdkdir}/jre-abrt
1436
1437
1438%files devel
1439%defattr(-,root,root,-)
1440%doc %{_jvmdir}/%{sdkdir}/ASSEMBLY_EXCEPTION
1441%doc %{_jvmdir}/%{sdkdir}/LICENSE
1442%doc %{_jvmdir}/%{sdkdir}/THIRD_PARTY_README
1443%dir %{_jvmdir}/%{sdkdir}/bin
1444%dir %{_jvmdir}/%{sdkdir}/include
1445%dir %{_jvmdir}/%{sdkdir}/lib
1446%ifarch %{jit_arches}
1447%dir %{_jvmdir}/%{sdkdir}/tapset
1448%endif
1449%{_jvmdir}/%{sdkdir}/bin/*
1450%{_jvmdir}/%{sdkdir}/include/*
1451%{_jvmdir}/%{sdkdir}/lib/*
1452%ifarch %{jit_arches}
1453%{_jvmdir}/%{sdkdir}/tapset/*.stp
1454%endif
1455%{_jvmjardir}/%{sdkdir}
1456%{_datadir}/applications/*jconsole.desktop
1457%{_datadir}/applications/*policytool.desktop
1458%{_mandir}/man1/appletviewer-%{uniquesuffix}.1*
1459%{_mandir}/man1/apt-%{uniquesuffix}.1*
1460%{_mandir}/man1/extcheck-%{uniquesuffix}.1*
1461%{_mandir}/man1/idlj-%{uniquesuffix}.1*
1462%{_mandir}/man1/jar-%{uniquesuffix}.1*
1463%{_mandir}/man1/jarsigner-%{uniquesuffix}.1*
1464%{_mandir}/man1/javac-%{uniquesuffix}.1*
1465%{_mandir}/man1/javadoc-%{uniquesuffix}.1*
1466%{_mandir}/man1/javah-%{uniquesuffix}.1*
1467%{_mandir}/man1/javap-%{uniquesuffix}.1*
1468%{_mandir}/man1/jconsole-%{uniquesuffix}.1*
1469%{_mandir}/man1/jcmd-%{uniquesuffix}.1*
1470%{_mandir}/man1/jdb-%{uniquesuffix}.1*
1471%{_mandir}/man1/jhat-%{uniquesuffix}.1*
1472%{_mandir}/man1/jinfo-%{uniquesuffix}.1*
1473%{_mandir}/man1/jmap-%{uniquesuffix}.1*
1474%{_mandir}/man1/jps-%{uniquesuffix}.1*
1475%{_mandir}/man1/jrunscript-%{uniquesuffix}.1*
1476%{_mandir}/man1/jsadebugd-%{uniquesuffix}.1*
1477%{_mandir}/man1/jstack-%{uniquesuffix}.1*
1478%{_mandir}/man1/jstat-%{uniquesuffix}.1*
1479%{_mandir}/man1/jstatd-%{uniquesuffix}.1*
1480%{_mandir}/man1/native2ascii-%{uniquesuffix}.1*
1481%{_mandir}/man1/policytool-%{uniquesuffix}.1*
1482%{_mandir}/man1/rmic-%{uniquesuffix}.1*
1483%{_mandir}/man1/schemagen-%{uniquesuffix}.1*
1484%{_mandir}/man1/serialver-%{uniquesuffix}.1*
1485%{_mandir}/man1/wsgen-%{uniquesuffix}.1*
1486%{_mandir}/man1/wsimport-%{uniquesuffix}.1*
1487%{_mandir}/man1/xjc-%{uniquesuffix}.1*
1488%ifarch %{jit_arches}
1489%{tapsetroot}
1490%endif
1491
1492%files demo -f %{name}-demo.files
1493%defattr(-,root,root,-)
1494%doc %{_jvmdir}/%{sdkdir}/LICENSE
1495
1496%files src
1497%defattr(-,root,root,-)
1498%doc README.src
1499%{_jvmdir}/%{sdkdir}/src.zip
1500
1501%files javadoc
1502%defattr(-,root,root,-)
1503%doc %{_javadocdir}/%{uniquejavadocdir}
1504%doc %{buildoutputdir}/j2sdk-image/jre/LICENSE
1505
1506%files accessibility
1507%{_jvmdir}/%{jredir}/lib/%{archinstall}/libatk-wrapper.so
1508%{_jvmdir}/%{jredir}/lib/ext/java-atk-wrapper.jar
1509%{_jvmdir}/%{jredir}/lib/accessibility.properties
1510
1511%changelog
1512* Tue Nov 17 2015 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.7.0.91-2.6.2.1
1513- new upstream release.
1514- import changes from CentOS7.
1515
1516* Mon Jul 14 2014 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.7.0.55-2.4.7.3
1517- replaced most of stuff with specfile of RHEL7.
1518
1519    * Fri May 30 2014 Andrew John Hughes <gnu.andrew@redhat.com> - 1.7.0.55-2.4.7.2
1520    - Remove NSS patches. Issues with PKCS11 provider mean it shouldn't be enabled.
1521    - Always setup nss.cfg and depend on nss-devel at build-time to do so.
1522    - This allows users who wish to use PKCS11+NSS to just add it to java.security.
1523    - Patches to PKCS11 provider will be included upstream in 2.4.8 (ETA July 2014)
1524    - Resolves: rhbz#1099565
1525
1526    * Tue May 20 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.55-2.4.7.0.el7
1527    - bumped to future icedtea-forest 2.4.7
1528    - updatever set to 55, buildver se to 13, release reset to 0
1529    - removed upstreamed patch402 gstackbounds.patch
1530    - removed Requires: rhino, BuildRequires is enough
1531    - ppc64 repalced by power64 macro
1532    - patch111 applied as dry-run (6.6 forward port)
1533    - nss enabled, but notused as default (6.6 forward port)
1534    - Resolves: rhbz#1099565
1535
1536    * Fri Apr 04 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.5.el7
1537    - added OrderWithRequires on headless where possible
1538    - Resolves: rhbz#1038092
1539
1540    * Thu Mar 27 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.3.el7
1541    - synced lua script from fedora.
1542    - Resolves: rhbz#1038092
1543
1544    * Fri Mar 14 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.2.el7
1545    - added fstack-protector-strong to CFLAGS
1546    - Resolves: rhbz#1070816
1547
1548    * Thu Mar 06 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.1.el7
1549    - diabled NSS. Missuisng 1038092 for it as it is in hurry.
1550    - Related: rhbz#1038092
1551
1552    * Thu Jan 30 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.0.el7
1553    - updated to icedtea 2.4.5 + sync with f21
1554     - http://blog.fuseyism.com/index.php/2014/01/29/icedtea-2-4-5-released/
1555    - removed buildRequires: pulseaudio >= 0.9.11, as not neccessary
1556     -  but kept libs-devel)
1557    - removed upstreamed or unwonted patches (thanx to gnu_andrew to pointing them out)
1558     - patch410 1015432.patch (upstreamed)
1559     - patch411 1029588.patch
1560     - patch412 zero-x32.diff
1561     - patch104 java-1.7.0-ppc-zero-jdk.patch
1562     - patch105 java-1.7.0-ppc-zero-hotspot.patch
1563    - patch402 gstackbounds.patch and patch403 PStack-808293.patch applied always
1564 (again thanx to gnu_andrew)
1565    - merged other gnu_andrew's changes
1566     - FT2_CFLAGS and FT2_LIBS hardoced values replaced by correct pkg-config calls
1567     - buildver bumbed to 31
1568    - added build requires  nss-devel
1569    - removed build requires mercurial
1570    - added JRE_RELEASE_VERSION and ALT_PARALLEL_COMPILE_JOBS into make call
1571    - Related: rhbz1038092
1572
1573    * Tue Jan 28 2014 Daniel Mach <dmach@redhat.com> - 1.7.0.51-2.4.4.1
1574    - Mass rebuild 2014-01-24
1575
1576    * Fri Jan 10 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.4.0.el7
1577    - updated to security icedtea 2.4.4
1578     - icedtea_version set to 2.4.4
1579     - updatever bumped to       51
1580     - release reset to 0
1581    - sync with fedora
1582     - added and applied patch411 1029588.patch (rh 1029588)
1583     - added aand applied patch410, 1015432 (rh 1015432)
1584     - and so removed patch121 FixPPC64StackOverflow.patch
1585    - added patch412 zero-x32.diff to try to fix zero builds build
1586    - Resolves: rhbz#1053280
1587
1588    * Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1.7.0.45-2.4.3.5.el7
1589    - Mass rebuild 2013-12-27
1590
1591    * Thu Oct 31 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.4.fel7
1592    - Removed obsoletes for java-1.6.0-openjdk* ,  until decided its presence in el7
1593    - Resolves:rhbz#1018680
1594
1595    * Thu Oct 31 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.3.fel7
1596    - just bumped release, need to confirm, that   patch121, FixPPC64StackOverflow.patch
1597  really works
1598    - Resolves:rhbz#1018680
1599
1600    * Wed Oct 16 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.2.fel7
1601    - added and applied patch121, FixPPC64StackOverflow.patch
1602    - all redundant ppc64 strings replaced by power64 macro
1603    - Resolves:rhbz#1018680
1604
1605    * Wed Oct 16 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.1.fel7
1606    - updated to new  CPU sources 2.4.3
1607    - Resolves:rhbz#1018680
1608
1609    * Mon Oct 14 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.0.fel7
1610    - updated to latest CPU sources 2.4.3
1611    - Resolves:rhbz#1018680
1612
1613    * Mon Oct 14 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.12.fel7
1614    - jdk splitted to headless and rest
1615    - Resolves:rhbz#875408
1616
1617    * Fri Oct 04 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.11.fel7
1618    - another tapset fix
1619    - Resolves:rhbz#875408
1620
1621    * Fri Oct 04 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.10.fel7
1622    - abrt changed to soft dependece
1623    - Resolves:rhbz#875408
1624
1625    * Thu Oct 03 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.9.el7
1626    - renamed tapset source to be "versioned"
1627    - improved agent placement
1628    - Resolves:rhbz#875408
1629
1630    * Wed Oct 02 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.8.el7
1631    - updated tapset to current head (825824)
1632    - Resolves:rhbz#875408
1633
1634    * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.7.el7
1635    - fixed incorrect  _jvmdir/jre-javaver_origin to  _jvmdir/jre-javaver-origin link
1636    - Resolves:rhbz#875408
1637
1638    * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.6.el7
1639    - syncing with f20 - abrt connector
1640    - Resolves:rhbz#875408
1641
1642    * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.3.el7
1643    - syncing with f19/rhel-6.5
1644    - Resolves:rhbz#875408
1645
1646
1647    * Wed Aug 07 2013 Deepak Bhole <dbhole@redhat.com> - 1.7.0.25-2.3.12.3.el7
1648    - Removed obsoletes for java-1.6.0-openjdk*
1649
1650    * Fri Jul 26 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.12.2.el7
1651    - refreshed icedtea7-forest 2.3.12
1652    - fix broken jre_exports alternatives links (thanx to orion bug #979128)
1653
1654    * Thu Jul 25 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.11.0.el7
1655    - added new alternatives jre-1.7.0-openjdk and java-1.7.0-openjdk
1656    - finally merged arm and main source tarballs
1657    - updated to icedtea 2.3.11
1658     - http://blog.fuseyism.com/index.php/2013/07/25/icedtea-2-3-11-released/
1659    - added removal of new jre-1.7.0-openjdk and java-1.7.0-openjdk alternatives
1660    - removed patch 400, rhino for 2.1 and other 2.1 conditional stuff
1661    - removed patch 103 arm-fixes.patch
1662    - removed "dir" from files which was duplicating jre in sdk
1663
1664    * Fri Jul 19 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.6.el7
1665    - jrelnk is now just lnk, everything is pointing through jredir
1666
1667    * Thu Jul 18 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.6.el7
1668    - minor cleaning
1669    - sdklnk removed, and substitued by  sdkdir
1670
1671    * Wed Jul 03 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.5.fel7
1672    - moved to xz compression of sources
1673    - updated 2.1 tarball
1674
1675    * Thu Jun 27 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.4.el7
1676    - Sync with upstream IcedTea7-forest 2.3.10 tag
1677    - Fixes regressions as introduced with 1.7.0.25-2.3.10.3.el6:
1678  rhbz#978005, rhbz#977979, rhbz#976693, IcedTeaBZ#1487.
1679    - all patch commands repalced by patch macro
1680  - updated java-1.7.0-openjdk-ppc-zero-hotspot.patch to pass without loose patching
1681
1682    * Wed Jun 19 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.3.el7
1683    - update of IcedTea7-forest 2.3.10 tarball
1684    - removed patch1000 MBeanFix.patch to fix regressions caused by security patches
1685
1686
1687    * Thu Jun 13 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.2.el7
1688    - added patch1000 MBeanFix.patch to fix regressions caused by security patches
1689
1690    * Thu Jun 13 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.1.el7
1691    - arm tarball updated to 2.1.9
1692    - build bumped to 25
1693
1694    * Wed Jun 12 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.10.0.el7
1695    - fixed RH972717 by enabling patch110 java-1.7.0-openjdk-nss-icedtea-e9c857dcb964.patch
1696    - temporarly swithced to intree lcms as it have security fixes (patch 500)
1697     - added  GENSRCDIR="$PWD/generated.build" to be able to
1698     - removed (build)requires  lcms2(-devel)
1699    - Updated to latest IcedTea7-forest 2.3.10
1700
1701    * Wed Jun 05 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.9.14.fc19
1702    - Added client/server directories so they can be owned
1703    - Renamed patch 107 to 200
1704    - Added nss support from 6.5
1705    - Added fix for RH857717, owned /etc/.java/ and /etc/.java/.systemPrefs
1706    - Removed ant-nodeps, should not be needed
1707
1708    * Tue May 28 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.9.13.el7
1709    - javadoc put into fully versioned directory, but without arch (to be kept noarch)
1710     - uniquejavadocdir
1711    - updated to latest 2.3.9 tarball - fixing the rhbz#967436
1712
1713    * Mon May 27 2013 Omair Majid <omajid@redhat.com> - 1.7.0.19-2.3.9.12.el7
1714    - Allowed multiple OpenJDKs to be installed in parallel
1715    - Removed archname
1716    - Added arch to all, not only multilib arches
1717    - uniquesuffix is now holding fully versioned name
1718    - Intorduced source11 remove-buildids.sh
1719
1720    * Fri May 17 2013 Omair Majid <omajid@redhat.com> - 1.7.0.19-2.3.9.12.el7
1721    - Replace %{name} with %{uniquesuffix} where it's used as a unique suffix.
1722
1723    * Thu May 16 2013 Jiri Vanek <jvanek@redhat.com>
1724    - added variable arm_arches as restriction to some cases of not jit_arches
1725
1726    * Tue May 14 2013 Jiri Vanek <jvanek@redhat.com>
1727    - patch402 gstackbounds.patch applied only to jit arches
1728    - patch403 PStack-808293.patch likewise
1729
1730    * Mon May 13 2013 Jiri Vanek <jvanek@redhat.com>
1731    - initial, not buildable, sync with f19
1732
1733* Tue Mar 12 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 1.7.0.9-2.3.8.1
1734- update to icedtea7 2.3.8
1735
1736* Sun Jul 22 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 1.7.0.5-2.2.1.1
1737- initial build for Vine Linux
1738
1739* Mon Jul 09 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.5-2.2.1.fc18.9
1740- Added support to build older (2.1.1/u3/hs22) version on non-jit (secondary)
1741  arches
1742
1743* Wed Jun 13 2012 jiri Vanek <jvanek@redhat.com> - 1.7.0.3-2.2.1fc18.8
1744- Fixed broken provides sections
1745- Changed java-devel requirement to be self's devel (java-1.7.0-openjdk-devel)
1746
1747* Mon Jun 11 2012 jiri Vanek <jvanek@redhat.com> - 1.7.0.3-2.2.1fc18.7
1748- Used newly prepared tarball with security fixes
1749- Bump to icedtea7-forest-2.2.1
1750- _mandir/man1/jcmd-name.1 added to alternatives
1751- Updated rhino.patch
1752- Modified partially upstreamed patch302 - systemtap.patch
1753- Temporarly disabled patch102 - java-1.7.0-openjdk-size_t.patch
1754- Removed already upstreamed patches 104,107,108,301
1755  - java-1.7.0-openjdk-arm-ftbfs.patch
1756  - java-1.7.0-openjdk-system-zlib.patch
1757  - java-1.7.0-openjdk-remove-mimpure-opt.patch
1758  - systemtap-alloc-size-workaround.patch
1759- patch 105 (java-1.7.0-openjdk-ppc-zero-jdk.patch) have become 104
1760- patch 106 (java-1.7.0-openjdk-ppc-zero-hotspot.patch) have become 105
1761- Added build requires zip, which was untill now  dependence  of dependence
1762- Access gnome brridge jar forced to be 644
1763
1764* Fri May 25 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.7
1765- Miscellaneous fixes brought in from RHEL branch
1766- Resolves: rhbz#825255: Added ALT_STRIP_POLICY so that debug info is not stripped
1767- Moved Patch #7 (usage of system zlib) to #107
1768
1769* Tue May 01 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.6
1770- Removed VisualVM requirements
1771- Obsoleted java-1.6.0-openjdk*
1772- Added BR for zip
1773
1774* Mon Mar 26 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.5
1775- Added SystemTap fixes by Mark Wielaard
1776
1777* Sat Mar 24 2012 Dan Horák <dan[at]danny.cz>> - 1.7.0.3-2.1.fc17.4
1778- update paths in the ppc patches, add missing snippet
1779
1780* Wed Mar 21 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.3
1781- Reverted fix for rhbz#740762
1782- Fixed PPC/PPC64 build (rh804136) -- added patches from Chris Phillips
1783- Moved OpenJDK specific patches to 1XX series
1784
1785* Mon Mar 12 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.2
1786- Resolved rhbz#740762: java.library.path is missing some paths
1787- Unified spec file for x86, x86_64, ARM and s390
1788  - Integrated changes from Dan Horák <dhorak@redhat.com> for Zero/s390
1789  - Integrated changes from Chris Phillips <chphilli@redhat.com> for Zero/ARM
1790
1791* Fri Feb 24 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.1
1792- Added flag so that debuginfo is built into classfiles (rhbz# 796400)
1793- Updated rhino.patch to build scripting support (rhbz# 796398)
1794
1795* Tue Feb 14 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1
1796- Updated to OpenJDK7u3/IcedTea7 2.1
1797- Security fixes:
1798  - S7112642, CVE-2012-0497: Incorrect checking for graphics rendering object
1799  - S7082299, CVE-2011-3571: AtomicReferenceArray insufficient array type check
1800  - S7110687, CVE-2012-0503: Unrestricted use of TimeZone.setDefault
1801  - S7110700, CVE-2012-0505: Incomplete info in the deserialization exception
1802  - S7110683, CVE-2012-0502: KeyboardFocusManager focus stealing
1803  - S7088367, CVE-2011-3563: JavaSound incorrect bounds check
1804  - S7126960, CVE-2011-5035: Add property to limit number of request headers to the HTTP Server
1805  - S7118283, CVE-2012-0501: Off-by-one bug in ZIP reading code
1806  - S7110704, CVE-2012-0506: CORBA fix
1807- Add patch to fix compilation with GCC 4.7
1808
1809* Tue Nov 15 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.3
1810- Added patch to fix bug in jdk_generic_profile.sh
1811- Compile with generic profile to use system libraries
1812- Made remove-intree-libraries.sh more robust
1813- Added lcms requirement
1814- Added patch to fix glibc name clash
1815- Updated java version to include -icedtea
1816
1817* Sun Nov 06 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.2
1818- Added missing changelog entry
1819
1820* Sun Nov 06 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.1
1821- Updated to IcedTea 2.0 tag in the IcedTea OpenJDK7 forest
1822- Removed obsoleted patches
1823- Added system timezone support
1824- Revamp version/release naming scheme to make it proper
1825- Security fixes
1826  - S7000600, CVE-2011-3547: InputStream skip() information leak
1827  - S7019773, CVE-2011-3548: mutable static AWTKeyStroke.ctor
1828  - S7023640, CVE-2011-3551: Java2D TransformHelper integer overflow
1829  - S7032417, CVE-2011-3552: excessive default UDP socket limit under SecurityManager
1830  - S7046823, CVE-2011-3544: missing SecurityManager checks in scripting engine
1831  - S7055902, CVE-2011-3521: IIOP deserialization code execution
1832  - S7057857, CVE-2011-3554: insufficient pack200 JAR files uncompress error checks
1833  - S7064341, CVE-2011-3389: HTTPS: block-wise chosen-plaintext attack against SSL/TLS (BEAST)
1834  - S7070134, CVE-2011-3558: HotSpot crashes with sigsegv from PorterStemmer
1835  - S7077466, CVE-2011-3556: RMI DGC server remote code execution
1836  - S7083012, CVE-2011-3557: RMI registry privileged code execution
1837  - S7096936, CVE-2011-3560: missing checkSetFactory calls in HttpsURLConnection
1838
1839* Mon Aug 29 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110823.1
1840- Provide a "7" version of items to enfore F-16 policy of no Java 7 builds
1841- Resolves: rhbz#728706,  patch from Ville Skyttä <ville.skytta at iki dot fi>
1842
1843* Fri Aug 05 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110803
1844- Use a newer snapshot and forest on classpath.org rather than on openjdk.net
1845- Added in-tree-removal script to remove libraries that we manually link
1846- Updated snapshots
1847- Added DISTRO_NAME and FreeType header/lib locations
1848- Removed application of patch100 and patch 113 (now in forest)
1849
1850* Wed Aug 03 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110729
1851- Initial build from java-1.6.0-openjdk RPM
Note: See TracBrowser for help on using the repository browser.