diff --git a/debian/changelog b/debian/changelog index 18346494a2..882d106ecb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,58 @@ +gtk+3.0 (3.4.2-4) unstable; urgency=low + + * debian/patches/074_try-harder-to-discriminate-Shift-F10-and-F10.patch: + With xkb-data 2.5.1-2.1 preserving the Shift modifier, GTK+ can properly + map F10 and Shift-F10 to different key bindings. Closes: #658392 + + -- Michael Biebl Fri, 21 Sep 2012 18:30:41 +0200 + +gtk+3.0 (3.4.2-3) unstable; urgency=low + + [ Josselin Mouette ] + * Update xrandr epoch. + + [ Michael Biebl ] + * debian/libgtk-3-0.postrm.in: Drop "rm -rf /etc/gtk-3.0/" on purge since + this removes files owned by libgtk-3-common. Those bits were copied over + from the gtk+2.0 package but they are actually obsolete and no longer + required. Closes: #681198 + * debian/patches/073_transparent_colors.patch: Handle transparent colors + better in GtkStyle emulation. Patch cherry-picked from upstream Git. + Closes: #669694 + * debian/patches/070_revert-widget-set-up-signals-after-initializing.patch: + This patch was a temporary workaround for a bug in mutter which has been + fixed in version 3.4. It was not supposed to be shipped as part of wheezy, + so drop it again. + * If the NEWS or README file is larger than 4k in size append a .gz suffix + as dh_compress will compress those files. This avoids dangling symlinks. + Closes: #679754 + + -- Michael Biebl Mon, 06 Aug 2012 21:40:53 +0200 + +gtk+3.0 (3.4.2-2) unstable; urgency=low + + * debian/patches/072_statusicon_icon_size.patch: Fix how we determine the + icon size for the statusicon. This fixes a crash in notification-daemon + which was caused by an assertion failure. Closes: #669883 + Thanks to Fernando Lemos for the patch and Brad Jorsch for the excellent + debugging. + + -- Michael Biebl Sat, 30 Jun 2012 17:01:38 +0200 + +gtk+3.0 (3.4.2-1) unstable; urgency=low + + * New upstream release. + * Simplify shlibs version information for libgail-3-0 and no longer create a + dependency on libgail-3-common, this package has been dropped in 3.2. + + -- Michael Biebl Thu, 10 May 2012 14:44:28 +0200 + +gtk+3.0 (3.4.1-2) unstable; urgency=low + + * Upload to unstable. + + -- Michael Biebl Thu, 19 Apr 2012 02:46:25 +0200 + gtk+3.0 (3.4.1-1) experimental; urgency=low [ Josselin Mouette ] diff --git a/debian/control b/debian/control index 17687ebd5e..8b31f32efb 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: gtk+3.0 Section: libs Priority: optional Maintainer: Debian GNOME Maintainers -Uploaders: Josselin Mouette , Michael Biebl , Sjoerd Simons +Uploaders: Michael Biebl Build-Depends: debhelper (>= 8.1.3), cdbs (>= 0.4.93), gnome-pkg-tools (>= 0.11), @@ -19,7 +19,7 @@ Build-Depends: debhelper (>= 8.1.3), libx11-dev (>= 2:1.3.3-2), libxext-dev (>= 2:1.1.1-3), libxi-dev (>= 2:1.3-4), - libxrandr-dev (>= 1:1.2.99), + libxrandr-dev (>= 2:1.2.99), libxt-dev, libxrender-dev (>= 1:0.9.5-2), libxft-dev, diff --git a/debian/control.in b/debian/control.in index 7ac9074b19..d6f48bc90b 100644 --- a/debian/control.in +++ b/debian/control.in @@ -19,7 +19,7 @@ Build-Depends: debhelper (>= 8.1.3), libx11-dev (>= 2:1.3.3-2), libxext-dev (>= 2:1.1.1-3), libxi-dev (>= 2:1.3-4), - libxrandr-dev (>= 1:1.2.99), + libxrandr-dev (>= 2:1.2.99), libxt-dev, libxrender-dev (>= 1:0.9.5-2), libxft-dev, diff --git a/debian/libgtk-3-0-dbg.links.in b/debian/libgtk-3-0-dbg.links.in index bb86f76b08..a3b90537c8 100644 --- a/debian/libgtk-3-0-dbg.links.in +++ b/debian/libgtk-3-0-dbg.links.in @@ -1,2 +1,2 @@ -usr/share/doc/@COMMON_PKG@/NEWS.gz usr/share/doc/@DEBUG_PKG@/NEWS.gz -usr/share/doc/@COMMON_PKG@/README usr/share/doc/@DEBUG_PKG@/README +usr/share/doc/@COMMON_PKG@/@NEWS@ usr/share/doc/@DEBUG_PKG@/@NEWS@ +usr/share/doc/@COMMON_PKG@/@README@ usr/share/doc/@DEBUG_PKG@/@README@ diff --git a/debian/libgtk-3-0.links.in b/debian/libgtk-3-0.links.in index 122eee42b5..8c713974da 100644 --- a/debian/libgtk-3-0.links.in +++ b/debian/libgtk-3-0.links.in @@ -1,2 +1,2 @@ -usr/share/doc/@COMMON_PKG@/NEWS.gz usr/share/doc/@SHARED_PKG@/NEWS.gz -usr/share/doc/@COMMON_PKG@/README usr/share/doc/@SHARED_PKG@/README +usr/share/doc/@COMMON_PKG@/@NEWS@ usr/share/doc/@SHARED_PKG@/@NEWS@ +usr/share/doc/@COMMON_PKG@/@README@ usr/share/doc/@SHARED_PKG@/@README@ diff --git a/debian/libgtk-3-0.postrm.in b/debian/libgtk-3-0.postrm.in index 1f8bb0f67c..7caff6b607 100644 --- a/debian/libgtk-3-0.postrm.in +++ b/debian/libgtk-3-0.postrm.in @@ -2,12 +2,6 @@ set -e -case "$1" in - purge) - rm -rf /@CONFDIR@ - ;; -esac - #DEBHELPER# if [ -d /@MODULES_BASE_PATH@ ]; then diff --git a/debian/libgtk-3-bin.links.in b/debian/libgtk-3-bin.links.in index a64f0f0fb9..cc7a501dbe 100644 --- a/debian/libgtk-3-bin.links.in +++ b/debian/libgtk-3-bin.links.in @@ -1,3 +1,3 @@ @LIBDIR@/@SHARED_PKG@/gtk-update-icon-cache-3.0 usr/bin/gtk-update-icon-cache-3.0 -usr/share/doc/@COMMON_PKG@/NEWS.gz usr/share/doc/@BIN_PKG@/NEWS.gz -usr/share/doc/@COMMON_PKG@/README usr/share/doc/@BIN_PKG@/README +usr/share/doc/@COMMON_PKG@/@NEWS@ usr/share/doc/@BIN_PKG@/@NEWS@ +usr/share/doc/@COMMON_PKG@/@README@ usr/share/doc/@BIN_PKG@/@README@ diff --git a/debian/libgtk-3-dev.links.in b/debian/libgtk-3-dev.links.in index 3fc53d9089..907fd969c2 100644 --- a/debian/libgtk-3-dev.links.in +++ b/debian/libgtk-3-dev.links.in @@ -1,2 +1,2 @@ -usr/share/doc/@COMMON_PKG@/NEWS.gz usr/share/doc/@DEV_PKG@/NEWS.gz -usr/share/doc/@COMMON_PKG@/README usr/share/doc/@DEV_PKG@/README +usr/share/doc/@COMMON_PKG@/@NEWS@ usr/share/doc/@DEV_PKG@/@NEWS@ +usr/share/doc/@COMMON_PKG@/@README@ usr/share/doc/@DEV_PKG@/@README@ diff --git a/debian/patches/072_statusicon_icon_size.patch b/debian/patches/072_statusicon_icon_size.patch new file mode 100644 index 0000000000..4a102f941c --- /dev/null +++ b/debian/patches/072_statusicon_icon_size.patch @@ -0,0 +1,47 @@ +From b4f092f17d93a9343c917e3a20b906b693965bda Mon Sep 17 00:00:00 2001 +From: Fernando Lemos +Date: Tue, 15 May 2012 10:28:37 -0400 +Subject: [PATCH] statusicon: use absolute delta to find the nearest icon size + +Otherwise, if we only look at (pixel_size - stock_size), we miss the +case when the pixel size is smaller than any provided stock size. + +https://bugzilla.gnome.org/show_bug.cgi?id=673749 + +statusicon: Fix implicit declaration warning + +gtkstatusicon.c:1333:4: warning: implicit declaration of function 'abs' [-Wimplicit-function-declaration] + +Added in commit c8378099600e4279cb5c608b546bbe778c451233 +--- + gtk/gtkstatusicon.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/gtk/gtkstatusicon.c b/gtk/gtkstatusicon.c +index 8bcb638..5c8a591 100644 +--- a/gtk/gtkstatusicon.c ++++ b/gtk/gtkstatusicon.c +@@ -28,6 +28,7 @@ + #include "config.h" + + #include ++#include + + #include "gtkstatusicon.h" + +@@ -1328,10 +1329,9 @@ round_pixel_size (GtkWidget *widget, + + for (s = GTK_ICON_SIZE_MENU; s <= GTK_ICON_SIZE_DIALOG; s++) + { +- if (gtk_icon_size_lookup_for_settings (settings, s, &w, &h) && +- w <= pixel_size && h <= pixel_size) ++ if (gtk_icon_size_lookup_for_settings (settings, s, &w, &h)) + { +- d = MAX (pixel_size - w, pixel_size - h); ++ d = MAX (abs (pixel_size - w), abs (pixel_size - h)); + if (d < dist) + { + dist = d; +-- +1.7.10 + diff --git a/debian/patches/073_transparent_colors.patch b/debian/patches/073_transparent_colors.patch new file mode 100644 index 0000000000..80ae3e20ec --- /dev/null +++ b/debian/patches/073_transparent_colors.patch @@ -0,0 +1,33 @@ +From 72feb95edb6ab8c3fac27c0c32afeb2b2f61bd1c Mon Sep 17 00:00:00 2001 +From: Alexander Larsson +Date: Thu, 28 Jun 2012 19:30:24 +0000 +Subject: Handle transparent colors better in GtkStyle emulation + +We can't expose colors with alpha in the GtkStyle colors, since +GdkColor has no alpha. Currently we throw away alpha completely, +which fails very badly for completely transparent backgrounds, +which now is the default for most widgets, as it typically +end up with black-on-black. + +We handle this by falling back on the default/previous colors for +transparent colors. This is is simple and avoids complete failure. + +https://bugzilla.gnome.org/show_bug.cgi?id=671437 + +(cherry picked from commit 10423726709539724be0ea19bed76ba4331af774) +--- +diff --git a/gtk/deprecated/gtkstyle.c b/gtk/deprecated/gtkstyle.c +index 5266368..16e3ce4 100644 +--- a/gtk/deprecated/gtkstyle.c ++++ b/gtk/deprecated/gtkstyle.c +@@ -673,7 +673,7 @@ set_color (GtkStyle *style, + break; + } + +- if (color) ++ if (color && color->alpha > 0.01) + { + dest->pixel = 0; + dest->red = CLAMP ((guint) (color->red * 65535), 0, 65535); +-- +cgit v0.9.0.2 diff --git a/debian/patches/074_try-harder-to-discriminate-Shift-F10-and-F10.patch b/debian/patches/074_try-harder-to-discriminate-Shift-F10-and-F10.patch new file mode 100644 index 0000000000..95ee4b39a7 --- /dev/null +++ b/debian/patches/074_try-harder-to-discriminate-Shift-F10-and-F10.patch @@ -0,0 +1,69 @@ +From 314b6abbe8d8daae1e2de50b15cc9b6553af1f3d Mon Sep 17 00:00:00 2001 +From: Matthias Clasen +Date: Sat, 1 Sep 2012 22:51:18 -0400 +Subject: [PATCH] Try harder to discriminate Shift-F10 and F10 + +A change in xkeyboard-config 2.4.1 made it so that function keys +now have a shift level which has the same symbol, but 'eats' the +shift modifier. This would ordinarily make it impossible for us +to discriminate between these key combinations. + +This commit tries harder to discriminate in 2 ways: +- XKB has a mechanism to tell us when a modifier should not be + consumed even though it was used in determining the level. + We now respect such 'preserved' modifiers. This does not fix + the Shift-F10 vs F10 problem yet, since xkeyboard-config does + not currently mark Shift as preserved for function keys. +- Don't consume modifiers that do not change the symbol. For + the function keys, the symbol on the shift level is the same + as the base level, so we don't consider Shift consumed. + +For more background on the xkeyboard-config change, see +https://bugs.freedesktop.org/show_bug.cgi?id=45008 + +https://bugzilla.gnome.org/show_bug.cgi?id=661973 +--- + gdk/x11/gdkkeys-x11.c | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) + +Index: gtk+-3.4.2/gdk/x11/gdkkeys-x11.c +=================================================================== +--- gtk+-3.4.2.orig/gdk/x11/gdkkeys-x11.c 2012-05-02 14:05:07.000000000 +0200 ++++ gtk+-3.4.2/gdk/x11/gdkkeys-x11.c 2012-09-04 03:05:24.621782410 +0200 +@@ -1113,6 +1113,8 @@ + int found = 0; + + for (i=0,entry=type->map;imap_count;i++,entry++) { ++ if (!entry->active) ++ continue; + if (mods_rtrn) { + int bits = 0; + unsigned long tmp = entry->mods.mask; +@@ -1123,14 +1125,22 @@ + } + /* We always add one-modifiers levels to mods_rtrn since + * they can't wipe out bits in the state unless the +- * level would be triggered. But return other modifiers +- * ++ * level would be triggered. But not if they don't change ++ * the symbol (otherwise we can't discriminate Shift-F10 ++ * and F10 anymore). And don't add modifiers that are ++ * explicitly marked as preserved, either. + */ +- if (bits == 1 || (mods&type->mods.mask)==entry->mods.mask) +- *mods_rtrn |= entry->mods.mask; ++ if ((bits == 1 && syms[col+entry->level] != syms[col]) || ++ (mods&type->mods.mask) == entry->mods.mask) ++ { ++ if (type->preserve) ++ *mods_rtrn |= (entry->mods.mask & ~type->preserve[i].mask); ++ else ++ *mods_rtrn |= entry->mods.mask; ++ } + } + +- if (!found&&entry->active&&((mods&type->mods.mask)==entry->mods.mask)) { ++ if (!found&&((mods&type->mods.mask)==entry->mods.mask)) { + col+= entry->level; + if (type->preserve) + preserve= type->preserve[i].mask; diff --git a/debian/patches/series b/debian/patches/series index 6607db83aa..98b67533af 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -8,5 +8,7 @@ 044_tracker_fts.patch 060_ignore-random-icons.patch 061_multiarch_module_fallback.patch -070_revert-widget-set-up-signals-after-initializing.patch 071_fix-installation-of-HTML-images.patch +072_statusicon_icon_size.patch +073_transparent_colors.patch +074_try-harder-to-discriminate-Shift-F10-and-F10.patch diff --git a/debian/rules b/debian/rules index 8e7adff0e2..64c1508435 100644 --- a/debian/rules +++ b/debian/rules @@ -23,7 +23,6 @@ LDFLAGS += -Wl,-O1 APIVER := 3 SONAME := 0 -SHVER := 3.3.18 LIBDIR := usr/lib/$(DEB_HOST_MULTIARCH) @@ -50,6 +49,11 @@ BIN_PKG := libgtk-$(APIVER)-bin DEBUG_PKG := $(SHARED_PKG)-dbg EXAMPLES_PKG := gtk-$(APIVER)-examples +# files larger than 4k in size will be compressed by dh_compress +# so append a .gz suffix to avoid dangling symlinks +NEWS := NEWS$(shell find -maxdepth 1 -size +4k -name NEWS -exec echo ".gz" \;) +README := README$(shell find -maxdepth 1 -size +4k -name README -exec echo ".gz" \;) + DEB_DH_INSTALL_ARGS += --sourcedir=debian/install/shared DEB_DH_INSTALL_ARGS_$(UDEB_PKG) += --sourcedir=debian/install/shared_udeb @@ -78,7 +82,7 @@ DEB_INSTALL_DOCS_$(COMMON_PKG) = README NEWS DEB_INSTALL_DOCS_$(DOC_PKG) += -X.in DEB_DH_MAKESHLIBS_ARGS_ALL += -X$(MODULES_BASE_PATH) DEB_DH_MAKESHLIBS_ARGS_$(SHARED_PKG) += -V --add-udeb=$(UDEB_PKG) -- -c4 -DEB_DH_MAKESHLIBS_ARGS_libgail-3-0 += -V"libgail-3-0 (>= $(SHVER)), libgail-3-common (>= $(SHVER))" -- -c4 +DEB_DH_MAKESHLIBS_ARGS_libgail-3-0 += -V -- -c4 DEB_DH_FIXPERMS_ARGS_ALL += -X$(LIBDIR)/$(SHARED_PKG) DEB_DH_STRIP_ARGS = --dbg-package=$(if $(findstring libgail,$(cdbs_curpkg)),libgail-3-0-dbg,$(DEBUG_PKG)) DEB_DH_STRIP_ARGS_$(UDEB_PKG) = @@ -108,6 +112,8 @@ debian/%: debian/%.in -e 's#@CONFDIR@#$(CONFDIR)#g' \ -e "s#@MODULES_BASE_PATH@#$(MODULES_BASE_PATH)#g" \ -e "s#@OLD_MODULES_BASE_PATH@#$(OLD_MODULES_BASE_PATH)#g" \ + -e "s#@NEWS@#$(NEWS)#g" \ + -e "s#@README@#$(README)#g" \ $@.in > $@ clean:: debian/control