/hg/icedtea-web: Makefile and configure updated for Java 7

Andrew Hughes gnu.andrew at redhat.com
Mon Apr 14 21:01:24 UTC 2014


----- Original Message -----
> changeset 449852a92985 in /hg/icedtea-web
> details:
> http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=449852a92985
> author: Andrew Azores <aazores at redhat.com>
> date: Thu Apr 10 15:56:45 2014 -0400
> 
> 	Makefile and configure updated for Java 7
> 
> 	* Makefile.am: (HAVE_JAVA7) removed
> 	* acinclude.m4: (IT_CHECK_JAVA_VERSION) new check for JDK version.
> 	(IT_CHECK_FOR_JDK) changed directories to search for JDK, notably adding
> 	alternatives-defined JDK location
> 	* configure.ac: (IT_CHECK_JAVA_VERSION) new check for JDK version
> 	* plugin/icedteanp/IcedTeaNPPlugin.cc: (HAVE_JAVA7) renamed and modified
> 	to HAVE_JAVA8
> 	* netx/net/sourceforge/jnlp/security/VariableX509TrustManagerJDK6.java:
> 	removed
> 
> 
> diffstat:
> 
>  ChangeLog                                                            |  12 +
>  Makefile.am                                                          |   3 -
>  acinclude.m4                                                         |  42
>  +++-
>  configure.ac                                                         |   1 +
>  netx/net/sourceforge/jnlp/security/VariableX509TrustManagerJDK6.java |  75
>  ----------
>  plugin/icedteanp/IcedTeaNPPlugin.cc                                  |  24
>  +-
>  6 files changed, 55 insertions(+), 102 deletions(-)
> 
> diffs (244 lines):
> 
> diff -r f664addf7da2 -r 449852a92985 ChangeLog
> --- a/ChangeLog	Mon Apr 07 11:24:18 2014 -0400
> +++ b/ChangeLog	Thu Apr 10 15:56:45 2014 -0400
> @@ -1,3 +1,15 @@
> +2014-04-10  Andrew Azores  <aazores at redhat.com>
> +
> +	* Makefile.am: (HAVE_JAVA7) removed
> +	* acinclude.m4: (IT_CHECK_JAVA_VERSION) new check for JDK version.
> +	(IT_CHECK_FOR_JDK) changed directories to search for JDK, notably adding
> +	alternatives-defined JDK location
> +	* configure.ac: (IT_CHECK_JAVA_VERSION) new check for JDK version
> +	* plugin/icedteanp/IcedTeaNPPlugin.cc: (HAVE_JAVA7) renamed and modified
> +	to HAVE_JAVA8
> +	* netx/net/sourceforge/jnlp/security/VariableX509TrustManagerJDK6.java:
> +	removed
> +
>  2014-04-07  Andrew Azores  <aazores at redhat.com>
>  
>  	* Makefile.am: (IT_LANGUAGE_SOURCE_VERSION, IT_CLASS_TARGET_VERSION)
> diff -r f664addf7da2 -r 449852a92985 Makefile.am
> --- a/Makefile.am	Mon Apr 07 11:24:18 2014 -0400
> +++ b/Makefile.am	Thu Apr 10 15:56:45 2014 -0400
> @@ -465,9 +465,6 @@
>  if !WITH_RHINO
>  	sed -i '/RhinoBasedPacEvaluator/ d' $@
>  endif
> -if !HAVE_JAVA7
> -	sed -i '/VariableX509TrustManagerJDK7/ d' $@
> -endif
>  
>  stamps/netx-html-gen.stamp:
>  	(cd $$NETX_SRCDIR/..; \
> diff -r f664addf7da2 -r 449852a92985 acinclude.m4
> --- a/acinclude.m4	Mon Apr 07 11:24:18 2014 -0400
> +++ b/acinclude.m4	Thu Apr 10 15:56:45 2014 -0400
> @@ -47,10 +47,18 @@
>  	        SYSTEM_JDK_DIR=
>                ])
>    if test -z "${SYSTEM_JDK_DIR}"; then
> -    for dir in /usr/lib/jvm/java-openjdk /usr/lib/jvm/icedtea6 \
> -    	      /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/openjdk \
> -              /usr/lib/jvm/java-icedtea /usr/lib/jvm/java-gcj
> /usr/lib/jvm/gcj-jdk \
> -              /usr/lib/jvm/cacao ; do
> +    for dir in /etc/alternatives/java_sdk \
> +               /usr/lib/jvm/java-1.7.0-openjdk \
> +               /usr/lib/jvm/icedtea7 \
> +               /usr/lib/jvm/java-7-openjdk \
> +               /usr/lib/jvm/java-1.8.0-openjdk \
> +               /usr/lib/jvm/icedtea8 \
> +               /usr/lib/jvm/java-8-openjdk \
> +               /usr/lib/jvm/java-icedtea \
> +               /usr/lib/jvm/java-openjdk \
> +               /usr/lib/jvm/openjdk \
> +               /usr/lib/jvm/cacao \
> +               /usr/lib/jvm/jamvm ; do

