diff --git a/.gitignore b/.gitignore index ae35d3a..2738064 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ -SOURCES/openjdk-icedtea-2.4.7.tar.xz SOURCES/class-rewriter.tar.gz +SOURCES/jdk7u60_b30_aarch64_360d11d249a6.tar.bz2 +SOURCES/openjdk-icedtea-2.5.1.tar.xz SOURCES/pulseaudio.tar.gz -SOURCES/systemtap-tapset-2013-10-02.tar.gz +SOURCES/systemtap-tapset-2014-03-19.tar.xz diff --git a/.java-1.7.0-openjdk.metadata b/.java-1.7.0-openjdk.metadata index 84e036b..e6271bb 100644 --- a/.java-1.7.0-openjdk.metadata +++ b/.java-1.7.0-openjdk.metadata @@ -1,4 +1,5 @@ -f53a50d897c28b0f53cb14ecd1880857899665c1 SOURCES/openjdk-icedtea-2.4.7.tar.xz fcc167de17354efb6e52cb387eb3e7dbb0316b53 SOURCES/class-rewriter.tar.gz +4c5096dd9e822c7e483d5610d8ccce3498c328c8 SOURCES/jdk7u60_b30_aarch64_360d11d249a6.tar.bz2 +56d3fdd00752d13bf23bfd8a1d97040ba843248e SOURCES/openjdk-icedtea-2.5.1.tar.xz fb72b6b1f4735ad9b5799d0b5058b0b1dec67b17 SOURCES/pulseaudio.tar.gz -4708fedba257c5ba7aef6d416421bf207d190c5e SOURCES/systemtap-tapset-2013-10-02.tar.gz +becc037bf0eb13b5f0ebcdd94b58ebfe6336b7a0 SOURCES/systemtap-tapset-2014-03-19.tar.xz diff --git a/SOURCES/PStack-808293-aarch64.patch b/SOURCES/PStack-808293-aarch64.patch new file mode 100644 index 0000000..dcf4331 --- /dev/null +++ b/SOURCES/PStack-808293-aarch64.patch @@ -0,0 +1,30 @@ +--- openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java 2012-04-06 02:26:33.322164601 +0200 ++++ openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java 2012-04-06 02:26:57.958514071 +0200 +@@ -1,5 +1,6 @@ + /* + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2012, Red Hat Inc. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -158,10 +160,19 @@ + } + } + } ++ Address oldPC = f.pc(); ++ Address oldFP = f.localVariableBase(); + f = f.sender(th); ++ if (f != null ++ && oldPC.equals(f.pc()) ++ && oldFP.equals(f.localVariableBase())) { ++ // We didn't make any progress ++ f = null; ++ } + } + } catch (Exception exp) { +- exp.printStackTrace(); ++ // exp.printStackTrace(); ++ out.println("bad stack: " + exp); + // continue, may be we can do a better job for other threads + } + if (concurrentLocks) { diff --git a/SOURCES/fsg.sh b/SOURCES/fsg.sh index 062ffd4..838e585 100644 --- a/SOURCES/fsg.sh +++ b/SOURCES/fsg.sh @@ -106,10 +106,4 @@ echo "Removing registration tests" rm -rvf openjdk/jdk/test/com/sun/servicetag echo "Removing EC source code we don't build" -rm -vf openjdk/jdk/src/share/classes/sun/security/ec/ECDHKeyAgreement.java -rm -vf openjdk/jdk/src/share/classes/sun/security/ec/ECDSASignature.java -rm -vf openjdk/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java -rm -vf openjdk/jdk/src/share/classes/sun/security/ec/SunEC.java -rm -vf openjdk/jdk/src/share/classes/sun/security/ec/SunECEntries.java -rm -rvf openjdk/jdk/src/share/native/sun/security/ec -rm -rvf openjdk/jdk/make/sun/security/ec +rm -rvf openjdk/jdk/src/share/native/sun/security/ec/impl diff --git a/SOURCES/gtk3ToBeReverted.patch b/SOURCES/gtk3ToBeReverted.patch new file mode 100644 index 0000000..0f0f08b --- /dev/null +++ b/SOURCES/gtk3ToBeReverted.patch @@ -0,0 +1,25 @@ + +# HG changeset patch +# User andrew +# Date 1402501898 -3600 +# Node ID cadc17b7e20ead881dd17a08f0df12da9dfae612 +# Parent d26cf395f1f04d8e14f4f82e619079e1f598719d +PR729: GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops +Summary: Return GTKLookAndFeel as the system look&feel on local GNU/Linux systems + +diff -r d26cf395f1f0 -r cadc17b7e20e src/share/classes/javax/swing/UIManager.java +--- openjdk/jdk/src/share/classes/javax/swing/UIManager.java Tue Jun 10 22:37:03 2014 +0100 ++++ openjdk/jdk/src/share/classes/javax/swing/UIManager.java Wed Jun 11 16:51:38 2014 +0100 +@@ -606,8 +606,9 @@ + } else { + String desktop = AccessController.doPrivileged(new GetPropertyAction("sun.desktop")); + Toolkit toolkit = Toolkit.getDefaultToolkit(); +- if ("gnome".equals(desktop) && +- toolkit instanceof SunToolkit && ++ boolean gtkDesktop = "gnome".equals(desktop) || ++ (osType == OSInfo.OSType.LINUX && SwingUtilities2.isLocalDisplay()); ++ if (gtkDesktop && toolkit instanceof SunToolkit && + ((SunToolkit) toolkit).isNativeGTKAvailable()) { + // May be set on Linux and Solaris boxs. + return "com.sun.java.swing.plaf.gtk.GTKLookAndFeel"; + diff --git a/SOURCES/java-1.7.0-openjdk-debugdocs.patch b/SOURCES/java-1.7.0-openjdk-debugdocs.patch index dbfebb2..8a130e4 100644 --- a/SOURCES/java-1.7.0-openjdk-debugdocs.patch +++ b/SOURCES/java-1.7.0-openjdk-debugdocs.patch @@ -1,12 +1,35 @@ --- oldMakefile 2008-07-02 17:48:01.000000000 -0400 +++ openjdk/Makefile 2008-07-02 17:48:09.000000000 -0400 -@@ -176,8 +176,7 @@ +@@ -199,19 +199,19 @@ - COMMON_DEBUG_FLAGS= \ - DEBUG_NAME=$(DEBUG_NAME) \ -- ALT_OUTPUTDIR=$(_OUTPUTDIR)-$(DEBUG_NAME) \ -- NO_DOCS=true -+ ALT_OUTPUTDIR=$(_OUTPUTDIR)-$(DEBUG_NAME) + create_fresh_product_bootdir: FRC + $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \ +- GENERATE_DOCS=false \ ++ GENERATE_DOCS=true \ + BOOT_CYCLE_SETTINGS= \ + build_product_image - product_build: setup - @$(ECHO) $@ build started: `$(DATE) '+%y-%m-%d %H:%M'` + create_fresh_debug_bootdir: FRC + $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \ +- GENERATE_DOCS=false \ ++ GENERATE_DOCS=true \ + BOOT_CYCLE_DEBUG_SETTINGS= \ + build_debug_image + + create_fresh_fastdebug_bootdir: FRC + $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \ +- GENERATE_DOCS=false \ ++ GENERATE_DOCS=true \ + BOOT_CYCLE_DEBUG_SETTINGS= \ + build_fastdebug_image + +@@ -262,7 +262,7 @@ + $(MAKE) \ + ALT_OUTPUTDIR=$(ABS_OUTPUTDIR)/$(REL_JDK_OUTPUTDIR) \ + DEBUG_NAME=$(DEBUG_NAME) \ +- GENERATE_DOCS=false \ ++ GENERATE_DOCS=true \ + $(if $(findstring true,$(BUILD_INSTALL)),BUILD_INSTALL_BUNDLES=true,) \ + CREATE_DEBUGINFO_BUNDLES=true \ + $(BOOT_CYCLE_DEBUG_SETTINGS) \ + diff --git a/SOURCES/java-1.7.0-openjdk-debuginfo.patch b/SOURCES/java-1.7.0-openjdk-debuginfo.patch index 263d59e..11776ef 100644 --- a/SOURCES/java-1.7.0-openjdk-debuginfo.patch +++ b/SOURCES/java-1.7.0-openjdk-debuginfo.patch @@ -1,20 +1,20 @@ --- openjdk/hotspot/build/linux/makefiles/saproc.make_back 2009-12-14 13:35:46.000000000 +0100 +++ openjdk/hotspot/make/linux/makefiles/saproc.make 2009-12-14 13:36:47.000000000 +0100 -@@ -67,6 +67,7 @@ - -I$(BOOT_JAVA_HOME)/include/$(Platform_os_family) \ +@@ -95,6 +95,7 @@ + $(ALT_SAINCDIR) \ $(SASRCFILES) \ $(SA_LFLAGS) \ -+ -g \ ++ -g \ + $(SA_DEBUG_CFLAGS) \ + $(EXTRA_CFLAGS) \ -o $@ \ - -lthread_db - --- openjdk/hotspot/build/linux/makefiles/jsig.make_back 2009-12-14 13:34:56.000000000 +0100 +++ openjdk/hotspot/make/linux/makefiles/jsig.make 2009-12-14 13:35:31.000000000 +0100 -@@ -44,6 +44,7 @@ +@@ -59,6 +59,7 @@ $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE) @echo Making signal interposition lib... $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \ -+ -g \ - $(LFLAGS_JSIG) -o $@ $< -ldl - - install_jsig: $(LIBJSIG) ++ -g \ + $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) -o $@ $< -ldl + $(QUIETLY) [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); } + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) diff --git a/SOURCES/pr1864_smartcardIO.patch b/SOURCES/pr1864_smartcardIO.patch new file mode 100644 index 0000000..cd9389c --- /dev/null +++ b/SOURCES/pr1864_smartcardIO.patch @@ -0,0 +1,10 @@ +--- openjdk/jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c ++++ openjdk/jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c +@@ -79,7 +79,6 @@ + + #ifndef USE_SYSTEM_PCSC + void *findFunction(JNIEnv *env, void *hModule, char *functionName) { +- return NULL; + void *fAddress = dlsym(hModule, functionName); + if (fAddress == NULL) { + char errorMessage[256]; diff --git a/SOURCES/remove-origin-from-rpaths b/SOURCES/remove-origin-from-rpaths new file mode 100644 index 0000000..bf6218d --- /dev/null +++ b/SOURCES/remove-origin-from-rpaths @@ -0,0 +1,71 @@ +#!/usr/bin/python + +# Usage: $0 file1 file2 .... +# +# Given binary files, remove all rpath entries from them containing +# $ORIGIN. Other rpath entries are not modified + +import subprocess; +import sys; + +def print_usage(name): + print '''Usage: %s file1 file2 .... + + Given binary files, remove all rpath entries from them containing + $ORIGIN. Other rpath entries are not modified''' % (name,) + +def call(args): + pop = subprocess.Popen(args, bufsize=-1, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + stdout, stderr = pop.communicate() + if (len(stderr.strip())) != 0: + print stderr + if pop.returncode != 0: + raise OSError('Error calling %s' % (str(args),)) + return stdout + +def check_chrpath_present(): + try: + print(call(['/usr/bin/chrpath', '-v'])) + return True + except OSError: + return False + +def main(args): + binaries = args[1:] + if len(binaries) == 0: + print_usage(args[0]) + return 1 + + if not check_chrpath_present(): + print('Could not execute "chrpath". Is it installed?') + return 1 + + for binary in binaries: + try: + rpath_output = call(['chrpath', '-l', binary]) + except OSError: + continue + + #print '"' + rpath_output + '"' + # the output is "file: RUNPATH=path1:path2:path3\n" + rpath_output = rpath_output.strip() + start = rpath_output.find('RPATH=') + rpath = rpath_output[start+len('RPATH='):] + rpath_parts = rpath.split(':') + modified_rpath = '' + for part in rpath_parts: + if not '$ORIGIN' in part: + modified_rpath = modified_rpath + ':' + part + # shave off the last ':' + modified_rpath = modified_rpath[1:] + #print '"' + modified_rpath + '"' + if len(modified_rpath) == 0: + call(['chrpath', '-d', binary]) + print '%s: Deleted RPATH' % (binary,) + else: + call(['chrpath', '-r', modified_rpath, binary]) + print '%s: RPATH=%s' % (binary,modified_rpath) + return 0 + +if __name__ == '__main__': + exit(main(sys.argv)) diff --git a/SOURCES/rh1022017.patch b/SOURCES/rh1022017.patch new file mode 100644 index 0000000..3468779 --- /dev/null +++ b/SOURCES/rh1022017.patch @@ -0,0 +1,44 @@ +diff -r cdfd161703ed src/share/classes/sun/security/ssl/HelloExtensions.java +--- openjdk/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java Wed Oct 23 05:22:55 2013 +0100 ++++ openjdk/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java Thu Nov 07 12:41:45 2013 +0000 +@@ -435,25 +435,11 @@ + // the extension value to send in the ClientHello message + static final SupportedEllipticCurvesExtension DEFAULT; + +- private static final boolean fips; +- + static { +- int[] ids; +- fips = SunJSSE.isFIPS(); +- if (fips == false) { +- ids = new int[] { +- // NIST curves first +- // prefer NIST P-256, rest in order of increasing key length +- 23, 1, 3, 19, 21, 6, 7, 9, 10, 24, 11, 12, 25, 13, 14, +- // non-NIST curves +- 15, 16, 17, 2, 18, 4, 5, 20, 8, 22, +- }; +- } else { +- ids = new int[] { +- // same as above, but allow only NIST curves in FIPS mode +- 23, 1, 3, 19, 21, 6, 7, 9, 10, 24, 11, 12, 25, 13, 14, +- }; +- } ++ int[] ids = new int[] { ++ // NSS currently only supports these three NIST curves ++ 23, 24, 25 ++ }; + DEFAULT = new SupportedEllipticCurvesExtension(ids); + } + +@@ -545,10 +531,6 @@ + if ((index <= 0) || (index >= NAMED_CURVE_OID_TABLE.length)) { + return false; + } +- if (fips == false) { +- // in non-FIPS mode, we support all valid indices +- return true; +- } + return DEFAULT.contains(index); + } + diff --git a/SOURCES/rhino.patch b/SOURCES/rhino.patch index 3c11620..bd8ab68 100644 --- a/SOURCES/rhino.patch +++ b/SOURCES/rhino.patch @@ -140,9 +140,9 @@ diff -ur openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLe -import sun.org.mozilla.javascript.internal.*; +import sun.org.mozilla.javascript.*; - import java.security.AccessControlContext; import javax.script.*; import java.security.AccessControlContext; + diff -ur openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java --- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java 2012-02-14 16:12:49.000000000 -0500 +++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java 2012-02-22 14:10:53.327225198 -0500 diff --git a/SPECS/java-1.7.0-openjdk.spec b/SPECS/java-1.7.0-openjdk.spec index 25292c1..55fc90e 100644 --- a/SPECS/java-1.7.0-openjdk.spec +++ b/SPECS/java-1.7.0-openjdk.spec @@ -5,12 +5,18 @@ # conflicting) files in the -debuginfo package %undefine _missing_build_ids_terminate_build -%global icedtea_version 2.4.7 +%global icedtea_version 2.5.1 %global hg_tag icedtea-{icedtea_version} +%global aarch64_rev 360d11d249a6 +%global aarch64_tag jdk7u60_b30_aarch64_%{aarch64_rev} + %global aarch64 aarch64 arm64 armv8 -%global multilib_arches %{power64} sparc64 x86_64 %{aarch64} -%global jit_arches %{ix86} x86_64 sparcv9 sparc64 +#sometimes we need to distinguish big and little endian PPC64 +%global ppc64le ppc64le +%global ppc64be ppc64 ppc64p7 +%global multilib_arches %{power64} sparc64 x86_64 +%global jit_arches %{ix86} x86_64 sparcv9 sparc64 %{ppc64be} %{ppc64le} %{aarch64} # With diabled nss is NSS deactivated, so in NSS_LIBDIR can be wrong path # the initialisation must be here. LAter the pkg-connfig have bugy behaviour @@ -27,11 +33,16 @@ %global archinstall ppc %global archdef PPC %endif -%ifarch %{power64} +%ifarch %{ppc64be} %global archbuild ppc64 %global archinstall ppc64 %global archdef PPC %endif +%ifarch %{ppc64le} +%global archbuild ppc64le +%global archinstall ppc64le +%global archdef PPC64 +%endif %ifarch %{ix86} %global archbuild i586 %global archinstall i386 @@ -81,9 +92,16 @@ %global debugbuild %{nil} %endif +%if %{debug} +%global buildoutputdir openjdk/build/linux-%{archbuild}-debug +%else %global buildoutputdir openjdk/build/linux-%{archbuild} - +%endif +%ifnarch %{ppc64le} %global with_pulseaudio 1 +%else +%global with_pulseaudio 0 +%endif %ifarch %{jit_arches} %global with_systemtap 1 @@ -110,9 +128,8 @@ # Standard JPackage naming and versioning defines. %global origin openjdk -%global updatever 55 -#Fedora have an bogus 60 instead of updatever. Fix when updatever>=60 in version: -%global buildver 13 +%global updatever 65 +%global buildver 17 # Keep priority on 6digits in case updatever>9 %global priority 1700%{updatever} %global javaver 1.7.0 @@ -185,6 +202,8 @@ URL: http://openjdk.java.net/ # sh /git/java-1.7.0-openjdk/rhel-7.0/fsg.sh # tar cJf openjdk-icedtea-%{icedtea_version}.tar.xz openjdk Source0: openjdk-icedtea-%{icedtea_version}.tar.xz +# wget http://hg.openjdk.java.net/aarch64-port/jdk7u/hotspot/archive/%{aarch64_tag}.tar.bz2 +Source1: %{aarch64_tag}.tar.bz2 # README file # This source is under maintainer's/java-team's control @@ -198,7 +217,7 @@ Source5: class-rewriter.tar.gz # Systemtap tapsets. Zipped up to keep it small. # last update from http://icedtea.classpath.org/hg/icedtea7/file/8599fdfc398d/tapset -Source6: systemtap-tapset-2013-10-02.tar.gz +Source6: systemtap-tapset-2014-03-19.tar.xz # .desktop files. Source7: policytool.desktop @@ -226,6 +245,9 @@ Source12: TestCryptoLevel.java Source13: java-abrt-luncher +# Remove $ORIGIN from RPATHS +Source14: remove-origin-from-rpaths + # RPM/distribution specific patches # Allow TCK to pass with access bridge wired in @@ -263,15 +285,25 @@ Patch200: abrt_friendly_hs_log_jdk7.patch # mixer Patch300: pulse-soundproperties.patch +# Make the curves reported by Java's SSL implementation match those of NSS +Patch400: rh1022017.patch + # Temporary patches + #Workaround RH902004 Patch403: PStack-808293.patch +Patch4030: PStack-808293-aarch64.patch +Patch404: gtk3ToBeReverted.patch +Patch405: pr1864_smartcardIO.patch # End of tmp patches + + BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ BuildRequires: alsa-lib-devel +BuildRequires: chrpath BuildRequires: cups-devel BuildRequires: desktop-file-utils BuildRequires: giflib-devel @@ -300,6 +332,13 @@ BuildRequires: at-spi-devel BuildRequires: gawk BuildRequires: pkgconfig >= 0.9.0 BuildRequires: xorg-x11-utils +# Requirements for setting up the nss.cfg +BuildRequires: nss-devel +# Required for NIO2 +BuildRequires: libattr-devel +# Build requirements for SunEC system NSS support +#BuildRequires: nss-softokn-freebl-devel >= 3.16.1 +BuildRequires: python # PulseAudio build requirements. %if %{with_pulseaudio} BuildRequires: pulseaudio-libs-devel >= 0.9.11 @@ -308,14 +347,12 @@ BuildRequires: pulseaudio-libs-devel >= 0.9.11 %ifnarch %{jit_arches} BuildRequires: libffi-devel >= 3.0.10 %endif -# Requirements for setting up the nss.cfg -BuildRequires: nss-devel # cacerts build requirement. BuildRequires: openssl # execstack build requirement. # no prelink on ARM yet -%ifnarch %{arm} %{aarch64} +%ifnarch %{arm} %{aarch64} %{ppc64le} BuildRequires: prelink %endif %ifarch %{jit_arches} @@ -468,6 +505,14 @@ Although working pretty fine, there are known issues with accessibility on, so d %setup -q -c -n %{uniquesuffix} -T -a 0 cp %{SOURCE2} . +%ifarch %{aarch64} +pushd openjdk +rm -r hotspot +tar xf %{SOURCE1} +mv hotspot-%{aarch64_rev} hotspot +popd +%endif + # OpenJDK patches %patch100 @@ -476,6 +521,9 @@ cp %{SOURCE2} . %patch300 %endif +# ECC fix +%patch400 + # Add systemtap patches if enabled %if %{with_systemtap} %endif @@ -492,7 +540,7 @@ tar xzf %{SOURCE5} # Extract systemtap tapsets %if %{with_systemtap} -tar xzf %{SOURCE6} +tar xf %{SOURCE6} for file in tapset/*.in; do @@ -526,21 +574,25 @@ tar xzf %{SOURCE9} %endif %patch106 +%ifnarch %{aarch64} +#friendly hserror is not applicable in head, needs to be revisited %patch200 +%endif +%ifarch %{aarch64} +%patch4030 +%else %patch403 +%endif +%patch404 -R +%patch405 %build # How many cpu's do we have? -%ifarch aarch64 -# temporary until real hardware lands -export NUM_PROC=1 -%else export NUM_PROC=`/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :` export NUM_PROC=${NUM_PROC:-1} -%endif # Build IcedTea and OpenJDK. %ifarch s390x sparc64 alpha %{power64} %{aarch64} @@ -584,7 +636,7 @@ java -cp rewriter com.redhat.rewriter.ClassRewriter \ jar cfm ../rhino.jar META-INF/MANIFEST.MF sun ) -export JDK_TO_BUILD_WITH=/usr/lib/jvm/java-openjdk +export JDK_TO_BUILD_WITH=/usr/lib/jvm/java-1.7.0-openjdk @@ -614,6 +666,9 @@ make \ JDK_UPDATE_VERSION=`printf "%02d" %{updatever}` \ JDK_BUILD_NUMBER=b`printf "%02d" %{buildver}` \ JRE_RELEASE_VERSION=%{javaver}_`printf "%02d" %{updatever}`-b`printf "%02d" %{buildver}` \ +%ifarch %{aarch64} + HOTSPOT_BUILD_VERSION="aarch64_%{aarch64_rev}" \ +%endif MILESTONE="fcs" \ ALT_PARALLEL_COMPILE_JOBS="$NUM_PROC" \ HOTSPOT_BUILD_JOBS="$NUM_PROC" \ @@ -625,26 +680,15 @@ make \ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" \ STRIP_POLICY="no_strip" \ -%ifnarch %{jit_arches} - LIBFFI_CFLAGS="`pkg-config --cflags libffi` " \ - LIBFFI_LIBS="-lffi " \ - ZERO_BUILD="true" \ - ZERO_LIBARCH="%{archbuild}" \ - ZERO_ARCHDEF="%{archdef}" \ -%ifarch ppc %{power64} s390 s390x - ZERO_ENDIANNESS="big" \ -%else - ZERO_ENDIANNESS="little" \ - ZERO_ARCHFLAG="-D_LITTLE_ENDIAN" \ -%endif -%endif + JAVAC_WARNINGS_FATAL="false" \ + INSTALL_LOCATION=%{_jvmdir}/%{sdkdir} \ %{debugbuild} popd >& /dev/null -%ifarch %{jit_arches} -chmod 644 $(pwd)/%{buildoutputdir}/j2sdk-image/lib/sa-jdi.jar -%endif +if [ -e $(pwd)/%{buildoutputdir}/j2sdk-image/lib/sa-jdi.jar ]; then + chmod 644 $(pwd)/%{buildoutputdir}/j2sdk-image/lib/sa-jdi.jar; +fi export JAVA_HOME=$(pwd)/%{buildoutputdir}/j2sdk-image @@ -684,6 +728,9 @@ rm -f %{buildoutputdir}/lib/fontconfig*.bfc $JAVA_HOME/bin/javac -d . %{SOURCE12} $JAVA_HOME/bin/java TestCryptoLevel +files=$(find $(pwd)/%{buildoutputdir}/j2sdk-image/ -type f | xargs file | grep ELF | cut -d: -f1) +python %{SOURCE14} $files + sh %{SOURCE11} ${JAVA_HOME} %install @@ -959,6 +1006,12 @@ for i,p in pairs(foundJvms) do if (debug) then print("matched: "..p) end; + if (currentjvm == p) then + if (debug) then + print("this jdk is already installed. exiting lua script") + end; + return + end ; table.insert(jvms, p) else if (debug) then @@ -1113,6 +1166,10 @@ done update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \ --slave %{_jvmjardir}/jre-%{javaver} jre_%{javaver}_%{origin}_exports %{jvmjardir} +update-desktop-database %{_datadir}/applications &> /dev/null || : + +/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + exit 0 %postun @@ -1287,13 +1344,19 @@ exit 0 %files -f %{name}.files %{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png - +# important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue +# all config/norepalce files (and more) have to be declared in pretrans. See pretrans %files headless -f %{name}.files-headless %defattr(-,root,root,-) %doc %{_jvmdir}/%{sdkdir}/ASSEMBLY_EXCEPTION %doc %{_jvmdir}/%{sdkdir}/LICENSE %doc %{_jvmdir}/%{sdkdir}/THIRD_PARTY_README %dir %{_jvmdir}/%{sdkdir} +%dir %{_jvmdir}/%{sdkdir}/jre/lib/ +%dir %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall} +%ifarch x86_64 +%dir %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/xawt +%endif %{_jvmdir}/%{jrelnk} %{_jvmjardir}/%{jrelnk} %{_jvmprivdir}/* @@ -1401,6 +1464,18 @@ exit 0 %{_jvmdir}/%{jredir}/lib/accessibility.properties %changelog +* Mon Jul 14 2014 Jiri Vanek - 1.7.0.65-2.5.1.2 +- added and applied fix for samrtcard io patch405, pr1864_smartcardIO.patch +- Resolves: rhbz#1115876 + +* Mon Jul 07 2014 Jiri Vanek - 1.7.0.65-2.5.1.1 +- updated to security patched icedtea7-forest-2.5.1 +- Resolves: rhbz#1115876 + +* Wed Jul 02 2014 Jiri Vanek - 1.7.0.60-2.5.0.1 +- updated to icedtea7-forest-2.5.0 (rh1114934) +- Resolves: rhbz#1115876 + * Fri May 30 2014 Andrew John Hughes - 1.7.0.55-2.4.7.2 - Remove NSS patches. Issues with PKCS11 provider mean it shouldn't be enabled. - Always setup nss.cfg and depend on nss-devel at build-time to do so.