From 308d8162c6c718a77a8393cc3399d1b0d07e91a21c3f9057b800e762856f3b35 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 13 Dec 2016 16:37:13 +0000 Subject: [PATCH 1/2] Accepting request 445453 from home:mstaudt:929462boo-gdk-pixbuf - u_contrib-gdk-pixbuf-xlib-Fix-rgb888amsb.patch Fix RGBA conversion for big endian X11 environments. Fixes (boo#929462), (bsc#1010497) OBS-URL: https://build.opensuse.org/request/show/445453 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdk-pixbuf?expand=0&rev=117 --- gdk-pixbuf.changes | 7 ++ gdk-pixbuf.spec | 2 + ...ntrib-gdk-pixbuf-xlib-Fix-rgb888amsb.patch | 68 +++++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 u_contrib-gdk-pixbuf-xlib-Fix-rgb888amsb.patch diff --git a/gdk-pixbuf.changes b/gdk-pixbuf.changes index 5311079..67ecb6d 100644 --- a/gdk-pixbuf.changes +++ b/gdk-pixbuf.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Dec 9 15:02:53 UTC 2016 - mstaudt@suse.com + +- u_contrib-gdk-pixbuf-xlib-Fix-rgb888amsb.patch + Fix RGBA conversion for big endian X11 environments. + Fixes (boo#929462), (bsc#1010497) + ------------------------------------------------------------------- Mon Sep 19 17:22:31 UTC 2016 - zaitor@opensuse.org diff --git a/gdk-pixbuf.spec b/gdk-pixbuf.spec index e07967e..24cbb56 100644 --- a/gdk-pixbuf.spec +++ b/gdk-pixbuf.spec @@ -30,6 +30,7 @@ Source: http://download.gnome.org/sources/gdk-pixbuf/2.36/%{name}-%{vers Source1: macros.gdk-pixbuf Source2: README.SUSE Source99: baselibs.conf +Patch0: u_contrib-gdk-pixbuf-xlib-Fix-rgb888amsb.patch BuildRequires: libjasper-devel BuildRequires: libjpeg-devel BuildRequires: libtiff-devel @@ -102,6 +103,7 @@ This package contains development files for gdk-pixbuf. %if !0%{?is_opensuse} translation-update-upstream %endif +%patch0 -p1 %if "%_lib" == "lib64" cp -a %{S:2} . %endif diff --git a/u_contrib-gdk-pixbuf-xlib-Fix-rgb888amsb.patch b/u_contrib-gdk-pixbuf-xlib-Fix-rgb888amsb.patch new file mode 100644 index 0000000..ac40f4a --- /dev/null +++ b/u_contrib-gdk-pixbuf-xlib-Fix-rgb888amsb.patch @@ -0,0 +1,68 @@ +From: Max Staudt +Date: Fri Dec 9 14:26:34 2016 +0100 +Subject: [PATCH]contrib/gdk-pixbuf-xlib: Fix rgb888amsb() +Patch-mainline: to be upstreamed +Git-repo: git://git.gnome.org/gdk-pixbuf +References: boo#929462 bsc#1010497 +Signed-off-by: Max Staudt + +On Little Endian, it wrote memory out of bounds (i.e. when running +inside a little endian client, connecting to a big endian X server). + +On Big Endian, it only processed the first 1/4 of the icon. + +The effects can be seen when running IceWM. Running native on Big Endian +ppc64 with a Big Endian X11 server, the icon background was 3/4 random: + + https://bugzilla.suse.com/show_bug.cgi?id=929462 + +This match makes rgb888amsb() behave analogously to rgb888msb(). + +Signed-off-by: Max Staudt +--- + contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-drawable.c | 15 --------------- + 1 file changed, 15 deletions(-) + +diff --git a/contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-drawable.c b/contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-drawable.c +index 972c2be..422fdc8 100644 +--- a/contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-drawable.c ++++ b/contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-drawable.c +@@ -915,13 +915,8 @@ rgb888amsb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colorma + int bpl; + + guint8 *srow = (guint8 *)image->data, *orow = pixels; +-#ifdef LITTLE +- guint32 *o; +- guint32 *s; +-#else + guint8 *s; /* for byte order swapping */ + guint8 *o; +-#endif + + d (printf ("32 bit, msb, with alpha\n")); + +@@ -931,24 +926,14 @@ rgb888amsb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colorma + + /* msb data */ + for (yy = 0; yy < height; yy++) { +-#ifdef LITTLE +- s = (guint32 *) srow; +- o = (guint32 *) orow; +-#else + s = srow; + o = orow; +-#endif + for (xx = 0; xx < width; xx++) { +-#ifdef LITTLE + *o++ = s[1]; + *o++ = s[2]; + *o++ = s[3]; + *o++ = 0xff; + s += 4; +-#else +- *o++ = (*s << 8) | 0xff; /* untested */ +- s++; +-#endif + } + srow += bpl; + orow += rowstride; From 72167043585aa7735d2e9efb82c78c13a867e6ce7f00eeabce8e3a6635bf2a28 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 15 Dec 2016 18:27:28 +0000 Subject: [PATCH 2/2] Accepting request 445629 from GNOME:Next Update to 2.36.1 - cleanup Max' submission OBS-URL: https://build.opensuse.org/request/show/445629 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdk-pixbuf?expand=0&rev=118 --- gdk-pixbuf-2.36.0.tar.xz | 3 --- gdk-pixbuf-2.36.1.tar.xz | 3 +++ gdk-pixbuf.changes | 14 ++++++++++++-- gdk-pixbuf.spec | 20 +++++++++++++++++++- 4 files changed, 34 insertions(+), 6 deletions(-) delete mode 100644 gdk-pixbuf-2.36.0.tar.xz create mode 100644 gdk-pixbuf-2.36.1.tar.xz diff --git a/gdk-pixbuf-2.36.0.tar.xz b/gdk-pixbuf-2.36.0.tar.xz deleted file mode 100644 index 145a49f..0000000 --- a/gdk-pixbuf-2.36.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:85ab52ce9f2c26327141b3dcf21cca3da6a3f8de84b95fa1e727d8871a23245c -size 2718648 diff --git a/gdk-pixbuf-2.36.1.tar.xz b/gdk-pixbuf-2.36.1.tar.xz new file mode 100644 index 0000000..5dc3090 --- /dev/null +++ b/gdk-pixbuf-2.36.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d5ba72070460c1b5b74115d395a3e33daeb7b7b67fb256cdccc9d7187c42a38 +size 2711044 diff --git a/gdk-pixbuf.changes b/gdk-pixbuf.changes index 67ecb6d..a37a3e2 100644 --- a/gdk-pixbuf.changes +++ b/gdk-pixbuf.changes @@ -1,9 +1,19 @@ +------------------------------------------------------------------- +Tue Dec 13 15:43:35 UTC 2016 - dimstar@opensuse.org + +- Update to version 2.36.1: + + Remove the pixdata loader (bgo#776004). + + Fix integer overflows in the jpeg loader (bgo#775218). + + Add an external thumbnailer for images. + + Updated translations. +- Split the external thumbnailer into gdk-pixbug-thumbnailer. + ------------------------------------------------------------------- Fri Dec 9 15:02:53 UTC 2016 - mstaudt@suse.com -- u_contrib-gdk-pixbuf-xlib-Fix-rgb888amsb.patch +- Add u_contrib-gdk-pixbuf-xlib-Fix-rgb888amsb.patch: Fix RGBA conversion for big endian X11 environments. - Fixes (boo#929462), (bsc#1010497) + Fixes (boo#929462, bsc#1010497, bgo#775896). ------------------------------------------------------------------- Mon Sep 19 17:22:31 UTC 2016 - zaitor@opensuse.org diff --git a/gdk-pixbuf.spec b/gdk-pixbuf.spec index 24cbb56..4ff9803 100644 --- a/gdk-pixbuf.spec +++ b/gdk-pixbuf.spec @@ -20,7 +20,7 @@ %define gdk_pixbuf_binary_version 2.10.0 Name: gdk-pixbuf -Version: 2.36.0 +Version: 2.36.1 Release: 0 Summary: An image loading library License: LGPL-2.1+ @@ -30,6 +30,7 @@ Source: http://download.gnome.org/sources/gdk-pixbuf/2.36/%{name}-%{vers Source1: macros.gdk-pixbuf Source2: README.SUSE Source99: baselibs.conf +# PATCH-FIX-UPSTREAM u_contrib-gdk-pixbuf-xlib-Fix-rgb888amsb.patch boo#929462 bsc#1010497 bgo#775896 mstaudt@suse.com -- Fix RGBA conversion for big endian X11 environments Patch0: u_contrib-gdk-pixbuf-xlib-Fix-rgb888amsb.patch BuildRequires: libjasper-devel BuildRequires: libjpeg-devel @@ -84,6 +85,17 @@ Clutter. This package contains the utility to create the cache file needed for loadable modules. +%package thumbnailer +Summary: System helper creating thumbnails +Group: System/Libraries + +%description thumbnailer +gdk-pixbuf is an image loading library that can be extended by loadable +modules for new image formats. It is used by toolkits such as GTK+ or +Clutter. + +This package contains the thumbnailer utility. + %package devel Summary: An image loading library - Development Files Group: Development/Languages/C and C++ @@ -198,6 +210,12 @@ fi %{_bindir}/gdk-pixbuf-query-loaders* %{_mandir}/man1/gdk-pixbuf-query-loaders*.1* +%files thumbnailer +%defattr(-, root, root) +%{_bindir}/gdk-pixbuf-thumbnailer +%dir %{_datadir}/thumbnailers +%{_datadir}/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer + %files devel %defattr(-, root, root) %{_bindir}/gdk-pixbuf-csource