rpms/gdk-pixbuf/devel gdk-pixbuf-0.18.0-gmodulehack.patch, NONE, 1.1 gdk-pixbuf-0.22.0-acquote.patch, NONE, 1.1 gdk-pixbuf-0.22.0-bmp-colormap.patch, NONE, 1.1 gdk-pixbuf-0.22.0-bmpcrash.patch, NONE, 1.1 gdk-pixbuf-0.22.0-bmploop.patch, NONE, 1.1 gdk-pixbuf-0.22.0-ico-width.patch, NONE, 1.1 gdk-pixbuf-0.22.0-loaders.patch, NONE, 1.1 gdk-pixbuf-0.22.0-rgb.patch, NONE, 1.1 gdk-pixbuf-0.22.0-xpm-largecol.patch, NONE, 1.1 gdk-pixbuf-0.22.0-xpm-ncol-overflow.patch, NONE, 1.1 gdk-pixbuf-0.22.0-xpm-whc-overflow.patch, NONE, 1.1 gdk-pixbuf-underquoted.patch, NONE, 1.1 gdk-pixbuf.spec, NONE, 1.1 gtk+-2.2.2-noexecstack.patch, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Michael J Knox (mjk) fedora-extras-commits at redhat.com
Mon Jun 19 20:22:16 UTC 2006


Author: mjk

Update of /cvs/extras/rpms/gdk-pixbuf/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv26675/devel

Modified Files:
	.cvsignore sources 
Added Files:
	gdk-pixbuf-0.18.0-gmodulehack.patch 
	gdk-pixbuf-0.22.0-acquote.patch 
	gdk-pixbuf-0.22.0-bmp-colormap.patch 
	gdk-pixbuf-0.22.0-bmpcrash.patch 
	gdk-pixbuf-0.22.0-bmploop.patch 
	gdk-pixbuf-0.22.0-ico-width.patch 
	gdk-pixbuf-0.22.0-loaders.patch gdk-pixbuf-0.22.0-rgb.patch 
	gdk-pixbuf-0.22.0-xpm-largecol.patch 
	gdk-pixbuf-0.22.0-xpm-ncol-overflow.patch 
	gdk-pixbuf-0.22.0-xpm-whc-overflow.patch 
	gdk-pixbuf-underquoted.patch gdk-pixbuf.spec 
	gtk+-2.2.2-noexecstack.patch 
Log Message:
auto-import gdk-pixbuf-0.22.0-26.fc5 on branch devel from gdk-pixbuf-0.22.0-26.fc5.src.rpm
imported from Core into Extras

gdk-pixbuf-0.18.0-gmodulehack.patch:

--- NEW FILE gdk-pixbuf-0.18.0-gmodulehack.patch ---
--- gdk-pixbuf-0.18.0/gdk-pixbuf/Makefile.am.gmodulehack	Thu Jan  3 21:54:48 2002
+++ gdk-pixbuf-0.18.0/gdk-pixbuf/Makefile.am	Fri Jul 12 18:02:13 2002
@@ -191,7 +191,7 @@
 	$(extra_sources)
 
 libgdk_pixbuf_la_LDFLAGS = -version-info 2:0:0 -export-dynamic $(GLIB_LIBS) $(GTK_LIBS)
-libgdk_pixbuf_la_LIBADD = pixops/libpixops.la
+libgdk_pixbuf_la_LIBADD = pixops/libpixops.la local-hack-gmodule/libgmodule-local.la
 
 #
 # The GdkPixbufXlib library
@@ -212,7 +212,7 @@
 	$(extra_sources)
 
 libgdk_pixbuf_xlib_la_LDFLAGS = -version-info 2:0:0 -export-dynamic $(GLIB_LIBS) $(X11_LIBS)
-libgdk_pixbuf_xlib_la_LIBADD = pixops/libpixops.la libgdk_pixbuf.la $(GTK_LIBS)
+libgdk_pixbuf_xlib_la_LIBADD = pixops/libpixops.la libgdk_pixbuf.la  local-hack-gmodule/libgmodule-local.la $(GTK_LIBS)
 
 
 libgdk_pixbufinclude_HEADERS =		\

gdk-pixbuf-0.22.0-acquote.patch:

