]> err.no Git - dpkg/commitdiff
Add the source version inside parenthesis to the Source field in the
authorGuillem Jover <guillem@debian.org>
Fri, 16 Jun 2006 08:14:04 +0000 (08:14 +0000)
committerGuillem Jover <guillem@debian.org>
Fri, 16 Jun 2006 08:14:04 +0000 (08:14 +0000)
generated .changes and binary packages if the binary package version
differs (like in binNMUs). Closes: #62529

ChangeLog
debian/changelog
scripts/controllib.pl
scripts/dpkg-genchanges.pl
scripts/dpkg-gencontrol.pl
scripts/dpkg-source.pl

index dbbb5020999315f3e8369adfdc113ee2b711357d..84ca949e47fef9ce3b87921c21941733fafa307f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2006-06-16  Guillem Jover  <guillem@debian.org>
+
+       * scripts/controllib.pl (parsechangelog): Move substvar initialization
+       to ...
+       (init_substvars): ... here. New function. Move the dpkg substvars
+       initialization to this function.
+       * scripts/dpkg-source.pl: Call init_substvars after parsechangelog.
+       * scripts/dpkg-genchanges.pl: Replace setting dpkg substvars with
+       init_substvars. If the version field or the one forced from command
+       line differs from the substvar, add the later to the output Source
+       field inside parenthesis.
+       * scripts/dpkg-gencontrol.pl: Likewise.
+
 2006-06-16  Andrew Ferrier  <andrew@new-destiny.co.uk>
            Guillem Jover  <guillem@debian.org>
 
index f4e805131cc2d8c96b3616fdbc899e4765116f19..3c8a6cc44d86a194f9b378abcd96bb55e0939a52 100644 (file)
@@ -9,6 +9,9 @@ dpkg (1.13.22~) UNRELEASED; urgency=low
     Closes: #325895
   * Clarify the legend in update-alternatives '--help' (Andrew Ferrier).
     Closes: #305318
+  * Add the source version inside parenthesis to the Source field in the
+    generated .changes and binary packages if the binary package version
+    differs (like in binNMUs). Closes: #62529
 
   [ Updated dpkg Translations ]
   * Romanian (Eddy Petrişor).
index 11e90207f153ee3cbae61f209b9bea56694c8626..5ede6c38b49a9587e2a9d476c4ddd76d616fafc7 100755 (executable)
@@ -304,7 +304,10 @@ sub parsechangelog {
     }
     &parsecdata('L',0,_g("parsed version of changelog"));
     close(CDATA); $? && &subprocerr(_g("parse changelog"));
+}
 
+sub init_substvars
+{
     # XXX: Source-Version is now deprecated, remove in the future.
     $substvar{'Source-Version'}= $fi{"L Version"};
     $substvar{'binary:Version'} = $fi{"L Version"};
@@ -312,6 +315,11 @@ sub parsechangelog {
     $substvar{'source:Version'} =~ s/\+b[0-9]+$//;
     $substvar{'source:Upstream-Version'} = $fi{"L Version"};
     $substvar{'source:Upstream-Version'} =~ s/-[^-]*$//;
+
+    # We expect the calling program to set $version.
+    $substvar{"dpkg:Version"} = $version;
+    $substvar{"dpkg:Upstream-Version"} = $version;
+    $substvar{"dpkg:Upstream-Version"} =~ s/-[^-]+$//;
 }
 
 sub checkpackagename {
index 1c554e7e03095142aca0a533cf1edc559690ef9f..8bfd8ad477db99217474efb24707218ad42a80d2 100755 (executable)
@@ -272,12 +272,7 @@ for $p (keys %p2f) {
                                  $p, $pri, $f2pri{$f}));
 }
 
-# Extract version and origversion so we can add them to our fixed list
-# of substvars
-
-$substvar{"dpkg:Version"} = $version;
-$substvar{"dpkg:Upstream-Version"} = $version;
-$substvar{"dpkg:Upstream-Version"} =~ s/-[^-]+$//;
+&init_substvars;
 
 if (!$binaryonly) {
     $sec= $sourcedefault{'Section'};
@@ -353,6 +348,9 @@ for $f (@sourcefiles,@fileslistfiles) {
 }    
 
 $f{'Source'}= $sourcepackage;
+if ($f{'Version'} ne $substvar{'source:Version'}) {
+    $f{'Source'} .= " ($substvar{'source:Version'})";
+}
 
 $f{'Maintainer'}= $forcemaint if length($forcemaint);
 $f{'Changed-By'}= $forcechangedby if length($forcechangedby);
index 7d90e43bdd3ab08b4c3e796ebdabee0a49787ec3..42401f510a3c0c72aa1920545b7f3c469eeee0ca 100755 (executable)
@@ -187,9 +187,7 @@ for $_ (keys %fi) {
 
 $f{'Version'}= $forceversion if length($forceversion);
 
-$substvar{"dpkg:Version"} = $version;
-$substvar{"dpkg:Upstream-Version"} = $version;
-$substvar{"dpkg:Upstream-Version"} =~ s/-[^-]+$//;
+&init_substvars;
 
 for $_ (keys %fi) {
     $v= $fi{$_};
@@ -226,7 +224,8 @@ for $f (qw(Maintainer Description Architecture)) {
 }
 $oppackage= $f{'Package'};
 
-$verdiff= $f{'Version'} ne $sourceversion;
+$verdiff = $f{'Version'} ne $substvar{'source:Version'} or
+           $f{'Version'} ne $sourceversion;
 if ($oppackage ne $sourcepackage || $verdiff) {
     $f{'Source'}= $sourcepackage;
     $f{'Source'}.= " ($substvar{'source:Version'})" if $verdiff;
index ea7fd6ad830da3228a27f0a2db1dc9a3a50376b6..aefb6bdd2aa3fe368829915298c2540175b51114 100755 (executable)
@@ -194,6 +194,7 @@ if ($opmode eq 'build') {
     &parsechangelog;
     &parsecontrolfile;
     $f{"Format"}=$def_dscformat;
+    &init_substvars;
 
     $archspecific=0;
     for $_ (keys %fi) {