This code is subtle, to say the least.
When using 'supermin --build --if-newer', supermin will check if
appliance/supermin.d is newer than tmp/.guestfs-UID/appliance.d, and
only rebuild the full appliance if so.
So we need to avoid touching appliance/supermin.d unless there's an
actual change. Unfortunately simply by creating and then deleting
temporary files under appliance/supermin.d we were touching
appliance/supermin.d resulting in a full appliance rebuild after every
'make'.
Supermin 4 actually visited every file in the supermin appliance and
then every file in the full appliance and computed a checksum from
them, which was slower over all but didn't suffer from this problem.
Note the above only matters for developers building and running from
the build directory (ie. using ./run commands). It doesn't affect
libguestfs users.
Rich.