Hello community,

here is the log from the commit of package java-9-openjdk for openSUSE:Factory 
checked in at 2017-10-06 10:54:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/java-9-openjdk (Old)
 and      /work/SRC/openSUSE:Factory/.java-9-openjdk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "java-9-openjdk"

Fri Oct  6 10:54:33 2017 rev:13 rq:530347 version:9.0.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/java-9-openjdk/java-9-openjdk.changes    
2017-09-23 21:30:21.922910631 +0200
+++ /work/SRC/openSUSE:Factory/.java-9-openjdk.new/java-9-openjdk.changes       
2017-10-06 10:54:36.037621685 +0200
@@ -1,0 +2,15 @@
+Mon Oct  2 07:44:19 UTC 2017 - [email protected]
+
+- Change the requirement of tzdata-java8 to Recommends, since it is
+  not strictly needed.
+
+-------------------------------------------------------------------
+Thu Sep 28 16:56:02 UTC 2017 - [email protected]
+
+- Added patch:
+  * alternative-tzdb_dat.patch
+    + Allow specifying alternative path where to find the tzdb.dat
+      file. With fallback to $JAVA_HOME/lib/tzdb.dat
+- Don't symlink tzdb.dat in postinstall
+
+-------------------------------------------------------------------

New:
----
  alternative-tzdb_dat.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ java-9-openjdk.spec ++++++
--- /var/tmp/diff_new_pack.TKWBVu/_old  2017-10-06 10:54:39.057165306 +0200
+++ /var/tmp/diff_new_pack.TKWBVu/_new  2017-10-06 10:54:39.057165306 +0200
@@ -186,6 +186,7 @@
 Patch300:       java-9-openjdk-linuxfilestore.patch
 Patch301:       bootcycle_jobs.patch
 Patch302:       disable-doclint-by-default.patch
+Patch303:       alternative-tzdb_dat.patch
 BuildRequires:  alsa-lib-devel
 BuildRequires:  autoconf
 BuildRequires:  automake
@@ -303,6 +304,7 @@
 Requires(post): update-alternatives
 # Postun requires update-alternatives to uninstall tool update-alternatives.
 Requires(postun): update-alternatives
+Recommends:     tzdata-java8
 # Standard JPackage base provides.
 Provides:       java-%{javaver}-headless = %{version}-%{release}
 Provides:       java-headless = %{javaver}
@@ -324,10 +326,6 @@
 Provides:       jndi-rmi = %{version}
 Provides:       jsse = %{version}
 Obsoletes:      %{oldname}-headless < %{version}-%{release}
-%if 0%{?suse_version} > 1320
-# Require zoneinfo data in java8+ format provided by tzdata-java8 subpackage.
-Requires(post): tzdata-java8
-%endif
 
 %description headless
 The OpenJDK 9 runtime environment without audio and video support.
@@ -499,6 +497,7 @@
 %patch300 -p1
 %patch301 -p1
 %patch302 -p1
+%patch303 -p1
 
 # Extract systemtap tapsets
 
@@ -669,6 +668,9 @@
 popd
 %endif
 
+# Copy tz.properties
+echo "sun.zoneinfo.dir=%{_datadir}/javazi" >> $JAVA_HOME/lib/tz.properties
+
 # Check debug symbols are present and can identify code
 SERVER_JVM="$JAVA_HOME/lib/server/libjvm.so"
 if [ -f "$SERVER_JVM" ] ; then
@@ -866,15 +868,6 @@
   --install %{_jvmdir}/jre-%{javaver} \
   jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority}
 
-%if 0%{?suse_version} > 1320
-if [ -e %{_datadir}/javazi/tzdb.dat ]; then
-    if [ -e %{_jvmdir}/%{sdkdir}/lib/tzdb.dat ]; then
-        rm -f %{_jvmdir}/%{sdkdir}/lib/tzdb.dat
-    fi
-    ln -sf %{_datadir}/javazi/tzdb.dat  %{_jvmdir}/%{sdkdir}/lib/tzdb.dat
-fi
-%endif
-
 %postun headless
 if [ $1 -eq 0 ]
 then
