[SCM] Debian Qt/KDE packaging tools branch, master, updated. debian/0.6.8-7-g821e1f9

Modestas Vainius modax at alioth.debian.org
Sat Mar 13 17:39:34 UTC 2010


The following commit has been merged in the master branch:
commit d29b59eb6d9847999fecc3f94a18f195efb50a71
Author: Modestas Vainius <modestas at vainius.eu>
Date:   Wed Mar 3 23:55:52 2010 +0200

    pkgkde-symbolshelper: fix bug in handling of "incomplete subst detection".
    
    `pkgkde-symbolshelper *`: properly handle the case when some substs have been
    detected but symbols differences still remain (rare variant of "possible
    incomplete subst detection"). libakonadi-kde4 in kdepimlibs was hit by this
    bug.
---
 debian/changelog                                   |    4 ++++
 .../PkgKde/SymbolsHelper/Substs/TypeSubst.pm       |    2 +-
 .../PkgKde/SymbolsHelper/SymbolFileCollection.pm   |   18 +++++++++++++++++-
 3 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 008d597..5224a18 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,9 @@
 pkg-kde-tools (0.6.9~pre1) UNRELEASED; urgency=low
 
+  * `pkgkde-symbolshelper *`: properly handle the case when some substs have
+    been detected but symbols differences still remain (rare variant of
+    "possible incomplete subst detection"). libakonadi-kde4 in kdepimlibs was
+    hit by this bug.
 
  -- Modestas Vainius <modax at debian.org>  Wed, 03 Mar 2010 23:43:10 +0200
 
diff --git a/symbolshelper/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm b/symbolshelper/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm
index 2028b9a..92af20a 100644
--- a/symbolshelper/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm
+++ b/symbolshelper/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm
@@ -64,7 +64,7 @@ sub hinted_neutralize {
 
     for (my $i = 0; $i < @$hintstr; $i++) {
 	if (defined $hintstr->[$i] && $hintstr->[$i] eq $self->{substvar}) {
-	    $rawname->substr($i, $l, $self->{types}->[0]);
+	    $rawname->substr($i, $l, $self->{types}->[0], $self->{substvar});
 	    $ret = 1;
 	}
     }
diff --git a/symbolshelper/Debian/PkgKde/SymbolsHelper/SymbolFileCollection.pm b/symbolshelper/Debian/PkgKde/SymbolsHelper/SymbolFileCollection.pm
index 64bf2c1..372942e 100644
--- a/symbolshelper/Debian/PkgKde/SymbolsHelper/SymbolFileCollection.pm
+++ b/symbolshelper/Debian/PkgKde/SymbolsHelper/SymbolFileCollection.pm
@@ -321,7 +321,22 @@ sub create_template {
 			my $substs_sym = $group->get_symbol($substs_arch);
 			$sym->add_tag("subst");
 			$sym->reset_h_name($substs_sym->get_h_name());
-			$substs_ok = $group->verify_substs();
+			# Properly handle the case when *some substs have been*
+			# detected but symbols in the group still differ. Since
+			# the symbols will be grouped, we need to add a subst
+			# tag to all of them and reset h_name of the orig
+			# symbol since it is not touched by substs detection.
+			unless ($substs_ok = $group->verify_substs()) {
+			    foreach my $sym ($group->get_symbols()) {
+				$sym->add_tag("subst");
+			    }
+			    if ($orig_arch eq $substs_arch) {
+				$group->get_symbol()->add_tag("subst");
+				$group->get_symbol()->reset_h_name(
+				    $substs_sym->get_h_name()
+				);
+			    }
+			}
 		    }
 		} else {
 		    $substs_ok = 1;
@@ -335,6 +350,7 @@ sub create_template {
 		    foreach my $sym ($group->get_symbols()) {
 			$sym->resync_name_with_h_name();
 		    }
+		    $group->get_symbol()->resync_name_with_h_name() if $group->get_symbol();
 		    if (my @byname = $self->get_symbols_regrouped_by_name($group)) {
 			$template->add_symbol($_, $soname) foreach @byname;
 			info("possible incomplete subst detection (%s). Processed by name:\n" .

-- 
Debian Qt/KDE packaging tools



More information about the pkg-kde-commits mailing list