The branch, stable has been updated
       via  aa398d55bd6e6348c60192fa8f585793b24c867c (commit)
       via  572f408d18109c39bac7084f88732572053a102e (commit)
      from  110bf27287939e8b03ce91d57eb3db81c347d9ce (commit)


- Shortlog ------------------------------------------------------------
aa398d5 Disable variable substitution in dpkg-genchanges
572f408 Remove the IO layer ":utf8" that re-encodes in utf8

Summary of changes:
 ChangeLog                  |   10 ++++++++++
 debian/changelog           |    8 ++++++++
 man/dpkg-genchanges.1      |    3 +++
 scripts/dpkg-genchanges.pl |    7 +++----
 scripts/dpkg-gencontrol.pl |    3 +--
 scripts/dpkg-source.pl     |    2 +-
 6 files changed, 26 insertions(+), 7 deletions(-)
-----------------------------------------------------------------------
Details of changes:

commit aa398d55bd6e6348c60192fa8f585793b24c867c
Author: Raphael Hertzog <[EMAIL PROTECTED]>
Date:   Tue Jan 22 18:49:24 2008 +0100

    Disable variable substitution in dpkg-genchanges
    
    * scripts/dpkg-genchanges.pl: Do not substitute variables on
    the output.
    * man/dpkg-genchanges.pl: Document this change.

diff --git a/ChangeLog b/ChangeLog
index 1d7ee91..c7f8e28 100644
--- 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  <[EMAIL PROTECTED]>
 
        * configure.ac: Release 1.14.16.2.
diff --git a/debian/changelog b/debian/changelog
index 9d9dd44..d9e897c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -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 <[EMAIL PROTECTED]>  Tue, 22 Jan 2008 18:15:42 +0100
 
diff --git a/man/dpkg-genchanges.1 b/man/dpkg-genchanges.1
index 2662cca..890ca85 100644
--- a/man/dpkg-genchanges.1
+++ b/man/dpkg-genchanges.1
@@ -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.
diff --git a/scripts/dpkg-genchanges.pl b/scripts/dpkg-genchanges.pl
index 597bed4..a908fb5 100755
--- a/scripts/dpkg-genchanges.pl
+++ b/scripts/dpkg-genchanges.pl
@@ -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
 

commit 572f408d18109c39bac7084f88732572053a102e
Author: Raphael Hertzog <[EMAIL PROTECTED]>
Date:   Tue Jan 22 18:19:18 2008 +0100

    Remove the IO layer ":utf8" that re-encodes in utf8
    
    * scripts/dpkg-genchanges.pl, scripts/dpkg-gencontrol.pl,
    scripts/dpkg-source.pl: Remove the IO-layer that converts to
    UTF-8. It's not as smart as I expected.

diff --git a/ChangeLog b/ChangeLog
index 153a90a..1d7ee91 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-01-22  Raphael Hertzog  <[EMAIL PROTECTED]>
+
+       * scripts/dpkg-genchanges.pl, scripts/dpkg-gencontrol.pl,
+       scripts/dpkg-source.pl: Remove the IO-layer that converts to
+       UTF-8. It's not as smart as I expected.
+
 2008-01-22  Guillem Jover  <[EMAIL PROTECTED]>
 
        * configure.ac: Release 1.14.16.2.
diff --git a/debian/changelog b/debian/changelog
index a22bb1b..9d9dd44 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+dpkg (1.14.16.3) UNRELEASED; urgency=low
+
+  * Remove the ":utf8" layer that utf8-encodes already valid utf8.
+    Closes: #462098
+
+ -- Raphael Hertzog <[EMAIL PROTECTED]>  Tue, 22 Jan 2008 18:15:42 +0100
+
 dpkg (1.14.16.2) unstable; urgency=low
 
   * Change uid after changing gid and initializing supplementary groups in
diff --git a/scripts/dpkg-genchanges.pl b/scripts/dpkg-genchanges.pl
index 1fc7787..597bed4 100755
--- a/scripts/dpkg-genchanges.pl
+++ b/scripts/dpkg-genchanges.pl
@@ -510,7 +510,6 @@ for my $f (keys %remove) {
     delete $fields->{$f};
 }
 
-binmode(STDOUT, ":utf8");
 $substvars->parse($varlistfile) if -e $varlistfile;
 tied(%{$fields})->set_field_importance(@changes_fields);
 tied(%{$fields})->output(\*STDOUT, $substvars);
diff --git a/scripts/dpkg-gencontrol.pl b/scripts/dpkg-gencontrol.pl
index d6e8bef..c6e38cc 100755
--- a/scripts/dpkg-gencontrol.pl
+++ b/scripts/dpkg-gencontrol.pl
@@ -348,11 +348,10 @@ my $fh_output;
 if (!$stdout) {
     $cf= "$packagebuilddir/DEBIAN/control";
     $cf= "./$cf" if $cf =~ m/^\s/;
-    open($fh_output, ">:utf8", "$cf.new") ||
+    open($fh_output, ">", "$cf.new") ||
         syserr(_g("cannot open new output control file \`%s'"), "$cf.new");
 } else {
     $fh_output = \*STDOUT;
-    binmode(STDOUT, ":utf8");
 }
 
 tied(%{$fields})->set_field_importance(@control_fields);
diff --git a/scripts/dpkg-source.pl b/scripts/dpkg-source.pl
index cbab570..48f12ba 100755
--- a/scripts/dpkg-source.pl
+++ b/scripts/dpkg-source.pl
@@ -768,7 +768,7 @@ if ($opmode eq 'build') {
     printf(_g("%s: building %s in %s")."\n",
            $progname, $sourcepackage, "$basenamerev.dsc")
         || &syserr(_g("write building message"));
-    open(DSC, ">:utf8", "$basenamerev.dsc") ||
+    open(DSC, ">", "$basenamerev.dsc") ||
         syserr(_g("create %s"), "$basenamerev.dsc");
 
     $substvars->parse($varlistfile) if $varlistfile && -e $varlistfile;

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to