@@ -1135,6 +1128,8 @@
 %{_jvmdir}/%{sdkdir}/lib/modules
 %{_jvmdir}/%{sdkdir}/lib/psfontj2d.properties
 %{_jvmdir}/%{sdkdir}/lib/psfont.properties.ja
+%{_jvmdir}/%{sdkdir}/lib/tzdb.dat
+%{_jvmdir}/%{sdkdir}/lib/tz.properties
 %{_jvmdir}/%{sdkdir}/lib/*/libjsig.so
 %{_jvmdir}/%{sdkdir}/lib/*/libjvm.so
 %{_jvmdir}/%{sdkdir}/lib/*/Xusage.txt
@@ -1142,11 +1137,6 @@
 %if 0%{?suse_version} <= 1130
 %config(noreplace) %{cacerts}
 %endif
-%if 0%{?suse_version} > 1320
-%ghost %{_jvmdir}/%{sdkdir}/lib/tzdb.dat
-%else
-%{_jvmdir}/%{sdkdir}/lib/tzdb.dat
-%endif
 %config(noreplace) %{_jvmdir}/%{sdkdir}/lib/security/blacklisted.certs
 %config(noreplace) %{_jvmdir}/%{sdkdir}/lib/security/nss.cfg
 %{_jvmdir}/%{sdkdir}/lib/security/default.policy
@@ -1226,9 +1216,6 @@
 %{_jvmdir}/%{sdkdir}/lib/libjelfshim.so
 %endif
 %endif
-%if 0%{?suse_version} > 1320
-%ghost %{_jvmdir}/%{sdkdir}/lib/tzdb.dat
-%endif
 
 %if %{with_systemtap}
 %{_jvmdir}/%{sdkdir}/tapset/*.stp

++++++ alternative-tzdb_dat.patch ++++++
--- jdk9/jdk/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java    
2017-07-27 20:04:48.000000000 +0200
+++ jdk9/jdk/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java    
2017-09-28 18:47:17.942873513 +0200
@@ -31,6 +31,7 @@
 import java.io.DataInputStream;
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.InputStream;
 import java.io.IOException;
 import java.io.StreamCorruptedException;
 import java.security.AccessController;
@@ -47,6 +48,7 @@
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Objects;
+import java.util.Properties;
 import java.util.Set;
 import java.util.SimpleTimeZone;
 import java.util.concurrent.ConcurrentHashMap;
@@ -252,7 +254,15 @@
         AccessController.doPrivileged(new PrivilegedAction<Void>() {
             public Void run() {
                 try {
-                    String libDir = System.getProperty("java.home") + 
File.separator + "lib";
+                    final String homeDir = System.getProperty("java.home");
+                    if (homeDir == null) {
+                        throw new Error("java.home is not set");
+                    }
+                    String libDir = homeDir + File.separator + "lib";
+                    String otherDir = getZoneInfoDir(libDir);
+                    if (otherDir != null)
+                        libDir = otherDir;
+
                     try (DataInputStream dis = new DataInputStream(
                              new BufferedInputStream(new FileInputStream(
                                  new File(libDir, "tzdb.dat"))))) {
@@ -265,6 +275,30 @@
             }
         });
     }
+
+    private static String getZoneInfoDir(final String libDir) {
+        return AccessController.doPrivileged (new PrivilegedAction<String>() {
+            public String run() {
+                try {
+                    File f = new File(libDir + File.separator + 
"tz.properties");
+                    InputStream in = new FileInputStream(f);
+                    BufferedInputStream bin = new BufferedInputStream(in);
+                    Properties props = new Properties();
+                    props.load(bin);
+                    bin.close();
+                    String dir = props.getProperty("sun.zoneinfo.dir");
+                    if (dir == null)
+                        return null;
+                    File tzdbdat = new File(dir, "tzdb.dat");
+                    if (tzdbdat.exists())
+                        return dir;
+                    return null;
+                } catch (Exception x) {
+                    return null;
+                }
+            }
+        });
+    }
 
     private static void addOldMapping() {
         for (String[] alias : oldMappings) {

Reply via email to