This is what IcedTea 2.x has:

    ICEDTEA6_VMS="/usr/lib/jvm/icedtea-6 /usr/lib/jvm/icedtea6 /usr/lib/jvm/java-6-openjdk
                  /usr/lib/jvm/java-1.6.0-openjdk.x86_64 /usr/lib64/jvm/java-1.6.0-openjdk
                  /usr/lib/jvm/java-1.6.0"
    ICEDTEA7_VMS="/usr/lib/jvm/icedtea-7 /usr/lib/jvm/icedtea7 /usr/lib/jvm/java-1.7.0-openjdk
                  /usr/lib/jvm/java-1.7.0-openjdk.x86_64 /usr/lib64/jvm/java-1.7.0-openjdk
                  /usr/lib/jvm/java-1.7.0"
    for dir in ${BOOTSTRAP_VMS} ${ICEDTEA7_VMS} ${ICEDTEA6_VMS} \
               /usr/lib/jvm/java-openjdk /usr/lib/jvm/openjdk /usr/lib/jvm/java-icedtea \
               /etc/alternatives/java_sdk_openjdk ; do

The above is notably missing 'icedtea-7' so won't work on Gentoo. Also, unless the issues
with IcedTea-Web using proprietary APIs has been fixed since I last looked, GNU Classpath VMs
like GCJ, CACAO and JamVM are never going to work.

