PSARC/2016/174 Removal of libpng 1.0 & 1.2
authorAlan Coopersmith <Alan.Coopersmith@Oracle.COM>
Wed, 30 Mar 2016 18:48:54 -0700
changeset 5691 dbd727b03c07
parent 5688 539fee4c00e9
child 5692 2191b44f19f4
PSARC/2016/174 Removal of libpng 1.0 & 1.2 22974947 Removal of libpng 1.0 & 1.2 [PSARC/2016/174] 22959330 libpng configure warns about --with-esd-prefix 23020568 png(4) should be normalized to png(5) now
components/desktop/libpng/Makefile
components/desktop/libpng/files/png.4
components/desktop/libpng/libpng.p5m
components/desktop/libpng/patches/libpng10-libpng12-CVE-2014-9495-CVE-2015-0973.patch_2
--- a/components/desktop/libpng/Makefile	Thu Mar 31 11:13:45 2016 +0100
+++ b/components/desktop/libpng/Makefile	Wed Mar 30 18:48:54 2016 -0700
@@ -24,91 +24,22 @@
 #
 
 COMPILER =		gcc
-
+BUILD_BITS = 		32_and_64
 include ../../../make-rules/shared-macros.mk
 
 COMPONENT_NAME=		libpng
 COMPONENT_VERSION=	1.4.19
 COMPONENT_PROJECT_URL=	http://www.libpng.org/
-COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
 COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
 COMPONENT_ARCHIVE_HASH=	\
 	sha256:b73b7f0aec1f4d89fb6a587d4174dede493af8a3c04bb6eb87b0d10a8623bd7f
 COMPONENT_ARCHIVE_URL=	https://sourceforge.net/projects/libpng/files/libpng14/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
 COMPONENT_BUGDB=	library/libpng
 
-COMPONENT_VERSION_1 =   1.2.49
-COMPONENT_SRC_1 =       $(COMPONENT_NAME)-$(COMPONENT_VERSION_1)
-COMPONENT_ARCHIVE_1 =   $(COMPONENT_SRC_1).tar.gz
-COMPONENT_ARCHIVE_HASH_1 = \
-    sha256:f906778030f5dc7930844b9d67ddf4f2809f7407784c4eba7e8d6e0db9f61671
-COMPONENT_ARCHIVE_URL_1= https://sourceforge.net/projects/libpng/files/libpng12/older-releases/1.2.49/$(COMPONENT_ARCHIVE_1)
-SOURCE_DIR_1 =          $(COMPONENT_DIR)/$(COMPONENT_SRC_1)
-
-
-COMPONENT_VERSION_2 =   1.0.59
-COMPONENT_SRC_2 =       $(COMPONENT_NAME)-$(COMPONENT_VERSION_2)
-COMPONENT_ARCHIVE_2 =   $(COMPONENT_SRC_2).tar.gz
-COMPONENT_ARCHIVE_HASH_2 = \
-    sha256:33e0d3ac3b7c48450acd298e198d243e0d5400e2436d6eec67f2a283cd82e7c4
-COMPONENT_ARCHIVE_URL_2= https://sourceforge.net/projects/libpng/files/libpng10/older-releases/1.0.59/$(COMPONENT_ARCHIVE_2)
-SOURCE_DIR_2 =          $(COMPONENT_DIR)/$(COMPONENT_SRC_2)
-
 TPNO=		27311
 
