]> err.no Git - dpkg/commitdiff
Disable variable substitution in dpkg-genchanges
authorRaphael Hertzog <hertzog@debian.org>
Tue, 22 Jan 2008 17:49:24 +0000 (18:49 +0100)
committerRaphael Hertzog <hertzog@debian.org>
Tue, 22 Jan 2008 17:49:24 +0000 (18:49 +0100)
* scripts/dpkg-genchanges.pl: Do not substitute variables on
the output.
* man/dpkg-genchanges.pl: Document this change.

ChangeLog
debian/changelog
man/dpkg-genchanges.1
scripts/dpkg-genchanges.pl

index 1d7ee914092fa30e67958dffccd24c551092bc77..c7f8e284ff48f270a1dc5af57ca899f9d45055fb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,10 @@
        scripts/dpkg-source.pl: Remove the IO-layer that converts to
        UTF-8. It's not as smart as I expected.
 
+       * scripts/dpkg-genchanges.pl: Do not substitute variables on
+       the output.
+       * man/dpkg-genchanges.pl: Document this change.
+
 2008-01-22  Guillem Jover  <guillem@debian.org>
 
        * configure.ac: Release 1.14.16.2.
index 9d9dd446e1bcfa78842fd917bc80717c978cd0f6..d9e897c6134d07a8a953375d4f571d958aa40e05 100644 (file)
@@ -2,6 +2,7 @@ dpkg (1.14.16.3) UNRELEASED; urgency=low
 
   * Remove the ":utf8" layer that utf8-encodes already valid utf8.
     Closes: #462098
+  * Disable variable substitution in dpkg-genchanges. Closes: #462079, #462089
 
  -- Raphael Hertzog <hertzog@debian.org>  Tue, 22 Jan 2008 18:15:42 +0100
 
index 2662cca01bce0c64e8793cabf4bc73b27f6cfc73..890ca85972732b8290c866a92645a8193cb3fb69 100644 (file)
@@ -79,6 +79,9 @@ Read substitution variables in
 .IR substvarsfile ;
 the default is
 .BR debian/substvars .
+No variable substitution is done on any of the fields that are output,
+however the special variable \fIFormat\fR will override the field of the
+same name.
 .TP
 .BI \-D field = value
 Override or add an output control file field.
index 597bed424d345bcc3363c1e90bd2d69cd23ede33..a908fb5df26f758035b97226241d856976092957 100755 (executable)
@@ -200,6 +200,7 @@ $bad_parser = 1 if ($@);
 my $control = Dpkg::Control->new($controlfile);
 my $fields = Dpkg::Fields::Object->new();
 $substvars->set_version_substvars($changelog->{"Version"});
+$substvars->parse($varlistfile) if -e $varlistfile;
 
 if (not is_sourceonly) {
     open(FL,"<",$fileslistfile) || &syserr(_g("cannot read files list file"));
@@ -441,7 +442,7 @@ if (!is_binaryonly) {
 print(STDERR "$progname: $origsrcmsg\n") ||
     &syserr(_g("write original source message")) unless $quiet;
 
-$fields->{'Format'} = '${Format}'; # Use value stored in substvars
+$fields->{'Format'} = $substvars->get("Format");
 
 if (!defined($fields->{'Date'})) {
     chomp(my $date822 = `date -R`);
@@ -510,7 +511,6 @@ for my $f (keys %remove) {
     delete $fields->{$f};
 }
 
-$substvars->parse($varlistfile) if -e $varlistfile;
 tied(%{$fields})->set_field_importance(@changes_fields);
-tied(%{$fields})->output(\*STDOUT, $substvars);
+tied(%{$fields})->output(\*STDOUT); # Note: no substitution of variables