[java-1.8.0-openjdk/f21] break package.

jiri vanek jvanek at fedoraproject.org
Tue Aug 5 15:08:22 UTC 2014


commit b5340fbdd89ce5df4faec5aecffe2ccdd319f2fb
Author: Jiri Vanek <jvanek at redhat.com>
Date:   Tue Aug 5 17:06:43 2014 +0200

    break package.
    
    The jdk8 packages have been left out of minor bugfixes which meat 7. This must be fixed before f21 release. Some work done now, but more awaiting. Pushing for today

 java-1.8.0-openjdk.spec |  573 +++++++++++++++++++++++++++++++----------------
 java-abrt-launcher.in   |    7 -
 jconsole.desktop.in     |    6 +-
 nss.cfg                 |    3 +-
 policytool.desktop.in   |    6 +-
 5 files changed, 388 insertions(+), 207 deletions(-)
---
diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec
index ef77a0b..e9afc12 100644
--- a/java-1.8.0-openjdk.spec
+++ b/java-1.8.0-openjdk.spec
@@ -4,7 +4,7 @@
 %global aarch64_hg_tag  992
 
 %global aarch64         aarch64 arm64 armv8
-%global multilib_arches %{power64} sparc64 x86_64 %{aarch64}
+%global multilib_arches %{power64} sparc64 x86_64
 %global jit_arches      %{ix86} x86_64 sparcv9 sparc64 %{aarch64}
 
 # sometimes we need to distinguish big and little endian PPC64
@@ -12,6 +12,17 @@
 %global ppc64le                 ppc64le
 %global ppc64be                 ppc64 ppc64p7
 
+# 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
+#looks liekopenjdk RPM specific bug
+# Always set this so the nss.cfg file is not broken
+%global NSS_LIBDIR %(pkg-config --variable=libdir nss)
+
+#fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
+%global _privatelibs libmawt[.]so.*
+%global __provides_exclude ^(%{_privatelibs})$
+%global __requires_exclude ^(%{_privatelibs})$
+
 %ifarch x86_64
 %global archinstall amd64
 %endif
@@ -81,10 +92,8 @@
 %ifarch %{multilib_arches}
 %global syslibdir       %{_prefix}/lib64
 %global _libdir         %{_prefix}/lib
-%global archname        %{name}.%{_arch}
 %else
 %global syslibdir       %{_libdir}
-%global archname        %{name}
 %endif
 
 # Standard JPackage naming and versioning defines.
@@ -98,24 +107,19 @@
 %global javaver         1.8.0
 
 # Standard JPackage directories and symbolic links.
-# Make 64-bit JDKs just another alternative on 64-bit architectures.
-%ifarch %{multilib_arches}
-%global sdklnk          java-%{javaver}-%{origin}.%{_arch}
-%global jrelnk          jre-%{javaver}-%{origin}.%{_arch}
-%global sdkdir          %{name}-%{version}.%{_arch}
-%else
-%global sdklnk          java-%{javaver}-%{origin}
-%global jrelnk          jre-%{javaver}-%{origin}
-%global sdkdir          %{name}-%{version}
-%endif
+%global sdkdir          %{uniquesuffix}
+%global jrelnk          jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}
+
 %global jredir          %{sdkdir}/jre
-%global sdkbindir       %{_jvmdir}/%{sdklnk}/bin
-%global jrebindir       %{_jvmdir}/%{jrelnk}/bin
-%ifarch %{multilib_arches}
-%global jvmjardir       %{_jvmjardir}/%{name}-%{version}.%{_arch}
-%else
-%global jvmjardir       %{_jvmjardir}/%{name}-%{version}
-%endif
+%global sdkbindir       %{_jvmdir}/%{sdkdir}/bin
+%global jrebindir       %{_jvmdir}/%{jredir}/bin
+%global jvmjardir       %{_jvmjardir}/%{uniquesuffix}
+
+%global fullversion     %{name}-%{version}-%{release}
+
+%global uniquesuffix          %{fullversion}.%{_arch}
+#we can copy the javadoc to not arched dir, or made it not noarch
+%global uniquejavadocdir       %{fullversion}
 
 %if %{with_systemtap}
 # Where to install systemtap tapset (links)
@@ -135,7 +139,7 @@
 
 Name:    java-%{javaver}-%{origin}
 Version: %{javaver}.%{updatever}
-Release: 8.%{buildver}%{?dist}
+Release: 10.%{buildver}%{?dist}
 # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons,
 # and this change was brought into RHEL-4.  java-1.5.0-ibm packages
 # also included the epoch in their virtual provides.  This created a
@@ -161,8 +165,6 @@ Source1:  aarch64-hotspot-jdk8-%{aarch64_buildver}-aarch64-%{aarch64_hg_tag}.tar
 # Custom README for -src subpackage
 Source2:  README.src
 
-Source3:  java-abrt-launcher.in
-
 # Use 'generate_tarballs.sh' to generate the following tarballs
 # They are based on code contained in the IcedTea7 project.
 
@@ -254,11 +256,13 @@ BuildRequires: libXi-devel
 BuildRequires: libXinerama-devel
 BuildRequires: libXt-devel
 BuildRequires: libXtst-devel
+# Requirements for setting up the nss.cfg
+BuildRequires: nss-devel
 BuildRequires: pkgconfig
 BuildRequires: xorg-x11-proto-devel
 #BuildRequires: redhat-lsb
 BuildRequires: zip
