aboutsummaryrefslogtreecommitdiff
path: root/print/cups-filters
diff options
context:
space:
mode:
authorTijl Coosemans <tijl@FreeBSD.org>2019-12-13 15:06:19 +0000
committerTijl Coosemans <tijl@FreeBSD.org>2019-12-13 15:06:19 +0000
commit6bf888f864164ffa3c9041a5bba342161bab0b18 (patch)
treebefe02994c5dde43fd8c0c068adaf8882e7672b1 /print/cups-filters
parent38be96ca81653fa8c0089b486389957056043ba3 (diff)
downloadports-6bf888f864164ffa3c9041a5bba342161bab0b18.tar.gz
ports-6bf888f864164ffa3c9041a5bba342161bab0b18.zip
Add a patch to let the implicitclass backend run the ipp backend.
This fixes printer queues for remote printers detected by cups-browsed. PR: 242615 Submitted by: J.R. Oldroyd <fbsd@opal.com>
Notes
Notes: svn path=/head/; revision=520041
Diffstat (limited to 'print/cups-filters')
-rw-r--r--print/cups-filters/Makefile1
-rw-r--r--print/cups-filters/files/patch-backend-implicitclass.c29
2 files changed, 30 insertions, 0 deletions
diff --git a/print/cups-filters/Makefile b/print/cups-filters/Makefile
index 9913fe618d23..657316ca55bd 100644
--- a/print/cups-filters/Makefile
+++ b/print/cups-filters/Makefile
@@ -2,6 +2,7 @@
PORTNAME= cups-filters
PORTVERSION= 1.25.12
+PORTREVISION= 1
CATEGORIES= print
MASTER_SITES= https://www.openprinting.org/download/cups-filters/
diff --git a/print/cups-filters/files/patch-backend-implicitclass.c b/print/cups-filters/files/patch-backend-implicitclass.c
new file mode 100644
index 000000000000..25e90f3e9c1b
--- /dev/null
+++ b/print/cups-filters/files/patch-backend-implicitclass.c
@@ -0,0 +1,29 @@
+--- backend/implicitclass.c.orig 2019-11-29 20:18:29 UTC
++++ backend/implicitclass.c
+@@ -98,7 +98,7 @@ main(int argc, /* I - Number of command-line args
+ ipp_attribute_t *attr;
+ int bytes; /* Bytes copied */
+ char uri[HTTP_MAX_URI];
+- char *argv_nt[7];
++ char *argv_nt[8];
+ int outbuflen,filefd,exit_status,dup_status;
+ static const char *pattrs[] =
+ {
+@@ -350,6 +350,7 @@ main(int argc, /* I - Number of command-line args
+ /* We will send the filtered output of the pdftoippprinter.c to
+ the IPP Backend*/
+ argv_nt[6] = tempfile_filter;
++ argv_nt[7] = NULL;
+ fprintf(stderr, "DEBUG: The filtered output of pdftoippprinter is written to file %s\n",
+ tempfile_filter);
+
+@@ -383,7 +384,8 @@ main(int argc, /* I - Number of command-line args
+ pid_t pid = fork();
+ if ( pid == 0 ) {
+ fprintf(stderr, "DEBUG: Started IPP Backend with pid: %d\n",getpid());
+- execv("/usr/lib/cups/backend/ipp",argv_nt);
++ execv(CUPS_SERVERBIN "/backend/ipp",argv_nt);
++ exit(CUPS_BACKEND_FAILED);
+ } else {
+ int status;
+ waitpid(pid, &status, 0);