summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/deb/deblistparser.cc7
-rwxr-xr-xtest/integration/test-apt-get-install-deb3
2 files changed, 9 insertions, 1 deletions
diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc
index d0f0838d0..966246ca7 100644
--- a/apt-pkg/deb/deblistparser.cc
+++ b/apt-pkg/deb/deblistparser.cc
@@ -404,8 +404,13 @@ uint32_t debListParser::VersionHash()
half-configured, triggers-awaited, triggers-pending, installed
*/
bool debListParser::ParseStatus(pkgCache::PkgIterator &,
- pkgCache::VerIterator &)
+ pkgCache::VerIterator &Ver)
{
+ // the status file has no info about the download size and
+ // usually this is fine as we will have picked that info up already –
+ // except if we have volatile sources which are parsed after the status file.
+ if (Ver->Size == 0)
+ Ver->Size = Section.FindULL(pkgTagSection::Key::Size);
return true;
}
bool debStatusListParser::ParseStatus(pkgCache::PkgIterator &Pkg,
diff --git a/test/integration/test-apt-get-install-deb b/test/integration/test-apt-get-install-deb
index 3d0b9a80d..56963819a 100755
--- a/test/integration/test-apt-get-install-deb
+++ b/test/integration/test-apt-get-install-deb
@@ -7,6 +7,9 @@ TESTDIR="$(readlink -f "$(dirname "$0")")"
setupenvironment
configarchitecture 'amd64' 'i386'
+# XXX: Remove temporary hack
+rm rootdir/etc/apt/apt.conf.d/temporary-allow-unsized-packages
+
# regression test for #754904
cat > foo.rpm <<EOF
I'm not a deb, I'm a teapot.