- cache source -> binary package relationships; it's faster than making
all those duplicate calls into apt_pkg
- move binaryPackagesFor(), sourcePackageFor(), and changelogUrl()
from demi to machine
- refactor machine.isAffectedBy(), machine.isPackageOutdated()
- only update ideal machines every 24 hours (1 day), since they take
forever due to all the Lookups from apt_pkg
- express machine.INACTIVE_AFTER in days, not seconds. also use timedeltas.
- DSAs might be issued for a binary package, not the source package it's
built from. handle this intelligently.