-BuildRequires: java-1.8.0-openjdk-devel
+BuildRequires: java-1.7.0-openjdk-devel
 # Zero-assembler build requirement.
 %ifnarch %{jit_arches}
 BuildRequires: libffi-devel
@@ -280,6 +284,8 @@ Requires: xorg-x11-fonts-Type1
 
 # Requires rest of java
 Requires: %{name}-headless = %{epoch}:%{version}-%{release}
+OrderWithRequires: %{name}-headless = %{epoch}:%{version}-%{release}
+
 
 # Standard JPackage base provides.
 Provides: jre-%{javaver}-%{origin} = %{epoch}:%{version}-%{release}
@@ -298,7 +304,6 @@ Provides:  java-1.7.0-openjdk = %{epoch}:%{version}-%{release}
 %description
 The OpenJDK runtime environment.
 
-
 %package headless
 Summary: OpenJDK Runtime Environment
 Group:   Development/Languages
@@ -319,7 +324,7 @@ Provides: jre-%{javaver}-%{origin}-headless = %{epoch}:%{version}-%{release}
 Provides: jre-%{origin}-headless = %{epoch}:%{version}-%{release}
 Provides: jre-%{javaver}-headless = %{epoch}:%{version}-%{release}
 Provides: java-%{javaver}-headless = %{epoch}:%{version}-%{release}
-Provides: jre-headless = %{javaver}
+Provides: jre-headless = %{epoch}:%{javaver}
 Provides: java-%{origin}-headless = %{epoch}:%{version}-%{release}
 Provides: java-headless = %{epoch}:%{javaver}
 # Standard JPackage extensions provides.
@@ -340,13 +345,13 @@ Provides: java-1.7.0-openjdk-headless = %{epoch}:%{version}-%{release}
 %description headless
 The OpenJDK runtime environment without audio and video support.
 
-
 %package devel
 Summary: OpenJDK Development Environment
 Group:   Development/Tools
 
 # Require base package.
 Requires:         %{name} = %{epoch}:%{version}-%{release}
+OrderWithRequires: %{name}-headless = %{epoch}:%{version}-%{release}
 # Post requires alternatives to install tool alternatives.
 Requires(post):   %{_sbindir}/alternatives
 # Postun requires alternatives to uninstall tool alternatives.
@@ -372,6 +377,7 @@ Summary: OpenJDK Demos
 Group:   Development/Languages
 
 Requires: %{name} = %{epoch}:%{version}-%{release}
+OrderWithRequires: %{name}-headless = %{epoch}:%{version}-%{release}
 
 Obsoletes: java-1.7.0-openjdk-demo <= 1:1.7.0.60-2.5.0.2
 Provides: java-1.7.0-openjdk-demo = %{epoch}:%{version}-%{release}
@@ -397,6 +403,7 @@ Group:   Documentation
 Requires: jpackage-utils
 BuildArch: noarch
 
+OrderWithRequires: %{name}-headless = %{epoch}:%{version}-%{release}
 # Post requires alternatives to install javadoc alternative.
 Requires(post):   %{_sbindir}/alternatives
 # Postun requires alternatives to uninstall javadoc alternative.
@@ -412,11 +419,11 @@ Provides: java-1.7.0-openjdk-javadoc = %{epoch}:%{version}-%{release}
 %description javadoc
 The OpenJDK API documentation.
 
-
 %package accessibility
 Summary: OpenJDK accessibility connector
 Requires: java-atk-wrapper
 Requires: %{name} = %{epoch}:%{version}-%{release}
+OrderWithRequires: %{name}-headless = %{epoch}:%{version}-%{release}
 
 Obsoletes: java-1.7.0-openjdk-accessibility <= 1:1.7.0.60-2.5.0.2
 Provides: java-1.7.0-openjdk-accessibility = %{epoch}:%{version}-%{release}
