Let's track the modification timestamps of the packages from configured
package directories so we can rebuild the image if new packages appear
or are removed or changed.
"package_manager": self.distribution.package_manager(self).executable(self),
"packages": sorted(self.packages),
"build_packages": sorted(self.build_packages),
+ "package_directories": [
+ (p.name, p.stat().st_mtime_ns)
+ for d in self.package_directories
+ for p in sorted(flatten(d.glob(glob) for glob in PACKAGE_GLOBS))
+ ],
"repositories": sorted(self.repositories),
"overlay": self.overlay,
"prepare_scripts": sorted(