Hello maintainer. I found this problem logged in upstream bug reports: http://bugs.linux-foundation.org/show_bug.cgi?id=337
Problem is fixed in new upstream version. I you do not want upgrade to new upstream version, I attach small patch, to fix only problem with LPRng in current Debian version. This patch is fraction from: http://bzr.linuxfoundation.org/loggerhead/openprinting/foomatic/foomatic-filters/revision/219 -- Slávek Banko
--- foomatic-filters-4.0-20090509.orig/foomaticrip.c +++ foomatic-filters-4.0-20090509/foomaticrip.c @@ -1192,12 +1192,13 @@ spooler = SPOOLER_LPRNG; if ((str = strstr(getenv("PRINTCAP_ENTRY"), "ppd="))) str += 4; - else if ((str = strstr(getenv("PRINTCAP_ENTRY"), "ppdfile="))); - str += 8; + else if ((str = strstr(getenv("PRINTCAP_ENTRY"), "ppdfile="))) + str += 8; if (str) { while (isspace(*str)) str++; p = job->ppdfile; - while (*str != '\0' && !isspace(*str) && *str != '\n') { + while (*str != '\0' && !isspace(*str) && *str != '\n' && + *str != ':') { if (isprint(*str) && strchr(shellescapes, *str) == NULL) *p++ = *str; str++; @@ -1306,8 +1307,9 @@ init_cups(arglist, filelist, job); break; - case SPOOLER_LPD: case SPOOLER_LPRNG: + if (job->ppdfile[0] != '\0') break; + case SPOOLER_LPD: case SPOOLER_GNULPR: /* Get PPD file name as the last command line argument */ if (arglist->last)