summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/edsp.cc2
-rw-r--r--apt-pkg/edsp/edsplistparser.cc7
2 files changed, 7 insertions, 2 deletions
diff --git a/apt-pkg/edsp.cc b/apt-pkg/edsp.cc
index 6e02369c9..196f9d307 100644
--- a/apt-pkg/edsp.cc
+++ b/apt-pkg/edsp.cc
@@ -243,6 +243,8 @@ static bool WriteScenarioEDSPVersion(pkgDepCache &Cache, FileFd &output, pkgCach
WriteOkay(Okay, output, "\nPriority: ", Prio);
if (Ver->Section != 0)
WriteOkay(Okay, output, "\nSection: ", Ver.Section());
+ if (Ver->Size != 0)
+ WriteOkay(Okay, output, "\nSize: ", Ver->Size);
if (Pkg.CurrentVer() == Ver)
WriteOkay(Okay, output, "\nInstalled: yes");
if (Pkg->SelectedState == pkgCache::State::Hold ||
diff --git a/apt-pkg/edsp/edsplistparser.cc b/apt-pkg/edsp/edsplistparser.cc
index 14967e110..a3cdf794f 100644
--- a/apt-pkg/edsp/edsplistparser.cc
+++ b/apt-pkg/edsp/edsplistparser.cc
@@ -56,8 +56,11 @@ bool edspLikeListParser::NewVersion(pkgCache::VerIterator &Ver)
}
}
- // Fake a size such that the deb appears downloadable if it has a source
- Ver->Size = Section.Exists("APT-Release");
+ // If we have a Size field, use it, otherwise fake one based on APT-Release to
+ // be able to distinguish downloadable debs from installed ones.
+ Ver->Size = Section.Exists(pkgTagSection::Key::Size)
+ ? Section.FindI(pkgTagSection::Key::Size)
+ : Section.Exists("APT-Release");
return true;
}
/*}}}*/