summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmdline/apt-get.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index a1987b977..db9424985 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -2751,10 +2751,12 @@ string GetChangelogPath(CacheFile &Cache,
pkgRecords Recs(Cache);
pkgRecords::Parser &rec=Recs.Lookup(Ver.FileList());
string srcpkg = rec.SourcePkg().empty() ? Pkg.Name() : rec.SourcePkg();
- // FIXME: deal with cases like gcc-defaults (srcver != binver)
- string srcver = StripEpoch(Ver.VerStr());
+ string ver = Ver.VerStr();
+ // if there is a source version it always wins
+ if (rec.SourceVer() != "")
+ ver = rec.SourceVer();
path = flNotFile(rec.FileName());
- path += srcpkg + "_" + srcver;
+ path += srcpkg + "_" + StripEpoch(ver);
return path;
}
/*}}}*/