From aa48142f094449112165cf60293f146a82a30153 Mon Sep 17 00:00:00 2001 From: Jung-uk Kim Date: Mon, 7 Mar 2011 22:41:02 +0000 Subject: [PATCH] Add an option to apply extra patches originated from IcedTea project (turned off by default) and sort options. Add a basic wrapper to resurrect com.sun.image.codec.jpeg using javax.imageio under the new option. Obtained from: icedtea.classpath.org PR: java/155288 --- java/openjdk6/Makefile | 41 +- java/openjdk6/files/icedtea/jpegclasses.patch | 643 ++++++++++++++++++ 2 files changed, 666 insertions(+), 18 deletions(-) create mode 100644 java/openjdk6/files/icedtea/jpegclasses.patch diff --git a/java/openjdk6/Makefile b/java/openjdk6/Makefile index f05ced81ad13..41b77edbbd06 100644 --- a/java/openjdk6/Makefile +++ b/java/openjdk6/Makefile @@ -7,7 +7,7 @@ PORTNAME= openjdk6 PORTVERSION= b22 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= java devel MASTER_SITES= http://download.java.net/openjdk/jdk6/promoted/${PORTVERSION}/ \ http://download.java.net/jaxp/openjdk/jdk6/:jaxp \ @@ -44,11 +44,12 @@ OPENJDK_BUILDDATE= 28_feb_2011 OPTIONS= DEBUG "Enable legacy debugging support" off \ FASTDEBUG "Include fastdebug build" off \ + ICEDTEA "Apply additional patches from IcedTea" off \ IPV6 "Enable IPv6 support" off \ - SOUND "Enable sound support" off \ - WEB "Enable the browser plugin and Java Web Start" off \ POLICY "Install the Unlimited Strength Policy Files" off \ - TEST "Add support for running regression test" off + SOUND "Enable sound support" off \ + TEST "Add support for running regression test" off \ + WEB "Enable the browser plugin and Java Web Start" off # java extracts directly to the cwd WRKSRC= ${WRKDIR} @@ -127,6 +128,13 @@ MAKE_ENV= LANG=C LC_ALL=C \ NO_DOCS=true \ MILESTONE=fcs +.if defined(WITH_DEBUG) +ALL_TARGET= debug_build +OPENJDK_OSARCH= bsd-${ARCH:S/i386/i586/}-debug +.else +OPENJDK_OSARCH= bsd-${ARCH:S/i386/i586/} +.endif + # disable FASTDEBUG_BUILD by default to improve compile time. .if defined(WITH_FASTDEBUG) MAKE_ENV+= SKIP_FASTDEBUG_BUILD=false @@ -134,15 +142,12 @@ MAKE_ENV+= SKIP_FASTDEBUG_BUILD=false MAKE_ENV+= SKIP_FASTDEBUG_BUILD=true .endif -.if !defined(WITH_IPV6) -MAKE_ENV+= DONT_ENABLE_IPV6="YES" +.if defined(WITH_ICEDTEA) +EXTRA_PATCHES+= ${FILESDIR}/icedtea/jpegclasses.patch .endif -.if defined(WITH_DEBUG) -ALL_TARGET= debug_build -OPENJDK_OSARCH= bsd-${ARCH:S/i386/i586/}-debug -.else -OPENJDK_OSARCH= bsd-${ARCH:S/i386/i586/} +.if !defined(WITH_IPV6) +MAKE_ENV+= DONT_ENABLE_IPV6="YES" .endif .if defined(WITH_SOUND) @@ -153,6 +158,13 @@ RUN_DEPENDS+= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:${PORTSDIR}/ EXTRA_PATCHES+= ${FILESDIR}/alsa-disable.patch .endif +.if defined(WITH_TEST) +DISTFILES+= ${JTREGFILE}:jtreg +EXTRACT_ONLY+= ${JTREGFILE} +BUILD_DEPENDS+= ${LOCALBASE}/lib/X11/fonts/dejavu:${PORTSDIR}/x11-fonts/dejavu +USE_DISPLAY= yes +.endif + .if defined(WITH_WEB) DISTFILES+= ${ITWEBFILE}:itweb EXTRACT_ONLY+= ${ITWEBFILE} @@ -170,13 +182,6 @@ ITWEB_DEBUG_FLAGS=-g ITWEB_JAVAC_FLAGS=${ITWEB_DEBUG_FLAGS} -encoding utf-8 -J-Xmx1024m -source 6 -target 6 .endif -.if defined(WITH_TEST) -DISTFILES+= ${JTREGFILE}:jtreg -EXTRACT_ONLY+= ${JTREGFILE} -BUILD_DEPENDS+= ${LOCALBASE}/lib/X11/fonts/dejavu:${PORTSDIR}/x11-fonts/dejavu -USE_DISPLAY= yes -.endif - .if !defined(DISABLE_MAKE_JOBS) .if defined(MAKE_JOBS_NUMBER) BUILD_JOBS_NUMBER= ${MAKE_JOBS_NUMBER} diff --git a/java/openjdk6/files/icedtea/jpegclasses.patch b/java/openjdk6/files/icedtea/jpegclasses.patch new file mode 100644 index 000000000000..7a46b7c208d2 --- /dev/null +++ b/java/openjdk6/files/icedtea/jpegclasses.patch @@ -0,0 +1,643 @@ +--- jdk/src/share/classes/com/sun/image/codec/jpeg/ImageFormatException.java 1969-12-31 19:00:00.000000000 -0500 ++++ jdk/src/share/classes/com/sun/image/codec/jpeg/ImageFormatException.java 2008-03-31 18:04:57.000000000 -0400 +@@ -0,0 +1,51 @@ ++/* ImageFormatException.java ++ Copyright (C) 2007 Matthew Flaschen ++ ++ 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; either version 2, or (at your option) ++ any later version. ++ ++ 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 GNU Classpath; 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 com.sun.image.codec.jpeg; ++ ++public class ImageFormatException extends RuntimeException ++{ ++ public ImageFormatException() ++ { ++ this(""); ++ } ++ ++ public ImageFormatException(String s) ++ { ++ super(s); ++ } ++} +--- jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGCodec.java 1969-12-31 19:00:00.000000000 -0500 ++++ jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGCodec.java 2008-03-31 18:04:57.000000000 -0400 +@@ -0,0 +1,146 @@ ++/* JPEGCodec.java -- ++ Copyright (C) 2007 Free Software Foundation, Inc. ++ Copyright (C) 2007 Matthew Flaschen ++ ++ This file is part of GNU Classpath. ++ ++ GNU Classpath 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, or (at your option) ++ any later version. ++ ++ GNU Classpath 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 GNU Classpath; 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 com.sun.image.codec.jpeg; ++ ++import java.io.InputStream; ++import java.io.OutputStream; ++import java.io.IOException; ++ ++import java.awt.image.BufferedImage; ++import java.awt.image.Raster; ++ ++import javax.imageio.*; ++import javax.imageio.stream.*; ++import javax.imageio.plugins.jpeg.*; ++ ++import java.util.Iterator; ++ ++public class JPEGCodec ++{ ++ ++ public static JPEGImageDecoder createJPEGDecoder(InputStream is) ++ { ++ return new ImageIOJPEGImageDecoder(is); ++ } ++ ++ public static JPEGImageEncoder createJPEGEncoder(OutputStream os) ++ { ++ return null; ++ } ++ ++ public static JPEGImageDecoder createJPEGDecoder(InputStream src, JPEGDecodeParam jdp) ++ { ++ return null; ++ } ++ ++ public static JPEGImageEncoder createJPEGEncoder(OutputStream dest, JPEGEncodeParam jep) ++ { ++ return null; ++ } ++ ++ public static JPEGEncodeParam getDefaultJPEGEncodeParam(BufferedImage bi) ++ { ++ return null; ++ } ++ ++ public static JPEGEncodeParam getDefaultJPEGEncodeParam(int numBands, int colorID) ++ { ++ return null; ++ } ++ ++ public static JPEGEncodeParam getDefaultJPEGEncodeParam(JPEGDecodeParam jdp) ++ { ++ return null; ++ } ++ ++ public static JPEGEncodeParam getDefaultJPEGEncodeParam(Raster ras, int colorID) ++ { ++ return null; ++ } ++ ++ ++ private static class ImageIOJPEGImageDecoder implements JPEGImageDecoder ++ { ++ ++ private static final String JPGMime = "image/jpeg"; ++ ++ private ImageReader JPGReader; ++ ++ private InputStream in; ++ ++ private ImageIOJPEGImageDecoder (InputStream newIs) ++ { ++ in = newIs; ++ ++ Iterator JPGReaderIter = ImageIO.getImageReadersByMIMEType(JPGMime); ++ if(JPGReaderIter.hasNext()) ++ { ++ JPGReader = JPGReaderIter.next(); ++ } ++ ++ JPGReader.setInput(new MemoryCacheImageInputStream(in)); ++ } ++ ++ public BufferedImage decodeAsBufferedImage() throws IOException, ImageFormatException ++ { ++ return JPGReader.read(0); ++ } ++ ++ public Raster decodeAsRaster() throws IOException, ImageFormatException ++ { ++ return JPGReader.readRaster(0, null); ++ } ++ ++ public InputStream getInputStream() ++ { ++ return in; ++ } ++ ++ public JPEGDecodeParam getJPEGDecodeParam() ++ { ++ return null; ++ } ++ ++ public void setJPEGDecodeParam(JPEGDecodeParam jdp) ++ { ++ return; ++ } ++ ++ } ++} +--- jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGDecodeParam.java 1969-12-31 19:00:00.000000000 -0500 ++++ jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGDecodeParam.java 2008-03-31 18:04:57.000000000 -0400 +@@ -0,0 +1,50 @@ ++/* JPEGImageDecoder.java -- ++ Copyright (C) 2007 Free Software Foundation, Inc. ++ Copyright (C) 2007 Matthew Flaschen ++ ++ This file is part of GNU Classpath. ++ ++ GNU Classpath 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, or (at your option) ++ any later version. ++ ++ GNU Classpath 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 GNU Classpath; 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 com.sun.image.codec.jpeg; ++ ++public interface JPEGDecodeParam ++{ ++ ++ public static final int COLOR_ID_UNKNOWN = 0; ++ public static final int COLOR_ID_RGBA = 1; ++ public static final int COLOR_ID_RGB = 2; ++ public static final int COLOR_ID_GRAY = 3; ++ public static final int COLOR_ID_YCbCrA = 4; ++ public static final int COLOR_ID_YCbCr = 5; ++} +--- jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGEncodeParam.java 1969-12-31 19:00:00.000000000 -0500 ++++ jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGEncodeParam.java 2008-03-31 18:04:57.000000000 -0400 +@@ -0,0 +1,139 @@ ++/* JPEGEncodeParam.java -- ++ Copyright (C) 2007 Free Software Foundation, Inc. ++ ++ This file is part of GNU Classpath. ++ ++ GNU Classpath 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, or (at your option) ++ any later version. ++ ++ GNU Classpath 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 GNU Classpath; 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 com.sun.image.codec.jpeg; ++ ++public class JPEGEncodeParam ++{ ++ public static final int COLOR_ID_UNKNOWN = 0; ++ public static final int COLOR_ID_RGBA = 1; ++ public static final int COLOR_ID_RGB = 2; ++ public static final int COLOR_ID_GRAY = 3; ++ public static final int COLOR_ID_YCbCrA = 4; ++ public static final int COLOR_ID_CMYK = 5; ++ public static final int COLOR_ID_YCbCr = 6; ++ ++ public JPEGEncodeParam() ++ { ++ } ++ ++ public void setQuality(float i, boolean b) ++ { ++ } ++ ++ public void setQuality(int i, boolean b) ++ { ++ } ++ ++ public JPEGEncodeParam clone() ++ { ++ return null; ++ } ++ ++ public void setTableInfoValid(boolean b) ++ { ++ } ++ ++ public void setImageInfoValid(boolean b) ++ { ++ } ++ ++ public int getHorizontalSubsampling(int i) ++ { ++ return 0; ++ } ++ ++ public int getVerticalSubsampling(int i) ++ { ++ return 0; ++ } ++ ++ public int getWidth() ++ { ++ return 0; ++ } ++ ++ public int getHeight() ++ { ++ return 0; ++ } ++ ++ public int getDensityUnit() ++ { ++ return 0; ++ } ++ ++ public int getXDensity() ++ { ++ return 0; ++ } ++ ++ public int getYDensity() ++ { ++ return 0; ++ } ++ ++ public int getRestartInterval() ++ { ++ return 0; ++ } ++ ++ public JPEGQTable getQTable(int i) ++ { ++ return new JPEGQTable(); ++ } ++ ++ public void setDensityUnit(int i) ++ { ++ } ++ ++ public void setXDensity(int i) ++ { ++ } ++ ++ public void setYDensity(int i) ++ { ++ } ++ ++ public void setRestartInterval(int i) ++ { ++ } ++ ++ public void setQTable(int i, JPEGQTable jqt) ++ { ++ } ++} +--- jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGImageDecoder.java 1969-12-31 19:00:00.000000000 -0500 ++++ jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGImageDecoder.java 2008-03-31 18:04:57.000000000 -0400 +@@ -0,0 +1,60 @@ ++/* JPEGImageDecoder.java -- ++ Copyright (C) 2007 Free Software Foundation, Inc. ++ Copyright (C) 2007 Matthew Flaschen ++ ++ This file is part of GNU Classpath. ++ ++ GNU Classpath 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, or (at your option) ++ any later version. ++ ++ GNU Classpath 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 GNU Classpath; 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 com.sun.image.codec.jpeg; ++import java.awt.image.BufferedImage; ++import java.awt.image.Raster; ++ ++import java.io.InputStream; ++import java.io.IOException; ++ ++ ++public interface JPEGImageDecoder ++{ ++ ++ public BufferedImage decodeAsBufferedImage() throws IOException, ImageFormatException; ++ ++ public Raster decodeAsRaster() throws IOException, ImageFormatException; ++ ++ public InputStream getInputStream(); ++ ++ public JPEGDecodeParam getJPEGDecodeParam(); ++ ++ public void setJPEGDecodeParam(JPEGDecodeParam jdp); ++} +--- jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGImageEncoder.java 1969-12-31 19:00:00.000000000 -0500 ++++ jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGImageEncoder.java 2008-03-31 18:04:57.000000000 -0400 +@@ -0,0 +1,71 @@ ++/* JPEGImageEncoder.java -- ++ Copyright (C) 2007 Free Software Foundation, Inc. ++ ++ This file is part of GNU Classpath. ++ ++ GNU Classpath 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, or (at your option) ++ any later version. ++ ++ GNU Classpath 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 GNU Classpath; 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 com.sun.image.codec.jpeg; ++ ++import com.sun.image.codec.jpeg.*; ++import java.awt.image.BufferedImage; ++import java.awt.image.Raster; ++ ++public class JPEGImageEncoder ++{ ++ public JPEGImageEncoder() ++ { ++ } ++ ++ public JPEGEncodeParam getDefaultJPEGEncodeParam(BufferedImage bi) ++ { ++ return null; ++ } ++ ++ public void setJPEGEncodeParam(JPEGEncodeParam p) ++ { ++ } ++ ++ public void encode(BufferedImage bi, JPEGEncodeParam p) ++ { ++ } ++ ++ public void encode(Raster bi) ++ { ++ } ++ ++ public void encode(BufferedImage bi) ++ { ++ } ++ ++} +--- jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGQTable.java 1969-12-31 19:00:00.000000000 -0500 ++++ jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGQTable.java 2008-03-31 18:04:57.000000000 -0400 +@@ -0,0 +1,44 @@ ++/* JPEGQTable.java -- ++ Copyright (C) 2007 Free Software Foundation, Inc. ++ Copyright (C) 2007 Matthew Flaschen ++ ++ This file is part of GNU Classpath. ++ ++ GNU Classpath 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, or (at your option) ++ any later version. ++ ++ GNU Classpath 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 GNU Classpath; 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 com.sun.image.codec.jpeg; ++ ++public class JPEGQTable ++{ ++ ++} +--- jdk/src/share/classes/com/sun/image/codec/jpeg/TruncatedFileException.java 1969-12-31 19:00:00.000000000 -0500 ++++ jdk/src/share/classes/com/sun/image/codec/jpeg/TruncatedFileException.java 2008-03-31 19:38:37.000000000 -0400 +@@ -0,0 +1,58 @@ ++/* TruncatedFileException.java ++ Copyright (C) 2007 Matthew Flaschen ++ ++ 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; either version 2, or (at your option) ++ any later version. ++ ++ 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 GNU Classpath; 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 com.sun.image.codec.jpeg; ++ ++import java.awt.image.BufferedImage; ++ ++public class TruncatedFileException extends RuntimeException ++{ ++ public TruncatedFileException() ++ { ++ this(""); ++ } ++ ++ public TruncatedFileException(String s) ++ { ++ super(s); ++ } ++ ++ public BufferedImage getBufferedImage() ++ { ++ return null; ++ } ++}