# HG changeset patch # User Andrew John Hughes # Date 1366753102 -3600 # Node ID 30db65b2cd2712b2ed5b73b5b97bd0f373de0ef0 # Parent 9f3282f826c49addc18e8c9d2f104bec7c84853a PR1336: Bootstrap failure on Fedora 17/18 2013-04-22 Andrew John Hughes PR1336: Bootstrap failure on Fedora 17/18 * Makefile.am: (ICEDTEA_BOOTSTRAP_CLASSES): Add SSLContext, SSLEngine, TrustAnchor and KeyStoreBuilderParameters depending on if methods are missing. * NEWS: Updated. * configure.ac: Mention bugs in comments. Add tests for getDefaultSSLParameters/setSSLParameters, new TrustAnchor constructor, TrustAnchor.getCA() and KeyStoreBuilderParameters.getParameters(). diff -r 9f3282f826c4 -r 30db65b2cd27 ChangeLog --- a/ChangeLog Wed Apr 17 12:01:42 2013 +0100 +++ b/ChangeLog Tue Apr 23 22:38:22 2013 +0100 @@ -1,3 +1,16 @@ +2013-04-22 Andrew John Hughes + + PR1336: Bootstrap failure on Fedora 17/18 + * Makefile.am: + (ICEDTEA_BOOTSTRAP_CLASSES): Add SSLContext, + SSLEngine, TrustAnchor and KeyStoreBuilderParameters + depending on if methods are missing. + * NEWS: Updated. + * configure.ac: Mention bugs in comments. + Add tests for getDefaultSSLParameters/setSSLParameters, + new TrustAnchor constructor, TrustAnchor.getCA() and + KeyStoreBuilderParameters.getParameters(). + 2013-04-17 Andrew John Hughes * Makefile.am: diff -r 9f3282f826c4 -r 30db65b2cd27 Makefile.am --- a/Makefile.am Wed Apr 17 12:01:42 2013 +0100 +++ b/Makefile.am Tue Apr 23 22:38:22 2013 +0100 @@ -118,6 +118,28 @@ $(SHARE)/javax/security/sasl/Sasl.java endif +#PR56553 - SSLParameters support missing +if LACKS_JAVAX_NET_SSL_SSLCONTEXT_GETDEFAULTSSLPARAMETERS + ICEDTEA_BOOTSTRAP_CLASSES += \ + $(SHARE)/javax/net/ssl/SSLContext.java +endif +if LACKS_JAVAX_NET_SSL_SSLENGINE_SETSSLPARAMETERS +ICEDTEA_BOOTSTRAP_CLASSES += \ + $(SHARE)/javax/net/ssl/SSLEngine.java +endif + +#PR57030 - Add missing TrustAnchor methods +if LACKS_JAVA_SECURITY_CERT_TRUSTANCHOR_X500_CONS +ICEDTEA_BOOTSTRAP_CLASSES += \ + $(SHARE)/java/security/cert/TrustAnchor.java +endif + +#PR57031 - Add missing getParameters() method in KeyStoreBuilderParameters +if LACKS_JAVAX_NET_SSL_KEYSTOREBUILDERPARAMETERS_GETPARAMETERS +ICEDTEA_BOOTSTRAP_CLASSES += \ + $(SHARE)/javax/net/ssl/KeyStoreBuilderParameters.java +endif + # Flags MEMORY_LIMIT = -J-Xmx1024m IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) diff -r 9f3282f826c4 -r 30db65b2cd27 NEWS --- a/NEWS Wed Apr 17 12:01:42 2013 +0100 +++ b/NEWS Tue Apr 23 22:38:22 2013 +0100 @@ -61,6 +61,7 @@ - PR1362: Fedora 19 / rawhide FTBFS SIGILL - PR1338: Remove dependence on libXp - PR1339: Simplify the rhino class rewriter to avoid use of concurrency + - PR1336: Bootstrap failure on Fedora 17/18 New in release 1.12.4 (2013-03-04): diff -r 9f3282f826c4 -r 30db65b2cd27 configure.ac --- a/configure.ac Wed Apr 17 12:01:42 2013 +0100 +++ b/configure.ac Tue Apr 23 22:38:22 2013 +0100 @@ -56,7 +56,7 @@ IT_DISABLE_LANGTOOLS_TESTS IT_DISABLE_JDK_TESTS -#PR42003 - Missing javax.swing.plaf.basic.BasicDirectoryModel methods cause OpenJDK build failure +dnl PR42003 - Missing javax.swing.plaf.basic.BasicDirectoryModel methods cause OpenJDK build failure IT_CHECK_FOR_METHOD([JAVAX_SWING_PLAF_BASIC_BASICDIRECTORYMODEL_ADDPROPERTYCHANGELISTENER], [javax.swing.plaf.basic.BasicDirectoryModel.addPropertyChangeListener(PropertyChangeListener)], [javax.swing.plaf.basic.BasicDirectoryModel], @@ -64,7 +64,7 @@ [javax.swing.plaf.basic.BasicDirectoryModel model = new javax.swing.plaf.basic.BasicDirectoryModel(new javax.swing.JFileChooser()); model.addPropertyChangeListener(model)] ) -# Workaround issue with old CORBA classes in old OpenJDK builds +dnl Workaround issue with old CORBA classes in old OpenJDK builds IT_CHECK_FOR_CLASS([ORBUTILSYSTEMEXCEPTION],[com.sun.corba.se.impl.logging.ORBUtilSystemException]) IT_CHECK_FOR_METHOD([ORBUTILSYSTEMEXCEPTION_IOEXCEPTIONONCLOSE_THROWABLE], [com.sun.corba.se.impl.logging.ORBUtilSystemException.ioExceptionOnClose(Throwable)], @@ -73,11 +73,11 @@ [new com.sun.corba.se.impl.logging.ORBUtilSystemException(null).ioExceptionOnClose(new InternalError())] ) -# PR43389 - javax.management.StandardMBean +dnl PR43389 - javax.management.StandardMBean IT_CHECK_FOR_CONSTRUCTOR([JAVAX_MANAGEMENT_STANDARDMBEAN_MXBEAN_TWO_ARG],[javax.management.StandardMBean],[Class.class,Boolean.TYPE],[Object.class, true]) IT_CHECK_FOR_CONSTRUCTOR([JAVAX_MANAGEMENT_STANDARDMBEAN_MXBEAN_THREE_ARG],[javax.management.StandardMBean],[Object.class,Class.class,Boolean.TYPE],[new Object(), Object.class, true]) -# PR54274 - sun.security.other requires missing X509CRLSelector methods +dnl PR54274 - sun.security.other requires missing X509CRLSelector methods IT_CHECK_FOR_METHOD([JAVA_SECURITY_CERT_X509CRLSELECTOR_ADDISSUER], [java.security.cert.X509CRLSelector.addIssuer(X500Principal)], [java.security.cert.X509CRLSelector], @@ -115,9 +115,45 @@ [new javax.security.auth.kerberos.KerberosTicket(null,null,null,null,0,null,null,null,null,null,null).getSessionKeyType()] ) -# PR54275 - sun.security.sasl requires missing Sasl.CREDENTIALS field +dnl PR54275 - sun.security.sasl requires missing Sasl.CREDENTIALS field IT_CHECK_FOR_STATIC_FIELD([JAVAX_SECURITY_SASL_SASL_CREDENTIALS],[CREDENTIALS],[javax.security.sasl.Sasl]) +dnl PR56553 - SSLParameters support missing +IT_CHECK_FOR_METHOD([JAVAX_NET_SSL_SSLCONTEXT_GETDEFAULTSSLPARAMETERS], + [javax.net.ssl.SSLContext.getDefaultSSLParameters], + [javax.net.ssl.SSLContext], + ["getDefaultSSLParameters"], + [try { javax.net.ssl.SSLContext.getDefault().getDefaultSSLParameters(); } catch (Exception e) {}] +) +IT_CHECK_FOR_METHOD([JAVAX_NET_SSL_SSLENGINE_SETSSLPARAMETERS], + [javax.net.ssl.SSLEngine.setSSLParameters], + [javax.net.ssl.SSLEngine], + ["setSSLParameters", javax.net.ssl.SSLParameters.class], + [try { javax.net.ssl.SSLContext.getDefault().createSSLEngine().setSSLParameters(new javax.net.ssl.SSLParameters()); } + catch (Exception e) {}] +) + +dnl PR57030 - Add missing TrustAnchor methods +IT_CHECK_FOR_CONSTRUCTOR([JAVA_SECURITY_CERT_TRUSTANCHOR_X500_CONS], + [java.security.cert.TrustAnchor], + [javax.security.auth.x500.X500Principal.class, java.security.PublicKey.class, byte@<:@@:>@.class], + [new javax.security.auth.x500.X500Principal("bob"),null,null] +) +IT_CHECK_FOR_METHOD([JAVA_SECURITY_CERT_TRUSTANCHOR_GETCA], + [java.security.cert.TrustAnchor.getCA], + [java.security.cert.TrustAnchor], + ["getCA"], + [new java.security.cert.TrustAnchor("", null, null).getCA()] +) + +dnl PR57031 - Add missing getParameters() method in KeyStoreBuilderParameters +IT_CHECK_FOR_METHOD([JAVAX_NET_SSL_KEYSTOREBUILDERPARAMETERS_GETPARAMETERS], + [javax.net.ssl.KeyStoreBuilderParameters.getParameters], + [javax.net.ssl.KeyStoreBuilderParameters], + ["getParameters"], + [new javax.net.ssl.KeyStoreBuilderParameters(new java.util.ArrayList()).getParameters()] +) + # Use xvfb-run if found to run gui tests (check-jdk). AC_CHECK_PROG(XVFB_RUN_CMD, xvfb-run, [xvfb-run -a -e xvfb-errors], []) AC_SUBST(XVFB_RUN_CMD)