>         if test -d $dir; then
>           SYSTEM_JDK_DIR=$dir
>  	 break
> @@ -698,7 +706,7 @@
>    AC_REQUIRE([IT_CHECK_FOR_JRE])
>    AC_MSG_CHECKING([for a Java virtual machine])
>    AC_ARG_WITH([java],
> -              [AS_HELP_STRING(--with-java,specify location of the 1.5 java
> vm)],
> +              [AS_HELP_STRING(--with-java, specify location of the Java 1.7
> VM)],


Why not just Java VM?

>    [
>      JAVA="${withval}"
>    ],
> @@ -712,21 +720,29 @@
>      AC_PATH_PROG(JAVA, "java")
>    fi
>    if test -z "${JAVA}"; then
> -    AC_PATH_PROG(JAVA, "gij")
> -  fi
> -  if test -z "${JAVA}"; then
> -    AC_MSG_ERROR("A 1.5-compatible Java VM is required.")
> +    AC_MSG_ERROR("A 1.7+-compatible Java VM is required.")
>    fi
>    AC_MSG_RESULT(${JAVA})
>    AC_SUBST(JAVA)
> +])
> +
> +AC_DEFUN_ONCE([IT_CHECK_JAVA_VERSION],
> +[
> +  AC_REQUIRE([IT_FIND_JAVA])
> +  AC_MSG_CHECKING([JDK version])
>    JAVA_VERSION=`$JAVA -version 2>&1 | sed -n '1s/@<:@^"@:>@*"\(.*\)"$/\1/p'`
> +  AC_MSG_RESULT($JAVA_VERSION)
>    HAVE_JAVA7=`echo $JAVA_VERSION | awk '{if ($(0) >= 1.7) print "yes"}'`
> -  if  ! test -z "$HAVE_JAVA7" ; then
> -    VERSION_DEFS='-DHAVE_JAVA7'
> +  HAVE_JAVA8=`echo $JAVA_VERSION | awk '{if ($(0) >= 1.8) print "yes"}'`
> +  if test -z "$HAVE_JAVA7"; then
> +    AC_MSG_ERROR([JDK7 or newer is required, detected was: $JAVA_VERSION])
>    fi
> -
> -  AM_CONDITIONAL([HAVE_JAVA7], test x"${HAVE_JAVA7}" = "xyes" )
> +  if ! test -z "$HAVE_JAVA8"; then
> +    VERSION_DEFS="-DHAVE_JAVA8"
> +  fi
>    AC_SUBST(VERSION_DEFS)
> +  AM_CONDITIONAL([HAVE_JAVA7], test x"${HAVE_JAVA7}" = "xyes")
> +  AM_CONDITIONAL([HAVE_JAVA8], test x"${HAVE_JAVA8}" = "xyes")
>  ])
>  
>  AC_DEFUN_ONCE([IT_FIND_KEYTOOL],
> diff -r f664addf7da2 -r 449852a92985 configure.ac
> --- a/configure.ac	Mon Apr 07 11:24:18 2014 -0400
> +++ b/configure.ac	Thu Apr 10 15:56:45 2014 -0400
> @@ -37,6 +37,7 @@
>  FIND_JAVAC
>  FIND_JAR
>  FIND_ECJ_JAR
> +IT_CHECK_JAVA_VERSION
>  IT_FIND_JAVADOC
>  IT_FIND_KEYTOOL
>  IT_FIND_JARSIGNER
> diff -r f664addf7da2 -r 449852a92985
> netx/net/sourceforge/jnlp/security/VariableX509TrustManagerJDK6.java
> --- a/netx/net/sourceforge/jnlp/security/VariableX509TrustManagerJDK6.java
> 	Mon Apr 07 11:24:18 2014 -0400
> +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
> @@ -1,75 +0,0 @@
> -/* VariableX509TrustManagerJDK6.java
> -   Copyright (C) 2012 Red Hat, Inc.
> -
> -This file is part of IcedTea.
> -
> -IcedTea is free software; you can redistribute it and/or
> -modify it under the terms of the GNU General Public License as published by
> -the Free Software Foundation, version 2.
> -
> -IcedTea is distributed in the hope that it will be useful,
> -but WITHOUT ANY WARRANTY; without even the implied warranty of
> -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -General Public License for more details.
> -
> -You should have received a copy of the GNU General Public License
> -along with IcedTea; see the file COPYING.  If not, write to
> -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
> MA
> -02110-1301 USA.
> -
> -Linking this library statically or dynamically with other modules is
> -making a combined work based on this library.  Thus, the terms and
> -conditions of the GNU General Public License cover the whole
> -combination.
> -
> -As a special exception, the copyright holders of this library give you
> -permission to link this library with independent modules to produce an
> -executable, regardless of the license terms of these independent
> -modules, and to copy and distribute the resulting executable under
> -terms of your choice, provided that you also meet, for each linked
> -independent module, the terms and conditions of the license of that
> -module.  An independent module is a module which is not derived from
> -or based on this library.  If you modify this library, you may extend
> -this exception to your version of the library, but you are not
> -obligated to do so.  If you do not wish to do so, delete this
> -exception statement from your version.
> -*/
> -
> -package net.sourceforge.jnlp.security;
> -
> -import java.security.cert.CertificateException;
> -import java.security.cert.X509Certificate;
> -
> -import com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager;
> -
> -public class VariableX509TrustManagerJDK6 extends X509ExtendedTrustManager {
> -
> -    private VariableX509TrustManager vX509TM =
> VariableX509TrustManager.getInstance();
> -
> -    @Override
> -    public void checkClientTrusted(X509Certificate[] chain, String authType)
> throws CertificateException {
> -        checkClientTrusted(chain, authType, null, null);
> -    }
> -
> -    @Override
> -    public void checkServerTrusted(X509Certificate[] chain, String authType)
> throws CertificateException {
> -        vX509TM.checkTrustServer(chain, authType, null /* hostname*/, null
> /* socket */, null /* engine */);
> -    }
> -
> -    @Override
> -    public X509Certificate[] getAcceptedIssuers() {
> -        return vX509TM.getAcceptedIssuers();
> -    }
> -
> -    @Override
> -    public void checkClientTrusted(X509Certificate[] chain, String authType,
> String hostname, String algorithm) throws CertificateException {
> -        vX509TM.checkTrustClient(chain, authType, hostname); // We don't
> need algorithm, we will always use this for TLS only
> -    }
> -
> -    @Override
> -    public void checkServerTrusted(X509Certificate[] chain, String authType,
> String hostname, String algorithm) throws CertificateException {
> -        // We don't need to pass algorithm, we will always use this for TLS
> only
> -        vX509TM.checkTrustServer(chain, authType, hostname, null /* socket
> */, null /* engine */);
> -    }
> -
> -}
> diff -r f664addf7da2 -r 449852a92985 plugin/icedteanp/IcedTeaNPPlugin.cc
> --- a/plugin/icedteanp/IcedTeaNPPlugin.cc	Mon Apr 07 11:24:18 2014 -0400
> +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc	Thu Apr 10 15:56:45 2014 -0400
> @@ -64,16 +64,16 @@
>  #define PLUGIN_FULL_NAME PLUGIN_NAME " (using " PLUGIN_VERSION ")"
>  #define PLUGIN_DESC "The <a href=\"" PACKAGE_URL "\">" PLUGIN_NAME "</a>
>  executes Java applets."
>  
> -#ifdef HAVE_JAVA7
> +#ifdef HAVE_JAVA8
> + #define JPI_VERSION "1.8.0_" JDK_UPDATE_VERSION
> + #define PLUGIN_APPLET_MIME_DESC \
> +  "application/x-java-applet;version=1.8:class,jar:IcedTea;"
> + #define PLUGIN_BEAN_MIME_DESC \
> +  "application/x-java-bean;version=1.8:class,jar:IcedTea;"
> +#else
>   #define JPI_VERSION "1.7.0_" JDK_UPDATE_VERSION
> - #define PLUGIN_APPLET_MIME_DESC7 \
> -  "application/x-java-applet;version=1.7:class,jar:IcedTea;"
> - #define PLUGIN_BEAN_MIME_DESC7 \
> -  "application/x-java-bean;version=1.7:class,jar:IcedTea;"
> -#else
> - #define JPI_VERSION "1.6.0_" JDK_UPDATE_VERSION
> - #define PLUGIN_APPLET_MIME_DESC7
> - #define PLUGIN_BEAN_MIME_DESC7
> + #define PLUGIN_APPLET_MIME_DESC
> + #define PLUGIN_BEAN_MIME_DESC
>  #endif
>  
>  #define PLUGIN_MIME_DESC                                               \
> @@ -93,7 +93,8 @@
>    "application/x-java-applet;version=1.4.2:class,jar:IcedTea;"         \
>    "application/x-java-applet;version=1.5:class,jar:IcedTea;"           \
>    "application/x-java-applet;version=1.6:class,jar:IcedTea;"           \
> -  PLUGIN_APPLET_MIME_DESC7 \
> +  "application/x-java-applet;version=1.7:class,jar:IcedTea;"           \
> +  PLUGIN_APPLET_MIME_DESC \
>    "application/x-java-applet;jpi-version=" JPI_VERSION ":class,jar:IcedTea;"
>    \
>    "application/x-java-bean:class,jar:IcedTea;"                         \
>    "application/x-java-bean;version=1.1:class,jar:IcedTea;"             \
> @@ -110,7 +111,8 @@
>    "application/x-java-bean;version=1.4.2:class,jar:IcedTea;"           \
>    "application/x-java-bean;version=1.5:class,jar:IcedTea;"             \
>    "application/x-java-bean;version=1.6:class,jar:IcedTea;"             \
> -  PLUGIN_BEAN_MIME_DESC7 \
> +  "application/x-java-bean;version=1.7:class,jar:IcedTea;"             \
> +  PLUGIN_BEAN_MIME_DESC \
>    "application/x-java-bean;jpi-version=" JPI_VERSION ":class,jar:IcedTea;"
>    \
>    "application/x-java-vm-npruntime::IcedTea;"
>  
> 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07



More information about the distro-pkg-dev mailing list