Hi Daniel, since glibmm is now requiring the newer libsigc++ (via a versioned pkg-config configure check), I decided to NMU libsigc++ 2.2.10. The changes between 2.2.9 and 2.2.10 are rather small. The most important one, is the patch I applied in my previous NMU. To avoid the noise generated by autotools, I only included debian/ in my debdiff (attached). The upstream tarball is at [1]
I've uploaded to DELAYED/10. Please let me know if I should cancel the NMU or delay it further. Cheers, Michael [1] http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.10.tar.xz -- Why is it that all of the instruments seeking intelligent life in the universe are pointed away from Earth?
--- libsigc++-2.0-2.2.9/debian/changelog 2011-12-03 01:11:06.000000000 +0100 +++ libsigc++-2.0-2.2.10/debian/changelog 2012-03-08 21:23:33.000000000 +0100 @@ -1,3 +1,12 @@ +libsigc++-2.0 (2.2.10-0.1) unstable; urgency=low + + * Non-maintainer upload. + * Remove 0002-slot_rep-Avoid-access-to-deleted-object-in-notify.patch, + merged upstream. + * Fix watch file, track .xz tarballs. + + -- Michael Biebl <bi...@debian.org> Thu, 08 Mar 2012 21:20:55 +0100 + libsigc++-2.0 (2.2.9-1.1) unstable; urgency=low * Non-maintainer upload. --- libsigc++-2.0-2.2.9/debian/patches/0002-slot_rep-Avoid-access-to-deleted-object-in-notify.patch 2011-12-03 01:04:58.000000000 +0100 +++ libsigc++-2.0-2.2.10/debian/patches/0002-slot_rep-Avoid-access-to-deleted-object-in-notify.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,68 +0,0 @@ -commit ad1bce5b0ad1caeee5c499b3a80d3455e326b63c -Author: Kjell Ahlstedt <kjell.ahlst...@bredband.net> -Date: Thu Jul 14 16:40:16 2011 +0200 - - slot_rep: Avoid access to deleted object in notify(). - - * sigc++/functors/slot_base.cc: slot_rep::notify() calls disconnect() before - destroy(). If disconnect() has deleted the slot_rep object, destroy() is not - called. Bug #564005. - -diff --git a/ChangeLog b/ChangeLog -index dbf622c..56984e3 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,11 @@ -+2011-07-14 Kjell Ahlstedt <kjell.ahlst...@bredband.net> -+ -+ slot_rep: Avoid access to deleted object in notify(). -+ -+ * sigc++/functors/slot_base.cc: slot_rep::notify() calls disconnect() before -+ destroy(). If disconnect() has deleted the slot_rep object, destroy() is not -+ called. Bug #564005. -+ - 2.2.9: - - 2011-02-22 Kjell Ahlstedt <kjell.ahlst...@bredband.net> -diff --git a/sigc++/functors/slot_base.cc b/sigc++/functors/slot_base.cc -index 896276b..3f1de0b 100644 ---- a/sigc++/functors/slot_base.cc -+++ b/sigc++/functors/slot_base.cc -@@ -56,12 +56,35 @@ void slot_rep::disconnect() - //static - void* slot_rep::notify(void* data) - { -+ struct destroy_notify_struct -+ { -+ destroy_notify_struct() : deleted_(false) { } -+ -+ static void* notify(void* data) -+ { -+ destroy_notify_struct* self_ = reinterpret_cast<destroy_notify_struct*>(data); -+ self_->deleted_ = true; -+ return 0; -+ } -+ -+ bool deleted_; -+ }; -+ - slot_rep* self_ = reinterpret_cast<slot_rep*>(data); - - self_->call_ = 0; // Invalidate the slot. -- self_->destroy(); // Detach the stored functor from the other referred trackables and destroy it. -+ -+ // Make sure we are notified if disconnect() deletes self_, which is trackable. -+ destroy_notify_struct notifier; -+ self_->add_destroy_notify_callback(¬ifier, destroy_notify_struct::notify); - self_->disconnect(); // Disconnect the slot (might lead to deletion of self_!). -- -+ // If self_ has been deleted, the destructor has called destroy(). -+ if (!notifier.deleted_) -+ { -+ self_->remove_destroy_notify_callback(¬ifier); -+ self_->destroy(); // Detach the stored functor from the other referred trackables and destroy it. -+ // destroy() might lead to deletion of self_. Bug #564005. -+ } - return 0; - } - --- libsigc++-2.0-2.2.9/debian/patches/series 2011-12-03 01:05:05.000000000 +0100 +++ libsigc++-2.0-2.2.10/debian/patches/series 2012-03-08 21:21:28.000000000 +0100 @@ -1,2 +1 @@ 0001-Comment-out-a-backwards-compatibility-typedef.patch -0002-slot_rep-Avoid-access-to-deleted-object-in-notify.patch --- libsigc++-2.0-2.2.9/debian/watch 2011-12-03 01:03:43.000000000 +0100 +++ libsigc++-2.0-2.2.10/debian/watch 2012-03-08 21:20:53.000000000 +0100 @@ -1,3 +1,3 @@ version=3 -http://download.gnome.org/sources/libsigc++/([\d\.]+)[24680]/libsigc\+\+-([\d\.]+)\.tar\.gz +http://download.gnome.org/sources/libsigc++/([\d\.]+[24680])/libsigc\+\+-([\d\.]+)\.tar\.xz
signature.asc
Description: OpenPGP digital signature