source: projects/specs/branches/6/j/java-1.7.0-openjdk/java-1.7.0-openjdk-vl.spec @ 10389

Revision 10389, 64.2 KB checked in by Takemikaduchi, 8 years ago (diff)

add java-1.7.0

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}
359# OrderWithRequires: %{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):   alternatives
398# Postun requires alternatives to uninstall tool alternatives.
399Requires(postun): 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}
430# OrderWithRequires: %{name}-headless = %{?epoch}:%{version}-%{release}
431# Post requires alternatives to install tool alternatives.
432Requires(post):   alternatives
433# Postun requires alternatives to uninstall tool alternatives.
434Requires(postun): 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}
455# OrderWithRequires: %{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
477# OrderWithRequires: %{name}-headless = %{?epoch}:%{version}-%{release}
478# Post requires alternatives to install javadoc alternative.
479Requires(post):   alternatives
480# Postun requires alternatives to uninstall javadoc alternative.
481Requires(postun): 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}
495# OrderWithRequires: %{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* Sun Jun 19 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.7.0.91-2.6.2.1
1513- initial build for Vine Linux 6
1514
1515
1516* Tue Nov 17 2015 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.7.0.91-2.6.2.1
1517- new upstream release.
1518- import changes from CentOS7.
1519
1520* Mon Jul 14 2014 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.7.0.55-2.4.7.3
1521- replaced most of stuff with specfile of RHEL7.
1522
1523    * Fri May 30 2014 Andrew John Hughes <gnu.andrew@redhat.com> - 1.7.0.55-2.4.7.2
1524    - Remove NSS patches. Issues with PKCS11 provider mean it shouldn't be enabled.
1525    - Always setup nss.cfg and depend on nss-devel at build-time to do so.
1526    - This allows users who wish to use PKCS11+NSS to just add it to java.security.
1527    - Patches to PKCS11 provider will be included upstream in 2.4.8 (ETA July 2014)
1528    - Resolves: rhbz#1099565
1529
1530    * Tue May 20 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.55-2.4.7.0.el7
1531    - bumped to future icedtea-forest 2.4.7
1532    - updatever set to 55, buildver se to 13, release reset to 0
1533    - removed upstreamed patch402 gstackbounds.patch
1534    - removed Requires: rhino, BuildRequires is enough
1535    - ppc64 repalced by power64 macro
1536    - patch111 applied as dry-run (6.6 forward port)
1537    - nss enabled, but notused as default (6.6 forward port)
1538    - Resolves: rhbz#1099565
1539
1540    * Fri Apr 04 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.5.el7
1541    - added OrderWithRequires on headless where possible
1542    - Resolves: rhbz#1038092
1543
1544    * Thu Mar 27 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.3.el7
1545    - synced lua script from fedora.
1546    - Resolves: rhbz#1038092
1547
1548    * Fri Mar 14 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.2.el7
1549    - added fstack-protector-strong to CFLAGS
1550    - Resolves: rhbz#1070816
1551
1552    * Thu Mar 06 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.1.el7
1553    - diabled NSS. Missuisng 1038092 for it as it is in hurry.
1554    - Related: rhbz#1038092
1555
1556    * Thu Jan 30 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.0.el7
1557    - updated to icedtea 2.4.5 + sync with f21
1558     - http://blog.fuseyism.com/index.php/2014/01/29/icedtea-2-4-5-released/
1559    - removed buildRequires: pulseaudio >= 0.9.11, as not neccessary
1560     -  but kept libs-devel)
1561    - removed upstreamed or unwonted patches (thanx to gnu_andrew to pointing them out)
1562     - patch410 1015432.patch (upstreamed)
1563     - patch411 1029588.patch
1564     - patch412 zero-x32.diff
1565     - patch104 java-1.7.0-ppc-zero-jdk.patch
1566     - patch105 java-1.7.0-ppc-zero-hotspot.patch
1567    - patch402 gstackbounds.patch and patch403 PStack-808293.patch applied always
1568 (again thanx to gnu_andrew)
1569    - merged other gnu_andrew's changes
1570     - FT2_CFLAGS and FT2_LIBS hardoced values replaced by correct pkg-config calls
1571     - buildver bumbed to 31
1572    - added build requires  nss-devel
1573    - removed build requires mercurial
1574    - added JRE_RELEASE_VERSION and ALT_PARALLEL_COMPILE_JOBS into make call
1575    - Related: rhbz1038092
1576
1577    * Tue Jan 28 2014 Daniel Mach <dmach@redhat.com> - 1.7.0.51-2.4.4.1
1578    - Mass rebuild 2014-01-24
1579
1580    * Fri Jan 10 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.4.0.el7
1581    - updated to security icedtea 2.4.4
1582     - icedtea_version set to 2.4.4
1583     - updatever bumped to       51
1584     - release reset to 0
1585    - sync with fedora
1586     - added and applied patch411 1029588.patch (rh 1029588)
1587     - added aand applied patch410, 1015432 (rh 1015432)
1588     - and so removed patch121 FixPPC64StackOverflow.patch
1589    - added patch412 zero-x32.diff to try to fix zero builds build
1590    - Resolves: rhbz#1053280
1591
1592    * Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1.7.0.45-2.4.3.5.el7
1593    - Mass rebuild 2013-12-27
1594
1595    * Thu Oct 31 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.4.fel7
1596    - Removed obsoletes for java-1.6.0-openjdk* ,  until decided its presence in el7
1597    - Resolves:rhbz#1018680
1598
1599    * Thu Oct 31 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.3.fel7
1600    - just bumped release, need to confirm, that   patch121, FixPPC64StackOverflow.patch
1601  really works
1602    - Resolves:rhbz#1018680
1603
1604    * Wed Oct 16 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.2.fel7
1605    - added and applied patch121, FixPPC64StackOverflow.patch
1606    - all redundant ppc64 strings replaced by power64 macro
1607    - Resolves:rhbz#1018680
1608
1609    * Wed Oct 16 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.1.fel7
1610    - updated to new  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.3.0.fel7
1614    - updated to latest CPU sources 2.4.3
1615    - Resolves:rhbz#1018680
1616
1617    * Mon Oct 14 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.12.fel7
1618    - jdk splitted to headless and rest
1619    - Resolves:rhbz#875408
1620
1621    * Fri Oct 04 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.11.fel7
1622    - another tapset fix
1623    - Resolves:rhbz#875408
1624
1625    * Fri Oct 04 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.10.fel7
1626    - abrt changed to soft dependece
1627    - Resolves:rhbz#875408
1628
1629    * Thu Oct 03 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.9.el7
1630    - renamed tapset source to be "versioned"
1631    - improved agent placement
1632    - Resolves:rhbz#875408
1633
1634    * Wed Oct 02 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.8.el7
1635    - updated tapset to current head (825824)
1636    - Resolves:rhbz#875408
1637
1638    * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.7.el7
1639    - fixed incorrect  _jvmdir/jre-javaver_origin to  _jvmdir/jre-javaver-origin link
1640    - Resolves:rhbz#875408
1641
1642    * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.6.el7
1643    - syncing with f20 - abrt connector
1644    - Resolves:rhbz#875408
1645
1646    * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.3.el7
1647    - syncing with f19/rhel-6.5
1648    - Resolves:rhbz#875408
1649
1650
1651    * Wed Aug 07 2013 Deepak Bhole <dbhole@redhat.com> - 1.7.0.25-2.3.12.3.el7
1652    - Removed obsoletes for java-1.6.0-openjdk*
1653
1654    * Fri Jul 26 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.12.2.el7
1655    - refreshed icedtea7-forest 2.3.12
1656    - fix broken jre_exports alternatives links (thanx to orion bug #979128)
1657
1658    * Thu Jul 25 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.11.0.el7
1659    - added new alternatives jre-1.7.0-openjdk and java-1.7.0-openjdk
1660    - finally merged arm and main source tarballs
1661    - updated to icedtea 2.3.11
1662     - http://blog.fuseyism.com/index.php/2013/07/25/icedtea-2-3-11-released/
1663    - added removal of new jre-1.7.0-openjdk and java-1.7.0-openjdk alternatives
1664    - removed patch 400, rhino for 2.1 and other 2.1 conditional stuff
1665    - removed patch 103 arm-fixes.patch
1666    - removed "dir" from files which was duplicating jre in sdk
1667
1668    * Fri Jul 19 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.6.el7
1669    - jrelnk is now just lnk, everything is pointing through jredir
1670
1671    * Thu Jul 18 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.6.el7
1672    - minor cleaning
1673    - sdklnk removed, and substitued by  sdkdir
1674
1675    * Wed Jul 03 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.5.fel7
1676    - moved to xz compression of sources
1677    - updated 2.1 tarball
1678
1679    * Thu Jun 27 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.4.el7
1680    - Sync with upstream IcedTea7-forest 2.3.10 tag
1681    - Fixes regressions as introduced with 1.7.0.25-2.3.10.3.el6:
1682  rhbz#978005, rhbz#977979, rhbz#976693, IcedTeaBZ#1487.
1683    - all patch commands repalced by patch macro
1684  - updated java-1.7.0-openjdk-ppc-zero-hotspot.patch to pass without loose patching
1685
1686    * Wed Jun 19 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.3.el7
1687    - update of IcedTea7-forest 2.3.10 tarball
1688    - removed patch1000 MBeanFix.patch to fix regressions caused by security patches
1689
1690
1691    * Thu Jun 13 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.2.el7
1692    - added patch1000 MBeanFix.patch to fix regressions caused by security patches
1693
1694    * Thu Jun 13 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.1.el7
1695    - arm tarball updated to 2.1.9
1696    - build bumped to 25
1697
1698    * Wed Jun 12 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.10.0.el7
1699    - fixed RH972717 by enabling patch110 java-1.7.0-openjdk-nss-icedtea-e9c857dcb964.patch
1700    - temporarly swithced to intree lcms as it have security fixes (patch 500)
1701     - added  GENSRCDIR="$PWD/generated.build" to be able to
1702     - removed (build)requires  lcms2(-devel)
1703    - Updated to latest IcedTea7-forest 2.3.10
1704
1705    * Wed Jun 05 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.9.14.fc19
1706    - Added client/server directories so they can be owned
1707    - Renamed patch 107 to 200
1708    - Added nss support from 6.5
1709    - Added fix for RH857717, owned /etc/.java/ and /etc/.java/.systemPrefs
1710    - Removed ant-nodeps, should not be needed
1711
1712    * Tue May 28 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.9.13.el7
1713    - javadoc put into fully versioned directory, but without arch (to be kept noarch)
1714     - uniquejavadocdir
1715    - updated to latest 2.3.9 tarball - fixing the rhbz#967436
1716
1717    * Mon May 27 2013 Omair Majid <omajid@redhat.com> - 1.7.0.19-2.3.9.12.el7
1718    - Allowed multiple OpenJDKs to be installed in parallel
1719    - Removed archname
1720    - Added arch to all, not only multilib arches
1721    - uniquesuffix is now holding fully versioned name
1722    - Intorduced source11 remove-buildids.sh
1723
1724    * Fri May 17 2013 Omair Majid <omajid@redhat.com> - 1.7.0.19-2.3.9.12.el7
1725    - Replace %{name} with %{uniquesuffix} where it's used as a unique suffix.
1726
1727    * Thu May 16 2013 Jiri Vanek <jvanek@redhat.com>
1728    - added variable arm_arches as restriction to some cases of not jit_arches
1729
1730    * Tue May 14 2013 Jiri Vanek <jvanek@redhat.com>
1731    - patch402 gstackbounds.patch applied only to jit arches
1732    - patch403 PStack-808293.patch likewise
1733
1734    * Mon May 13 2013 Jiri Vanek <jvanek@redhat.com>
1735    - initial, not buildable, sync with f19
1736
1737* Tue Mar 12 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 1.7.0.9-2.3.8.1
1738- update to icedtea7 2.3.8
1739
1740* Sun Jul 22 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 1.7.0.5-2.2.1.1
1741- initial build for Vine Linux
1742
1743* Mon Jul 09 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.5-2.2.1.fc18.9
1744- Added support to build older (2.1.1/u3/hs22) version on non-jit (secondary)
1745  arches
1746
1747* Wed Jun 13 2012 jiri Vanek <jvanek@redhat.com> - 1.7.0.3-2.2.1fc18.8
1748- Fixed broken provides sections
1749- Changed java-devel requirement to be self's devel (java-1.7.0-openjdk-devel)
1750
1751* Mon Jun 11 2012 jiri Vanek <jvanek@redhat.com> - 1.7.0.3-2.2.1fc18.7
1752- Used newly prepared tarball with security fixes
1753- Bump to icedtea7-forest-2.2.1
1754- _mandir/man1/jcmd-name.1 added to alternatives
1755- Updated rhino.patch
1756- Modified partially upstreamed patch302 - systemtap.patch
1757- Temporarly disabled patch102 - java-1.7.0-openjdk-size_t.patch
1758- Removed already upstreamed patches 104,107,108,301
1759  - java-1.7.0-openjdk-arm-ftbfs.patch
1760  - java-1.7.0-openjdk-system-zlib.patch
1761  - java-1.7.0-openjdk-remove-mimpure-opt.patch
1762  - systemtap-alloc-size-workaround.patch
1763- patch 105 (java-1.7.0-openjdk-ppc-zero-jdk.patch) have become 104
1764- patch 106 (java-1.7.0-openjdk-ppc-zero-hotspot.patch) have become 105
1765- Added build requires zip, which was untill now  dependence  of dependence
1766- Access gnome brridge jar forced to be 644
1767
1768* Fri May 25 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.7
1769- Miscellaneous fixes brought in from RHEL branch
1770- Resolves: rhbz#825255: Added ALT_STRIP_POLICY so that debug info is not stripped
1771- Moved Patch #7 (usage of system zlib) to #107
1772
1773* Tue May 01 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.6
1774- Removed VisualVM requirements
1775- Obsoleted java-1.6.0-openjdk*
1776- Added BR for zip
1777
1778* Mon Mar 26 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.5
1779- Added SystemTap fixes by Mark Wielaard
1780
1781* Sat Mar 24 2012 Dan Horák <dan[at]danny.cz>> - 1.7.0.3-2.1.fc17.4
1782- update paths in the ppc patches, add missing snippet
1783
1784* Wed Mar 21 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.3
1785- Reverted fix for rhbz#740762
1786- Fixed PPC/PPC64 build (rh804136) -- added patches from Chris Phillips
1787- Moved OpenJDK specific patches to 1XX series
1788
1789* Mon Mar 12 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.2
1790- Resolved rhbz#740762: java.library.path is missing some paths
1791- Unified spec file for x86, x86_64, ARM and s390
1792  - Integrated changes from Dan Horák <dhorak@redhat.com> for Zero/s390
1793  - Integrated changes from Chris Phillips <chphilli@redhat.com> for Zero/ARM
1794
1795* Fri Feb 24 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.1
1796- Added flag so that debuginfo is built into classfiles (rhbz# 796400)
1797- Updated rhino.patch to build scripting support (rhbz# 796398)
1798
1799* Tue Feb 14 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1
1800- Updated to OpenJDK7u3/IcedTea7 2.1
1801- Security fixes:
1802  - S7112642, CVE-2012-0497: Incorrect checking for graphics rendering object
1803  - S7082299, CVE-2011-3571: AtomicReferenceArray insufficient array type check
1804  - S7110687, CVE-2012-0503: Unrestricted use of TimeZone.setDefault
1805  - S7110700, CVE-2012-0505: Incomplete info in the deserialization exception
1806  - S7110683, CVE-2012-0502: KeyboardFocusManager focus stealing
1807  - S7088367, CVE-2011-3563: JavaSound incorrect bounds check
1808  - S7126960, CVE-2011-5035: Add property to limit number of request headers to the HTTP Server
1809  - S7118283, CVE-2012-0501: Off-by-one bug in ZIP reading code
1810  - S7110704, CVE-2012-0506: CORBA fix
1811- Add patch to fix compilation with GCC 4.7
1812
1813* Tue Nov 15 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.3
1814- Added patch to fix bug in jdk_generic_profile.sh
1815- Compile with generic profile to use system libraries
1816- Made remove-intree-libraries.sh more robust
1817- Added lcms requirement
1818- Added patch to fix glibc name clash
1819- Updated java version to include -icedtea
1820
1821* Sun Nov 06 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.2
1822- Added missing changelog entry
1823
1824* Sun Nov 06 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.1
1825- Updated to IcedTea 2.0 tag in the IcedTea OpenJDK7 forest
1826- Removed obsoleted patches
1827- Added system timezone support
1828- Revamp version/release naming scheme to make it proper
1829- Security fixes
1830  - S7000600, CVE-2011-3547: InputStream skip() information leak
1831  - S7019773, CVE-2011-3548: mutable static AWTKeyStroke.ctor
1832  - S7023640, CVE-2011-3551: Java2D TransformHelper integer overflow
1833  - S7032417, CVE-2011-3552: excessive default UDP socket limit under SecurityManager
1834  - S7046823, CVE-2011-3544: missing SecurityManager checks in scripting engine
1835  - S7055902, CVE-2011-3521: IIOP deserialization code execution
1836  - S7057857, CVE-2011-3554: insufficient pack200 JAR files uncompress error checks
1837  - S7064341, CVE-2011-3389: HTTPS: block-wise chosen-plaintext attack against SSL/TLS (BEAST)
1838  - S7070134, CVE-2011-3558: HotSpot crashes with sigsegv from PorterStemmer
1839  - S7077466, CVE-2011-3556: RMI DGC server remote code execution
1840  - S7083012, CVE-2011-3557: RMI registry privileged code execution
1841  - S7096936, CVE-2011-3560: missing checkSetFactory calls in HttpsURLConnection
1842
1843* Mon Aug 29 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110823.1
1844- Provide a "7" version of items to enfore F-16 policy of no Java 7 builds
1845- Resolves: rhbz#728706,  patch from Ville Skyttä <ville.skytta at iki dot fi>
1846
1847* Fri Aug 05 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110803
1848- Use a newer snapshot and forest on classpath.org rather than on openjdk.net
1849- Added in-tree-removal script to remove libraries that we manually link
1850- Updated snapshots
1851- Added DISTRO_NAME and FreeType header/lib locations
1852- Removed application of patch100 and patch 113 (now in forest)
1853
1854* Wed Aug 03 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110729
1855- Initial build from java-1.6.0-openjdk RPM
Note: See TracBrowser for help on using the repository browser.