helper: Ignore times of special files when calculating checksum.
authorRichard W.M. Jones <rjones@redhat.com>
Sat, 11 Dec 2010 17:12:30 +0000 (17:12 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Sat, 11 Dec 2010 17:13:26 +0000 (17:13 +0000)
Variation in the times of /dev/ptmx was causing the
appliance to be rebuilt too frequently.

helper/checksum.c

index 337134c..2df42bc 100644 (file)
@@ -65,11 +65,12 @@ checksum_end (void)
 static void
 checksum_file_stat (const char *filename, const struct stat *statbuf)
 {
 static void
 checksum_file_stat (const char *filename, const struct stat *statbuf)
 {
-  /* Publically writable directories (ie. /tmp) don't have stable
-   * times.  Since we only care about some attributes of directories
-   * in any case, we vary the output accordingly.
+  /* Publically writable directories (ie. /tmp) and special files
+   * don't have stable times.  Since we only care about some
+   * attributes of directories and special files, we vary the output
+   * accordingly.
    */
    */
-  if (!S_ISDIR (statbuf->st_mode))
+  if (S_ISREG (statbuf->st_mode))
     fprintf (pp, "%s %ld %ld %d %d %ld %o\n",
              filename,
              (long) statbuf->st_ctime, (long) statbuf->st_mtime,
     fprintf (pp, "%s %ld %ld %d %d %ld %o\n",
              filename,
              (long) statbuf->st_ctime, (long) statbuf->st_mtime,