This is a bit of a hack, I would like something a little more
intelligent that checks for applicable metadata changes, not just any
old change in the ebuild text. That will require a bit more work/thought
and this should at least be sufficient to catch the current problems.
The issue comes down to how emerge's --usepkgonly mode works. Normally
KEYWORDS and (R)DEPEND metadata in ebuilds is used to figure out what to
install. If that metadata in the installed or binary packages is is out
of date things generally work out anyway. However when --usepkgonly is
enabled (such as in build_image) the ebuild metadata is ignored, using
only the installed and binary package metadata. Unfortunately it may be
out of date, allowing build_image to fail or otherwise behave
differently from build_packages. Perhaps there is a nice tool for
rebuilding such stale packages but emerge itself doesn't appear to.
This script should only be run after build_packages.