Просмотр исходного кода

dpkg-source: ensure "any" doesn't hide "all" in the Architecture field

"any" doesn't imply "all" so we should keep both values in the field. This
is important so that wanna-build can know what needs to be scheduled for
the buildd that deals with Architecture: all packages.
Raphaël Hertzog лет назад: 15
Родитель
Сommit
47126733bb
2 измененных файлов с 8 добавлено и 2 удалено
  1. 1 0
      debian/changelog
  2. 7 2
      scripts/dpkg-source.pl

+ 1 - 0
debian/changelog

@@ -16,6 +16,7 @@ dpkg (1.16.1) UNRELEASED; urgency=low
     package provided by a package in triggers-pending status as satisfied.
   * Do not fail when encountering a pre-dependency in triggers-awaited state,
     instead process the awaited triggers. Closes: #526774
+  * "any" no longer hides "all" in the Architecture field of a .dsc.
 
   [ Guillem Jover ]
   * Install deb-src-control(5) man pages in dpkg-dev. Closes: #620520

+ 7 - 2
scripts/dpkg-source.pl

@@ -286,8 +286,13 @@ if ($options{'opmode'} =~ /^(-b|--print-format|--(before|after)-build)$/) {
 	}
     }
     if (grep($_ eq 'any', @sourcearch)) {
-        # If we encounter one 'any' then the other arches become insignificant.
-        @sourcearch = ('any');
+        # If we encounter one 'any' then the other arches become insignificant
+        # except for 'all' that must also be kept
+        if (grep($_ eq 'all', @sourcearch)) {
+            @sourcearch = ('any', 'all');
+        } else {
+            @sourcearch = ('any');
+        }
     }
     $fields->{'Architecture'} = join(' ', @sourcearch);
     $fields->{'Package-List'} = sprintf("\n%s source %s %s %s", $sourcepackage,