apt-ftparchive on-disk cache format changed between lucid and precise, results in Packages files with silently corrupted checksums fields
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apt (Ubuntu) |
Fix Released
|
Critical
|
Michael Vogt | ||
Precise |
Won't Fix
|
High
|
Unassigned | ||
Trusty |
Triaged
|
High
|
Unassigned |
Bug Description
[Impact]
The archive.ubuntu.com master server has just been upgraded from lucid to precise. As a result, the apt version went from 0.7.25.3 to 0.8.16~exp12, and apparently some time in that interval the on-disk format of apt-ftparchive's cache changed.
This wouldn't be a problem, except apt-ftparchive itself doesn't *notice* that the cache format has changed, and instead happily reads the existing files and parses them incorrectly, resulting in corrupted checksums output in the Packages file for each of the .debs.
apt-ftparchive should version its file formats so that it correctly notices incompatible cache files.
[Test Case]
* generate a cachedb with apt-ftparchive from lucid via
apt-ftparchive --db old-db packages 2vcard_
* use apt-ftparchive from precise and run
apt-ftparchive --db old-db packages 2vcard_
and verify that it generates different hashes than Packages.1
(diff -u Packages.1 Packages.2)
* use apt-ftparchive from precise-proposed and run:
apt-ftparchive --db old-db packages 2vcard_
and verify that the hashes are identical to the ones in Packages.1
Changed in apt (Ubuntu): | |
importance: | Undecided → Critical |
Changed in apt (Ubuntu): | |
status: | New → Confirmed |
Changed in apt (Ubuntu): | |
assignee: | nobody → Michael Vogt (mvo) |
tags: | added: patch |
description: | updated |
Changed in apt (Ubuntu Precise): | |
status: | New → In Progress |
description: | updated |
description: | updated |
tags: |
added: verification-failed removed: verification-needed |
tags: | removed: verification-failed |
tags: | added: precise |
tags: | added: trusty |
Changed in apt (Ubuntu Precise): | |
status: | In Progress → Confirmed |
Changed in apt (Ubuntu Trusty): | |
status: | In Progress → Confirmed |
description: | updated |
Changed in apt (Ubuntu Precise): | |
importance: | Undecided → High |
status: | Confirmed → Triaged |
Changed in apt (Ubuntu Trusty): | |
status: | Confirmed → Triaged |
Changed in apt (Ubuntu Precise): | |
milestone: | none → precise-updates |
Changed in apt (Ubuntu Trusty): | |
milestone: | none → trusty-updates |
I will investigate this issue, but this smells more like a issue with libdb than with apt-ftparchive itself. But that might be wishful thinking, I will double check.