rpms/java-1.7.0-icedtea/devel README.plugin, NONE, 1.1 README.src, NONE, 1.1 generate-cacerts.pl, NONE, 1.1 generate-fedora-zip.sh, NONE, 1.1 java-1.7.0-icedtea-jhat.patch, NONE, 1.1 java-1.7.0-icedtea-makefile.patch, NONE, 1.1 java-1.7.0-icedtea-win32.patch, NONE, 1.1 java-1.7.0-icedtea.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Thomas Fitzsimmons (fitzsim) fedora-extras-commits at redhat.com
Tue Aug 28 14:57:16 UTC 2007


Author: fitzsim

Update of /cvs/pkgs/rpms/java-1.7.0-icedtea/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv29490/devel

Modified Files:
	.cvsignore sources 
Added Files:
	README.plugin README.src generate-cacerts.pl 
	generate-fedora-zip.sh java-1.7.0-icedtea-jhat.patch 
	java-1.7.0-icedtea-makefile.patch 
	java-1.7.0-icedtea-win32.patch java-1.7.0-icedtea.spec 
Log Message:
- Initial commit.



--- NEW FILE README.plugin ---
The java-1.7.0-icedtea-plugin subpackage contains a version of
gcjwebplugin that has been modified to run on the IcedTea class
libraries.  The package manages an alternatives symlink,
/usr/lib/mozilla/plugins/libjavaplugin.so, so that gcjwebplugin is
recognized by the Firefox web browser.


--- NEW FILE README.src ---
The java-1.7.0-icedtea-src subpackage contains the complete IcedTea
class library source code for use by IDE indexers and debuggers.


--- NEW FILE generate-cacerts.pl ---
#!/usr/bin/perl

# Copyright (C) 2007 Red Hat, Inc.
#
# This program 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; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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.

# generate-cacerts.pl generates a gkeytool keystore named 'cacerts'
# from OpenSSL's certificate bundle.

# First extract each of OpenSSL's bundled certificates into its own
# aliased filename.
$file = "/etc/pki/tls/cert.pem";
open(CERTS, $file);
@certs = <CERTS>;
close(CERTS);

$pem_file_number = 0;
$writing_cert = 0;
foreach $cert (@certs)
{
	 if ($cert eq "-----BEGIN CERTIFICATE-----\n")
	 {
		  if ($writing_cert != 0)
		  {
				die "$file is malformed.";
		  }
		  $pem_file_number++;
		  # Numbering each file guarantees that cert aliases will be
		  # unique.
		  $pem_file_name = "$pem_file_number$cert_alias.pem";
		  $writing_cert = 1;
		  open(PEM, ">$pem_file_name");
		  print PEM $cert;
	 }
	 elsif ($cert eq "-----END CERTIFICATE-----\n")
	 {
		  $writing_cert = 0;
		  print PEM $cert;
		  close(PEM);
	 }
	 elsif ($cert =~ /Issuer: /)
	 {
		  # Generate an alias using the OU and CN attributes of the
		  # Issuer field if both are present, otherwise use only the CN
		  # attribute.  The Issuer field must have either the OU or the
		  # CN attribute.
		  $_ = $cert;
		  if ($cert =~ /OU=/)
		  {
				s/Issuer:.*?OU=//;
				# Remove other occurrences of OU=.
				s/OU=.*CN=//;
				# Remove CN= if there were not other occurrences of OU=.
				s/CN=//;
		  }
		  elsif ($cert =~ /CN=/)
		  {
				s/Issuer:.*CN=//;
		  }
		  s/\W//g;
		  tr/A-Z/a-z/;
		  $cert_alias = $_
	 }
	 else
	 {
		  if ($writing_cert == 1)
		  {
				print PEM $cert;
		  }
	 }
}

# Check that the correct number of .pem files were produced.
@pem_files = <*.pem>;
if (@pem_files != $pem_file_number)
{
	 die "Number of .pem files produced does not match".
		  " number of certs read from $file.";
}

# Now store each cert in the 'cacerts' file using keytool command
# passed in as command-line argument.
$certs_written_count = 0;
foreach $pem_file (@pem_files)
{
	 system "yes | $ARGV[0] -import -alias `basename $pem_file .pem`".
		  " -keystore cacerts -storepass changeit -file $pem_file".
		  " 2>&1 >/dev/null";
	 unlink($pem_file);
	 $certs_written_count++;
}

# Check that the correct number of certs were added to the keystore.
if ($certs_written_count != $pem_file_number)
{
	 die "Number of certs added to keystore does not match".
		  " number of certs read from $file.";
}


--- NEW FILE generate-fedora-zip.sh ---
#!/bin/sh

# Unzip openjdk source zip.
unzip -q $1

# Remove win32 sources, some of which have questionable license
# headers.
rm -rf \
  openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/win32 \
  openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg \
  openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/win32_amd64 \
  openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/win32_ia64 \
  openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/win32_x86

# Remove idl sources with questionable license headers.
rm -f \
  openjdk/j2se/src/share/classes/com/sun/tools/corba/se/idl/grammar.idl \
  openjdk/j2se/src/share/classes/com/sun/tools/corba/se/idl/first.set \
  openjdk/j2se/src/share/classes/com/sun/tools/corba/se/idl/grammar3.idl \
  openjdk/j2se/src/share/classes/com/sun/tools/corba/se/idl/follow.set

# Remove test sources with questionable license headers.
rm -f \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4168625Resource3.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4168625Resource3_en_IE.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4165815Test.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4177489_Resource_jf.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4168625Resource3_en_CA.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4168625Getter.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4177489Test.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4168625Resource.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4168625Resource2.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4168625Resource3_en_US.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4083270Test.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4168625Resource3_en.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4177489_Resource.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4168625Test.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4168625Resource2_en_US.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4168625Class.java \
   openjdk/j2se/test/java/util/Locale/Bug4175998Test.java \
   openjdk/j2se/test/java/util/ResourceBundle/RBTestFmwk.java \
   openjdk/j2se/test/java/util/ResourceBundle/TestResource_fr.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4179766Resource.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4179766Getter.java \
   openjdk/j2se/test/java/util/ResourceBundle/Bug4179766Class.java \
   openjdk/j2se/test/java/util/ResourceBundle/TestResource.java \
   openjdk/j2se/test/java/util/ResourceBundle/FakeTestResource.java \
   openjdk/j2se/test/java/util/ResourceBundle/TestResource_de.java \
   openjdk/j2se/test/java/util/ResourceBundle/TestBug4179766.java \
   openjdk/j2se/test/java/util/ResourceBundle/TestResource_fr_CH.java \
   openjdk/j2se/test/java/util/ResourceBundle/ResourceBundleTest.java \
   openjdk/j2se/test/java/util/ResourceBundle/TestResource_it.java \
   openjdk/j2se/test/java/util/Locale/PrintDefaultLocale.java \
   openjdk/j2se/test/java/util/Locale/LocaleTest.java \
   openjdk/j2se/test/java/util/Locale/LocaleTestFmwk.java \
   openjdk/j2se/test/java/util/Locale/Bug4184873Test.java \
   openjdk/j2se/test/sun/text/resources/LocaleDataTest.java

