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

Revision 8812, 60.2 KB checked in by tomop, 10 years ago (diff)

java, etc.

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