--- NEW FILE gdk-pixbuf-0.22.0-acquote.patch ---
--- gdk-pixbuf-0.22.0/configure.in.acquote	2002-12-18 17:18:18.000000000 -0500
+++ gdk-pixbuf-0.22.0/configure.in	2003-06-12 15:55:10.000000000 -0400
@@ -147,18 +147,18 @@
 dnl Test for libtiff
   if test -z "$LIBTIFF"; then
     AC_CHECK_LIB(tiff, TIFFReadScanline,
-      AC_CHECK_HEADER(tiffio.h,
+      [AC_CHECK_HEADER(tiffio.h,
         TIFF='tiff'; LIBTIFF='-ltiff',
-        AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
-      AC_CHECK_LIB(tiff, TIFFWriteScanline,
-        AC_CHECK_HEADER(tiffio.h,
+        AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
+      [AC_CHECK_LIB(tiff, TIFFWriteScanline,
+        [AC_CHECK_HEADER(tiffio.h,
           TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
-          AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
-        AC_CHECK_LIB(tiff34, TIFFFlushData,
-          AC_CHECK_HEADER(tiffio.h,
+          AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
+        [AC_CHECK_LIB(tiff34, TIFFFlushData,
+          [AC_CHECK_HEADER(tiffio.h,
             TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
-            AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
-        AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF library not found) ***), -ljpeg -lz -lm), -ljpeg -lz -lm), -lm)
+            AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
+        AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
   fi
 
 dnl Test for libjpeg
@@ -191,9 +191,9 @@
 dnl Test for libpng
   if test -z "$LIBPNG"; then
     AC_CHECK_LIB(png, png_read_info,
-      AC_CHECK_HEADER(png.h,
+      [AC_CHECK_HEADER(png.h,
         png_ok=yes,
-        png_ok=no),
+        png_ok=no)],
       AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
     if test "$png_ok" = yes; then
       AC_MSG_CHECKING([for png_structp in png.h])

gdk-pixbuf-0.22.0-bmp-colormap.patch:

--- NEW FILE gdk-pixbuf-0.22.0-bmp-colormap.patch ---
--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-bmp.c.bmp-colormap	2002-09-27 17:12:40.000000000 -0400
+++ gdk-pixbuf-0.22.0/gdk-pixbuf/io-bmp.c	2004-03-03 08:58:43.000000000 -0500
@@ -129,6 +129,7 @@
 	guint depth;
 	guint Negative;		/* Negative = 1 -> top down BMP,
 				   Negative = 0 -> bottom up BMP */
+	guint  n_colors;
 };
 
 /* Data needed for the "state" during decompression */
@@ -153,8 +154,8 @@
 	guint Lines;		/* # of finished lines */
 
 	guchar *buff;
-	gint BufferSize;
-	gint BufferDone;
+	guint BufferSize;
+	guint BufferDone;
 
 	guchar (*Colormap)[3];
 
@@ -258,6 +259,8 @@
 DecodeHeader (unsigned char *BFH, unsigned char *BIH,
 	      struct bmp_progressive_state *State)
 {
+ 	gint clrUsed;
+ 
 	g_assert (State->read_state == READ_STATE_HEADERS);
 
         /* FIXME this is totally unrobust against bogus image data. */
@@ -295,6 +298,23 @@
 		return FALSE;
 	}
 
+	clrUsed = (int) (BIH[35] << 24) + (BIH[34] << 16) + (BIH[33] << 8) + (BIH[32]);
+	if (clrUsed != 0)
+		State->Header.n_colors = clrUsed;
+	else
+            State->Header.n_colors = 1 << State->Header.depth;
+	
+	if (State->Header.n_colors > 1 << State->Header.depth) {
+#if 0	  
+		g_set_error (error,
+			     GDK_PIXBUF_ERROR,
+			     GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
+			     _("BMP image has bogus header data"));
+#endif		
+		State->read_state = READ_STATE_ERROR;
+		return FALSE;
+	}
+
 	State->Type = State->Header.depth;	/* This may be less trivial someday */
 
 	/* Negative heights indicates bottom-down pixelorder */
@@ -422,16 +442,25 @@
 		struct bmp_progressive_state *State)
 {
 	gint i;
-
+ 	gint samples;
+ 
 	g_assert (State->read_state == READ_STATE_PALETTE);
 
+ 	samples = (State->Header.size == 12 ? 3 : 4);
+ 	if (State->BufferSize < State->Header.n_colors * samples) {
+ 		State->BufferSize = State->Header.n_colors * samples;
+ 		if (!grow_buffer (State))
+ 			return FALSE;
+ 		return TRUE;
+ 	}
+	
 	State->Colormap = g_malloc ((1 << State->Header.depth) * sizeof (*State->Colormap));
 
-	for (i = 0; i < (1 << State->Header.depth); i++)
+ 	for (i = 0; i < State->Header.n_colors; i++)
 	{
-		State->Colormap[i][0] = buff[i * (State->Header.size == 12 ? 3 : 4)];
-		State->Colormap[i][1] = buff[i * (State->Header.size == 12 ? 3 : 4) + 1];
-		State->Colormap[i][2] = buff[i * (State->Header.size == 12 ? 3 : 4) + 2];
+ 		State->Colormap[i][0] = buff[i * samples];
+ 		State->Colormap[i][1] = buff[i * samples + 1];
+ 		State->Colormap[i][2] = buff[i * samples + 2];
 	}
 
 	State->read_state = READ_STATE_DATA;

gdk-pixbuf-0.22.0-bmpcrash.patch:

--- NEW FILE gdk-pixbuf-0.22.0-bmpcrash.patch ---
--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-bmp.c.bmpcrash	2005-03-28 09:44:20.295820000 -0500
+++ gdk-pixbuf-0.22.0/gdk-pixbuf/io-bmp.c	2005-03-28 09:55:05.145324000 -0500
@@ -246,7 +246,14 @@
 static gboolean
 grow_buffer (struct bmp_progressive_state *State)
 {
-  guchar *tmp = realloc (State->buff, State->BufferSize);
+  guchar *tmp; 
+
+  if (State->BufferSize == 0) {
+    State->read_state = READ_STATE_ERROR;
+    return FALSE;
+  }
+
+  tmp = realloc (State->buff, State->BufferSize);
   if (!tmp) {
     State->read_state = READ_STATE_ERROR;
     return FALSE;

gdk-pixbuf-0.22.0-bmploop.patch:

--- NEW FILE gdk-pixbuf-0.22.0-bmploop.patch ---
--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-bmp.c.bmploop	2004-08-20 14:18:30.178162560 -0400
+++ gdk-pixbuf-0.22.0/gdk-pixbuf/io-bmp.c	2004-08-20 14:18:42.997213768 -0400
@@ -899,8 +899,18 @@
 	guchar c;
 	gint idx;
 
-	if (context->compr.y >= context->Header.height)
+	/* context->compr.y might be past the last line because we are
+	 * on padding past the end of a valid data, or we might have hit
+	 * out-of-bounds data. Either way we just eat-and-ignore the
+	 * rest of the file. Doing the check only here and not when
+	 * we change y below is fine since BufferSize is always 2 here
+	 * and the BMP file format always starts new data on 16-bit
+	 * boundaries.
+	 */
+	if (context->compr.y >= context->Header.height) {
+		context->BufferDone = 0;
 		return TRUE;
+	}
 
 	y = context->compr.y;
 

gdk-pixbuf-0.22.0-ico-width.patch:

--- NEW FILE gdk-pixbuf-0.22.0-ico-width.patch ---
--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-ico.c.miscfix	2002-09-27 18:19:15.000000000 -0400
+++ gdk-pixbuf-0.22.0/gdk-pixbuf/io-ico.c	2004-03-03 09:30:00.000000000 -0500
@@ -360,7 +360,7 @@
 	else if (State->Type == 24)
 		State->LineWidth = State->Header.width * 3;
 	else if (State->Type == 16)
-		State->LineWidth = State->Header.height * 2;
+		State->LineWidth = State->Header.width * 2;
 	else if (State->Type == 8)
 		State->LineWidth = State->Header.width * 1;
 	else if (State->Type == 4)

gdk-pixbuf-0.22.0-loaders.patch:

--- NEW FILE gdk-pixbuf-0.22.0-loaders.patch ---
--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-ico.c.loaders	2004-09-15 13:32:28.397302000 -0400
+++ gdk-pixbuf-0.22.0/gdk-pixbuf/io-ico.c	2004-09-15 13:32:28.441258000 -0400
@@ -330,6 +330,9 @@
 
 	State->HeaderSize+=I;
 
+ 	if (State->HeaderSize < 0)
+ 		return FALSE;
+ 
  	if (State->HeaderSize>State->BytesInHeaderBuf) {
 		guchar *tmp=realloc(State->HeaderBuf,State->HeaderSize);
 		if (!tmp)
--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c.loaders	2001-03-01 15:16:28.000000000 -0500
+++ gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c	2004-09-15 13:41:09.804373000 -0400
@@ -243,8 +243,8 @@
 			break;
 		else {
 			if (numnames > 0) {
-				space -= 1;
-				strcat (color, " ");
+				strncat (color, " ", space);
+				space -= MIN (space, 1);
 			}
 
 			strncat (color, temp, space);
@@ -352,16 +352,31 @@
 		return NULL;
 	}
 	sscanf (buffer, "%d %d %d %d", &w, &h, &n_col, &cpp);
-	if (cpp >= 32) {
-		g_warning ("XPM has more than 31 chars per pixel.");
+	if (cpp <= 0 || cpp >= 32) {
+		g_warning ("XPM has invalid number of chars per pixel.");
 		return NULL;
 	}
+ 	if (n_col <= 0 || n_col >= G_MAXINT / (cpp + 1)) {
+		g_warning ("XPM file has invalid number of colors");
+  		return NULL;
+  	}
 
 	/* The hash is used for fast lookups of color from chars */
 	color_hash = g_hash_table_new (g_str_hash, g_str_equal);
 
-	name_buf = g_new (gchar, n_col * (cpp + 1));
-	colors = g_new (_XPMColor, n_col);
+ 	name_buf = malloc (n_col * (cpp + 1));
+ 	if (!name_buf) {
+		g_warning ("Cannot allocate memory for loading XPM image");
+ 		g_hash_table_destroy (color_hash);
+ 		return NULL;
+ 	}
+ 	colors = (_XPMColor *) malloc (sizeof (_XPMColor) * n_col);
+ 	if (!colors) {
+		g_warning ("Cannot allocate memory for loading XPM image");
+ 		g_hash_table_destroy (color_hash);
+ 		free (name_buf);
+ 		return NULL;
+ 	}
 
 	for (cnt = 0; cnt < n_col; cnt++) {
 		gchar *color_name;
@@ -404,8 +419,8 @@
 
 	if (!pixels) {
 		g_hash_table_destroy (color_hash);
-		g_free (colors);
-		g_free (name_buf);
+		free (colors);
+		free (name_buf);
 		return NULL;
 	}
 
@@ -440,8 +455,8 @@
 	}
 
 	g_hash_table_destroy (color_hash);
-	g_free (colors);
-	g_free (name_buf);
+	free (colors);
+	free (name_buf);
 
 	return gdk_pixbuf_new_from_data (pixels, GDK_COLORSPACE_RGB, is_trans, 8,
 					 w, h, is_trans ? (w * 4) : (w * 3),

gdk-pixbuf-0.22.0-rgb.patch:

--- NEW FILE gdk-pixbuf-0.22.0-rgb.patch ---
--- gdk-pixbuf-0.22.0/configure.in.rgb	2005-12-01 15:39:38.000000000 -0500
+++ gdk-pixbuf-0.22.0/configure.in	2005-12-01 15:40:05.000000000 -0500
@@ -129,7 +129,7 @@
 AC_MSG_CHECKING([for location of rgb.txt database])
 
 dnl default to this..
-path_rgb_txt=/usr/lib/X11/rgb.txt
+path_rgb_txt=/usr/share/X11/rgb.txt
 
 if test -r ${x_libraries}/X11/rgb.txt; then
   path_rgb_txt="${x_libraries}/X11/rgb.txt"

gdk-pixbuf-0.22.0-xpm-largecol.patch:

--- NEW FILE gdk-pixbuf-0.22.0-xpm-largecol.patch ---
--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c.largecol	2005-10-31 10:12:13.000000000 -0500
+++ gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c	2005-10-31 10:13:40.000000000 -0500
@@ -281,7 +281,8 @@
 		/* Fall through to the xpm_read_string. */
 
 	case op_body:
-		xpm_read_string (h->infile, &h->buffer, &h->buffer_size);
+		if(!xpm_read_string (h->infile, &h->buffer, &h->buffer_size))
+			return NULL;
 		return h->buffer;
 
 	default:

gdk-pixbuf-0.22.0-xpm-ncol-overflow.patch:

--- NEW FILE gdk-pixbuf-0.22.0-xpm-ncol-overflow.patch ---
--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c.xpm-ncol-overflow	2005-10-19 10:51:26.000000000 -0400
+++ gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c	2005-10-19 10:52:16.000000000 -0400
@@ -356,7 +356,9 @@
 		g_warning ("XPM has invalid number of chars per pixel.");
 		return NULL;
 	}
- 	if (n_col <= 0 || n_col >= G_MAXINT / (cpp + 1)) {
+        if (n_col <= 0 ||
+            n_col >= G_MAXINT / (cpp + 1) ||
+            n_col >= G_MAXINT / sizeof (_XPMColor)) {
 		g_warning ("XPM file has invalid number of colors");
   		return NULL;
   	}

gdk-pixbuf-0.22.0-xpm-whc-overflow.patch:

--- NEW FILE gdk-pixbuf-0.22.0-xpm-whc-overflow.patch ---
--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c.xpm-whc-overflow	2005-10-31 10:11:03.000000000 -0500
+++ gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c	2005-10-31 10:11:18.000000000 -0500
@@ -317,13 +317,6 @@
 	return NULL;
 }
 
-/* Destroy notification function for the pixbuf */
-static void
-free_buffer (guchar *pixels, gpointer data)
-{
-	free (pixels);
-}
-
 static gboolean
 xpm_color_parse (const char *spec, XColor *color)
 {
@@ -342,7 +335,8 @@
 	gchar pixel_str[32];
 	GHashTable *color_hash;
 	_XPMColor *colors, *color, *fallbackcolor;
-	guchar *pixels, *pixtmp;
+	guchar *pixtmp;
+	GdkPixbuf* pixbuf;
 
 	fallbackcolor = NULL;
 
@@ -414,12 +408,8 @@
 			fallbackcolor = color;
 	}
 
-	if (is_trans)
-		pixels = malloc (w * h * 4);
-	else
-		pixels = malloc (w * h * 3);
-
-	if (!pixels) {
+	pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, is_trans, 8, w, h);
+	if (!pixbuf) {
 		g_hash_table_destroy (color_hash);
 		free (colors);
 		free (name_buf);
@@ -427,7 +417,7 @@
 	}
 
 	wbytes = w * cpp;
-	pixtmp = pixels;
+	pixtmp = pixbuf->pixels;
 
 	for (ycnt = 0; ycnt < h; ycnt++) {
 		buffer = (*get_buf) (op_body, handle);
@@ -460,9 +450,7 @@
 	free (colors);
 	free (name_buf);
 
-	return gdk_pixbuf_new_from_data (pixels, GDK_COLORSPACE_RGB, is_trans, 8,
-					 w, h, is_trans ? (w * 4) : (w * 3),
-					 free_buffer, NULL);
+	return pixbuf;
 }
 
 /* Shared library entry point for file loading */

gdk-pixbuf-underquoted.patch:

--- NEW FILE gdk-pixbuf-underquoted.patch ---
--- gdk-pixbuf-0.22.0/gdk-pixbuf.m4.underquoted	2004-08-15 22:23:41.348697780 +0100
+++ gdk-pixbuf-0.22.0/gdk-pixbuf.m4	2004-08-15 22:23:50.051034958 +0100
@@ -9,7 +9,7 @@
 dnl AM_PATH_GDK_PIXBUF([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
 dnl Test for GDK_PIXBUF, and define GDK_PIXBUF_CFLAGS and GDK_PIXBUF_LIBS
 dnl
-AC_DEFUN(AM_PATH_GDK_PIXBUF,
+AC_DEFUN([AM_PATH_GDK_PIXBUF],
 [dnl 
 dnl Get the cflags and libraries from the gdk-pixbuf-config script
 dnl


--- NEW FILE gdk-pixbuf.spec ---
Name:		gdk-pixbuf
Version:	0.22.0
Release:	26%{?dist}
Epoch:		1
Summary:	An image loading library used with GNOME
License:	LGPL
Group:		System Environment/Libraries
Source0:	ftp://ftp.gnome.org/pub/GNOME/sources/%{name}/%{version}/%{name}-%{version}.tar.bz2
Source2:	local-hack-gmodule2.tar.gz

Patch2:		gdk-pixbuf-0.18.0-gmodulehack.patch
# Quote in configure.in appropriately for recent libtool
Patch3:		gdk-pixbuf-0.22.0-acquote.patch
# Patches backported from GTK+ HEAD
Patch5:		gdk-pixbuf-0.22.0-bmp-colormap.patch
Patch6:		gdk-pixbuf-0.22.0-ico-width.patch
Patch7:		gdk-pixbuf-underquoted.patch
# http://bugzilla.gnome.org/show_bug.cgi?id=150601
Patch8:		gdk-pixbuf-0.22.0-bmploop.patch
# http://bugzilla.gnome.org/show_bug.cgi?id=130711
Patch10:	gdk-pixbuf-0.22.0-loaders.patch
Patch11:	gtk+-2.2.2-noexecstack.patch
Patch12:	gdk-pixbuf-0.22.0-bmpcrash.patch
Patch13:	gdk-pixbuf-0.22.0-xpm-largecol.patch
Patch14:	gdk-pixbuf-0.22.0-xpm-ncol-overflow.patch
Patch15:	gdk-pixbuf-0.22.0-xpm-whc-overflow.patch
# Modular X moves rgb.txt
Patch16:	gdk-pixbuf-0.22.0-rgb.patch

URL:		http://developer.gnome.org/arch/imaging/gdkpixbuf.html
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires: gnome-libs-devel, audiofile
BuildRequires: autoconf, libtool, automake14
BuildRequires: gtk+-devel, libpng-devel >= 1.2.2, libXt-devel

%description
The gdk-pixbuf package contains an image loading library used with the
GNOME GUI desktop environment. The GdkPixBuf library provides image
loading facilities, the rendering of a GdkPixBuf into various formats
(drawables or GdkRGB buffers), and a cache interface.

%package devel
Summary:	Files needed for developing apps to work with the GdkPixBuf library
Group:		Development/Libraries
Requires:	%{name} = %{epoch}:%{version}-%{release}
Requires:	%{name}-gnome = %{epoch}:%{version}-%{release}
Requires:       gnome-libs-devel

%description devel
This package contains the libraries, header files, and include files
needed for developing applications that will work with the GdkPixBuf
image loading library.

%package gnome
Summary:	GnomeCanvas support for displaying images
Group:		System Environment/Libraries
Requires:	%{name} = %{epoch}:%{version}-%{release}

%description gnome
GNOME-dependent portions of the gdk-pixbuf image loading library.


%prep
%setup -q

%patch2 -p1 -b .gmodulehack
%patch3 -p1 -b .acquote

(cd gdk-pixbuf && tar zxf %{SOURCE2})

%patch5 -p1 -b .bmp-colormap
%patch6 -p1 -b .ico-width
%patch7 -p1 -b .underquoted
%patch8 -p1 -b .bmploop
%patch10 -p1 -b .loaders
%patch11 -p1 -b .noexecstack
%patch12 -p1 -b .bmpcrash
%patch13 -p1 -b .xpm-ncol-overflow
%patch14 -p1 -b .xpm-whc-overflow
%patch15 -p1 -b .xpm-largecol
%patch16 -p1 -b .rgb

perl -p -i.bak -e 's/gmodule.h/gmodule-local.h/g; s/g_module/local_hack_g_module/g; s/GModule/LocalHackGModule/g; s/G_MODULE/LOCAL_HACK_G_MODULE/g' gdk-pixbuf/gdk-pixbuf-io.c gdk-pixbuf/gdk-pixbuf-io.h
perl -pi -e 's/-static//g' gdk-pixbuf/local-hack-gmodule/Makefile

%build
libtoolize --copy --force
aclocal-1.4
automake-1.4
autoconf

(cd gdk-pixbuf/local-hack-gmodule && make && cp gmodule-local.h ..)

CFLAGS="$RPM_OPT_FLAGS" ./configure	\
	--prefix=%{_prefix} --sysconfdir=%{_sysconfdir}	 --libdir=%{_libdir}\
	--localstatedir=%{_localstatedir} --disable-gtk-doc

make

%install
rm -rf %{buildroot}
make prefix=%{buildroot}/%{_prefix} \
	sysconfdir=%{buildroot}/%{_sysconfdir} libdir=%{buildroot}/%{_libdir}\
	localstatedir=%{buildroot}/%{_localstatedir} install

# nuke .la files and .a files
find %{buildroot} -type f -name "*.a" -exec rm -f {} ';'
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'

%clean
rm -rf %{buildroot}

%post   -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%post gnome -p /sbin/ldconfig
%postun gnome -p /sbin/ldconfig

%files
%defattr (-, root, root)
%doc AUTHORS COPYING COPYING.LIB ChangeLog NEWS README TODO doc/*.txt doc/html
%{_libdir}/libgdk_pixbuf*.so.*
%dir %{_libdir}/gdk-pixbuf
%dir %{_libdir}/gdk-pixbuf/loaders
%{_libdir}/gdk-pixbuf/loaders/lib*.so*

%files gnome
%defattr (-, root, root)
%{_libdir}/libgnomecanvaspixbuf*.so.*

%files devel
%defattr (-, root, root)
%{_includedir}/*
%{_bindir}/gdk-pixbuf-config
%{_libdir}/*so
%{_libdir}/*.a
%{_libdir}/gdk-pixbuf/loaders/lib*.a
%{_libdir}/*Conf.sh
%{_datadir}/aclocal/*
%{_datadir}/gnome/html/*

%changelog
* Tue Jun 20 2006 Michael J. Knox <michael[AT]knox.net.nz> - 1:0.22.0-26
- remove "." from gnome sub package summary
- kill of .a files
- removed unused patches

* Sun Jun 18 2006 Michael J. Knox <michael[AT]knox.net.nz> - 1:0.22.0-25
- spec tidy and fedora'ized

* Mon Jun 12 2006 Matthias Clasen <mclasen at redhat.com> 1:0.22.0-24
- Package review cleanup

* Tue Apr 11 2006 Matthias Clasen <mclasen at redhat.com> 0.22.0-23
- Build without gnome support, since Gnome 1 is on the way out

* Tue Feb 28 2006 Karsten Hopp <karsten at redhat.de> 0.22.0-22
- BuildRequires: libXt-devel

* Fri Feb 10 2006 Jesse Keating <jkeating at redhat.com> - 1:0.22.0-21.2.1
- bump again for double-long bug on ppc(64)

* Tue Feb 07 2006 Jesse Keating <jkeating at redhat.com> - 1:0.22.0-21.2
- rebuilt for new gcc4.1 snapshot and glibc changes

* Fri Dec 09 2005 Jesse Keating <jkeating at redhat.com>
- rebuilt

* Thu Dec  1 2005 Matthias Clasen <mclasen at redhat.com> - 1:0.22.0-21
- Fix path of rgb.txt

* Wed Nov 16 2005 Matthias Clasen <mclasen at redhat.com> - 1:0.22.0-20
- Prevent another integer overflow in the xpm loader (#171901, CVE-2005-2976)
- Prevent an infinite loop in the xpm loader (#171901, CVE-2005-2976)
- Prevent an integer overflow in the xpm loader (#171073, CVE-2005-3186)

* Thu Nov 10 2005 Nalin Dahyabhai <nalin at redhat.com> - 1:0.22.0-19
- Rebuild because gtk+-devel lost its .la files, and our .la files want them.

* Mon Mar 28 2005 Matthias Clasen <mclasen at redhat.com> - 1:0.22.0-18
- Fix a double free in the bmp loader

* Mon Mar  7 2005 Matthias Clasen <mclasen at redhat.com> - 1:0.22.0-17
- Mark libraries as non-execstack

* Wed Mar  2 2005 Matthias Clasen <mclasen at redhat.com> - 1:0.22.0-16
- Rebuild with gcc4

* Fri Sep 24 2004 Matthias Clasen <mclasen at redhat.com> - 1:0.22.0-15.1
- Rebuild for RHEL4 without gnome support.

* Fri Sep 24 2004 Matthias Clasen <mclasen at redhat.com> - 1:0.22.0-15.0
- Rebuild for FC3 with gnome support.

* Wed Sep 15 2004 Matthias Clasen <mclasen at redhat.com> - 1:0.22.0-14
- Fix a bug in the last change which broke the xpm loader
- build without gnome support

* Wed Sep 15 2004 Matthias Clasen <mclasen at redhat.com> - 1:0.22.0-12
- Rebuild for FC3

* Tue Sep 14 2004 Bill Nottingham <notting at redhat.com> - 1:0.22.0-11
- build without gnome support

* Fri Aug 20 2004 Owen Taylor <otaylor at redhat.com> - 1:0.22.0-10.1.3
- Bump and rebuild for FC3

* Fri Aug 20 2004 Owen Taylor <otaylor at redhat.com> - 1:0.22.0-10.1.2
- Bump and rebuild for FC2

* Fri Aug 20 2004 Owen Taylor <otaylor at redhat.com> - 1:0.22.0-10.1.1
- Bump and build for FC1

* Fri Aug 20 2004 Owen Taylor <otaylor at redhat.com> - 1:0.22.0-10.0.3
- Bump and rebuild for 3.0E

* Fri Aug 20 2004 Owen Taylor <otaylor at redhat.com> - 1:0.22.0-10.0.2E
- Fix problem with infinite loop on bad BMP data (#130455,
  test BMP from Chris Evans, fix from Manish Singh)

* Sun Aug 15 2004 Tim Waugh <twaugh at redhat.com> 1:0.22.0-9
- Fixed underquoted m4 definition.

* Mon Jun 21 2004 Matthias Clasen <mclasen at redhat.com>
- Make build

* Tue Jun 15 2004 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Fri Mar  5 2004 Owen Taylor <otaylor at redhat.com> 1:0.22.0-6.0.3
- Include /usr/lib/*.la for AS2.1

* Fri Mar  5 2004 Owen Taylor <otaylor at redhat.com> 1:0.22.0-6.0.2E
- Add some additional defines to work with 2.1AS

* Thu Mar  4 2004 Owen Taylor <otaylor at redhat.com> 1:0.22.0-6.1.1
- Bump and rebuild

* Thu Mar  4 2004 Owen Taylor <otaylor at redhat.com> 1:0.22.0-6.1.0
- Redo package to build without libtool-1.5 patch

* Wed Mar  3 2004 Owen Taylor <otaylor at redhat.com> 1:0.22.0-6.0.0
- Add a couple of bug-fixes backported from GTK+-2.x

* Tue Mar 02 2004 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Fri Feb 13 2004 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Thu Aug 28 2003 Owen Taylor <otaylor at redhat.com> 1:0.22.0-4.0
- Rebuild for RHEL

* Wed Jul  9 2003 Owen Taylor <otaylor at redhat.com> 1:0.22.0-3.0
- Remove specific version from libtool requires

* Tue Jul  8 2003 Owen Taylor <otaylor at redhat.com> 1:0.22.0-2.0
- Bump for rebuild

* Thu Jun 12 2003 Owen Taylor <otaylor at redhat.com> 1:0.22.0-1
- Version 0.22.0

* Sun Jun  8 2003 Tim Powers <timp at redhat.com> 1:0.18.0-8.1
- build for RHEL

* Wed Jun 04 2003 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Tue Jun  3 2003 Jeff Johnson <jbj at redhat.com>
- add explicit epoch's where needed.

* Wed Jan 22 2003 Tim Powers <timp at redhat.com>
- rebuilt

* Fri Jan  3 2003 Owen Taylor <otaylor at redhat.com>
- BuildRequires libtool (#80947, Alan)

* Thu Nov  7 2002 Jeremy Katz <katzj at redhat.com> 
- rebuild to fix X11 libdir on multilib arches
- use %%libdir, etc

* Tue Aug 27 2002 Elliot Lee <sopwith at redhat.com>
- Patch3 for #65823

* Tue Aug 13 2002 Havoc Pennington <hp at redhat.com>
- fix warnings about unpackaged files (originally I was also fixing 
  libpng stuff but realized there was nothing to fix)

* Fri Jul 19 2002 Jakub Jelinek <jakub at redhat.com>
- remove -static from local-hack-gmodule Makefile, so that
  the shared libraries aren't DT_TEXTREL

* Fri Jul 12 2002 Havoc Pennington <hp at redhat.com>
- 0.18

* Fri Jun 21 2002 Tim Powers <timp at redhat.com>
- automated rebuild

* Wed Jun 19 2002 Jeremy Katz <katzj at redhat.com>
- remove .la files

* Sun May 26 2002 Tim Powers <timp at redhat.com>
- automated rebuild

* Fri May 17 2002 Alex Larsson <alexl at redhat.com>
- Use autoconf 2.13

* Thu Feb 28 2002 Havoc Pennington <hp at redhat.com>
- backport to Hampton

* Thu Feb  7 2002 Havoc Pennington <hp at redhat.com>
- remove CPPFLAGS=-I/usr/include/png-1.0

* Thu Feb  7 2002 Havoc Pennington <hp at redhat.com>
- remove libpng10 linkage, add hack to dlopen without RTLD_GLOBAL

* Wed Jan 30 2002 Bill Nottingham <notting at redhat.com>
- bump release
- png1.0 stuff

* Wed Jan 23 2002 Havoc Pennington <hp at redhat.com>
- fix some prefix/lib->libdir type of stuff
- rebuild for db1 issues

* Wed Dec 19 2001 Jeremy Katz <katzj at redhat.com>
- 0.14

* Mon Oct 29 2001 Havoc Pennington <hp at redhat.com>
- 0.13

* Sat Oct  6 2001 Havoc Pennington <hp at redhat.com>
- fix glitch in my header relocation patch

* Fri Oct  5 2001 Havoc Pennington <hp at redhat.com>
- cvs snap with headers relocated

* Fri Aug  3 2001 Owen Taylor <otaylor at redhat.com>
- Add dependency on gnome-libs-devel for the -devel package (#45020)

* Fri Jul 20 2001 Owen Taylor <otaylor at redhat.com>
- Own /usr/lib/gdk-pixbuf, /usr/lib/gdk-pixbuf/loaders (#27423)
- Add BuildPrereq on gnome-libs-devel (#49444)
- Add --disable-gtk-doc (#48988)

* Tue Jul 10 2001 Trond Eivind Glomsrød <teg at redhat.com>
- Add post/postun for gnome subpackage

* Thu Jul 05 2001 Florian La Roche <Florian.LaRoche at redhat.de>
- add patch to cope with newer "file" version

* Mon Jun 11 2001 Florian La Roche <Florian.LaRoche at redhat.de>
- copy config.{guess,sub} instead of calling libtoolize

* Wed Jun  6 2001 Trond Eivind Glomsrød <teg at redhat.com>
- Remember to set ownership in gnome subpackage

* Wed Jun 06 2001 Havoc Pennington <hp at redhat.com>
- Split out the gnome part into a separate package
- 0.11 upgrade
- don't libtoolize

* Tue Apr 17 2001 Jonathan Blandford <jrb at redhat.com>
- New Version.

* Thu Mar 01 2001 Owen Taylor <otaylor at redhat.com>
- Rebuild for GTK+-1.2.9 include paths

* Thu Feb 08 2001 Florian La Roche <Florian.LaRoche at redhat.de>
- add libtoolize to make porting to new archs easy

* Fri Aug 11 2000 Jonathan Blandford <jrb at redhat.com>
- Up Epoch and release

* Wed Aug  2 2000 Matt Wilson <msw at redhat.com>
- rebuilt against new libpng

* Thu Jul 13 2000 Prospector <bugzilla at redhat.com>
- automatic rebuild

* Thu Jun 29 2000 Owen Taylor <otaylor at redhat.com>
- Specfile fixes

* Thu Jun 15 2000 Owen Taylor <otaylor at redhat.com>
- Version 0.8.0

* Sat May  6 2000 Matt Wilson <msw at redhat.com>
- Red Hat-ified helix gdk-pixbuf RPM




gtk+-2.2.2-noexecstack.patch:

--- NEW FILE gtk+-2.2.2-noexecstack.patch ---
--- gdk-pixbuf-0.22.0/gdk-pixbuf/pixops/composite_line_22_4a4_mmx.S.noexecstack	2002-01-22 19:37:47.000000000 -0500
+++ gdk-pixbuf-0.22.0/gdk-pixbuf/pixops/composite_line_22_4a4_mmx.S	2005-03-07 00:32:39.000000000 -0500
@@ -3,6 +3,12 @@
 gcc2_compiled.:
 .text
 	.align 16
+
+/* Magic indicating no need for an executable stack */
+#if !defined __powerpc64__ && !defined __ia64__
+.section .note.GNU-stack;  .previous
+#endif
+
 .globl pixops_composite_line_22_4a4_mmx
 	.type	 pixops_composite_line_22_4a4_mmx, at function
 /*
--- gdk-pixbuf-0.22.0/gdk-pixbuf/pixops/composite_line_color_22_4a4_mmx.S.noexecstack	2002-01-22 19:37:47.000000000 -0500
+++ gdk-pixbuf-0.22.0/gdk-pixbuf/pixops/composite_line_color_22_4a4_mmx.S	2005-03-07 00:33:00.000000000 -0500
@@ -3,6 +3,12 @@
 gcc2_compiled.:
 .text
 	.align 16
+
+/* Magic indicating no need for an executable stack */
+#if !defined __powerpc64__ && !defined __ia64__
+.section .note.GNU-stack;  .previous
+#endif
+
 .globl pixops_composite_line_color_22_4a4_mmx
 	.type	 pixops_composite_line_color_22_4a4_mmx, at function
 /*
--- gdk-pixbuf-0.22.0/gdk-pixbuf/pixops/have_mmx.S.noexecstack	2002-01-22 19:37:47.000000000 -0500
+++ gdk-pixbuf-0.22.0/gdk-pixbuf/pixops/have_mmx.S	2005-03-07 00:32:14.000000000 -0500
@@ -3,6 +3,12 @@
 gcc2_compiled.:
 .text
 	.align 16
+
+/* Magic indicating no need for an executable stack */
+#if !defined __powerpc64__ && !defined __ia64__
+.section .note.GNU-stack;  .previous
+ #endif
+
 .globl pixops_have_mmx
 	.type	 pixops_have_mmx, at function
 
--- gdk-pixbuf-0.22.0/gdk-pixbuf/pixops/scale_line_22_33_mmx.S.noexecstack	2002-01-22 19:37:47.000000000 -0500
+++ gdk-pixbuf-0.22.0/gdk-pixbuf/pixops/scale_line_22_33_mmx.S	2005-03-07 00:33:31.000000000 -0500
@@ -3,6 +3,12 @@
 gcc2_compiled.:
 .text
 	.align 16
+
+/* Magic indicating no need for an executable stack */
+#if !defined __powerpc64__ && !defined __ia64__
+.section .note.GNU-stack;  .previous
+#endif
+
 .globl pixops_scale_line_22_33_mmx
 	.type	 pixops_scale_line_22_33_mmx, at function
 /*


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/gdk-pixbuf/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	19 Jun 2006 20:20:28 -0000	1.1
+++ .cvsignore	19 Jun 2006 20:22:15 -0000	1.2
@@ -0,0 +1,2 @@
+gdk-pixbuf-0.22.0.tar.bz2
+local-hack-gmodule2.tar.gz


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/gdk-pixbuf/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	19 Jun 2006 20:20:28 -0000	1.1
+++ sources	19 Jun 2006 20:22:15 -0000	1.2
@@ -0,0 +1,2 @@
+05fcb68ceaa338614ab650c775efc2f2  gdk-pixbuf-0.22.0.tar.bz2
+3040c56c9ed7bee5fd96547a4545c339  local-hack-gmodule2.tar.gz




More information about the scm-commits mailing list