# Remove jhat sources.  Most have questionable license headers.
rm -rf \
  openjdk/j2se/src/share/classes/com/sun/tools/hat \
  openjdk/j2se/make/sun/jhat/Makefile

# Remove J2DBench sources, some of which have questionable license
# headers.
rm -rf \
  openjdk/j2se/src/share/demo/java2d/J2DBench

# Create new zip with new name.
NEW_ZIP=$(echo $1 | sed -e 's/\.zip/-fedora.zip/')
zip -rq $NEW_ZIP openjdk

# Remove old unzipped openjdk dir.
rm -rf openjdk

java-1.7.0-icedtea-jhat.patch:

--- NEW FILE java-1.7.0-icedtea-jhat.patch ---
--- ../icedtea/openjdk-ecj/j2se/make/sun/Makefile	2007-08-24 12:47:38.000000000 -0400
+++ openjdk/j2se/make/sun/Makefile	2007-08-27 14:42:08.000000000 -0400
@@ -40,7 +40,7 @@
 ifndef J2RE_ONLY
   TOOLS_SUBDIRS  = javap native2ascii serialver jps jstat jstatd
   TOOLS_SUBDIRS += $(JSADEBUGD_SUBDIR)
-  TOOLS_SUBDIRS += jstack jmap jinfo jconsole jrunscript jhat
+  TOOLS_SUBDIRS += jstack jmap jinfo jconsole jrunscript
 endif
 
 # Rhino/Mozilla java sources
--- ../icedtea/openjdk/j2se/make/common/Release.gmk	2007-08-16 03:17:47.000000000 -0400
+++ openjdk/j2se/make/common/Release.gmk	2007-08-27 14:51:39.000000000 -0400
@@ -169,7 +169,6 @@
 	javap.1 \
 	jconsole.1 \
 	jdb.1 \
-	jhat.1 \
   jinfo.1 \
   jmap.1 \
   jps.1 \
@@ -352,7 +351,6 @@
 	com/sun/tools/example/debug/expr \
 	com/sun/tools/example/debug/tty  \
 	com/sun/tools/extcheck  \
-	com/sun/tools/hat       \
 	com/sun/tools/javac     \
 	com/sun/tools/javadoc   \
 	com/sun/tools/apt       \
@@ -462,8 +460,7 @@
 	wsgen$(EXE_SUFFIX) \
 	wsimport$(EXE_SUFFIX) \
         schemagen$(EXE_SUFFIX) \
-	jsadebugd$(EXE_SUFFIX) \
-	jhat$(EXE_SUFFIX)
+	jsadebugd$(EXE_SUFFIX)
 
 # The following get removed from the JRE after the bulk-copy of LIBDIR...
 NOTJRELIBS = tools.jar \

java-1.7.0-icedtea-makefile.patch:

--- NEW FILE java-1.7.0-icedtea-makefile.patch ---
--- Makefile.am.orig	2007-08-27 14:14:11.000000000 -0400
+++ Makefile.am	2007-08-27 14:14:27.000000000 -0400
@@ -122,15 +122,6 @@
 
 download.stamp:
 	rm -f download.stamp
-	if ! echo "$(OPENJDK_MD5SUM)  $(OPENJDK_SRC_ZIP)" \
-	  | $(MD5SUM) --check ; \
-	then \
-	  if [ $(OPENJDK_SRC_ZIP) ] ; \
-	  then \
-            mv $(OPENJDK_SRC_ZIP) $(OPENJDK_SRC_ZIP).old ; \
-          fi ; \
-	  $(WGET) $(OPENJDK_URL)$(OPENJDK_SRC_ZIP_BASE) -O $(OPENJDK_SRC_ZIP); \
-	fi
 	touch download.stamp
 
 clean-download:
--- Makefile.in.orig	2007-08-27 14:14:16.000000000 -0400
+++ Makefile.in	2007-08-27 14:14:34.000000000 -0400
@@ -643,15 +643,6 @@
 
 download.stamp:
 	rm -f download.stamp
-	if ! echo "$(OPENJDK_MD5SUM)  $(OPENJDK_SRC_ZIP)" \
-	  | $(MD5SUM) --check ; \
-	then \
-	  if [ $(OPENJDK_SRC_ZIP) ] ; \
-	  then \
-            mv $(OPENJDK_SRC_ZIP) $(OPENJDK_SRC_ZIP).old ; \
-          fi ; \
-	  $(WGET) $(OPENJDK_URL)$(OPENJDK_SRC_ZIP_BASE) -O $(OPENJDK_SRC_ZIP); \
-	fi
 	touch download.stamp
 
 clean-download:

java-1.7.0-icedtea-win32.patch:

--- NEW FILE java-1.7.0-icedtea-win32.patch ---
--- openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java.orig	2007-08-27 16:27:50.000000000 -0400
+++ openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java	2007-08-27 16:28:43.000000000 -0400
@@ -31,8 +31,6 @@
 import sun.jvm.hotspot.debugger.dbx.*;
 import sun.jvm.hotspot.debugger.proc.*;
 import sun.jvm.hotspot.debugger.remote.*;
-import sun.jvm.hotspot.debugger.win32.*;
-import sun.jvm.hotspot.debugger.windbg.*;
 import sun.jvm.hotspot.debugger.linux.*;
 import sun.jvm.hotspot.memory.*;
 import sun.jvm.hotspot.oops.*;
