summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--print/cups/Makefile4
-rw-r--r--print/cups/distinfo7
-rw-r--r--print/cups/patches/patch-aj39
-rw-r--r--print/cups/patches/patch-ak97
-rw-r--r--print/cups/patches/patch-al217
-rw-r--r--print/cups/patches/patch-am127
-rw-r--r--print/cups/patches/patch-ap17
7 files changed, 3 insertions, 505 deletions
diff --git a/print/cups/Makefile b/print/cups/Makefile
index 59fac5f37e3..42946be74db 100644
--- a/print/cups/Makefile
+++ b/print/cups/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.182 2011/11/13 20:40:48 sbd Exp $
+# $NetBSD: Makefile,v 1.183 2011/11/13 21:06:30 sbd Exp $
#
# The CUPS author is very good about taking back changes into the main
# CUPS distribution. The correct place to send patches or bug-fixes is:
@@ -8,7 +8,7 @@ DISTNAME= cups-${DIST_VERS}-source
PKGNAME= cups-${DIST_VERS:S/-/./g}
BASE_VERS= 1.4.8
DIST_VERS= ${BASE_VERS}
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= print
MASTER_SITES= http://ftp.easysw.com/pub/cups/${BASE_VERS}/ \
diff --git a/print/cups/distinfo b/print/cups/distinfo
index fc0c1626c34..beb6084adcd 100644
--- a/print/cups/distinfo
+++ b/print/cups/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.84 2011/10/13 13:05:57 hans Exp $
+$NetBSD: distinfo,v 1.85 2011/11/13 21:06:30 sbd Exp $
SHA1 (cups-1.4.8-source.tar.bz2) = 9167f556e78e0bc075f1eb2f695d79cc1f334007
RMD160 (cups-1.4.8-source.tar.bz2) = ee80e8d0b56dc0e2edf2a9aa9a43c4b92619f741
@@ -11,13 +11,8 @@ SHA1 (patch-af) = c05f7739d65c7b81cc712cbf6008d53568601f6a
SHA1 (patch-ag) = 680c1c7fb44d8153b5825252d2e297a5196ca98e
SHA1 (patch-ah) = c4dae009ac5d2dec52fec609bfa38f282fb8e75c
SHA1 (patch-ai) = fae5b2b5e54ea947d92c89c0bdcdd86c7e3bad12
-SHA1 (patch-aj) = 471a2738bd7bd6a00596dbeb120084ac37840b31
-SHA1 (patch-ak) = 0e8acff2df0034b741ef49093aca773174abb96b
-SHA1 (patch-al) = b5dd793efed46fc950f08bfbd5fb92180ba3be77
-SHA1 (patch-am) = b2cc09ac01e45c96247558667f875fd4a95b125f
SHA1 (patch-an) = 231c871e31db279e8aeafba71506f93330e0a971
SHA1 (patch-ao) = 7fe50080b9a6fd4dac186020f9351ef6000373c7
-SHA1 (patch-ap) = 70c5fa4a19ca2812818844180ca9db9cb7cfd601
SHA1 (patch-at) = aee1f0e8cbcd9e2dbcfa9af3fb675ea7ce1ce622
SHA1 (patch-au) = e4e976ccb4d7782e31f5b0e3ed175359bf95ba42
SHA1 (patch-config-scripts_cups-gssapi.m4) = a027a1c5a444c3ef39f892f2592fbbb16586087b
diff --git a/print/cups/patches/patch-aj b/print/cups/patches/patch-aj
deleted file mode 100644
index f911ca2d9f8..00000000000
--- a/print/cups/patches/patch-aj
+++ /dev/null
@@ -1,39 +0,0 @@
-$NetBSD: patch-aj,v 1.13 2010/06/05 23:09:29 sbd Exp $
-
-Incorporate
-usb-backend-both-usblp-and-libusb.dpatch by <till.kamppeter@gmail.com>
-http://www.cups.org/str.php?L3357
-
---- backend/ieee1284.c.orig 2009-12-08 02:13:42.000000000 +0000
-+++ backend/ieee1284.c
-@@ -255,6 +255,7 @@ backendGetDeviceID(
- cups_option_t *values; /* Keys and values in device ID */
- const char *mfg, /* Manufacturer */
- *mdl, /* Model */
-+ *des, /* Description */
- *sern; /* Serial number */
- char temp[256], /* Temporary manufacturer string */
- *tempptr; /* Pointer into temp string */
-@@ -285,10 +286,20 @@ backendGetDeviceID(
- }
- else
- {
-- strlcpy(temp, make_model, sizeof(temp));
-+ /*
-+ * No manufacturer? Use the model string or description...
-+ */
-+
-+ if (mdl)
-+ _ppdNormalizeMakeAndModel(mdl, temp, sizeof(temp));
-+ else if ((des = cupsGetOption("DESCRIPTION", num_values, values)) != NULL ||
-+ (des = cupsGetOption("DES", num_values, values)) != NULL)
-+ _ppdNormalizeMakeAndModel(des, temp, sizeof(temp));
-+ else
-+ strlcpy(temp, "Unknown", sizeof(temp));
-
- if ((tempptr = strchr(temp, ' ')) != NULL)
-- *tempptr = '\0';
-+ *tempptr = '\0';
-
- mfg = temp;
- }
diff --git a/print/cups/patches/patch-ak b/print/cups/patches/patch-ak
deleted file mode 100644
index f327e275de9..00000000000
--- a/print/cups/patches/patch-ak
+++ /dev/null
@@ -1,97 +0,0 @@
-$NetBSD: patch-ak,v 1.14 2010/06/09 09:01:43 sbd Exp $
-
-Incorporate
-usb-backend-both-usblp-and-libusb.dpatch by <till.kamppeter@gmail.com>
-http://www.cups.org/str.php?L3357
-
---- backend/usb-hybrid.c.orig 2010-06-06 00:29:57.033597544 +0000
-+++ backend/usb-hybrid.c
-@@ -0,0 +1,88 @@
-+/*
-+ * "Id: usb-hybrid.c 8807 2009-08-31 18:45:43Z mike "
-+ *
-+ * USB port backend for the Common UNIX Printing System (CUPS).
-+ *
-+ * This file is included from "usb.c" when compiled on Linux.
-+ *
-+ * Copyright 2007-2008 by Apple Inc.
-+ * Copyright 1997-2007 by Easy Software Products, all rights reserved.
-+ *
-+ * These coded instructions, statements, and computer programs are the
-+ * property of Apple Inc. and are protected by Federal copyright
-+ * law. Distribution and use rights are outlined in the file "LICENSE.txt"
-+ * "LICENSE" which should have been included with this file. If this
-+ * file is missing or damaged, see the license at "http://www.cups.org/".
-+ *
-+ * This file is subject to the Apple OS-Developed Software exception.
-+ *
-+ * Contents:
-+ *
-+ * print_device() - Print a file to a USB device.
-+ * list_devices() - List all USB devices.
-+ */
-+
-+/*
-+ * Include necessary headers.
-+ */
-+
-+#include <sys/select.h>
-+
-+/*
-+ * Include the two USB implementations used under Linux ...
-+ */
-+
-+#define USB_HYBRID 1
-+#include "usb-libusb.c"
-+#include "usb-unix.c"
-+
-+/*
-+ * 'print_device()' - Print a file to a USB device.
-+ */
-+
-+int /* O - Exit status */
-+print_device(const char *uri, /* I - Device URI */
-+ const char *hostname, /* I - Hostname/manufacturer */
-+ const char *resource, /* I - Resource/modelname */
-+ char *options, /* I - Device options/serial number */
-+ int print_fd, /* I - File descriptor to print */
-+ int copies, /* I - Copies to print */
-+ int argc, /* I - Number of command-line arguments (6 or 7) */
-+ char *argv[]) /* I - Command-line arguments */
-+{
-+ int result;
-+ for(;;)
-+ {
-+ result = print_device_unix(uri, hostname, resource, options, print_fd,
-+ copies, argc, argv);
-+ if (result == -1)
-+ {
-+ result = print_device_libusb(uri, hostname, resource, options, print_fd,
-+ copies, argc, argv);
-+ if (result == -1)
-+ sleep(5);
-+ else
-+ return(result);
-+ }
-+ else
-+ return(result);
-+ }
-+}
-+
-+/*
-+ * 'list_devices()' - List all USB devices.
-+ */
-+
-+void
-+list_devices(void)
-+{
-+ /* Try both discovery methods, each device will appear only under one
-+ of them */
-+ list_devices_libusb();
-+ list_devices_unix();
-+}
-+
-+
-+/*
-+ * End of "Id: usb-hybrid.c 8807 2009-08-31 18:45:43Z mike ".
-+ */
diff --git a/print/cups/patches/patch-al b/print/cups/patches/patch-al
deleted file mode 100644
index d3612b07bab..00000000000
--- a/print/cups/patches/patch-al
+++ /dev/null
@@ -1,217 +0,0 @@
-$NetBSD: patch-al,v 1.8 2010/06/05 23:09:29 sbd Exp $
-
-Incorporate
-usb-backend-both-usblp-and-libusb.dpatch by <till.kamppeter@gmail.com>
-http://www.cups.org/str.php?L3357
-
---- backend/usb-libusb.c.orig 2009-09-11 20:03:31.000000000 +0000
-+++ backend/usb-libusb.c
-@@ -13,16 +13,16 @@
- *
- * Contents:
- *
-- * list_devices() - List the available printers.
-- * print_device() - Print a file to a USB device.
-+ * list_devices_libusb() - List the available printers.
-+ * print_device_libusb() - Print a file to a USB device.
- * close_device() - Close the connection to the USB printer.
- * find_device() - Find or enumerate USB printers.
- * get_device_id() - Get the IEEE-1284 device ID for the printer.
- * list_cb() - List USB printers for discovery.
- * make_device_uri() - Create a device URI for a USB printer.
-- * open_device() - Open a connection to the USB printer.
-+ * open_device_libusb() - Open a connection to the USB printer.
- * print_cb() - Find a USB printer for printing.
-- * side_cb() - Handle side-channel requests.
-+ * side_cb_libusb() - Handle side-channel requests.
- */
-
- /*
-@@ -65,30 +65,30 @@ static int list_cb(usb_printer_t *print
- static char *make_device_uri(usb_printer_t *printer,
- const char *device_id,
- char *uri, size_t uri_size);
--static int open_device(usb_printer_t *printer, int verbose);
-+static int open_device_libusb(usb_printer_t *printer, int verbose);
- static int print_cb(usb_printer_t *printer, const char *device_uri,
- const char *device_id, const void *data);
--static ssize_t side_cb(usb_printer_t *printer, int print_fd);
-+static ssize_t side_cb_libusb(usb_printer_t *printer, int print_fd);
-
-
- /*
-- * 'list_devices()' - List the available printers.
-+ * 'list_devices_libusb()' - List the available printers.
- */
-
- void
--list_devices(void)
-+list_devices_libusb(void)
- {
-- fputs("DEBUG: list_devices\n", stderr);
-+ fputs("DEBUG: list_devices_libusb\n", stderr);
- find_device(list_cb, NULL);
- }
-
-
- /*
-- * 'print_device()' - Print a file to a USB device.
-+ * 'print_device_libusb()' - Print a file to a USB device.
- */
-
- int /* O - Exit status */
--print_device(const char *uri, /* I - Device URI */
-+print_device_libusb(const char *uri, /* I - Device URI */
- const char *hostname, /* I - Hostname/manufacturer */
- const char *resource, /* I - Resource/modelname */
- char *options, /* I - Device options/serial number */
-@@ -105,19 +105,23 @@ print_device(const char *uri, /* I - De
- struct pollfd pfds[2]; /* Poll descriptors */
-
-
-- fputs("DEBUG: print_device\n", stderr);
-+ fputs("DEBUG: print_device_libusb\n", stderr);
-
- /*
- * Connect to the printer...
- */
-
-+#if defined(__linux) || defined(__sun) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__)
-+ if ((printer = find_device(print_cb, uri)) == NULL)
-+ return(-1);
-+#else
- while ((printer = find_device(print_cb, uri)) == NULL)
- {
- _cupsLangPuts(stderr,
- _("INFO: Waiting for printer to become available...\n"));
- sleep(5);
- }
--
-+#endif
-
- /*
- * If we are printing data from a print driver on stdin, ignore SIGTERM
-@@ -189,7 +193,7 @@ print_device(const char *uri, /* I - De
-
- if (pfds[1].revents & (POLLIN | POLLHUP))
- {
-- if ((bytes = side_cb(printer, print_fd)) < 0)
-+ if ((bytes = side_cb_libusb(printer, print_fd)) < 0)
- pfds[1].events = 0; /* Filter has gone away... */
- else
- tbytes += bytes;
-@@ -359,7 +363,7 @@ find_device(usb_cb_t cb, /* I - Callb
- printer.iface = iface;
- printer.handle = NULL;
-
-- if (!open_device(&printer, data != NULL))
-+ if (!open_device_libusb(&printer, data != NULL))
- {
- if (!get_device_id(&printer, device_id, sizeof(device_id)))
- {
-@@ -583,6 +587,14 @@ make_device_uri(
- mfg = tempmfg;
- }
-
-+ if (!strncasecmp(mdl, mfg, strlen(mfg)))
-+ {
-+ mdl += strlen(mfg);
-+
-+ while (isspace(*mdl & 255))
-+ mdl ++;
-+ }
-+
- /*
- * Generate the device URI from the manufacturer, model, serial number,
- * and interface number...
-@@ -611,11 +623,11 @@ make_device_uri(
-
-
- /*
-- * 'open_device()' - Open a connection to the USB printer.
-+ * 'open_device_libusb()' - Open a connection to the USB printer.
- */
-
- static int /* O - 0 on success, -1 on error */
--open_device(usb_printer_t *printer, /* I - Printer */
-+open_device_libusb(usb_printer_t *printer, /* I - Printer */
- int verbose) /* I - Update connecting-to-device state? */
- {
- int number; /* Configuration/interface/altset numbers */
-@@ -733,16 +745,73 @@ print_cb(usb_printer_t *printer, /* I -
- const char *device_id, /* I - IEEE-1284 device ID */
- const void *data) /* I - User data (make, model, S/N) */
- {
-- return (!strcmp((char *)data, device_uri));
-+ char *uri = (char *)data,
-+ *str1,
-+ *str2,
-+ buf[255],
-+ requested_uri[1024];
-+
-+ /* Work on a copy of uri */
-+ strncpy(requested_uri, uri, sizeof(requested_uri));
-+ requested_uri[sizeof(requested_uri) - 1] = '\0';
-+
-+ /*
-+ * libusb-discovered URIs can have an "interface" specification and this
-+ * never happens for usblp-discovered URIs, so remove the "interface"
-+ * specification from the URI which we are checking currently. This way a
-+ * queue for a usblp-discovered printer can now be accessed via libusb
-+ */
-+ if (((str1 = strstr(requested_uri, "interface=")) == NULL) &&
-+ ((str2 = strstr(device_uri, "interface=")) != NULL))
-+ {
-+ *(str2 - 1) = '\0';
-+ }
-+
-+ /*
-+ * Old URI with "serial=?". Cut this part off and consider this as
-+ * an URI without serial number
-+ */
-+ if ((str1 = strstr(requested_uri, "serial=?")) != NULL)
-+ *(str1 - 1) = '\0';
-+
-+ /*
-+ * Old URI without serial number. Match it also with URIs with serial
-+ * number
-+ */
-+ if (((str1 = strstr(requested_uri, "serial=")) == NULL) &&
-+ ((str2 = strstr(device_uri, "serial=")) != NULL))
-+ *(str2 - 1) = '\0';
-+
-+ /*
-+ * libusb-discovered URIs can have a "serial" specification when the
-+ * usblp-discovered URI for the same printer does not have one, as
-+ * with libusb we can discover serial numbers also with other methods
-+ * than only via the device ID. Therefore we accept also a
-+ * usblp-discovered printer without serial number as a match. This we
-+ * do by removing the serial number from the queue's (libusb-discovered)
-+ * URI before comparing. Also warn the user because of the incapability
-+ * of the usblp-based access to distinguish printers by the serial
-+ * number.
-+ */
-+ if (((str1 = strstr(requested_uri, "serial=")) == NULL) &&
-+ ((str2 = strstr(device_uri, "serial=")) != NULL))
-+ {
-+ *(str2 - 1) = '\0';
-+ if (backendGetMakeModel(device_id, buf, sizeof(buf)) == 0)
-+ fprintf(stderr, "WARNING: If you have more than one %s printer connected to this machine, please make sure that the \"usblp\" kernel module is always unloaded (and blacklisted) and re-create the queues for these printers. Otherwise CUPS will not be able to distinguish them.\n",
-+ buf);
-+ }
-+
-+ return (!strcmp(requested_uri, device_uri));
- }
-
-
- /*
-- * 'side_cb()' - Handle side-channel requests.
-+ * 'side_cb_libusb()' - Handle side-channel requests.
- */
-
- static ssize_t /* O - Number of bytes written */
--side_cb(usb_printer_t *printer, /* I - Printer */
-+side_cb_libusb(usb_printer_t *printer, /* I - Printer */
- int print_fd) /* I - File to print */
- {
- ssize_t bytes, /* Bytes read/written */
diff --git a/print/cups/patches/patch-am b/print/cups/patches/patch-am
deleted file mode 100644
index 0c83df1326a..00000000000
--- a/print/cups/patches/patch-am
+++ /dev/null
@@ -1,127 +0,0 @@
-$NetBSD: patch-am,v 1.10 2010/06/09 09:01:43 sbd Exp $
-
-Incorporate
-usb-backend-both-usblp-and-libusb.dpatch by <till.kamppeter@gmail.com>
-http://www.cups.org/str.php?L3357
-
---- backend/usb-unix.c.orig 2009-12-08 02:13:42.000000000 +0000
-+++ backend/usb-unix.c
-@@ -26,4 +26,14 @@
-
- /*
-+ * If USB_HYBRID is define append "_unix" to functions.
-+ */
-+#ifdef USB_HYBRID
-+# define print_device print_device_unix
-+# define list_devices list_devices_unix
-+# define open_device open_device_unix
-+# define side_cb side_cb_unix
-+#endif
-+
-+/*
- * Include necessary headers.
- */
-@@ -133,4 +143,8 @@ print_device(const char *uri, /* I - De
- sleep(10);
- }
-+#ifdef HAVE_USB_H
-+ else
-+ return (-1);
-+#else
- else if (errno == ENXIO || errno == EIO || errno == ENOENT ||
- errno == ENODEV)
-@@ -148,4 +162,5 @@ print_device(const char *uri, /* I - De
- return (CUPS_BACKEND_FAILED);
- }
-+#endif
- }
- }
-@@ -358,6 +373,8 @@ open_device(const char *uri, /* I - Dev
- device_id[1024], /* Device ID string */
- make_model[1024], /* Make and model */
-- device_uri[1024]; /* Device URI string */
--
-+ device_uri[1024], /* Device URI string */
-+ requested_uri[1024], /* Device URI string */
-+ *str1,
-+ *str2;
-
- /*
-@@ -408,5 +425,53 @@ open_device(const char *uri, /* I - Dev
- }
-
-- if (!strcmp(uri, device_uri))
-+ /* Work on a copy of uri */
-+ strncpy(requested_uri, uri, sizeof(requested_uri));
-+ requested_uri[sizeof(requested_uri) - 1] = '\0';
-+
-+ /*
-+ * libusb-discovered URIs can have an "interface" specification and this
-+ * never happens for usblp-discovered URIs, so remove the "interface"
-+ * specification from the URI of the print queue. This way a queue for
-+ * a libusb-discovered printer can now be accessed via the usblip kernel
-+ * module
-+ */
-+ if ((str1 = strstr(requested_uri, "interface=")) != NULL)
-+ *(str1 - 1) = '\0';
-+
-+ /*
-+ * Old URI with "serial=?". Cut this part off and consider this as
-+ * an URI without serial number
-+ */
-+ if ((str1 = strstr(requested_uri, "serial=?")) != NULL)
-+ *(str1 - 1) = '\0';
-+
-+ /*
-+ * Old URI without serial number. Match it also with URIs with serial
-+ * number
-+ */
-+ if (((str1 = strstr(requested_uri, "serial=")) == NULL) &&
-+ ((str2 = strstr(device_uri, "serial=")) != NULL))
-+ *(str2 - 1) = '\0';
-+
-+ /*
-+ * libusb-discovered URIs can have a "serial" specification when the
-+ * usblp-discovered URI for the same printer does not have one, as
-+ * with libusb we can discover serial numbers also with other methods
-+ * than only via the device ID. Therefore we accept also a
-+ * usblp-discovered printer without serial number as a match. This we
-+ * do by removing the serial number from the queue's (libusb-discovered)
-+ * URI before comparing. Also warn the user because of the incapability
-+ * of the usblp-based access to distinguish printers by the serial
-+ * number.
-+ */
-+ if (((str1 = strstr(requested_uri, "serial=")) != NULL) &&
-+ ((str2 = strstr(device_uri, "serial=")) == NULL))
-+ {
-+ *(str1 - 1) = '\0';
-+ fprintf(stderr, "WARNING: If you have more than one %s printer connected to this machine, please unload (and blacklist) the \"usblp\" kernel module as otherwise CUPS will not be able to distinguish your printers.\n",
-+ make_model);
-+ }
-+
-+ if (!strcmp(requested_uri, device_uri))
- {
- /*
-@@ -434,8 +499,12 @@ open_device(const char *uri, /* I - Dev
-
- if (busy)
-+ {
- _cupsLangPuts(stderr,
- _("INFO: Printer busy; will retry in 5 seconds...\n"));
-
-- sleep(5);
-+ sleep(5);
-+ }
-+ else
-+ return -1;
- }
- }
-@@ -626,4 +695,8 @@ side_cb(int print_fd, /* I - Pr
- }
-
-+#undef print_device
-+#undef list_devices
-+#undef open_device
-+#undef side_cb
-
- /*
diff --git a/print/cups/patches/patch-ap b/print/cups/patches/patch-ap
deleted file mode 100644
index 824dfceebd7..00000000000
--- a/print/cups/patches/patch-ap
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-ap,v 1.9 2010/06/05 23:09:29 sbd Exp $
-
-Incorporate
-usb-backend-both-usblp-and-libusb.dpatch by <till.kamppeter@gmail.com>
-http://www.cups.org/str.php?L3357
-
---- backend/usb.c.orig 2008-06-24 01:28:36.000000000 +0000
-+++ backend/usb.c
-@@ -56,7 +56,7 @@ int print_device(const char *uri, const
- */
-
- #ifdef HAVE_USB_H
--# include "usb-libusb.c"
-+# include "usb-hybrid.c"
- #elif defined(__APPLE__)
- # include "usb-darwin.c"
- #elif defined(__linux) || defined(__sun) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__)