Package: dpkg-dev
Version: 1.16.1.2
Severity: minor

I have always found this messages to be grammatically confusing:

    dependency on %s could be avoided if \"%s\" were not uselessly linked 
against it (they use none of its symbols).

The second %s is most often a single item, which makes the references
to "they" and "it" in the parentheses very confusing.  I propose the
attached patch to make the messages clearer and properly pluralized
using the translation framework that you are already using.  I also
removed the quotes and converted the item into a comma-separated list.
The new wordings would be:

    dependency on %s could be avoided if %s was not uselessly linked against it 
(it uses none of the library's symbols).
    dependency on %s could be avoided if %s were not uselessly linked against 
it (they use none of the library's symbols).
diff -Nru dpkg-1.16.1.2/debian/changelog dpkg-1.16.1.2+nmu1/debian/changelog
--- dpkg-1.16.1.2/debian/changelog
+++ dpkg-1.16.1.2+nmu1/debian/changelog
@@ -1,3 +1,9 @@
+dpkg (1.16.1.2+nmu1) UNRELEASED; urgency=low
+
+  * Improve message of dpkg-shlibdeps about useless libraries
+
+ -- Peter Eisentraut <pet...@debian.org>  Mon, 16 Jan 2012 20:00:13 +0200
+
 dpkg (1.16.1.2) unstable; urgency=medium
 
   [ Raphaƫl Hertzog ]
diff -Nru dpkg-1.16.1.2/scripts/dpkg-shlibdeps.pl dpkg-1.16.1.2+nmu1/scripts/dpkg-shlibdeps.pl
--- dpkg-1.16.1.2/scripts/dpkg-shlibdeps.pl
+++ dpkg-1.16.1.2+nmu1/scripts/dpkg-shlibdeps.pl
@@ -406,7 +406,7 @@
 	    next if ($soname =~ /^libm\.so\.\d+$/ and
 		     scalar grep(/^libstdc\+\+\.so\.\d+/, @sonames));
             next unless ($warnings & WARN_NOT_NEEDED);
-	    warning(_g("%s shouldn't be linked with %s (it uses none of its " .
+	    warning(_g("%s shouldn't be linked with %s (it uses none of the library's " .
 	               "symbols)."), $file, $soname);
 	}
     }
@@ -419,10 +419,11 @@
         next if ($soname =~ /^libm\.so\.\d+$/ and scalar(
                  grep(/^libstdc\+\+\.so\.\d+/, keys %global_soname_needed)));
         next unless ($warnings & WARN_DEP_AVOIDABLE);
-        warning(_g("dependency on %s could be avoided if \"%s\" were not " .
-                   "uselessly linked against it (they use none of its " .
-                   "symbols)."), $soname,
-                   join(" ", @{$global_soname_needed{$soname}}));
+        warning(P_("dependency on %s could be avoided if %s was not uselessly linked against it (it uses none of the library's symbols).",
+		   "dependency on %s could be avoided if %s were not uselessly linked against it (they use none of the library's symbols).",
+		   scalar @{$global_soname_needed{$soname}}),
+		$soname,
+		join(", ", @{$global_soname_needed{$soname}}));
     }
 }
 

Reply via email to