@@ -333,8 +331,6 @@
             
             if (os.equals("solaris")) {
                 setupDebuggerSolaris();
-            } else if (os.equals("win32")) {
-                setupDebuggerWin32();
             } else if (os.equals("linux")) {
                 setupDebuggerLinux();
             } else {
@@ -384,10 +380,6 @@
                 db = new HotSpotTypeDataBase(machDesc,
                 new HotSpotSolarisVtblAccess(debugger, jvmLibNames),
                 debugger, jvmLibNames);
-            } else if (os.equals("win32")) {
-                db = new HotSpotTypeDataBase(machDesc,
-                new Win32VtblAccess(debugger, jvmLibNames),
-                debugger, jvmLibNames);
             } else if (os.equals("linux")) {
                 db = new HotSpotTypeDataBase(machDesc,
                 new LinuxVtblAccess(debugger, jvmLibNames),
@@ -553,8 +545,6 @@
         os = debugger.getOS();
         if (os.equals("solaris")) {
             setupJVMLibNamesSolaris();
-        } else if (os.equals("win32")) {
-            setupJVMLibNamesWin32();
         } else if (os.equals("linux")) {
             setupJVMLibNamesLinux();
         } else {
@@ -569,42 +559,6 @@
     }
     
     //
-    // Win32
-    //
-    
-    private void setupDebuggerWin32() {
-        setupJVMLibNamesWin32();
-        
-        if (cpu.equals("x86")) {
-            machDesc = new MachineDescriptionIntelX86();
-        } else if (cpu.equals("amd64")) {
-            machDesc = new MachineDescriptionAMD64();
-        } else if (cpu.equals("ia64")) {
-            machDesc = new MachineDescriptionIA64();
-        } else {
-            throw new DebuggerException("Win32 supported under x86, amd64 and ia64 only");
-        }
-        
-        // Note we do not use a cache for the local debugger in server
-        // mode; it will be taken care of on the client side (once remote
-        // debugging is implemented).
-        
-        if (System.getProperty("sun.jvm.hotspot.debugger.useWindbgDebugger") != null) {
-            debugger = new WindbgDebuggerLocal(machDesc, !isServer);
-        } else {
-            debugger = new Win32DebuggerLocal(machDesc, !isServer);
-        }
-        
-        attachDebugger();
-        
-        // FIXME: add support for server mode
-    }
-    
-    private void setupJVMLibNamesWin32() {
-        jvmLibNames = new String[] { "jvm.dll", "jvm_g.dll" };
-    }
-    
-    //
     // Linux
     //
     
--- openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java.orig	2007-08-27 16:30:06.000000000 -0400
+++ openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java	2007-08-27 16:30:58.000000000 -0400
@@ -32,8 +32,6 @@
 import sun.jvm.hotspot.debugger.dbx.*;
 import sun.jvm.hotspot.debugger.proc.*;
 import sun.jvm.hotspot.debugger.cdbg.*;
-import sun.jvm.hotspot.debugger.win32.*;
-import sun.jvm.hotspot.debugger.windbg.*;
 import sun.jvm.hotspot.debugger.linux.*;
 import sun.jvm.hotspot.debugger.sparc.*;
 import sun.jvm.hotspot.debugger.remote.*;
@@ -512,8 +510,6 @@
             
             if (os.equals("solaris")) {
                 setupDebuggerSolaris();
-            } else if (os.equals("win32")) {
-                setupDebuggerWin32();
             } else if (os.equals("linux")) {
                 setupDebuggerLinux();
             } else {
@@ -561,9 +557,6 @@
             if (os.equals("solaris")) {
                 db = new HotSpotTypeDataBase(machDesc, new HotSpotSolarisVtblAccess(debugger, jvmLibNames),
                 debugger, jvmLibNames);
-            } else if (os.equals("win32")) {
-                db = new HotSpotTypeDataBase(machDesc, new Win32VtblAccess(debugger, jvmLibNames),
-                debugger, jvmLibNames);
             } else if (os.equals("linux")) {
                 db = new HotSpotTypeDataBase(machDesc, new LinuxVtblAccess(debugger, jvmLibNames),
                 debugger, jvmLibNames);
@@ -735,8 +728,6 @@
         os = debugger.getOS();
         if (os.equals("solaris")) {
             setupJVMLibNamesSolaris();
-        } else if (os.equals("win32")) {
-            setupJVMLibNamesWin32();
         } else if (os.equals("linux")) {
             setupJVMLibNamesLinux();
         } else {
@@ -752,41 +743,6 @@
     }
     
     //
-    // Win32
-    //
-    
-    private void setupDebuggerWin32() {
-        setupJVMLibNamesWin32();
-        
-        if (cpu.equals("x86")) {
-            machDesc = new MachineDescriptionIntelX86();
-        } else if (cpu.equals("amd64")) {
-            machDesc = new MachineDescriptionAMD64();
-        } else if (cpu.equals("ia64")) {
-            machDesc = new MachineDescriptionIA64();
-        } else {
-            throw new DebuggerException("Win32 supported under x86, amd64 and ia64 only");
-        }
-        
-        // Note we do not use a cache for the local debugger in server
-        // mode; it will be taken care of on the client side (once remote
-        // debugging is implemented).
-        
-        if (System.getProperty("sun.jvm.hotspot.debugger.useWindbgDebugger") != null) {
-            debugger = new WindbgDebuggerLocal(machDesc, !isServer);
-        } else {
-            debugger = new Win32DebuggerLocal(machDesc, !isServer);
-        }
-        
-        attachDebugger();
-    }
-    
-    private void setupJVMLibNamesWin32() {
-        jvmLibNames = new String[] { "jvm.dll", "jvm_g.dll" };
-        saLibNames = new String[] { "sa.dll", "sa_g.dll" };
-    }
-    
-    //
     // Linux
     //
     
--- openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java.orig	2007-08-27 16:33:03.000000000 -0400
+++ openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java	2007-08-27 16:33:28.000000000 -0400
@@ -30,9 +30,6 @@
 import sun.jvm.hotspot.runtime.solaris_sparc.SolarisSPARCJavaThreadPDAccess;
 import sun.jvm.hotspot.runtime.solaris_x86.SolarisX86JavaThreadPDAccess;
 import sun.jvm.hotspot.runtime.solaris_amd64.SolarisAMD64JavaThreadPDAccess;
-import sun.jvm.hotspot.runtime.win32_amd64.Win32AMD64JavaThreadPDAccess;
-import sun.jvm.hotspot.runtime.win32_x86.Win32X86JavaThreadPDAccess;
-import sun.jvm.hotspot.runtime.win32_ia64.Win32IA64JavaThreadPDAccess;
 import sun.jvm.hotspot.runtime.linux_x86.LinuxX86JavaThreadPDAccess;
 import sun.jvm.hotspot.runtime.linux_ia64.LinuxIA64JavaThreadPDAccess;
 import sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess;
@@ -72,14 +69,6 @@
             } else if (cpu.equals("amd64")) {
                 access = new SolarisAMD64JavaThreadPDAccess();
             }
-        } else if (os.equals("win32")) {
-            if (cpu.equals("x86")) {
-                access =  new Win32X86JavaThreadPDAccess();
-            } else if (cpu.equals("amd64")) {
-                access =  new Win32AMD64JavaThreadPDAccess();
-            } else if (cpu.equals("ia64")) {
-                access =  new Win32IA64JavaThreadPDAccess();
-            }
         } else if (os.equals("linux")) {
             if (cpu.equals("x86")) {
                 access = new LinuxX86JavaThreadPDAccess();


--- NEW FILE java-1.7.0-icedtea.spec ---
# If gcjbootstrap is 1 IcedTea is bootstrapped against
# java-1.5.0-gcj-devel.  If gcjbootstrap is 0 IcedTea is built against
# java-1.7.0-icedtea-devel.  Building against java-1.7.0-icedtea-devel
# is not supported yet.
%define gcjbootstrap 1

%define icedteaver 1.3
%define icedteasnapshot -a9c9ee1b6479a84f2153be67fce85b0dbf371398
%define icedtearelease snapshot
%define openjdkver b18
%define openjdkdate 16_aug_2007

%define genurl http://icedtea.classpath.org/hg/fedora/raw-file/32c44002d507/

%define accessmajorver 1.19
%define accessminorver 2
%define accessver %{accessmajorver}.%{accessminorver}
%define accessurl http://ftp.gnome.org/pub/GNOME/sources/java-access-bridge/

%define openjdkurlbase http://www.java.net/download/openjdk/jdk7/promoted/
%define openjdkurl %{openjdkurlbase}%{openjdkver}/
%define openjdkzip openjdk-7-ea-src-%{openjdkver}-%{openjdkdate}.zip
%define fedorazip  openjdk-7-ea-src-%{openjdkver}-%{openjdkdate}-fedora.zip

%ifarch x86_64
%define archbuild amd64
%define archinstall amd64
%else
%define archbuild i586
%define archinstall i386
%endif

%define buildoutputdir openjdk/control/build/linux-%{archbuild}

%if %{gcjbootstrap}
%define icedteaopt %{nil}
%else
%define icedteaopt --with-icedtea
%endif

# Convert an absolute path to a relative path.  Each symbolic link is
# specified relative to the directory in which it is installed so that
# it will resolve properly within chrooted installations.
%define script 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])'
%define abs2rel %{__perl} -e %{script}

# Hard-code libdir on 64-bit architectures to make the 64-bit JDK
# simply be another alternative.
%ifarch x86_64
%define syslibdir       %{_prefix}/lib64
%define _libdir         %{_prefix}/lib
%define archname        %{name}.%{_arch}
%define localpolicy     jce_%{javaver}_%{origin}_local_policy.%{_arch}
%define uspolicy        jce_%{javaver}_%{origin}_us_export_policy.%{_arch}
%define javaplugin      libjavaplugin.so.%{_arch}
%else
%define syslibdir       %{_libdir}
%define archname        %{name}
%define localpolicy     jce_%{javaver}_%{origin}_local_policy
%define uspolicy        jce_%{javaver}_%{origin}_us_export_policy
%define javaplugin      libjavaplugin.so
%endif

# Standard JPackage naming and versioning defines.
%define origin          icedtea
%define priority        17000
%define javaver         1.7.0
%define buildver        0

# Standard JPackage directories and symbolic links.
# Make 64-bit JDKs just another alternative on 64-bit architectures.
%ifarch x86_64
%define sdklnk          java-%{javaver}-%{origin}.%{_arch}
%define jrelnk          jre-%{javaver}-%{origin}.%{_arch}
%define sdkdir          %{name}-%{version}.%{_arch}
%else
%define sdklnk          java-%{javaver}-%{origin}
%define jrelnk          jre-%{javaver}-%{origin}
%define sdkdir          %{name}-%{version}
%endif
%define jredir          %{sdkdir}/jre
%define sdkbindir       %{_jvmdir}/%{sdklnk}/bin
%define jrebindir       %{_jvmdir}/%{jrelnk}/bin
%ifarch x86_64
%define jvmjardir       %{_jvmjardir}/%{name}-%{version}.%{_arch}
%else
%define jvmjardir       %{_jvmjardir}/%{name}-%{version}
%endif

%define cgibindir       %{_var}/www/cgi-bin

# Prevent brp-java-repack-jars from being run.
%define __jar_repack 0

Name:    java-%{javaver}-%{origin}
Version: %{javaver}.%{buildver}
Release: 0.14.%{openjdkver}.%{icedtearelease}%{?dist}
Summary: IcedTea Runtime Environment
Group:   Development/Languages

License:  GPLv2 with exceptions
URL:      http://icedtea.classpath.org/
Source0:  %{url}download/source/icedtea-%{icedteaver}%{icedteasnapshot}.tar.gz
# To generate the fedorazip, run generate-fedora-zip.sh on openjdkzip.
# Source1:  %{openjdkurl}%{openjdkzip}
Source1:  %{fedorazip}
# Save icedtea.classpath.org space and bandwidth.
# NoSource: 1
Source2:  %{accessurl}%{accessmajorver}/java-access-bridge-%{accessver}.tar.gz
Source3:  %{genurl}generate-cacerts.pl
Source4:  %{genurl}generate-fedora-zip.sh
Source5:  README.src
Source6:  README.plugin
Patch0:   java-1.7.0-icedtea-makefile.patch
Patch1:   java-1.7.0-icedtea-jhat.patch
Patch2:   java-1.7.0-icedtea-win32.patch

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires: alsa-lib-devel
BuildRequires: cups-devel
BuildRequires: lesstif-devel
BuildRequires: libX11-devel
BuildRequires: libXi-devel
BuildRequires: libXp-devel
BuildRequires: libXt-devel
BuildRequires: libXtst-devel
BuildRequires: wget
BuildRequires: xalan-j2
BuildRequires: xerces-j2
BuildRequires: xorg-x11-proto-devel
%if %{gcjbootstrap}
BuildRequires: java-1.5.0-gcj-devel
%else
BuildRequires: java-1.7.0-icedtea-devel
%endif
# Java Access Bridge for GNOME build requirements.
BuildRequires: at-spi-devel
BuildRequires: gawk
BuildRequires: libbonobo-devel
BuildRequires: pkgconfig >= 0.9.0
BuildRequires: xorg-x11-utils
# Certificate file generation requirements.
BuildRequires: openssl
# gcjwebplugin build requirements.
BuildRequires: firefox-devel
BuildRequires: glib2-devel
BuildRequires: gtk2-devel

# Post requires alternatives to install tool alternatives.
Requires(post):   %{_sbindir}/alternatives
# Postun requires alternatives to uninstall tool alternatives.
Requires(postun): %{_sbindir}/alternatives

# Standard JPackage base provides.
Provides: jre-%{javaver}-%{origin} = %{version}-%{release}
Provides: jre-%{origin} = %{version}-%{release}
Provides: jre-%{javaver} = %{version}-%{release}
Provides: java-%{javaver} = %{version}-%{release}
Provides: jre = %{javaver}
Provides: java-%{origin} = %{version}-%{release}
Provides: java = %{javaver}
# Standard JPackage extensions provides.
Provides: jndi = %{version}
Provides: jndi-ldap = %{version}
Provides: jndi-cos = %{version}
Provides: jndi-rmi = %{version}
Provides: jndi-dns = %{version}
Provides: jaas = %{version}
Provides: jsse = %{version}
Provides: jce = %{version}
# Both these versioned provides need to be here since either may be
# required explicitly.  Requiring the first one means requiring a
# version of the JDBC API; requiring the second one means requiring
# the JDBC API provided by this version of the JDK.  This convention
# comes from JPackage.
Provides: jdbc-stdext = 3.0
Provides: jdbc-stdext = %{version}
Provides: java-sasl = %{version}

ExclusiveArch: i586 x86_64

%description
The IcedTea runtime environment.

%package devel
Summary: IcedTea Development Environment
Group:   Development/Tools

# Require base package.
Requires:         %{name} = %{version}-%{release}
# Post requires alternatives to install tool alternatives.
Requires(post):   %{_sbindir}/alternatives
# Postun requires alternatives to uninstall tool alternatives.
Requires(postun): %{_sbindir}/alternatives

# Standard JPackage devel provides.
Provides: java-sdk-%{javaver}-%{origin} = %{version}
Provides: java-sdk-%{javaver} = %{version}
Provides: java-sdk-%{origin} = %{version}
Provides: java-sdk = %{javaver}
Provides: java-%{javaver}-devel = %{version}
Provides: java-devel-%{origin} = %{version}
Provides: java-devel = %{javaver}

%description devel
The IcedTea development tools.

%package demo
Summary: IcedTea Demos
Group:   Development/Languages

Requires: %{name} = %{version}-%{release}

%description demo
The IcedTea demos.

%package src
Summary: IcedTea Source Bundle
Group:   Development/Languages

Requires: %{name} = %{version}-%{release}

%description src
The IcedTea source bundle.

%package javadoc
Summary: IcedTea API Documentation
Group:   Documentation

# Post requires alternatives to install javadoc alternative.
Requires(post):   %{_sbindir}/alternatives
# Postun requires alternatives to uninstall javadoc alternative.
Requires(postun): %{_sbindir}/alternatives

# Standard JPackage javadoc provides.
Provides: java-javadoc = %{version}-%{release}
Provides: java-%{javaver}-javadoc = %{version}-%{release}

%description javadoc
The IcedTea API documentation.

%package plugin
Summary: IcedTea Web Browser Plugin
Group:   Applications/Internet

Requires: %{name} = %{version}-%{release}
Requires: %{syslibdir}/mozilla/plugins
# Post requires alternatives to install plugin alternative.
Requires(post):   %{_sbindir}/alternatives
# Postun requires alternatives to uninstall plugin alternative.
Requires(postun): %{_sbindir}/alternatives

# Standard JPackage plugin provides.
Provides: java-plugin = %{javaver}
Provides: java-%{javaver}-plugin = %{epoch}:%{version}

%description plugin
The IcedTea web browser plugin.

%prep
%setup -q -n icedtea-%{icedteaver}
%setup -q -n icedtea-%{icedteaver} -T -D -a 2
%patch0
cp %{SOURCE5} .
cp %{SOURCE6} .

%build
./configure %{icedteaopt} --with-openjdk-src-zip=%{SOURCE1}
make patch-ecj.stamp patch.stamp
pushd openjdk-ecj
  patch -p1 < %{PATCH1}
  patch -p1 < %{PATCH2}
popd
patch -p0 < %{PATCH1}
patch -p0 < %{PATCH2}
make
pushd java-access-bridge-%{accessver}
  export JAVA_HOME=$(pwd)/../%{buildoutputdir}/j2sdk-image
  export PATH=$JAVA_HOME/bin:$PATH
  ./configure
  make
  cp -a bridge/accessibility.properties $JAVA_HOME/jre/lib
  cp -a gnome-java-bridge.jar $JAVA_HOME/jre/lib/ext
popd

%install
rm -rf $RPM_BUILD_ROOT

pushd %{buildoutputdir}/j2sdk-image

  # Assume that java-rmi.cgi is not used.
  # http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4418631
  rm -f bin/java-rmi.cgi

  # Install main files.
  install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
  cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
  install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
  cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}

  # Install extension symlinks.
  install -d -m 755 $RPM_BUILD_ROOT%{jvmjardir}
  pushd $RPM_BUILD_ROOT%{jvmjardir}
    RELATIVE=$(%{abs2rel} %{_jvmdir}/%{jredir}/lib %{jvmjardir})
    ln -sf $RELATIVE/jsse.jar jsse-%{version}.jar
    ln -sf $RELATIVE/jce.jar jce-%{version}.jar
    ln -sf $RELATIVE/rt.jar jndi-%{version}.jar
    ln -sf $RELATIVE/rt.jar jndi-ldap-%{version}.jar
    ln -sf $RELATIVE/rt.jar jndi-cos-%{version}.jar
    ln -sf $RELATIVE/rt.jar jndi-rmi-%{version}.jar
    ln -sf $RELATIVE/rt.jar jaas-%{version}.jar
    ln -sf $RELATIVE/rt.jar jdbc-stdext-%{version}.jar
    ln -sf jdbc-stdext-%{version}.jar jdbc-stdext-3.0.jar
    ln -sf $RELATIVE/rt.jar sasl-%{version}.jar
    for jar in *-%{version}.jar
    do
      if [ x%{version} != x%{javaver} ]
      then
        ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|-%{javaver}.jar|g")
      fi
      ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|.jar|g")
    done
  popd

  # Install JCE policy symlinks.
  install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{archname}/jce/vanilla
  for file in local_policy.jar US_export_policy.jar
  do
    mv -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/$file \
      $RPM_BUILD_ROOT%{_jvmprivdir}/%{archname}/jce/vanilla
    # Touch files for ghosts.
    touch $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/$file
  done

  # Install versionless 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.
  rm -f man/man1/javaws.1

  # Install man pages.
  install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
  for manpage in man/man1/*
  do
    # Convert man pages to UTF8 encoding.
    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
  done

  # Install demos and samples.
  cp -a demo $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
  cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}

popd

# Install Javadoc documentation.
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
cp -a %{buildoutputdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{name}

# Generate and install cacerts file.
%{__perl} %{SOURCE3} %{buildoutputdir}/j2sdk-image/bin/keytool
install -m 644 cacerts $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security

# Find JRE directories.
find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type d \
  | grep -v jre/lib/security \
  | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
  > %{name}.files
# Find JRE files.
find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type f -o -type l \
  | grep -v jre/lib/security \
  | grep -v gcjwebplugin.so \
  | sed 's|'$RPM_BUILD_ROOT'||' \
  >> %{name}.files
# Find demo directories.
find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample -type d \
  | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
  > %{name}-demo.files
# Find non-documentation demo files.
find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \
  -type f -o -type l | sort \
  | grep -v README \
  | sed 's|'$RPM_BUILD_ROOT'||' \
  >> %{name}-demo.files
# Find documentation demo files.
find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \
  -type f -o -type l | sort \
  | grep README \
  | sed 's|'$RPM_BUILD_ROOT'||' \
  | sed 's|^|%doc |' \
  >> %{name}-demo.files

%clean
rm -rf $RPM_BUILD_ROOT

%post
if test -f /proc/sys/fs/binfmt_misc/jarexec
then
  echo '-1' > /proc/sys/fs/binfmt_misc/jarexec
fi
if test -f /proc/sys/fs/binfmt_misc/register
then
  echo ':jarexec:M::PK\x03\x04::%{_jvmdir}/%{jredir}/lib/jexec:' \
    > /proc/sys/fs/binfmt_misc/register
fi

ext=.gz
alternatives \
  --install %{_bindir}/java java %{jrebindir}/java %{priority} \
  --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jrelnk} \
  --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk} \
  --slave %{_bindir}/keytool keytool %{jrebindir}/keytool \
  --slave %{_bindir}/orbd orbd %{jrebindir}/orbd \
  --slave %{_bindir}/pack200 pack200 %{jrebindir}/pack200 \
  --slave %{_bindir}/policytool policytool %{jrebindir}/policytool \
  --slave %{_bindir}/rmid rmid %{jrebindir}/rmid \
  --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir}/rmiregistry \
  --slave %{_bindir}/servertool servertool %{jrebindir}/servertool \
  --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 \
  --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \
  %{_mandir}/man1/keytool-%{name}.1$ext \
  --slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \
  %{_mandir}/man1/orbd-%{name}.1$ext \
  --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \
  %{_mandir}/man1/pack200-%{name}.1$ext \
  --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \
  %{_mandir}/man1/policytool-%{name}.1$ext \
  --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \
  %{_mandir}/man1/rmid-%{name}.1$ext \
  --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \
  %{_mandir}/man1/rmiregistry-%{name}.1$ext \
  --slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \
  %{_mandir}/man1/servertool-%{name}.1$ext \
  --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \
  %{_mandir}/man1/tnameserv-%{name}.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}

alternatives \
  --install %{_jvmdir}/jre-%{javaver} \
  jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} \
  --slave %{_jvmjardir}/jre-%{javaver} \
  jre_%{javaver}_exports %{_jvmjardir}/%{jrelnk}

alternatives \
  --install \
  %{_jvmdir}/%{jrelnk}/lib/security/local_policy.jar \
  %{localpolicy} \
  %{_jvmprivdir}/%{archname}/jce/vanilla/local_policy.jar \
  %{priority} \
  --slave \
  %{_jvmdir}/%{jrelnk}/lib/security/US_export_policy.jar \
  %{uspolicy} \
  %{_jvmprivdir}/%{archname}/jce/vanilla/US_export_policy.jar

%postun
if [ $1 -eq 0 ]
then
  if test -f /proc/sys/fs/binfmt_misc/jarexec
  then
    echo '-1' > /proc/sys/fs/binfmt_misc/jarexec
  fi

  alternatives --remove java %{jrebindir}/java
  alternatives --remove jre_%{origin} %{_jvmdir}/%{jrelnk}
  alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk}
  alternatives --remove \
    %{localpolicy} \
    %{_jvmprivdir}/%{archname}/jce/vanilla/local_policy.jar
fi

%post devel
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 %{_bindir}/appletviewer appletviewer %{sdkbindir}/appletviewer \
  --slave %{_bindir}/apt apt %{sdkbindir}/apt \
  --slave %{_bindir}/extcheck extcheck %{sdkbindir}/extcheck \
  --slave %{_bindir}/jar jar %{sdkbindir}/jar \
  --slave %{_bindir}/jarsigner jarsigner %{sdkbindir}/jarsigner \
  --slave %{_bindir}/javadoc javadoc %{sdkbindir}/javadoc \
  --slave %{_bindir}/javah javah %{sdkbindir}/javah \
  --slave %{_bindir}/javap javap %{sdkbindir}/javap \
  --slave %{_bindir}/jconsole jconsole %{sdkbindir}/jconsole \
  --slave %{_bindir}/jdb jdb %{sdkbindir}/jdb \
  --slave %{_bindir}/jhat jhat %{sdkbindir}/jhat \
  --slave %{_bindir}/jinfo jinfo %{sdkbindir}/jinfo \
  --slave %{_bindir}/jmap jmap %{sdkbindir}/jmap \
  --slave %{_bindir}/jps jps %{sdkbindir}/jps \
  --slave %{_bindir}/jrunscript jrunscript %{sdkbindir}/jrunscript \
  --slave %{_bindir}/jsadebugd jsadebugd %{sdkbindir}/jsadebugd \
  --slave %{_bindir}/jstack jstack %{sdkbindir}/jstack \
  --slave %{_bindir}/jstat jstat %{sdkbindir}/jstat \
  --slave %{_bindir}/jstatd jstatd %{sdkbindir}/jstatd \
  --slave %{_bindir}/native2ascii native2ascii %{sdkbindir}/native2ascii \
  --slave %{_bindir}/rmic rmic %{sdkbindir}/rmic \
  --slave %{_bindir}/schemagen schemagen %{sdkbindir}/schemagen \
  --slave %{_bindir}/serialver serialver %{sdkbindir}/serialver \
  --slave %{_bindir}/wsgen wsgen %{sdkbindir}/wsgen \
  --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 \
  --slave %{_mandir}/man1/apt.1$ext apt.1$ext \
  %{_mandir}/man1/apt-%{name}.1$ext \
  --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \
  %{_mandir}/man1/extcheck-%{name}.1$ext \
  --slave %{_mandir}/man1/jar.1$ext jar.1$ext \
  %{_mandir}/man1/jar-%{name}.1$ext \
  --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \
  %{_mandir}/man1/jarsigner-%{name}.1$ext \
  --slave %{_mandir}/man1/javac.1$ext javac.1$ext \
  %{_mandir}/man1/javac-%{name}.1$ext \
  --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \
  %{_mandir}/man1/javadoc-%{name}.1$ext \
  --slave %{_mandir}/man1/javah.1$ext javah.1$ext \
  %{_mandir}/man1/javah-%{name}.1$ext \
  --slave %{_mandir}/man1/javap.1$ext javap.1$ext \
  %{_mandir}/man1/javap-%{name}.1$ext \
  --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \
  %{_mandir}/man1/jconsole-%{name}.1$ext \
  --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \
  %{_mandir}/man1/jdb-%{name}.1$ext \
  --slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \
  %{_mandir}/man1/jhat-%{name}.1$ext \
  --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \
  %{_mandir}/man1/jinfo-%{name}.1$ext \
  --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \
  %{_mandir}/man1/jmap-%{name}.1$ext \
  --slave %{_mandir}/man1/jps.1$ext jps.1$ext \
  %{_mandir}/man1/jps-%{name}.1$ext \
  --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \
  %{_mandir}/man1/jrunscript-%{name}.1$ext \
  --slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \
  %{_mandir}/man1/jsadebugd-%{name}.1$ext \
  --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \
  %{_mandir}/man1/jstack-%{name}.1$ext \
  --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \
  %{_mandir}/man1/jstat-%{name}.1$ext \
  --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \
  %{_mandir}/man1/jstatd-%{name}.1$ext \
  --slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \
  %{_mandir}/man1/native2ascii-%{name}.1$ext \
  --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \
  %{_mandir}/man1/rmic-%{name}.1$ext \
  --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \
  %{_mandir}/man1/schemagen-%{name}.1$ext \
  --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \
  %{_mandir}/man1/serialver-%{name}.1$ext \
  --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \
  %{_mandir}/man1/wsgen-%{name}.1$ext \
  --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \
  %{_mandir}/man1/wsimport-%{name}.1$ext \
  --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \
  %{_mandir}/man1/xjc-%{name}.1$ext

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}

%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

%post javadoc
alternatives \
  --install %{_javadocdir}/java javadoc %{_javadocdir}/%{name}/api %{priority}

%postun javadoc
if [ $1 -eq 0 ]
then
  alternatives --remove javadoc %{_javadocdir}/%{name}/api
fi

%post plugin
alternatives \
  --install %{syslibdir}/mozilla/plugins/libjavaplugin.so %{javaplugin} \
  %{_jvmdir}/%{jrelnk}/lib/%{archinstall}/gcjwebplugin.so %{priority}

%postun plugin
if [ $1 -eq 0 ]
then
  alternatives --remove %{javaplugin} \
    %{_jvmdir}/%{jrelnk}/lib/%{archinstall}/gcjwebplugin.so
fi

%files -f %{name}.files
%defattr(-,root,root,-)
%doc %{buildoutputdir}/j2sdk-image/jre/ASSEMBLY_EXCEPTION
%doc %{buildoutputdir}/j2sdk-image/jre/LICENSE
%doc %{buildoutputdir}/j2sdk-image/jre/README.html
%doc %{buildoutputdir}/j2sdk-image/jre/THIRD_PARTY_README
%doc AUTHORS
%doc COPYING
%doc ChangeLog
%doc NEWS
%doc README
%dir %{_jvmdir}/%{sdkdir}
%{_jvmdir}/%{jrelnk}
%{_jvmjardir}/%{jrelnk}
%{_jvmprivdir}/*
%{jvmjardir}
%dir %{_jvmdir}/%{jredir}/lib/security
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/cacerts
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security
%ghost %{_jvmdir}/%{jredir}/lib/security/local_policy.jar
%ghost %{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar
%{_mandir}/man1/java-%{name}.1*
%{_mandir}/man1/keytool-%{name}.1*
%{_mandir}/man1/orbd-%{name}.1*
%{_mandir}/man1/pack200-%{name}.1*
%{_mandir}/man1/policytool-%{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*

%files devel
%defattr(-,root,root,-)
%doc %{buildoutputdir}/j2sdk-image/ASSEMBLY_EXCEPTION
%doc %{buildoutputdir}/j2sdk-image/LICENSE
%doc %{buildoutputdir}/j2sdk-image/README.html
%doc %{buildoutputdir}/j2sdk-image/THIRD_PARTY_README
%dir %{_jvmdir}/%{sdkdir}/bin
%dir %{_jvmdir}/%{sdkdir}/include
%dir %{_jvmdir}/%{sdkdir}/lib
%{_jvmdir}/%{sdkdir}/bin/*
%{_jvmdir}/%{sdkdir}/include/*
%{_jvmdir}/%{sdkdir}/lib/*
%{_jvmdir}/%{sdklnk}
%{_jvmjardir}/%{sdklnk}
%{_mandir}/man1/appletviewer-%{name}.1*
%{_mandir}/man1/apt-%{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/jdb-%{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/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*

%files demo -f %{name}-demo.files
%defattr(-,root,root,-)

%files src
%defattr(-,root,root,-)
%doc README.src
%{_jvmdir}/%{sdkdir}/src.zip

%files javadoc
%defattr(-,root,root,-)
%doc %{_javadocdir}/%{name}

%files plugin
%defattr(-,root,root,-)
%doc README.plugin
%{_jvmdir}/%{jredir}/lib/%{archinstall}/gcjwebplugin.so

%changelog
* Mon Aug 27 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.14.b18.snapshot
- Include idlj man page in files list.

* Mon Aug 27 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.14.b18.snapshot
- Add documentation for plugin and src subpackages.
- Fix plugin alternative on x86_64.
- Add java-1.7.0-icedtea-win32.patch.
- Rename modzip.sh generate-fedora-zip.sh.
- Keep patches in main directory.
- Namespace patches.
- Add java-1.7.0-icedtea-win32.patch, README.plugin and README.src.
- Bump release number.

* Mon Aug 27 2007 Lillian Angel <langel at redhat.com> - 1.7.0.0-0.13.b18.snapshot
- Added line to run modzip.sh to remove specific files from the openjdk zip.
- Defined new openjdk zip created by modzip.sh as newopenjdkzip.
- Added line to patch the IcedTea Makefile. No need to download openjdk zip.
- Updated genurl.
- Updated icedteasnapshot.

* Fri Aug 24 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.13.b18.snapshot
- Remove RMI CGI script and subpackage.
- Fix Java Access Bridge for GNOME URL.

* Thu Aug 23 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.12.b18.snapshot
- Fully qualify Java Access Bridge for GNOME and generate-cacerts
  source paths.
- Fix plugin post alternatives invocation.
- Include IcedTea documentation.
- Update icedteasnapshot.

* Tue Aug 21 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.11.b18.snapshot
- Revert change to configure macro.

* Mon Aug 20 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.11.b18.snapshot
- Fix rpmlint errors.

* Mon Aug 20 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.11.b18.snapshot
- Add missing development alternatives.
- Bump accessver to 1.19.2.
- Bump icedteaver.
- Set icedteasnapshot.
- Define icedtearelease.
- Bump openjdkver.
- Bump openjdkdate.
- Bump release number.
- Add plugin build requirements and subpackage.

* Tue Jul 31 2007 Lillian Angel <langel at redhat.com> - 1.7.0.0-0.10.b16.1.2
- Bump icedteaver.
- Updated icedteasnapshot.
- Updated release to include icedteaver.

* Wed Jul 25 2007 Lillian Angel <langel at redhat.com> - 1.7.0.0-0.9.b16
- Updated icedteasnapshot.
- Bump openjdkver.
- Bump openjdkdate.
- Bump release number.

* Wed Jul 18 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.8.b15
- Only build rmi subpackage on non-x86_64 architectures.

* Wed Jul 18 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.8.b15
- Bump icedteaver.
- Update icedteasnapshot.

* Fri Jul 13 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.8.b15
- Add rmi subpackage.
- Remove name-version javadoc directory.

* Fri Jul 13 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.8.b15
- Set man extension to .gz in base and devel post sections.

* Thu Jul 12 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.7.b15
- Clear icedteasnapshot.
- Bump release number.

* Wed Jul 11 2007 Lillian Angel <langel at redhat.com> - 1.7.0.0-0.6.b15
- Updated icedteasnapshot.
- Bump openjdkver.
- Bump openjdkdate.
- Bump release number.

* Thu Jul  5 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.5.b14
- Define icedteasnapshot.

* Wed Jul  4 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.4.b14
- Prevent jar repacking.

* Wed Jul  4 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.4.b14
- Include generate-cacerts.pl.
- Generate and install cacerts file.

* Tue Jul  3 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.4.b14
- Add javadoc subpackage.
- Add Java Access Bridge for GNOME.
- Add support for executable JAR files.
- Bump alternatives priority to 17000.

* Thu Jun 28 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.4.b14
- Add support for executable jar files.
- Bump icedteaver.
- Bump openjdkver.
- Bump openjdkdate.
- Bump release number.

* Tue Jun 19 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.3.b13
- Import IcedTea 1.1.
- Bump icedteaver.
- Bump openjdkver.
- Bump openjdkdate.
- Bump release number.
- Use --with-openjdk-src-zip.

* Tue Jun 12 2007 Thomas Fitzsimmons <fitzsim at redhat.com> - 1.7.0.0-0.2.b12
- Initial build.


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/java-1.7.0-icedtea/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	28 Aug 2007 14:24:02 -0000	1.1
+++ .cvsignore	28 Aug 2007 14:56:44 -0000	1.2
@@ -0,0 +1,3 @@
+icedtea-1.3-a9c9ee1b6479a84f2153be67fce85b0dbf371398.tar.gz
+java-access-bridge-1.19.2.tar.gz
+openjdk-7-ea-src-b18-16_aug_2007-fedora.zip


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/java-1.7.0-icedtea/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	28 Aug 2007 14:24:02 -0000	1.1
+++ sources	28 Aug 2007 14:56:44 -0000	1.2
@@ -0,0 +1,3 @@
+d4fff908a9a9fe1dedfe7e9544132ba3  icedtea-1.3-a9c9ee1b6479a84f2153be67fce85b0dbf371398.tar.gz
+ce13ee63357a699ad327d362230cc2f5  java-access-bridge-1.19.2.tar.gz
+6c14ade20274f189be1646223f7e8929  openjdk-7-ea-src-b18-16_aug_2007-fedora.zip




More information about the fedora-extras-commits mailing list