-include $(WS_MAKE_RULES)/prep.mk
-include $(WS_MAKE_RULES)/configure.mk
-include $(WS_MAKE_RULES)/ips.mk
-
-LDFLAGS +=	$(CC_BITS)
-
-CONFIGURE_OPTIONS +=	--with-esd-prefix=$(PROTOUSRDIR)
-CONFIGURE_OPTIONS +=	LDFLAGS=$(LDFLAGS)
-
-# ------------------------ libpng10 ----------------------------
-
-# Macros to configure, build, and install the libpng10 files.
-BUILD_PNG10_DIR_32 = $(COMPONENT_DIR)/build/$(COMPONENT_VERSION_2)-$(MACH32)
-BUILD_PNG10_DIR_64 = $(COMPONENT_DIR)/build/$(COMPONENT_VERSION_2)-$(MACH64)
-
-$(BUILD_PNG10_DIR_32)/.configured: CONFIGURE_SCRIPT = $(SOURCE_DIR_2)/configure
-$(BUILD_PNG10_DIR_64)/.configured: CONFIGURE_SCRIPT = $(SOURCE_DIR_2)/configure
-$(BUILD_PNG10_DIR_32)/.configured: BITS=32
-$(BUILD_PNG10_DIR_64)/.configured: BITS=64
-
-BUILD_32 += $(BUILD_PNG10_DIR_32)/.built
-BUILD_64 += $(BUILD_PNG10_DIR_64)/.built
-
-INSTALL_32 += $(BUILD_PNG10_DIR_32)/.installed
-INSTALL_64 += $(BUILD_PNG10_DIR_64)/.installed
-
-$(BUILD_DIR_32)/.installed:     $(BUILD_PNG10_DIR_32)/.installed
-$(BUILD_DIR_64)/.installed:     $(BUILD_PNG10_DIR_64)/.installed
-
-# ------------------------ libpng12 ----------------------------
-
-# Macros to configure, build, and install the libpng12 files.
-BUILD_PNG12_DIR_32 = $(COMPONENT_DIR)/build/$(COMPONENT_VERSION_1)-$(MACH32)
-BUILD_PNG12_DIR_64 = $(COMPONENT_DIR)/build/$(COMPONENT_VERSION_1)-$(MACH64)
-
-$(BUILD_PNG12_DIR_32)/.configured: CONFIGURE_SCRIPT = $(SOURCE_DIR_1)/configure
-$(BUILD_PNG12_DIR_64)/.configured: CONFIGURE_SCRIPT = $(SOURCE_DIR_1)/configure
-$(BUILD_PNG12_DIR_32)/.configured: BITS=32
-$(BUILD_PNG12_DIR_64)/.configured: BITS=64
-
-BUILD_32 += $(BUILD_PNG12_DIR_32)/.built
-BUILD_64 += $(BUILD_PNG12_DIR_64)/.built
-
-INSTALL_32 += $(BUILD_PNG12_DIR_32)/.installed
-INSTALL_64 += $(BUILD_PNG12_DIR_64)/.installed
-
-$(BUILD_DIR_32)/.installed:     $(BUILD_PNG12_DIR_32)/.installed
-$(BUILD_DIR_64)/.installed:     $(BUILD_PNG12_DIR_64)/.installed
-
-# -----------------------------------------------------------------
-
-CLEAN_PATHS +=	$(SOURCE_DIR_1)
-CLEAN_PATHS +=	$(SOURCE_DIR_2)
+SYSTEM_TEST_TARGET= $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+include $(WS_MAKE_RULES)/common.mk
 
 COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
 COMPONENT_TEST_ARGS = -k -i
@@ -124,19 +55,6 @@
 COMPONENT_TEST_ENV +=   libtool_install_magic='%%%MAGIC variable%%%'
 COMPONENT_TEST_ENV +=   libtool_execute_magic='%%%MAGIC variable%%%'
 
-ASLR_MODE =	$(ASLR_ENABLE)
-
-configure:	$(CONFIGURE_32_and_64)
-
-build:          $(BUILD_32_and_64)
-
-install:        $(INSTALL_32_and_64)
-
-test:           $(TEST_32_and_64)
-
-system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
-
 REQUIRED_PACKAGES += library/zlib
 REQUIRED_PACKAGES += shell/ksh93
-REQUIRED_PACKAGES += system/library
 REQUIRED_PACKAGES += system/library/math
--- a/components/desktop/libpng/files/png.4	Thu Mar 31 11:13:45 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-'\" te
-.TH png\&.4 4 "26 Mar 2004" "SunOS 5.11" "File Formats"
-.SH "NAME"
-png \- Portable Network
-Graphics (PNG) format
-.SH "DESCRIPTION"
-.PP
-PNG (Portable Network Graphics) is an extensible file format for the
-lossless, portable, well-compressed storage of raster images\&. PNG provides
-a patent-free replacement for GIF and can also replace many common uses of
-TIFF\&. Indexed-color, grayscale, and truecolor images are supported, and an
-optional alpha channel\&. Sample depths range from 1 to 16 bits\&.
-.PP
-PNG is designed to work well in online viewing applications, such as
-the World Wide Web, and is fully streamable with a progressive display option\&.
-PNG is robust, and provides both full file integrity checking, and fast simple
-detection of common transmission errors\&. PNG can store gamma and chromaticity
-data for improved color matching on heterogeneous platforms\&.
-.SH "SEE ALSO"
-.PP
-\fBlibpng\fR(3), \fBzlib\fR(3)
-.PP
-PNG 1\&.2 specification, July 1999: \fBhttp://www\&.libpng\&.org/pub/png\fR
-or \fBftp://ftp\&.uu\&.net/graphics/png/documents\fR
-.PP
-PNG 1\&.0 specification, October 1996: RFC 2083
-\fBftp://ds\&.internic\&.net/rfc/rfc2083\&.txt\fR
-or as a W3C Recommendation at
-\fBhttp://www\&.w3\&.org/TR/REC-png\&.html\fR
-.SH "NOTES"
-.PP
-This man page was originally written by Glenn Randers-Pehrson\&. Updated by Breda McColgan, Sun Microsystems Inc\&., 2004\&.
--- a/components/desktop/libpng/libpng.p5m	Thu Mar 31 11:13:45 2016 +0100
+++ b/components/desktop/libpng/libpng.p5m	Wed Mar 30 18:48:54 2016 -0700
@@ -38,59 +38,27 @@
 set name=org.opensolaris.arc-caseid value=PSARC/2013/313
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
 link path=usr/bin/$(MACH64)/libpng-config target=libpng14-config
