Skip virtual packages when parsing APKINDEX
Created by: ollieparanoid
Since PR #1247 we are using the virtual package .pmbootstrap
to mark
packages as not explcitly installed. In case pmbootstrap
doesn't
finish the installation because of a bug, the .pmbootstrap
virtual
package may not get uninstalled.
As virtual packages don't have the "timestamp" attribute set in the package database (which indicates when the package was built), the APKINDEX parser fails to parse them.
Changes:
- pmb.parse.apkindex.parse_next_block(): don't require the "timestamp" attribute to be set (but the arch attribute instead, which is always present)
- pmb.parse.apkindex.parse(): when a block does not have a
timestamp
attribute, skip it, because it must be a virtual package. - add test cases for both functions with a package database that contains a virtual package.
Fixes #1273 (closed).