So I see that upstream has rejected moving the cups state info out of /etc. (http://www.cups.org/str.php?L3067)
Before this bug's scope creeps to the point that it is unfixable without a maintenance nightmare, I just wanted to point out that the attached simple patch should be sufficient to address the problem of cups creating a *different* file content each day, by removing the date, which serves little purpose. -- see shy jo
diff -ur old/cups-1.4.2/scheduler/classes.c cups-1.4.2/scheduler/classes.c --- old/cups-1.4.2/scheduler/classes.c 2009-10-07 14:16:09.000000000 -0400 +++ cups-1.4.2/scheduler/classes.c 2010-02-05 16:17:10.029740149 -0500 @@ -727,7 +727,7 @@ strftime(temp, sizeof(temp) - 1, "%Y-%m-%d %H:%M", curdate); cupsFilePuts(fp, "# Class configuration file for " CUPS_SVERSION "\n"); - cupsFilePrintf(fp, "# Written by cupsd on %s\n", temp); + cupsFilePrintf(fp, "# Written by cupsd\n"); cupsFilePuts(fp, "# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING\n"); /* diff -ur old/cups-1.4.2/scheduler/dirsvc.c cups-1.4.2/scheduler/dirsvc.c --- old/cups-1.4.2/scheduler/dirsvc.c 2009-08-29 02:05:14.000000000 -0400 +++ cups-1.4.2/scheduler/dirsvc.c 2010-02-05 16:17:25.049742035 -0500 @@ -764,7 +764,7 @@ strftime(temp, sizeof(temp) - 1, "%Y-%m-%d %H:%M", curdate); cupsFilePuts(fp, "# Remote cache file for " CUPS_SVERSION "\n"); - cupsFilePrintf(fp, "# Written by cupsd on %s\n", temp); + cupsFilePrintf(fp, "# Written by cupsd\n"); /* * Write each local printer known to the system... diff -ur old/cups-1.4.2/scheduler/job.c cups-1.4.2/scheduler/job.c --- old/cups-1.4.2/scheduler/job.c 2009-08-29 02:05:14.000000000 -0400 +++ cups-1.4.2/scheduler/job.c 2010-02-05 16:17:37.417744197 -0500 @@ -1873,7 +1873,7 @@ strftime(temp, sizeof(temp) - 1, "%Y-%m-%d %H:%M", curdate); cupsFilePuts(fp, "# Job cache file for " CUPS_SVERSION "\n"); - cupsFilePrintf(fp, "# Written by cupsd on %s\n", temp); + cupsFilePrintf(fp, "# Written by cupsd\n", temp); cupsFilePrintf(fp, "NextJobId %d\n", NextJobId); /* diff -ur old/cups-1.4.2/scheduler/printers.c cups-1.4.2/scheduler/printers.c --- old/cups-1.4.2/scheduler/printers.c 2009-10-07 14:16:09.000000000 -0400 +++ cups-1.4.2/scheduler/printers.c 2010-02-05 16:17:47.721742461 -0500 @@ -1517,7 +1517,7 @@ strftime(temp, sizeof(temp) - 1, "%Y-%m-%d %H:%M", curdate); cupsFilePuts(fp, "# Printer configuration file for " CUPS_SVERSION "\n"); - cupsFilePrintf(fp, "# Written by cupsd on %s\n", temp); + cupsFilePrintf(fp, "# Written by cupsd\n"); cupsFilePuts(fp, "# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING\n"); /* diff -ur old/cups-1.4.2/scheduler/subscriptions.c cups-1.4.2/scheduler/subscriptions.c --- old/cups-1.4.2/scheduler/subscriptions.c 2009-04-02 18:53:56.000000000 -0400 +++ cups-1.4.2/scheduler/subscriptions.c 2010-02-05 16:17:59.749742961 -0500 @@ -1143,7 +1143,7 @@ strftime(temp, sizeof(temp) - 1, "%Y-%m-%d %H:%M", curdate); cupsFilePuts(fp, "# Subscription configuration file for " CUPS_SVERSION "\n"); - cupsFilePrintf(fp, "# Written by cupsd on %s\n", temp); + cupsFilePrintf(fp, "# Written by cupsd\n"); cupsFilePrintf(fp, "NextSubscriptionId %d\n", NextSubscriptionId);
signature.asc
Description: Digital signature