[Pkg-xfce-commits] r5206 - in desktop/trunk/xfce4-terminal/debian: . patches

Yves-Alexis Perez corsac at alioth.debian.org
Thu Mar 31 01:33:52 UTC 2011


Author: corsac
Date: 2011-03-31 13:33:50 +0000 (Thu, 31 Mar 2011)
New Revision: 5206

Added:
   desktop/trunk/xfce4-terminal/debian/patches/01_fix-memleak-high-cpu-usage-vte-0.27.patch
   desktop/trunk/xfce4-terminal/debian/patches/series
   desktop/trunk/xfce4-terminal/debian/source/
   desktop/trunk/xfce4-terminal/debian/xfce4-terminal.install
Modified:
   desktop/trunk/xfce4-terminal/debian/changelog
   desktop/trunk/xfce4-terminal/debian/control
   desktop/trunk/xfce4-terminal/debian/copyright
   desktop/trunk/xfce4-terminal/debian/rules
Log:
merge 4.8 branch from experimental


Modified: desktop/trunk/xfce4-terminal/debian/changelog
===================================================================
--- desktop/trunk/xfce4-terminal/debian/changelog	2011-03-31 13:25:52 UTC (rev 5205)
+++ desktop/trunk/xfce4-terminal/debian/changelog	2011-03-31 13:33:50 UTC (rev 5206)
@@ -1,3 +1,31 @@
+xfce4-terminal (0.4.6-1) experimental; urgency=low
+
+  [ Lionel Le Folgoc ]
+  * New upstream release.
+  * debian/control:
+    - drop cdbs from b-deps, and bump debhelper to >= 7.0.50~.
+    - change libexo-0.3-dev b-dep to libexo-1-dev.
+    - b-dep on hardening-includes.
+    - bump Standards-Version to 3.9.1.
+    - fix a typo in the long desc.
+    - add a -dbg package.
+  * Switch to 3.0 (quilt) source format.
+  * debian/rules:
+    - switch to dh.
+    - add hardening CFLAGS/LDFLAGS.
+    - update paths.
+    - add a -dbg package.
+  * debian/xfce4-terminal.install: added.
+  * debian/patches:
+    - 01_fix-memleak-high-cpu-usage-vte-0.27.patch: fix a race between vte and
+      xfce4-terminal when setting the terminal background (Xfce #6921).
+    - series: added.
+
+  [ Yves-Alexis Perez ]
+  * debian/copyright updated for new release.
+
+ -- Yves-Alexis Perez <corsac at debian.org>  Mon, 07 Feb 2011 22:56:37 +0100
+
 xfce4-terminal (0.4.5-1) unstable; urgency=low
 
   [ Yves-Alexis Perez ]

Modified: desktop/trunk/xfce4-terminal/debian/control
===================================================================
--- desktop/trunk/xfce4-terminal/debian/control	2011-03-31 13:25:52 UTC (rev 5205)
+++ desktop/trunk/xfce4-terminal/debian/control	2011-03-31 13:33:50 UTC (rev 5206)
@@ -4,11 +4,11 @@
 Maintainer: Debian Xfce Maintainers <pkg-xfce-devel at lists.alioth.debian.org>
 Uploaders: Emanuele Rocca <ema at debian.org>, Simon Huggins <huggie at earth.li>,
  Yves-Alexis Perez <corsac at debian.org>, Lionel Le Folgoc <mrpouit at gmail.com>
-Build-Depends: debhelper (>= 7), libdbus-glib-1-dev, 
- libexo-0.3-dev (>= 0.3.100), libvte-dev (>= 1:0.17.1), libxml-perl,
- libstartup-notification0-dev, cdbs, chrpath, intltool, 
- libgtk2.0-dev (>= 2.14)
-Standards-Version: 3.8.4
+Build-Depends: debhelper (>= 7.0.50~), libdbus-glib-1-dev, 
+ libexo-1-dev (>= 0.5.0), libvte-dev (>= 1:0.17.1), libxml-perl,
+ libstartup-notification0-dev, chrpath, intltool, libgtk2.0-dev (>= 2.14),
+ hardening-includes
+Standards-Version: 3.9.1
 Homepage: http://goodies.xfce.org/projects/applications/terminal
 Vcs-Svn: svn://svn.debian.org/pkg-xfce/desktop/trunk/xfce4-terminal/
 Vcs-Browser: http://svn.debian.org/wsvn/pkg-xfce/desktop/trunk/xfce4-terminal/
@@ -16,7 +16,7 @@
 Package: xfce4-terminal
 Section: xfce
 Architecture: any
-Depends: ${shlibs:Depends},  ${misc:Depends}, exo-utils
+Depends: ${shlibs:Depends}, ${misc:Depends}, exo-utils
 Provides: x-terminal-emulator
 Recommends: dbus-x11
 Description: Xfce terminal emulator
@@ -24,5 +24,14 @@
  terminal emulator for X11. It was created to fit nicely into the Xfce
  desktop environment, but it also fits nice with other environments.
  .
- For people that already know GNOME 2 terminal and are searching for a
+ For people who already know GNOME 2 terminal and are searching for a
  lighter but comparable replacement, Terminal might be the answer.
+
+Package: xfce4-terminal-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, xfce4-terminal (= ${binary:Version})
+Description: Xfce terminal emulator - debugging symbols
+ This package contains debugging symbols for Terminal, which is a lightweight
+ and easy to use terminal emulator for X11.

Modified: desktop/trunk/xfce4-terminal/debian/copyright
===================================================================
--- desktop/trunk/xfce4-terminal/debian/copyright	2011-03-31 13:25:52 UTC (rev 5205)
+++ desktop/trunk/xfce4-terminal/debian/copyright	2011-03-31 13:33:50 UTC (rev 5206)
@@ -1,23 +1,56 @@
 This package was debianized by Yves-Alexis Perez <corsac at corsac.net> on
 Sat, 23 Apr 2005 00:02:36 +0200.
 
-It was downloaded from http://terminal.os-cillation.com/
+It was downloaded from http://www.xfce.org
 
-Upstream Author are:
-Benedikt Meurer <benny at xfce.org>
-Francois Le Clainche <fleclainche at wanadoo.fr>
+Files: terminal/main.c
+ terminal/terminal-accel-map.c
+ terminal/terminal-accel-map.h
+ terminal/terminal-app.c
+ terminal/terminal-app.h
+ terminal/terminal-dbus.c
+ terminal/terminal-dbus.h
+ terminal/terminal-image-loader.h
+ terminal/terminal-options.c
+ terminal/terminal-options.h
+ terminal/terminal-preferences-dialog.c
+ terminal/terminal-preferences-dialog.h
+ terminal/terminal-preferences.c
+ terminal/terminal-preferences.h
+ terminal/terminal-screen.c
+ terminal/terminal-screen.h
+ terminal/terminal-shortcut-editor.c
+ terminal/terminal-shortcut-editor.h
+ terminal/terminal-stock.c
+ terminal/terminal-stock.h
+ terminal/terminal-toolbars-model.c
+ terminal/terminal-toolbars-model.h
+ terminal/terminal-toolbars-view.c
+ terminal/terminal-toolbars-view.h
+ terminal/terminal-widget.c
+ terminal/terminal-widget.h
+ terminal/terminal-window.c
+ terminal/terminal-window.h
+Copyright: 2004-2008, os-cillation e.K
+License: GPL-2+
 
-This software is copyright © 2004-2006 by Benedikt Meurer, os-cillation.
+Files: terminal/terminal-private.h
+ terminal/xfce-heading.c
+ terminal/xfce-heading.h
+ terminal/xfce-titled-dialog.c
+ terminal/xfce-titled-dialog.h
+Copyright: 2006-2007, Benedikt Meurer <benny at xfce.org>
+License: LGPL-2+
 
-Some parts are taken from gnome-terminal. Copyrights for gnome-terminal are:
-Havoc Pennington <hp at redhat.com>
-Mariano Suárez-Alvarez <mariano at gnome.org>
+Files: terminal/terminal-dialogs.c
+ terminal/terminal-dialogs.h
+Copyright: 2005-2007, Benedikt Meurer <benny at xfce.org>
+License: GPL-2+
 
-Some code is © Owen Taylor <otaylor at redhat.com> in:
-terminal/terminal-toolbars-model.h
-terminal/terminal-toolbars-model.c
-terminal/terminal-window.c
-aclocal.m4
+Files: terminal/terminal-image-loader.c
+Copyright: 2003, Red Hat, Inc
+ 2004-2007, os-cillation e.K
+License: GPL-2+
 
 Documentation is under GNU Free Documentation License v1.1 or later without 
 invariant sections, with the following statement:
@@ -27,10 +60,8 @@
   any later version published by the Free Software Foundation; with no
   Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
   Texts.
-On Debian systems, the complete text of the GNU General Public
-License can be found in the file `/usr/share/common-licenses/LGPL'.
 
-You are free to distribute this software under the terms of
-the GNU General Public License (version 2 or later).
-On Debian systems, the complete text of the GNU General Public
-License can be found in the file `/usr/share/common-licenses/GPL'.
+On Debian systems, the complete text of the GNU General Public License can be
+found in the file `/usr/share/common-licenses/GPL'.  The complete text of the
+GNU Lesser General Public License can be found in the file
+`/usr/share/common-licenses/LGPL'.

Copied: desktop/trunk/xfce4-terminal/debian/patches/01_fix-memleak-high-cpu-usage-vte-0.27.patch (from rev 5205, desktop/branches/experimental/xfce4-terminal/debian/patches/01_fix-memleak-high-cpu-usage-vte-0.27.patch)
===================================================================
--- desktop/trunk/xfce4-terminal/debian/patches/01_fix-memleak-high-cpu-usage-vte-0.27.patch	                        (rev 0)
+++ desktop/trunk/xfce4-terminal/debian/patches/01_fix-memleak-high-cpu-usage-vte-0.27.patch	2011-03-31 13:33:50 UTC (rev 5206)
@@ -0,0 +1,97 @@
+Description: Avoid racing on the size-changed signal (bug #6921)
+ Some internals in vte changed, which causes size-allocate signals on background
+ changes, resulting in the terminal allocating and leaking (because there is still
+ a leak in vte) backgrounds.
+ Fix this my doing the background update in an idle, which seems to resolve the
+ problem and to be sure, don't watch size changes when a transparent or plain
+ background is used.
+Origin: backport, http://bugzilla.xfce.org/attachment.cgi?id=3448
+Bug: http://bugzilla.xfce.org/show_bug.cgi?id=6921
+
+diff --git a/terminal/terminal-screen.c b/terminal/terminal-screen.c
+index 42801c4..fb447bb 100644
+--- a/terminal/terminal-screen.c
++++ b/terminal/terminal-screen.c
+@@ -90,6 +90,7 @@ static gchar     *terminal_screen_parse_title                   (TerminalScreen
+                                                                  const gchar           *title);
+ static gchar    **terminal_screen_get_child_environment         (TerminalScreen        *screen);
+ static void       terminal_screen_update_background             (TerminalScreen        *screen);
++static void       terminal_screen_update_background_fast        (TerminalScreen        *screen);
+ static void       terminal_screen_update_binding_backspace      (TerminalScreen        *screen);
+ static void       terminal_screen_update_binding_delete         (TerminalScreen        *screen);
+ static void       terminal_screen_update_colors                 (TerminalScreen        *screen);
+@@ -141,6 +142,8 @@ struct _TerminalScreen
+ 
+   guint                session_id;
+ 
++  gulong               background_signal_id;
++
+   GPid                 pid;
+   gchar               *working_directory;
+ 
+@@ -243,7 +246,6 @@ terminal_screen_init (TerminalScreen *screen)
+                     "signal::selection-changed", G_CALLBACK (terminal_screen_vte_selection_changed), screen,
+                     "signal::window-title-changed", G_CALLBACK (terminal_screen_vte_window_title_changed), screen,
+                     "signal::resize-window", G_CALLBACK (terminal_screen_vte_resize_window), screen,
+-                    "swapped-signal::size-allocate", G_CALLBACK (terminal_screen_timer_background), screen,
+                     "swapped-signal::style-set", G_CALLBACK (terminal_screen_update_colors), screen,
+                     NULL);
+   gtk_box_pack_start (GTK_BOX (screen), screen->terminal, TRUE, TRUE, 0);
+@@ -712,6 +714,18 @@ terminal_screen_get_child_environment (TerminalScreen *screen)
+ 
+ 
+ static void
++terminal_screen_update_background_fast (TerminalScreen *screen)
++{
++  if (G_UNLIKELY (screen->background_timer_id == 0))
++    {
++      screen->background_timer_id = g_idle_add_full (G_PRIORITY_LOW, terminal_screen_timer_background,
++                                                     screen, terminal_screen_timer_background_destroy);
++    }
++}
++
++
++
++static void
+ terminal_screen_update_background (TerminalScreen *screen)
+ {
+   if (G_UNLIKELY (screen->background_timer_id != 0))
+@@ -1222,9 +1236,25 @@ terminal_screen_timer_background (gpointer user_data)
+       if (G_LIKELY (image != NULL))
+         g_object_unref (G_OBJECT (image));
+       g_object_unref (G_OBJECT (loader));
++
++      /* refresh background on size changes */
++      if (screen->background_signal_id == 0)
++        {
++          screen->background_signal_id =
++             g_signal_connect_swapped (G_OBJECT (screen->terminal), "size-allocate",
++                                       G_CALLBACK (terminal_screen_update_background_fast), screen);
++        }
+     }
+   else
+     {
++      /* stop updating on size changes */
++      if (screen->background_signal_id != 0)
++        {
++          g_signal_handler_disconnect (G_OBJECT (screen->terminal), screen->background_signal_id);
++          screen->background_signal_id = 0;
++        }
++
++      /* WARNING: the causes a resize too! */
+       vte_terminal_set_background_image (VTE_TERMINAL (screen->terminal), NULL);
+     }
+ 
+@@ -1365,7 +1395,7 @@ terminal_screen_launch_child (TerminalScreen *screen)
+ 
+       if (!vte_terminal_fork_command_full (VTE_TERMINAL (screen->terminal),
+                                            update ? VTE_PTY_DEFAULT : VTE_PTY_NO_LASTLOG | VTE_PTY_NO_UTMP | VTE_PTY_NO_WTMP,
+-                                           screen->working_directory, argv2, env, 
++                                           screen->working_directory, argv2, env,
+                                            spawn_flags,
+                                            NULL, NULL,
+                                            &screen->pid, &error))
+--- /dev/null
++++ xfce4-terminal-0.4.6/po/POTFILES.skip
+@@ -0,0 +1 @@
++.pc/01_fix-memleak-high-cpu-usage-vte-0.27.patch/terminal/terminal-screen.c

Copied: desktop/trunk/xfce4-terminal/debian/patches/series (from rev 5205, desktop/branches/experimental/xfce4-terminal/debian/patches/series)
===================================================================
--- desktop/trunk/xfce4-terminal/debian/patches/series	                        (rev 0)
+++ desktop/trunk/xfce4-terminal/debian/patches/series	2011-03-31 13:33:50 UTC (rev 5206)
@@ -0,0 +1 @@
+01_fix-memleak-high-cpu-usage-vte-0.27.patch

Modified: desktop/trunk/xfce4-terminal/debian/rules
===================================================================
--- desktop/trunk/xfce4-terminal/debian/rules	2011-03-31 13:25:52 UTC (rev 5205)
+++ desktop/trunk/xfce4-terminal/debian/rules	2011-03-31 13:33:50 UTC (rev 5206)
@@ -1,20 +1,36 @@
 #!/usr/bin/make -f
-include /usr/share/cdbs/1/rules/debhelper.mk
-include /usr/share/cdbs/1/rules/simple-patchsys.mk
-include /usr/share/cdbs/1/class/autotools.mk
 
-DEB_CONFIGURE_EXTRA_FLAGS := --enable-dbus --enable-final --enable-startup-notification --program-transform-name='s/Terminal/xfce4-terminal/' --docdir=\$${prefix}/share/doc/xfce4-terminal
-						
-binary-post-install/xfce4-terminal::
-	install -c -m 0755 debian/xfce4-terminal.wrapper debian/xfce4-terminal/usr/bin/xfce4-terminal.wrapper
+include /usr/share/hardening-includes/hardening.make
 
+CFLAGS=$(shell dpkg-buildflags --get CFLAGS)
+LDFLAGS=$(shell dpkg-buildflags --get LDFLAGS)
+LDFLAGS+=$(HARDENING_LDFLAGS) -Wl,-z,defs -Wl,--as-needed -Wl,-O1
+CFLAGS+=$(HARDENING_CFLAGS)
+
+export CFLAGS LDFLAGS
+
+
+override_dh_auto_configure:
+	dh_auto_configure -- --enable-dbus --program-transform-name='s/Terminal/xfce4-terminal/' --docdir=\$${prefix}/share/doc/xfce4-terminal
+
+override_dh_auto_install:
+	dh_auto_install --fail-missing
+	
+	install -c -m 0755 $(CURDIR)/debian/xfce4-terminal.wrapper $(CURDIR)/debian/tmp/usr/bin/xfce4-terminal.wrapper
+	
 	#.desktop file
-	mv debian/xfce4-terminal/usr/share/applications/Terminal.desktop debian/xfce4-terminal/usr/share/applications/xfce4-terminal.desktop
-
+	mv $(CURDIR)/debian/tmp/usr/share/applications/Terminal.desktop $(CURDIR)/debian/tmp/usr/share/applications/xfce4-terminal.desktop
+	
 	#rename manpages
-	find debian/xfce4-terminal/usr/share/man -name 'Terminal*' -exec \
+	find $(CURDIR)/debian/tmp/usr/share/man -name 'Terminal*' -exec \
 		rename 's/Terminal/xfce4-terminal/' '{}' \;
-	cd debian/xfce4-terminal/usr/share/man/man1/ && ln -s xfce4-terminal.1.gz xfce4-terminal.wrapper.1.gz
+	cd $(CURDIR)/debian/tmp/usr/share/man/man1/ && ln -s xfce4-terminal.1.gz xfce4-terminal.wrapper.1.gz
+	
+	#install pixmap for debian menu
+	install -m 0644 $(CURDIR)/debian/terminal.xpm $(CURDIR)/debian/tmp/usr/share/pixmaps/
 
-	#install pixmap for debian menu
-	install -m 0644 debian/terminal.xpm debian/xfce4-terminal/usr/share/pixmaps/
+override_dh_strip:
+	dh_strip --dbg-package=xfce4-terminal-dbg
+
+%:
+	dh $@

Copied: desktop/trunk/xfce4-terminal/debian/xfce4-terminal.install (from rev 5205, desktop/branches/experimental/xfce4-terminal/debian/xfce4-terminal.install)
===================================================================
--- desktop/trunk/xfce4-terminal/debian/xfce4-terminal.install	                        (rev 0)
+++ desktop/trunk/xfce4-terminal/debian/xfce4-terminal.install	2011-03-31 13:33:50 UTC (rev 5206)
@@ -0,0 +1 @@
+usr/




More information about the Pkg-xfce-commits mailing list