-file path=usr/bin/$(MACH64)/libpng10-config
-file path=usr/bin/$(MACH64)/libpng12-config
 file path=usr/bin/$(MACH64)/libpng14-config
 link path=usr/bin/libpng-config target=libpng14-config
-file path=usr/bin/libpng10-config
-file path=usr/bin/libpng12-config
 file path=usr/bin/libpng14-config
 link path=usr/include/libpng target=libpng14
-file path=usr/include/libpng10/png.h
-file path=usr/include/libpng10/pngconf.h
-file path=usr/include/libpng12/png.h
-file path=usr/include/libpng12/pngconf.h
 file path=usr/include/libpng14/png.h
 file path=usr/include/libpng14/pngconf.h
 link path=usr/include/png.h target=libpng14/png.h
 link path=usr/include/pngconf.h target=libpng14/pngconf.h
 link path=usr/lib/$(MACH64)/libpng.so target=libpng14.so
-link path=usr/lib/$(MACH64)/libpng.so.2 target=libpng.so.2.59.0
-file path=usr/lib/$(MACH64)/libpng.so.2.59.0
-link path=usr/lib/$(MACH64)/libpng.so.3 target=libpng.so.3.49.0
-file path=usr/lib/$(MACH64)/libpng.so.3.49.0
-link path=usr/lib/$(MACH64)/libpng10.so target=libpng10.so.0.59.0
-link path=usr/lib/$(MACH64)/libpng10.so.0 target=libpng10.so.0.59.0
-file path=usr/lib/$(MACH64)/libpng10.so.0.59.0
-link path=usr/lib/$(MACH64)/libpng12.so target=libpng12.so.0.49.0
-link path=usr/lib/$(MACH64)/libpng12.so.0 target=libpng12.so.0.49.0
-file path=usr/lib/$(MACH64)/libpng12.so.0.49.0
 link path=usr/lib/$(MACH64)/libpng14.so target=libpng14.so.14.19.0
 link path=usr/lib/$(MACH64)/libpng14.so.14 target=libpng14.so.14.19.0
 file path=usr/lib/$(MACH64)/libpng14.so.14.19.0
 link path=usr/lib/$(MACH64)/pkgconfig/libpng.pc target=libpng14.pc
-file path=usr/lib/$(MACH64)/pkgconfig/libpng10.pc
-file path=usr/lib/$(MACH64)/pkgconfig/libpng12.pc
 file path=usr/lib/$(MACH64)/pkgconfig/libpng14.pc
 link path=usr/lib/libpng.so target=libpng14.so
-link path=usr/lib/libpng.so.2 target=libpng.so.2.59.0
-file path=usr/lib/libpng.so.2.59.0
-link path=usr/lib/libpng.so.3 target=libpng.so.3.49.0
-file path=usr/lib/libpng.so.3.49.0
-link path=usr/lib/libpng10.so target=libpng10.so.0.59.0
-link path=usr/lib/libpng10.so.0 target=libpng10.so.0.59.0
-file path=usr/lib/libpng10.so.0.59.0
-link path=usr/lib/libpng12.so target=libpng12.so.0.49.0
-link path=usr/lib/libpng12.so.0 target=libpng12.so.0.49.0
-file path=usr/lib/libpng12.so.0.49.0
 link path=usr/lib/libpng14.so target=libpng14.so.14.19.0
 link path=usr/lib/libpng14.so.14 target=libpng14.so.14.19.0
 file path=usr/lib/libpng14.so.14.19.0
 link path=usr/lib/pkgconfig/libpng.pc target=libpng14.pc
-file path=usr/lib/pkgconfig/libpng10.pc
-file path=usr/lib/pkgconfig/libpng12.pc
 file path=usr/lib/pkgconfig/libpng14.pc
 file path=usr/share/man/man3/libpng.3
 file path=usr/share/man/man3/libpngpf.3
-file files/png.4 path=usr/share/man/man4/png.4
+file path=usr/share/man/man5/png.5
 license libpng.license license=libpng
--- a/components/desktop/libpng/patches/libpng10-libpng12-CVE-2014-9495-CVE-2015-0973.patch_2	Thu Mar 31 11:13:45 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-This patch will be removed when we EOL the two older versions of libpng
-
---- libpng-1.0.59/pngset.c.orig	2015-05-21 19:18:14.033684319 +0530
-+++ libpng-1.0.59/pngset.c	2015-05-21 19:20:23.208626616 +0530
[email protected]@ -263,7 +263,10 @@ png_set_IHDR(png_structp png_ptr, png_in
-                  - 1        /* filter byte */
-                  - 7*8      /* rounding of width to multiple of 8 pixels */
-                  - 8)       /* extra max_pixel_depth pad */
-+   {
-       info_ptr->rowbytes = (png_size_t)0;
-+      png_error(png_ptr, "Image width is too large for this architecture");
-+   }
-    else
-       info_ptr->rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth, width);
- }