This commit is contained in:
parent
cc7459a8e7
commit
cd1a64e40b
@ -4,17 +4,17 @@ Mon Aug 23 07:16:54 UTC 2021 - Fridrich Strba <fstrba@suse.com>
|
||||
- Initial release of the last release candidate of OpenJDK 17,
|
||||
the next LTS release of OpenJDK
|
||||
* Features:
|
||||
+ 306: Restore Always-Strict Floating-Point Semantics
|
||||
+ 356: Enhanced Pseudo-Random Number Generators
|
||||
+ 382: New macOS Rendering Pipeline
|
||||
+ 391: macOS/AArch64 Port
|
||||
+ 398: Deprecate the Applet API for Removal
|
||||
+ 403: Strongly Encapsulate JDK Internals
|
||||
+ 406: Pattern Matching for switch (Preview)
|
||||
+ 407: Remove RMI Activation
|
||||
+ 409: Sealed Classes
|
||||
+ 410: Remove the Experimental AOT and JIT Compiler
|
||||
+ 411: Deprecate the Security Manager for Removal
|
||||
+ 412: Foreign Function & Memory API (Incubator)
|
||||
+ 414: Vector API (Second Incubator)
|
||||
+ 415: Context-Specific Deserialization Filters
|
||||
+ JEP-306: Restore Always-Strict Floating-Point Semantics
|
||||
+ JEP-356: Enhanced Pseudo-Random Number Generators
|
||||
+ JEP-382: New macOS Rendering Pipeline
|
||||
+ JEP-391: macOS/AArch64 Port
|
||||
+ JEP-398: Deprecate the Applet API for Removal
|
||||
+ JEP-403: Strongly Encapsulate JDK Internals
|
||||
+ JEP-406: Pattern Matching for switch (Preview)
|
||||
+ JEP-407: Remove RMI Activation
|
||||
+ JEP-409: Sealed Classes
|
||||
+ JEP-410: Remove the Experimental AOT and JIT Compiler
|
||||
+ JEP-411: Deprecate the Security Manager for Removal
|
||||
+ JEP-412: Foreign Function & Memory API (Incubator)
|
||||
+ JEP-414: Vector API (Second Incubator)
|
||||
+ JEP-415: Context-Specific Deserialization Filters
|
||||
|
@ -123,6 +123,7 @@
|
||||
%else
|
||||
%global with_systemtap 0
|
||||
%endif
|
||||
%global NSS_LIBDIR %(pkg-config --variable=libdir nss)
|
||||
%if %{with_systemtap}
|
||||
%global tapsetroot %{_datadir}/systemtap
|
||||
%global tapsetdir %{tapsetroot}/tapset/%{_build_cpu}
|
||||
@ -157,7 +158,7 @@ Source10: systemtap-tapset.tar.xz
|
||||
# Desktop files. Adapated from IcedTea.
|
||||
Source11: jconsole.desktop.in
|
||||
# nss configuration file
|
||||
Source13: nss.cfg
|
||||
Source13: nss.cfg.in
|
||||
# Ensure we aren't using the limited crypto policy
|
||||
Source14: TestCryptoLevel.java
|
||||
# Ensure ECDSA is working
|
||||
@ -204,6 +205,9 @@ Patch12: adlc-parser.patch
|
||||
Patch13: implicit-pointer-decl.patch
|
||||
Patch14: harfbuzz-libs.patch
|
||||
Patch15: system-pcsclite.patch
|
||||
|
||||
Patch16: system-crypto-policy.patch
|
||||
Patch17: nss-security-provider.patch
|
||||
#
|
||||
Patch20: loadAssistiveTechnologies.patch
|
||||
#
|
||||
@ -245,6 +249,7 @@ BuildRequires: libjpeg-devel
|
||||
BuildRequires: libpng-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: libxslt
|
||||
BuildRequires: mozilla-nss-devel
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: unzip
|
||||
BuildRequires: update-desktop-files
|
||||
@ -261,14 +266,7 @@ BuildRequires: pkgconfig(gthread-2.0)
|
||||
# Requires rest of java
|
||||
Requires: %{name}-headless = %{version}-%{release}
|
||||
Requires: fontconfig
|
||||
# mozilla-nss has to be installed to prevent
|
||||
# java.security.ProviderException: Could not initialize NSS
|
||||
# ...
|
||||
# java.io.FileNotFoundException: /usr/lib64/libnss3.so
|
||||
#was bnc#634793
|
||||
Requires: mozilla-nss
|
||||
Requires(post): file
|
||||
Requires(post): java-ca-certificates
|
||||
# Standard JPackage base provides.
|
||||
Provides: java = %{javaver}
|
||||
Provides: java-%{javaver} = %{version}-%{release}
|
||||
@ -334,6 +332,8 @@ The OpenJDK %{featurever} runtime environment.
|
||||
Summary: OpenJDK %{featurever} Runtime Environment
|
||||
Group: Development/Languages/Java
|
||||
Requires: jpackage-utils
|
||||
Requires(post): java-ca-certificates
|
||||
Requires: mozilla-nss
|
||||
# Post requires update-alternatives to install tool update-alternatives.
|
||||
Requires(post): update-alternatives
|
||||
# Postun requires update-alternatives to uninstall tool update-alternatives.
|
||||
@ -485,6 +485,10 @@ rm -rvf src/java.desktop/share/native/liblcms/lcms2*
|
||||
%patch15 -p1
|
||||
%endif
|
||||
|
||||
%patch16 -p1
|
||||
%patch17 -p1
|
||||
|
||||
|
||||
%patch20 -p1
|
||||
|
||||
%patch200 -p1
|
||||
@ -533,6 +537,9 @@ for file in %{SOURCE11} ; do
|
||||
sed -i -e s:@VERSION@:%{javaver}:g $OUTPUT_FILE
|
||||
done
|
||||
|
||||
# Setup nss.cfg
|
||||
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE13} > nss.cfg
|
||||
|
||||
%build
|
||||
|
||||
%ifarch s390x sparc64 alpha ppc64 ppc64le %{aarch64}
|
||||
@ -596,6 +603,9 @@ popd >& /dev/null
|
||||
|
||||
export JAVA_HOME=$(pwd)/%{buildoutputdir}/%{imagesdir}/jdk
|
||||
|
||||
# Install nss.cfg right away as we will be using the JRE above
|
||||
install -m 644 nss.cfg $JAVA_HOME/conf/security/
|
||||
|
||||
# Copy tz.properties
|
||||
echo "sun.zoneinfo.dir=%{_datadir}/javazi" >> $JAVA_HOME/conf/tz.properties
|
||||
|
||||
@ -873,9 +883,6 @@ pushd %{buildoutputdir}/%{imagesdir}
|
||||
|
||||
popd
|
||||
|
||||
# Install nss.cfg
|
||||
install -m 644 %{SOURCE13} %{buildroot}%{_jvmdir}/%{sdkdir}/lib/security/
|
||||
|
||||
# Install Javadoc documentation.
|
||||
install -d -m 755 %{buildroot}%{_javadocdir}
|
||||
cp -a %{buildoutputdir}/images/docs %{buildroot}%{_javadocdir}/%{sdklnk}
|
||||
@ -1221,7 +1228,7 @@ fi
|
||||
%endif
|
||||
|
||||
%config(noreplace) %{_jvmdir}/%{sdkdir}/lib/security/blocked.certs
|
||||
%config(noreplace) %{_jvmdir}/%{sdkdir}/lib/security/nss.cfg
|
||||
%config(noreplace) %{_jvmdir}/%{sdkdir}/conf/security/nss.cfg
|
||||
%{_jvmdir}/%{sdkdir}/lib/security/default.policy
|
||||
%{_jvmdir}/%{sdkdir}/lib/security/public_suffix_list.dat
|
||||
|
||||
|
10
nss-security-provider.patch
Normal file
10
nss-security-provider.patch
Normal file
@ -0,0 +1,10 @@
|
||||
--- openjdk/src/java.base/share/conf/security/java.security 2021-03-16 07:15:49.798093653 +0100
|
||||
+++ openjdk/src/java.base/share/conf/security/java.security 2021-03-16 11:38:01.416893125 +0100
|
||||
@@ -60,6 +60,7 @@
|
||||
#
|
||||
# List of providers and their preference orders (see above):
|
||||
#
|
||||
+security.provider.tbd=SunPKCS11 ${java.home}/conf/security/nss.cfg
|
||||
security.provider.tbd=SUN
|
||||
security.provider.tbd=SunRsaSign
|
||||
security.provider.tbd=SunEC
|
4
nss.cfg
4
nss.cfg
@ -1,4 +0,0 @@
|
||||
name = NSS
|
||||
nssLibraryDirectory =
|
||||
nssDbMode = noDb
|
||||
attributes = compatibility
|
5
nss.cfg.in
Normal file
5
nss.cfg.in
Normal file
@ -0,0 +1,5 @@
|
||||
name = NSS
|
||||
nssLibraryDirectory = @NSS_LIBDIR@
|
||||
nssDbMode = noDb
|
||||
attributes = compatibility
|
||||
handleStartupErrors = ignoreMultipleInitialisation
|
81
system-crypto-policy.patch
Normal file
81
system-crypto-policy.patch
Normal file
@ -0,0 +1,81 @@
|
||||
--- openjdk/src/java.base/share/classes/java/security/Security.java 2021-03-16 07:15:49.742093294 +0100
|
||||
+++ openjdk/src/java.base/share/classes/java/security/Security.java 2021-03-16 07:16:54.394507360 +0100
|
||||
@@ -47,6 +47,9 @@
|
||||
* implementation-specific location, which is typically the properties file
|
||||
* {@code conf/security/java.security} in the Java installation directory.
|
||||
*
|
||||
+ * <p>Additional default values of security properties are read from a
|
||||
+ * system-specific location, if available.</p>
|
||||
+ *
|
||||
* @author Benjamin Renaud
|
||||
* @since 1.1
|
||||
*/
|
||||
@@ -57,6 +60,10 @@
|
||||
private static final Debug sdebug =
|
||||
Debug.getInstance("properties");
|
||||
|
||||
+ /* System property file*/
|
||||
+ private static final String SYSTEM_PROPERTIES =
|
||||
+ "/etc/crypto-policies/back-ends/java.config";
|
||||
+
|
||||
/* The java.security properties */
|
||||
private static Properties props;
|
||||
|
||||
@@ -98,6 +105,7 @@
|
||||
if (sdebug != null) {
|
||||
sdebug.println("reading security properties file: " +
|
||||
propFile);
|
||||
+ sdebug.println(props.toString());
|
||||
}
|
||||
} catch (IOException e) {
|
||||
if (sdebug != null) {
|
||||
@@ -183,6 +191,33 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+
|
||||
+ String disableSystemProps = System.getProperty("java.security.disableSystemPropertiesFile");
|
||||
+ if (disableSystemProps == null &&
|
||||
+ "true".equalsIgnoreCase(props.getProperty
|
||||
+ ("security.useSystemPropertiesFile"))) {
|
||||
+
|
||||
+ // now load the system file, if it exists, so its values
|
||||
+ // will win if they conflict with the earlier values
|
||||
+ try (BufferedInputStream bis =
|
||||
+ new BufferedInputStream(new FileInputStream(SYSTEM_PROPERTIES))) {
|
||||
+ props.load(bis);
|
||||
+ loadedProps = true;
|
||||
+
|
||||
+ if (sdebug != null) {
|
||||
+ sdebug.println("reading system security properties file " +
|
||||
+ SYSTEM_PROPERTIES);
|
||||
+ sdebug.println(props.toString());
|
||||
+ }
|
||||
+ } catch (IOException e) {
|
||||
+ if (sdebug != null) {
|
||||
+ sdebug.println
|
||||
+ ("unable to load security properties from " +
|
||||
+ SYSTEM_PROPERTIES);
|
||||
+ e.printStackTrace();
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
|
||||
if (!loadedProps) {
|
||||
initializeStatic();
|
||||
--- openjdk/src/java.base/share/conf/security/java.security 2021-03-16 07:15:49.798093653 +0100
|
||||
+++ openjdk/src/java.base/share/conf/security/java.security 2021-03-16 11:38:01.416893125 +0100
|
||||
@@ -336,6 +336,13 @@
|
||||
security.overridePropertiesFile=true
|
||||
|
||||
#
|
||||
+# Determines whether this properties file will be appended to
|
||||
+# using the system properties file stored at
|
||||
+# /etc/crypto-policies/back-ends/java.config
|
||||
+#
|
||||
+security.useSystemPropertiesFile=true
|
||||
+
|
||||
+#
|
||||
# Determines the default key and trust manager factory algorithms for
|
||||
# the javax.net.ssl package.
|
||||
#
|
Loading…
x
Reference in New Issue
Block a user