@@ -498,7 +505,7 @@ for file in tapset/*.in; do
 
     OUTPUT_FILE=`echo $file | sed -e s:\.in$::g`
     sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/server/libjvm.so:g $file > $file.1
-# TODO find out which architectures other than ix86 have a client vm
+# TODO find out which architectures other than i686 have a client vm
 %ifarch %{ix86}
     sed -e s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/client/libjvm.so:g $file.1 > $OUTPUT_FILE
 %else
@@ -514,8 +521,8 @@ done
 # Prepare desktop files
 for file in %{SOURCE9} %{SOURCE10} ; do
     OUTPUT_FILE=`basename $file | sed -e s:\.in$::g`
-    sed -e s:@JAVA_HOME@:%{_jvmdir}/%{sdkdir}:g $file > $OUTPUT_FILE
-    sed -i -e s:@VERSION@:%{version}-%{release}.%{_arch}:g $OUTPUT_FILE
+    sed -e s:#JAVA_HOME#:%{sdkbindir}:g $file > $OUTPUT_FILE
+    sed -i -e  s:#ARCH#:%{version}-%{release}.%{_arch}:g $OUTPUT_FILE
 done
 
 %build
@@ -524,13 +531,15 @@ export NUM_PROC=`/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :`
 export NUM_PROC=${NUM_PROC:-1}
 
 # Build IcedTea and OpenJDK.
-%ifarch s390x sparc64 alpha %{power64}
+%ifarch s390x sparc64 alpha %{power64} %{aarch64}
 export ARCH_DATA_MODEL=64
 %endif
 %ifarch alpha
 export CFLAGS="$CFLAGS -mieee"
 %endif
 
+export CFLAGS="$CFLAGS -fstack-protector-strong"
+
 (cd jdk8/common/autoconf
  bash ./autogen.sh
 )
@@ -589,12 +598,12 @@ find images/j2sdk-image -iname '*.debuginfo' -exec rm {} \;
 
 popd >& /dev/null
 
+# Install nss.cfg right away as we will be using the JRE above
 export JAVA_HOME=$(pwd)/%{buildoutputdir}/images/j2sdk-image
 
-# Install java-abrt-luncher
-mv $JAVA_HOME/jre/bin/java $JAVA_HOME/jre/bin/java-abrt
-cat %{SOURCE3} | sed -e s:@JAVA_PATH@:%{_jvmdir}/%{jredir}/bin/java-abrt:g -e s:@LIB_DIR@:%{LIBDIR}/libabrt-java-connector.so:g > $JAVA_HOME/jre/bin/java
-chmod 755 $JAVA_HOME/jre/bin/java
+# Install nss.cfg right away as we will be using the JRE above
+install -m 644 %{SOURCE11} $JAVA_HOME/jre/lib/security/
+
 
 # Use system-wide tzdata
 rm $JAVA_HOME/jre/lib/tzdb.dat
@@ -630,6 +639,10 @@ popd
 
 pushd %{buildoutputdir}/images/j2sdk-image
 
+#install jsa directories so we can owe them
+mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/%{archinstall}/server/
+mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/%{archinstall}/client/
+
   # Install main files.
   install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
   cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
@@ -639,7 +652,7 @@ pushd %{buildoutputdir}/images/j2sdk-image
 %if %{with_systemtap}
   # Install systemtap support files.
   install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset
-  cp -a $RPM_BUILD_DIR/%{name}/tapset/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset/
+  cp -a $RPM_BUILD_DIR/%{uniquesuffix}/tapset/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset/
   install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
   pushd $RPM_BUILD_ROOT%{tapsetdir}
     RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir}/tapset %{tapsetdir})
@@ -680,17 +693,15 @@ pushd %{buildoutputdir}/images/j2sdk-image
   popd
 
   # Install JCE policy symlinks.
-  install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{archname}/jce/vanilla
+  install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{uniquesuffix}/jce/vanilla
 
-  # Install versionless symlinks.
+  # Install versioned symlinks.
   pushd $RPM_BUILD_ROOT%{_jvmdir}
     ln -sf %{jredir} %{jrelnk}
-    ln -sf %{sdkdir} %{sdklnk}
   popd
 
   pushd $RPM_BUILD_ROOT%{_jvmjardir}
     ln -sf %{sdkdir} %{jrelnk}
-    ln -sf %{sdkdir} %{sdklnk}
   popd
 
   # Remove javaws man page
@@ -704,7 +715,7 @@ pushd %{buildoutputdir}/images/j2sdk-image
     iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
     mv -f $manpage.tmp $manpage
     install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
-      $manpage .1)-%{name}.1
+      $manpage .1)-%{uniquesuffix}.1
   done
 
   # Install demos and samples.
@@ -716,13 +727,9 @@ pushd %{buildoutputdir}/images/j2sdk-image
 popd
 
 
-# Install nss.cfg
-install -m 644 %{SOURCE11} $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/
-
-
 # Install Javadoc documentation.
 install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
-cp -a %{buildoutputdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{name}
+cp -a %{buildoutputdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir}
 
 # Install icons and menu entries.
 for s in 16 24 32 48 ; do
@@ -734,10 +741,14 @@ done
 # Install desktop files.
 install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
 for e in jconsole policytool ; do
-    desktop-file-install --vendor=%{name} --mode=644 \
+    desktop-file-install --vendor=%{uniquesuffix} --mode=644 \
         --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
 done
 
+# Install /etc/.java/.systemPrefs/ directory
+# See https://bugzilla.redhat.com/show_bug.cgi?id=741821
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
+
 # Find JRE directories.
 find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type d \
   | grep -v jre/lib/security \
@@ -751,24 +762,24 @@ find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type f -o -type l \
 #split %{name}.files to %{name}.files-headless and %{name}.files
 #see https://bugzilla.redhat.com/show_bug.cgi?id=875408
 NOT_HEADLESS=\
-"%{_jvmdir}/%{jredir}/lib/%{archinstall}/libjsoundalsa.so
-%{_jvmdir}/%{jredir}/lib/%{archinstall}/libpulse-java.so
-%{_jvmdir}/%{jredir}/lib/%{archinstall}/libsplashscreen.so
-%{_jvmdir}/%{jredir}/lib/%{archinstall}/libawt_xawt.so
-%{_jvmdir}/%{jredir}/lib/%{archinstall}/libjawt.so"
+"%{_jvmdir}/%{uniquesuffix}/lib/%{archinstall}/libjsoundalsa.so
+%{_jvmdir}/%{uniquesuffix}/lib/%{archinstall}/libpulse-java.so
+%{_jvmdir}/%{uniquesuffix}/lib/%{archinstall}/libsplashscreen.so
+%{_jvmdir}/%{uniquesuffix}/lib/%{archinstall}/libawt_xawt.so
+%{_jvmdir}/%{uniquesuffix}/lib/%{archinstall}/libjawt.so"
 #filter %{name}.files from %{name}.files.all to %{name}.files-headless
 ALL=`cat %{name}.files.all`
-for file in $ALL ; do
-    INLCUDE="NO" ;
-    for blacklist in $NOT_HEADLESS ; do
-    # we can not match normally, because rpmbuild will evaluate !0 result as script failure
+for file in $ALL ; do 
+  INLCUDE="NO" ; 
+  for blacklist in $NOT_HEADLESS ; do
+#we can not match normally, because rpmbuild will evaluate !0 result as script failure
     q=`expr match "$file" "$blacklist"` || :
-    l=`expr length "$blacklist"` || :
-    if [ $q -eq $l ]; then
-        INLCUDE="YES" ;
+    l=`expr length  "$blacklist"` || :
+    if [ $q -eq $l  ]; then 
+      INLCUDE="YES" ; 
     fi;
 done
-if [ "x$INLCUDE" = "xNO" ]; then
+if [ "x$INLCUDE" = "xNO"  ]; then 
     echo "$file" >> %{name}.files-headless
 else
     echo "$file" >> %{name}.files
@@ -815,18 +826,195 @@ find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
     echo "" >> accessibility.properties
   popd
 
-%post
+%pretrans headless -p <lua>
+-- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue 
+
+local posix = require "posix"
+
+local currentjvm = "%{uniquesuffix}"
+local jvmdir = "%{_jvmdir}"
+local jvmDestdir = jvmdir
+local origname = "%{name}"
+local origjavaver = "%{javaver}"
+--trasnform substitute names to lua patterns
+--all percentages must be doubled for case of RPM escapingg
+local name = string.gsub(string.gsub(origname, "%%-", "%%%%-"), "%%.", "%%%%.")
+local javaver = string.gsub(origjavaver, "%%.", "%%%%.")
+local arch ="%{_arch}"
+local  debug = false;
+
+local jvms = { }
+
+local caredFiles = {"jre/lib/calendars.properties",
+              "jre/lib/content-types.properties",
+              "jre/lib/flavormap.properties",
+              "jre/lib/logging.properties",
+              "jre/lib/net.properties",
+              "jre/lib/psfontj2d.properties",
+              "jre/lib/sound.properties",
+              "jre/lib/tz.properties",
+              "jre/lib/deployment.properties",
+              "jre/lib/deployment.config",
+              "jre/lib/security/US_export_policy.jar",
+              "jre/lib/security/java.policy",
+              "jre/lib/security/java.security",
+              "jre/lib/security/local_policy.jar",
+              "jre/lib/security/nss.cfg,",
+              "jre/lib/ext"}
+
+function splitToTable(source, pattern)
+  local i1 = string.gmatch(source, pattern) 
+  local l1 = {}
+  for i in i1 do
+    table.insert(l1, i)
+  end
+  return l1
+end
+
+if (debug) then
+  print("started")
+end;
+
+foundJvms = posix.dir(jvmdir);
+if (foundJvms == nil) then
+  if (debug) then
+    print("no, or nothing in "..jvmdir.." exit")
+  end;
+  return
+end
+
+if (debug) then
+  print("found "..#foundJvms.."jvms")
+end;
+
+for i,p in pairs(foundJvms) do
+-- regex similar to %{_jvmdir}/%{name}-%{javaver}*%{_arch} bash command
+--all percentages must be doubled for case of RPM escapingg
+  if (string.find(p, name.."%%-"..javaver..".*"..arch) ~= nil ) then
+    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
+      print("NOT matched:  "..p)
+    end;
+  end
+end
+
+if (#jvms <=0) then 
+  if (debug) then
+    print("no matching jdk in "..jvmdir.." exit")
+  end;
+  return
+end;
+
+if (debug) then
+  print("matched "..#jvms.." jdk in "..jvmdir)
+end;
+
+--full names are like java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64
+table.sort(jvms , function(a,b) 
+-- version-sort
+-- split on non word: . - 
+  local l1 = splitToTable(a, "[^%.-]+") 
+  local l2 = splitToTable(b, "[^%.-]+") 
+  for x = 1, math.min(#l1, #l2) do
+    local l1x = tonumber(l1[x])
+    local l2x = tonumber(l2[x])
+    if (l1x ~= nil and l2x ~= nil)then
+--if hunks are numbers, go with them 
+      if (l1x < l2x) then return true; end
+      if (l1x > l2x) then return false; end
+    else
+      if (l1[x] < l2[x]) then return true; end
+      if (l1[x] > l2[x]) then return false; end
+    end
+-- if hunks are equals then move to another pair of hunks
+  end
+return a<b
+
+end)
+
+if (debug) then
+  print("sorted lsit of jvms")
+  for i,file in pairs(jvms) do
+    print(file)
+  end
+end
+
+latestjvm = jvms[#jvms]
+
+
+for i,file in pairs(caredFiles) do
+  local SOURCE=jvmdir.."/"..latestjvm.."/"..file
+  local DEST=jvmDestdir.."/"..currentjvm.."/"..file
+  if (debug) then
+    print("going to copy "..SOURCE)
+    print("to  "..DEST)
+  end;
+  local stat1 = posix.stat(SOURCE, "type");
+  if (stat1 ~= nil) then
+  if (debug) then
+    print(SOURCE.." exists")
+  end;
+  local s = ""
+  local dirs = splitToTable(DEST, "[^/]+") 
+  for i,d in pairs(dirs) do
+    if (i == #dirs) then
+      break
+    end
+    s = s.."/"..d
+    local stat2 = posix.stat(s, "type");
+    if (stat2 == nil) then
+      if (debug) then
+        print(s.." does not exists, creating")
+      end;
+      posix.mkdir(s)
+    else
+      if (debug) then
+        print(s.." exists,not creating")
+      end;
+    end
+  end
+-- Copy with -a to keep everything intact
+    local exe = "cp".." -ar "..SOURCE.." "..DEST
+    if (debug) then
+      print("executing "..exe)
+    end;    
+    os.execute(exe)
+  else
+    if (debug) then
+      print(SOURCE.." does not exists")
+    end;
+  end
+end
+
+
+%post 
 update-desktop-database %{_datadir}/applications &> /dev/null || :
 /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
 exit 0
 
+
 # FIXME: identical binaries are copied, not linked. This needs to be
 # fixed upstream.
 %post headless
+%ifarch %{jit_arches}
+#see https://bugzilla.redhat.com/show_bug.cgi?id=513605
+%{jrebindir}/java -Xshare:dump >/dev/null 2>/dev/null
+%endif
+
 ext=.gz
 alternatives \
   --install %{_bindir}/java java %{jrebindir}/java %{priority} \
-  --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jrelnk} \
+  --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jredir} \
   --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk} \
   --slave %{_bindir}/jjs jjs %{jrebindir}/jjs \
   --slave %{_bindir}/keytool keytool %{jrebindir}/keytool \
@@ -838,37 +1026,36 @@ alternatives \
   --slave %{_bindir}/tnameserv tnameserv %{jrebindir}/tnameserv \
   --slave %{_bindir}/unpack200 unpack200 %{jrebindir}/unpack200 \
   --slave %{_mandir}/man1/java.1$ext java.1$ext \
-  %{_mandir}/man1/java-%{name}.1$ext \
+  %{_mandir}/man1/java-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jjs.1$ext jjs.1$ext \
-  %{_mandir}/man1/jjs-%{name}.1$ext \
+  %{_mandir}/man1/jjs-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \
-  %{_mandir}/man1/keytool-%{name}.1$ext \
+  %{_mandir}/man1/keytool-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \
-  %{_mandir}/man1/orbd-%{name}.1$ext \
+  %{_mandir}/man1/orbd-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \
-  %{_mandir}/man1/pack200-%{name}.1$ext \
+  %{_mandir}/man1/pack200-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \
-  %{_mandir}/man1/rmid-%{name}.1$ext \
+  %{_mandir}/man1/rmid-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \
-  %{_mandir}/man1/rmiregistry-%{name}.1$ext \
+  %{_mandir}/man1/rmiregistry-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \
-  %{_mandir}/man1/servertool-%{name}.1$ext \
+  %{_mandir}/man1/servertool-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \
-  %{_mandir}/man1/tnameserv-%{name}.1$ext \
+  %{_mandir}/man1/tnameserv-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \
-  %{_mandir}/man1/unpack200-%{name}.1$ext
-
-alternatives \
-  --install %{_jvmdir}/jre-%{origin} \
-  jre_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \
-  --slave %{_jvmjardir}/jre-%{origin} \
-  jre_%{origin}_exports %{_jvmjardir}/%{jrelnk}
+  %{_mandir}/man1/unpack200-%{uniquesuffix}.1$ext
+
+for X in %{origin} %{javaver} ; do
+  alternatives \
+    --install %{_jvmdir}/jre-"$X" \
+    jre_"$X" %{_jvmdir}/%{jredir} %{priority} \
+    --slave %{_jvmjardir}/jre-"$X" \
+    jre_"$X"_exports %{_jvmjardir}/%{jredir}
+done
 
-alternatives \
-  --install %{_jvmdir}/jre-%{javaver} \
-  jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} \
-  --slave %{_jvmjardir}/jre-%{javaver} \
-  jre_%{javaver}_exports %{_jvmjardir}/%{jrelnk}
+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 || :
 
@@ -886,13 +1073,13 @@ fi
 
 exit 0
 
+
 %postun headless
-if [ $1 -eq 0 ]
-then
   alternatives --remove java %{jrebindir}/java
-  alternatives --remove jre_%{origin} %{_jvmdir}/%{jrelnk}
-  alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk}
-fi
+  alternatives --remove jre_%{origin} %{_jvmdir}/%{jredir}
+  alternatives --remove jre_%{javaver} %{_jvmdir}/%{jredir}
+  alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk}
+
 
 %posttrans
 /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
@@ -901,8 +1088,8 @@ fi
 ext=.gz
 alternatives \
   --install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \
-  --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdklnk} \
-  --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdklnk} \
+  --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir} \
+  --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdkdir} \
   --slave %{_bindir}/appletviewer appletviewer %{sdkbindir}/appletviewer \
   --slave %{_bindir}/extcheck extcheck %{sdkbindir}/extcheck \
   --slave %{_bindir}/idlj idlj %{sdkbindir}/idlj \
@@ -933,77 +1120,76 @@ alternatives \
   --slave %{_bindir}/wsimport wsimport %{sdkbindir}/wsimport \
   --slave %{_bindir}/xjc xjc %{sdkbindir}/xjc \
   --slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \
-  %{_mandir}/man1/appletviewer-%{name}.1$ext \
+  %{_mandir}/man1/appletviewer-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \
-  %{_mandir}/man1/extcheck-%{name}.1$ext \
+  %{_mandir}/man1/extcheck-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/idlj.1$ext idlj.1$ext \
-  %{_mandir}/man1/idlj-%{name}.1$ext \
+  %{_mandir}/man1/idlj-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jar.1$ext jar.1$ext \
-  %{_mandir}/man1/jar-%{name}.1$ext \
+  %{_mandir}/man1/jar-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \
-  %{_mandir}/man1/jarsigner-%{name}.1$ext \
+  %{_mandir}/man1/jarsigner-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/javac.1$ext javac.1$ext \
-  %{_mandir}/man1/javac-%{name}.1$ext \
+  %{_mandir}/man1/javac-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \
-  %{_mandir}/man1/javadoc-%{name}.1$ext \
+  %{_mandir}/man1/javadoc-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/javah.1$ext javah.1$ext \
-  %{_mandir}/man1/javah-%{name}.1$ext \
+  %{_mandir}/man1/javah-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/javap.1$ext javap.1$ext \
-  %{_mandir}/man1/javap-%{name}.1$ext \
+  %{_mandir}/man1/javap-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \
-  %{_mandir}/man1/jcmd-%{name}.1$ext \
+  %{_mandir}/man1/jcmd-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \
-  %{_mandir}/man1/jconsole-%{name}.1$ext \
+  %{_mandir}/man1/jconsole-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \
-  %{_mandir}/man1/jdb-%{name}.1$ext \
+  %{_mandir}/man1/jdb-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \
-  %{_mandir}/man1/jdeps-%{name}.1$ext \
+  %{_mandir}/man1/jdeps-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \
-  %{_mandir}/man1/jhat-%{name}.1$ext \
+  %{_mandir}/man1/jhat-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \
-  %{_mandir}/man1/jinfo-%{name}.1$ext \
+  %{_mandir}/man1/jinfo-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \
-  %{_mandir}/man1/jmap-%{name}.1$ext \
+  %{_mandir}/man1/jmap-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jps.1$ext jps.1$ext \
-  %{_mandir}/man1/jps-%{name}.1$ext \
+  %{_mandir}/man1/jps-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \
-  %{_mandir}/man1/jrunscript-%{name}.1$ext \
+  %{_mandir}/man1/jrunscript-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \
-  %{_mandir}/man1/jsadebugd-%{name}.1$ext \
+  %{_mandir}/man1/jsadebugd-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \
-  %{_mandir}/man1/jstack-%{name}.1$ext \
+  %{_mandir}/man1/jstack-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \
-  %{_mandir}/man1/jstat-%{name}.1$ext \
+  %{_mandir}/man1/jstat-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \
-  %{_mandir}/man1/jstatd-%{name}.1$ext \
+  %{_mandir}/man1/jstatd-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \
-  %{_mandir}/man1/native2ascii-%{name}.1$ext \
+  %{_mandir}/man1/native2ascii-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \
-  %{_mandir}/man1/policytool-%{name}.1$ext \
+  %{_mandir}/man1/policytool-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \
-  %{_mandir}/man1/rmic-%{name}.1$ext \
+  %{_mandir}/man1/rmic-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \
-  %{_mandir}/man1/schemagen-%{name}.1$ext \
+  %{_mandir}/man1/schemagen-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \
-  %{_mandir}/man1/serialver-%{name}.1$ext \
+  %{_mandir}/man1/serialver-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \
-  %{_mandir}/man1/wsgen-%{name}.1$ext \
+  %{_mandir}/man1/wsgen-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \
-  %{_mandir}/man1/wsimport-%{name}.1$ext \
+  %{_mandir}/man1/wsimport-%{uniquesuffix}.1$ext \
   --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \
-  %{_mandir}/man1/xjc-%{name}.1$ext
+  %{_mandir}/man1/xjc-%{uniquesuffix}.1$ext
+
+for X in %{origin} %{javaver} ; do
+  alternatives \
+    --install %{_jvmdir}/java-"$X" \
+    java_sdk_"$X" %{_jvmdir}/%{sdkdir} %{priority} \
+    --slave %{_jvmjardir}/java-"$X" \
+    java_sdk_"$X"_exports %{_jvmjardir}/%{sdkdir}
+done
 
-alternatives \
-  --install %{_jvmdir}/java-%{origin} \
-  java_sdk_%{origin} %{_jvmdir}/%{sdklnk} %{priority} \
-  --slave %{_jvmjardir}/java-%{origin} \
-  java_sdk_%{origin}_exports %{_jvmjardir}/%{sdklnk}
-
-alternatives \
-  --install %{_jvmdir}/java-%{javaver} \
-  java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} %{priority} \
-  --slave %{_jvmjardir}/java-%{javaver} \
-  java_sdk_%{javaver}_exports %{_jvmjardir}/%{sdklnk}
+update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir} %{priority} \
+--slave %{_jvmjardir}/java-%{javaver}-%{origin}       java_sdk_%{javaver}_%{origin}_exports      %{_jvmjardir}/%{sdkdir}
 
 update-desktop-database %{_datadir}/applications &> /dev/null || :
 /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
@@ -1011,38 +1197,33 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
 exit 0
 
 %postun devel
-if [ $1 -eq 0 ]
-then
   alternatives --remove javac %{sdkbindir}/javac
-  alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdklnk}
-  alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdklnk}
-fi
+  alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir}
+  alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir}
+  alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir}
 
 update-desktop-database %{_datadir}/applications &> /dev/null || :
 
 if [ $1 -eq 0 ] ; then
-  /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
-  /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
+    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 fi
 
-
 exit 0
 
-%posttrans devel
+%posttrans  devel
 /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 
+
 %post javadoc
 alternatives \
-  --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{name}/api \
+  --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir}/api \
   %{priority}
 
 exit 0
 
 %postun javadoc
-if [ $1 -eq 0 ]
-then
-  alternatives --remove javadocdir %{_javadocdir}/%{name}/api
-fi
+  alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir}/api
 
 exit 0
 
@@ -1050,13 +1231,13 @@ exit 0
 %files -f %{name}.files
 %{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png
 
-
-%files headless -f %{name}.files-headless
+# 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 %{buildoutputdir}/images/j2sdk-image/jre/ASSEMBLY_EXCEPTION
 %doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE
 %doc %{buildoutputdir}/images/j2sdk-image/jre/THIRD_PARTY_README
-
 %dir %{_jvmdir}/%{sdkdir}
 %{_jvmdir}/%{jrelnk}
 %{_jvmjardir}/%{jrelnk}
@@ -1067,20 +1248,27 @@ exit 0
 %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy
 %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security
 %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/blacklisted.certs
-%{_mandir}/man1/java-%{name}.1*
-%{_mandir}/man1/jjs-%{name}.1*
-%{_mandir}/man1/keytool-%{name}.1*
-%{_mandir}/man1/orbd-%{name}.1*
-%{_mandir}/man1/pack200-%{name}.1*
-%{_mandir}/man1/rmid-%{name}.1*
-%{_mandir}/man1/rmiregistry-%{name}.1*
-%{_mandir}/man1/servertool-%{name}.1*
-%{_mandir}/man1/tnameserv-%{name}.1*
-%{_mandir}/man1/unpack200-%{name}.1*
-%{_jvmdir}/%{jredir}/lib/security/nss.cfg
+%config(noreplace) %{_jvmdir}/%{jredir}/lib/logging.properties
+%{_mandir}/man1/java-%{uniquesuffix}.1*
+%{_mandir}/man1/jjs-%{uniquesuffix}.1*
+%{_mandir}/man1/keytool-%{uniquesuffix}.1*
+%{_mandir}/man1/orbd-%{uniquesuffix}.1*
+%{_mandir}/man1/pack200-%{uniquesuffix}.1*
+%{_mandir}/man1/rmid-%{uniquesuffix}.1*
+%{_mandir}/man1/rmiregistry-%{uniquesuffix}.1*
+%{_mandir}/man1/servertool-%{uniquesuffix}.1*
+%{_mandir}/man1/tnameserv-%{uniquesuffix}.1*
+%{_mandir}/man1/unpack200-%{uniquesuffix}.1*
+%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/nss.cfg
+%ifarch %{jit_arches}
+%attr(664, root, root) %ghost %{_jvmdir}/%{jredir}/lib/%{archinstall}/server/classes.jsa
+%attr(664, root, root) %ghost %{_jvmdir}/%{jredir}/lib/%{archinstall}/client/classes.jsa
+%endif
 %{_jvmdir}/%{jredir}/lib/audio/
 %{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar
 %{_jvmdir}/%{jredir}/lib/security/local_policy.jar
+%{_jvmdir}/%{jredir}/lib/%{archinstall}/server/
+%{_jvmdir}/%{jredir}/lib/%{archinstall}/client/
 
 %files devel
 %defattr(-,root,root,-)
@@ -1099,40 +1287,39 @@ exit 0
 %if %{with_systemtap}
 %{_jvmdir}/%{sdkdir}/tapset/*.stp
 %endif
-%{_jvmdir}/%{sdklnk}
-%{_jvmjardir}/%{sdklnk}
+%{_jvmjardir}/%{sdkdir}
 %{_datadir}/applications/*jconsole.desktop
 %{_datadir}/applications/*policytool.desktop
-%{_mandir}/man1/appletviewer-%{name}.1*
-%{_mandir}/man1/extcheck-%{name}.1*
-%{_mandir}/man1/idlj-%{name}.1*
-%{_mandir}/man1/jar-%{name}.1*
-%{_mandir}/man1/jarsigner-%{name}.1*
-%{_mandir}/man1/javac-%{name}.1*
-%{_mandir}/man1/javadoc-%{name}.1*
-%{_mandir}/man1/javah-%{name}.1*
-%{_mandir}/man1/javap-%{name}.1*
-%{_mandir}/man1/jconsole-%{name}.1*
-%{_mandir}/man1/jcmd-%{name}.1*
-%{_mandir}/man1/jdb-%{name}.1*
-%{_mandir}/man1/jdeps-%{name}.1*
-%{_mandir}/man1/jhat-%{name}.1*
-%{_mandir}/man1/jinfo-%{name}.1*
-%{_mandir}/man1/jmap-%{name}.1*
-%{_mandir}/man1/jps-%{name}.1*
-%{_mandir}/man1/jrunscript-%{name}.1*
-%{_mandir}/man1/jsadebugd-%{name}.1*
-%{_mandir}/man1/jstack-%{name}.1*
-%{_mandir}/man1/jstat-%{name}.1*
-%{_mandir}/man1/jstatd-%{name}.1*
-%{_mandir}/man1/native2ascii-%{name}.1*
-%{_mandir}/man1/policytool-%{name}.1*
-%{_mandir}/man1/rmic-%{name}.1*
-%{_mandir}/man1/schemagen-%{name}.1*
-%{_mandir}/man1/serialver-%{name}.1*
-%{_mandir}/man1/wsgen-%{name}.1*
-%{_mandir}/man1/wsimport-%{name}.1*
-%{_mandir}/man1/xjc-%{name}.1*
+%{_mandir}/man1/appletviewer-%{uniquesuffix}.1*
+%{_mandir}/man1/extcheck-%{uniquesuffix}.1*
+%{_mandir}/man1/idlj-%{uniquesuffix}.1*
+%{_mandir}/man1/jar-%{uniquesuffix}.1*
+%{_mandir}/man1/jarsigner-%{uniquesuffix}.1*
+%{_mandir}/man1/javac-%{uniquesuffix}.1*
+%{_mandir}/man1/javadoc-%{uniquesuffix}.1*
+%{_mandir}/man1/javah-%{uniquesuffix}.1*
+%{_mandir}/man1/javap-%{uniquesuffix}.1*
+%{_mandir}/man1/jconsole-%{uniquesuffix}.1*
+%{_mandir}/man1/jcmd-%{uniquesuffix}.1*
+%{_mandir}/man1/jdb-%{uniquesuffix}.1*
+%{_mandir}/man1/jdeps-%{uniquesuffix}.1*
+%{_mandir}/man1/jhat-%{uniquesuffix}.1*
+%{_mandir}/man1/jinfo-%{uniquesuffix}.1*
+%{_mandir}/man1/jmap-%{uniquesuffix}.1*
+%{_mandir}/man1/jps-%{uniquesuffix}.1*
+%{_mandir}/man1/jrunscript-%{uniquesuffix}.1*
+%{_mandir}/man1/jsadebugd-%{uniquesuffix}.1*
+%{_mandir}/man1/jstack-%{uniquesuffix}.1*
+%{_mandir}/man1/jstat-%{uniquesuffix}.1*
+%{_mandir}/man1/jstatd-%{uniquesuffix}.1*
+%{_mandir}/man1/native2ascii-%{uniquesuffix}.1*
+%{_mandir}/man1/policytool-%{uniquesuffix}.1*
+%{_mandir}/man1/rmic-%{uniquesuffix}.1*
+%{_mandir}/man1/schemagen-%{uniquesuffix}.1*
+%{_mandir}/man1/serialver-%{uniquesuffix}.1*
+%{_mandir}/man1/wsgen-%{uniquesuffix}.1*
+%{_mandir}/man1/wsimport-%{uniquesuffix}.1*
+%{_mandir}/man1/xjc-%{uniquesuffix}.1*
 %if %{with_systemtap}
 %{tapsetroot}
 %endif
@@ -1148,7 +1335,7 @@ exit 0
 
 %files javadoc
 %defattr(-,root,root,-)
-%doc %{_javadocdir}/%{name}
+%doc %{_javadocdir}/%{uniquejavadocdir}
 %doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE
 
 %files accessibility
diff --git a/jconsole.desktop.in b/jconsole.desktop.in
index 2a3bbdb..4f3edda 100644
--- a/jconsole.desktop.in
+++ b/jconsole.desktop.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
-Name=OpenJDK 8 Monitoring & Management Console
-Comment=Monitor and manage OpenJDK applications for @VERSION@
-Exec=@JAVA_HOME@/bin/jconsole
+Name=OpenJDK 8 Monitoring & Management Console #ARCH#
+Comment=Monitor and manage OpenJDK applications for #ARCH#
+Exec=#JAVA_HOME#/bin/jconsole
 Icon=java
 Terminal=false
 Type=Application
diff --git a/nss.cfg b/nss.cfg
index c510dd0..377a39c 100644
--- a/nss.cfg
+++ b/nss.cfg
@@ -1,4 +1,5 @@
 name = NSS
-nssLibraryDirectory = 
+nssLibraryDirectory = @NSS_LIBDIR@
 nssDbMode = noDb
 attributes = compatibility
+handleStartupErrors = ignoreMultipleInitialisation
diff --git a/policytool.desktop.in b/policytool.desktop.in
index 0c2f454..1ffe2d9 100644
--- a/policytool.desktop.in
+++ b/policytool.desktop.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
-Name=OpenJDK 8 Policy Tool
-Comment=Manage OpenJDK policy files (@VERSION@)
-Exec=@JAVA_HOME@/bin/policytool
+Name=OpenJDK 8 Policy Tool #ARCH#
+Comment=Manage OpenJDK policy files #ARCH#
+Exec=#JAVA_HOME#/bin/policytool
 Icon=java
 Terminal=false
 Type=Application


More information about the scm-commits mailing list