[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#35078: dpkg-scanpackages warning buglet



reassign 35078 dpkg-dev
thanks

Peter,

thanks for the report and the patch, it's applied now and a new version
should appear soon.  I'm reassigning this report to dpkg-dev now so the
original gets fixed as well.

Regards,

	Joey

Peter Kundrat wrote:
> Package: dpkg-multicd
> Version: 0.14
> 
> dpkg-scanpackages issues warning messages like:
>  !! Package splay has `Section: contrib/sound', but file is in `sound' !!
> 
> It happens when override file for section contains section in a form of
> section/subsction (contrib/sound). Reason is that dpkg-scanpackages
> doesnt take that possibility into account.

Here is a diff I've made between the dpkg-dev version and the one from
multicd.  Please apply it.

--- /usr/bin/dpkg-scanpackages.dpkg	Mon Feb  1 01:21:22 1999
+++ dpkg-scanpackages	Thu Apr  8 09:26:18 1999
@@ -37,6 +44,12 @@
 # The extra slash causes symlinks to be followed.
 open(F,"find $binarydir/ -follow -name '*.deb' -print |")
     or die "Couldn't open pipe to find: $!\n";
+
+# Note: contrib and other sections are written as contrib/foo in
+#       the overrides and control file
+($sectdir) = "$pathprefix/$binarydir" =~ m:dists/[^\\]+/([^/]+/):;
+$sectdir =~ s:(main|hamm)/::;
+
 while (<F>) {
     chop($fn=$_);
     substr($fn,0,length($binarydir)) eq $binarydir
@@ -120,8 +133,13 @@
 
 @samemaint=();
 
+if ($override =~ /\.gz$/) {
+open(O, "/bin/zcat $override|")
+    or die "Couldn't open override file $override: $!\n";
+} else {
 open(O, $override)
     or die "Couldn't open override file $override: $!\n";
+}
 while (<O>) {
     s/\#.*//;
     s/\s+$//;
@@ -145,9 +163,9 @@
     }
     $pv{$p,'Priority'}= $priority;
     $pv{$p,'Section'}= $section;
-    if (length($psubdir{$p}) && $section ne $psubdir{$p}) {
+    if (length($psubdir{$p}) && $section ne "$sectdir$psubdir{$p}") {
         print(STDERR " !! Package $p has \`Section: $section',".
-                     " but file is in \`$psubdir{$p}' !!\n") || die $!;
+                     " but file is in \`$sectdir$psubdir{$p}' !!\n") || die $!;
         $ouches++;
     }
     $o1{$p}= 1;

Regards,

	Joey

-- 
The good thing about standards is that there are so many to choose from.
	-- Andrew S. Tanenbaum

Please always Cc to me when replying to me on the lists.


Reply to: