]> err.no Git - dpkg/commitdiff
Fix handling of debian/files when architecture is set via -D
authorFrank Lichtenheld <djpig@debian.org>
Sat, 18 Feb 2006 18:06:58 +0000 (18:06 +0000)
committerFrank Lichtenheld <djpig@debian.org>
Sat, 18 Feb 2006 18:06:58 +0000 (18:06 +0000)
command line option. The value override was applied too late.
Closes: #251911
Historical sidenote: This was already fixed once back in Ian Jackson's
1.5 branch but was apparently never correctly merged back.

ChangeLog
debian/changelog
scripts/dpkg-gencontrol.pl

index c33fc6d384dbcb40c7bee3caf88fc41a371136ab..26f9cda90e8184318f9bc3b6f2ea5a281996a694 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2006-02-18  Frank Lichtenheld  <djpig@debian.org>
 
+       * scripts/dpkg-gencontrol.pl: Fix handling of
+       debian/files when architecture is set via -D
+       command line option. The value override was
+       applied too late.
+
        * configure.ac: Bump version to 1.13.17~.
 
        * configure.ac: Release 1.13.16.
index d1904551f1bcdb556bddc7c53d178333dd4f566a..9ff583a5d140cbb498831f10d278cf9aead54656 100644 (file)
@@ -1,6 +1,7 @@
 dpkg (1.13.17~) UNRELEASED; urgency=low
 
-  * 
+  [ Frank Lichtenheld ]
+  * Fix handling of -DArchitecure=foo in dpkg-gencontrol. Closes: #251911
 
  -- Frank Lichtenheld <frank@lichtenheld.de>  Sat, 18 Feb 2006 19:01:24 +0100
 
index 2336e189f113819a7654e13decbdaeb3a48dfbe2..b09a886795c61fdcf78e43439cc5302a510dcfc5 100755 (executable)
@@ -233,6 +233,9 @@ if (length($substvar{'Installed-Size'})) {
     $f{'Installed-Size'}= $substvar{'Installed-Size'};
 }
 
+for $f (keys %override) { $f{&capit($f)}= $override{$f}; }
+for $f (keys %remove) { delete $f{&capit($f)}; }
+
 $fileslistfile="./$fileslistfile" if $fileslistfile =~ m/^\s/;
 open(Y,"> $fileslistfile.new") || &syserr("open new files list file");
 binmode(Y);
@@ -244,7 +247,8 @@ if (open(X,"< $fileslistfile")) {
         chomp;
         next if m/^([-+0-9a-z.]+)_[^_]+_([\w-]+)\.deb /
                 && ($1 eq $oppackage)
-                && (debian_arch_eq($2, $arch) || debian_arch_eq($2, 'all'));
+                && (debian_arch_eq($2, $f{'Architecture'})
+                   || debian_arch_eq($2, 'all'));
         print(Y "$_\n") || &syserr("copy old entry to new files list file");
     }
     close(X) || &syserr("close old files list file");
@@ -261,9 +265,6 @@ print(Y &substvars(sprintf("%s %s %s\n", $forcefilename,
 close(Y) || &syserr("close new files list file");
 rename("$fileslistfile.new",$fileslistfile) || &syserr("install new files list file");
 
-for $f (keys %override) { $f{&capit($f)}= $override{$f}; }
-for $f (keys %remove) { delete $f{&capit($f)}; }
-
 if (!$stdout) {
     $cf= "$packagebuilddir/DEBIAN/control";
     $cf= "./$cf" if $cf =~ m/^\s/;