diff --git a/cups-str3880.patch b/cups-str3880.patch new file mode 100644 index 0000000..cd4c3fa --- /dev/null +++ b/cups-str3880.patch @@ -0,0 +1,46 @@ +diff -up cups-1.4.7/scheduler/job.c.str3880 cups-1.4.7/scheduler/job.c +--- cups-1.4.7/scheduler/job.c.str3880 2011-07-20 13:19:38.280543190 +0100 ++++ cups-1.4.7/scheduler/job.c 2011-07-20 13:20:01.691126073 +0100 +@@ -291,7 +291,7 @@ cupsdCheckJobs(void) + + if (job->kill_time && job->kill_time <= curtime) + { +- cupsdLogMessage(CUPSD_LOG_ERROR, "[Job %d] Stopping unresponsive job!", ++ cupsdLogMessage(CUPSD_LOG_ERROR, "[Job %d] Stopping unresponsive job!", + job->id); + + stop_job(job, CUPSD_JOB_FORCE); +@@ -1338,14 +1338,19 @@ cupsdDeleteJob(cupsd_job_t *job, / + free(job->compressions); + free(job->filetypes); + +- while (job->num_files > 0) ++ if (action == CUPSD_JOB_PURGE) + { +- snprintf(filename, sizeof(filename), "%s/d%05d-%03d", RequestRoot, +- job->id, job->num_files); +- unlink(filename); ++ while (job->num_files > 0) ++ { ++ snprintf(filename, sizeof(filename), "%s/d%05d-%03d", RequestRoot, ++ job->id, job->num_files); ++ unlink(filename); + +- job->num_files --; ++ job->num_files --; ++ } + } ++ else ++ job->num_files = 0; + } + + if (job->history) +@@ -3224,7 +3229,7 @@ get_options(cupsd_job_t *job, /* I - Jo + IPP_TAG_ZERO)) != NULL && + (attr->value_tag == IPP_TAG_KEYWORD || + attr->value_tag == IPP_TAG_NAME) && +- (ppd = _pwgGetOutputBin(pwg, attr->values[0].string.text)) != NULL) ++ (ppd = _pwgGetOutputBin(pwg, attr->values[0].string.text)) != NULL) + { + /* + * Map output-bin to OutputBin option... diff --git a/cups.spec b/cups.spec index 63022b9..465482d 100644 --- a/cups.spec +++ b/cups.spec @@ -13,7 +13,7 @@ Summary: Common Unix Printing System Name: cups Version: 1.4.7 -Release: 8%{?dist} +Release: 9%{?dist} License: GPLv2 Group: System Environment/Daemons Source: http://ftp.easysw.com/pub/cups/%{version}/cups-%{version}-source.tar.bz2 @@ -73,6 +73,7 @@ Patch33: cups-usb-parallel.patch Patch34: cups-str3535.patch Patch35: cups-str3875.patch Patch36: cups-polld-busy-loop.patch +Patch37: cups-str3880.patch Patch40: cups-avahi-1-config.patch Patch41: cups-avahi-2-backend.patch @@ -294,6 +295,8 @@ module. %patch35 -p1 -b .str3875 # Avoid busy loop in cups-polld (bug #720921). %patch36 -p1 -b .polld-busy-loop +# Don't delete job data files when restarted (STR #3880). +%patch37 -p1 -b .str3880 # Avahi support: # - discovery in the dnssd backend @@ -636,6 +639,9 @@ rm -rf $RPM_BUILD_ROOT %{php_extdir}/phpcups.so %changelog +* Wed Jul 20 2011 Tim Waugh 1:1.4.7-9 +- Don't delete job data files when restarted (STR #3880). + * Fri Jul 15 2011 Tim Waugh 1:1.4.7-8 - Ship an rpm macro for where to put driver executables.