Index: sysutils/ups-nut/Makefile =================================================================== RCS file: /cvsroot/pkgsrc/sysutils/ups-nut/Makefile,v retrieving revision 1.54 diff -p -u -u -r1.54 Makefile --- sysutils/ups-nut/Makefile 12 Jul 2013 10:45:03 -0000 1.54 +++ sysutils/ups-nut/Makefile 9 Jun 2017 20:06:13 -0000 @@ -3,7 +3,7 @@ .include "Makefile.common" PKGNAME= ups-${DISTNAME} -PKGREVISION= 1 +PKGREVISION= 2 COMMENT= Network UPS Tools CONFIGURE_ARGS+= --with-drvpath=${NUT_DRVDIR:Q} Index: sysutils/ups-nut/distinfo =================================================================== RCS file: /cvsroot/pkgsrc/sysutils/ups-nut/distinfo,v retrieving revision 1.30 diff -p -u -u -r1.30 distinfo --- sysutils/ups-nut/distinfo 10 Nov 2015 08:52:38 -0000 1.30 +++ sysutils/ups-nut/distinfo 9 Jun 2017 20:06:13 -0000 @@ -7,3 +7,4 @@ Size (nut-2.6.5.tar.gz) = 2038832 bytes SHA1 (patch-aa) = 48110f378518edb43a653753eb4ef6ea28344c62 SHA1 (patch-ab) = 44988118570714ab2c3fffdd75909c2255b94fa6 SHA1 (patch-drivers_hidparser.c) = c71d84bbf3140db1f82ef155fdf5afec79cbd38d +SHA1 (patch-drivers_libusb.c) = 2270e5d81536a761c63f4e5e6ea28be04c10ad9b Index: sysutils/ups-nut/patches/patch-drivers_libusb.c =================================================================== RCS file: sysutils/ups-nut/patches/patch-drivers_libusb.c diff -N sysutils/ups-nut/patches/patch-drivers_libusb.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ sysutils/ups-nut/patches/patch-drivers_libusb.c 9 Jun 2017 20:06:13 -0000 @@ -0,0 +1,19 @@ +$NetBSD$ + +Avoid "No error" messages, eg: + +Jun 9 10:00:26 traumvogel usbhid-ups[1976]: libusb_get_interrupt: error setting timeout: Bad file descriptor +Jun 9 10:00:26 traumvogel usbhid-ups[1976]: libusb_get_report: error setting timeout: Bad file descriptor +Jun 9 10:00:28 traumvogel syslogd[1453]: last message repeated 5 times + +--- drivers/libusb.c.orig 2012-07-31 10:38:59.000000000 -0700 ++++ drivers/libusb.c 2016-10-21 01:44:40.000000000 -0700 +@@ -353,7 +353,7 @@ + */ + static int libusb_strerror(const int ret, const char *desc) + { +- if (ret > 0) { ++ if (ret >= 0) { + return ret; + } + Index: sysutils/ups-nut-usb/Makefile =================================================================== RCS file: /cvsroot/pkgsrc/sysutils/ups-nut-usb/Makefile,v retrieving revision 1.5 diff -p -u -u -r1.5 Makefile --- sysutils/ups-nut-usb/Makefile 10 Nov 2015 08:52:38 -0000 1.5 +++ sysutils/ups-nut-usb/Makefile 9 Jun 2017 20:06:13 -0000 @@ -3,7 +3,7 @@ .include "../../sysutils/ups-nut/Makefile.common" PKGNAME= ${DISTNAME:S/nut/ups-nut-usb/} -PKGREVISION= 1 +PKGREVISION= 2 COMMENT= Network UPS Tools USB drivers DEPENDS+= ups-nut-2.*:../../sysutils/ups-nut Index: devel/libusb/Makefile =================================================================== RCS file: /cvsroot/pkgsrc/devel/libusb/Makefile,v retrieving revision 1.39 diff -p -u -u -r1.39 Makefile --- devel/libusb/Makefile 3 Dec 2016 04:19:05 -0000 1.39 +++ devel/libusb/Makefile 9 Jun 2017 20:06:13 -0000 @@ -1,7 +1,7 @@ # $NetBSD: Makefile,v 1.39 2016/12/03 04:19:05 marino Exp $ DISTNAME= libusb-0.1.12 -PKGREVISION= 4 +PKGREVISION= 5 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=libusb/} Index: devel/libusb/distinfo =================================================================== RCS file: /cvsroot/pkgsrc/devel/libusb/distinfo,v retrieving revision 1.26 diff -p -u -u -r1.26 distinfo --- devel/libusb/distinfo 3 Nov 2015 03:27:46 -0000 1.26 +++ devel/libusb/distinfo 9 Jun 2017 20:06:13 -0000 @@ -7,7 +7,7 @@ Size (libusb-0.1.12.tar.gz) = 389343 byt SHA1 (patch-aa) = 1da6c46e8b41d7846032922bbef8a0b5eb1ae68b SHA1 (patch-ab) = bc4756536ce7b2cc49d0c7c48c249f146f185839 SHA1 (patch-ac) = cc92318e0979779f6ef03ee653bc94ee2b96a055 -SHA1 (patch-ad) = 7cfa10d66f2257da55249fb8c7b20d313e560302 +SHA1 (patch-ad) = 8ea70b0501ccd725d19a735699437f67ae76d13d SHA1 (patch-ae) = 49a01ebe66de4965f3611cf42db09703aa68c415 SHA1 (patch-af) = e46e576a589fb65488011a41df95f744230c0c6c SHA1 (patch-darwin.c) = 20df5d5970bf86f6f4ada002ca16a3bccf5bb4ff Index: devel/libusb/patches/patch-ad =================================================================== RCS file: /cvsroot/pkgsrc/devel/libusb/patches/patch-ad,v retrieving revision 1.10 diff -p -u -u -r1.10 patch-ad --- devel/libusb/patches/patch-ad 25 Oct 2015 10:18:34 -0000 1.10 +++ devel/libusb/patches/patch-ad 9 Jun 2017 20:06:13 -0000 @@ -1,7 +1,10 @@ $NetBSD: patch-ad,v 1.10 2015/10/25 10:18:34 wiz Exp $ ---- bsd.c.orig 2006-03-04 02:52:46.000000000 +0000 -+++ bsd.c +Fix build on some platforms. +Eat EAGAIN returns. + +--- bsd.c.orig 2006-03-03 18:52:46.000000000 -0800 ++++ bsd.c 2016-10-21 01:20:19.000000000 -0700 @@ -25,8 +25,8 @@ * for both read and write. */ @@ -33,7 +36,7 @@ $NetBSD: patch-ad,v 1.10 2015/10/25 10:1 /* * It appears some of the BSD's (OpenBSD atleast) have switched over to a * new naming convention, so we setup some macro's for backward -@@ -146,7 +150,7 @@ int usb_os_open(usb_dev_handle *dev) +@@ -146,7 +150,7 @@ USB_ERROR(-ENOMEM); dev->impl_info = info; @@ -42,7 +45,7 @@ $NetBSD: patch-ad,v 1.10 2015/10/25 10:1 snprintf(ctlpath, PATH_MAX, "%s", dev->device->filename); #else snprintf(ctlpath, PATH_MAX, "%s.00", dev->device->filename); -@@ -259,7 +263,7 @@ static int ensure_ep_open(usb_dev_handle +@@ -259,7 +263,7 @@ ep = UE_GET_ADDR(ep); if (info->ep_fd[ep] < 0) { @@ -51,7 +54,7 @@ $NetBSD: patch-ad,v 1.10 2015/10/25 10:1 snprintf(buf, sizeof(buf) - 1, "%s.%d", dev->device->filename, ep); #else snprintf(buf, sizeof(buf) - 1, "%s.%02d", dev->device->filename, ep); -@@ -290,7 +294,7 @@ int usb_bulk_write(usb_dev_handle *dev, +@@ -290,7 +294,7 @@ fd = ensure_ep_open(dev, ep, O_WRONLY); if (fd < 0) { if (usb_debug >= 2) { @@ -60,7 +63,7 @@ $NetBSD: patch-ad,v 1.10 2015/10/25 10:1 fprintf (stderr, "usb_bulk_write: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep)); #else fprintf (stderr, "usb_bulk_write: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep)); -@@ -306,7 +310,7 @@ int usb_bulk_write(usb_dev_handle *dev, +@@ -306,7 +310,7 @@ ret = write(fd, bytes, size); if (ret < 0) @@ -69,7 +72,7 @@ $NetBSD: patch-ad,v 1.10 2015/10/25 10:1 USB_ERROR_STR(-errno, "error writing to bulk endpoint %s.%d: %s", dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); #else -@@ -328,7 +332,7 @@ int usb_bulk_read(usb_dev_handle *dev, i +@@ -328,7 +332,7 @@ fd = ensure_ep_open(dev, ep, O_RDONLY); if (fd < 0) { if (usb_debug >= 2) { @@ -78,7 +81,7 @@ $NetBSD: patch-ad,v 1.10 2015/10/25 10:1 fprintf (stderr, "usb_bulk_read: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep)); #else fprintf (stderr, "usb_bulk_read: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep)); -@@ -347,7 +351,7 @@ int usb_bulk_read(usb_dev_handle *dev, i +@@ -347,7 +351,7 @@ ret = read(fd, bytes, size); if (ret < 0) @@ -87,7 +90,7 @@ $NetBSD: patch-ad,v 1.10 2015/10/25 10:1 USB_ERROR_STR(-errno, "error reading from bulk endpoint %s.%d: %s", dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); #else -@@ -369,7 +373,7 @@ int usb_interrupt_write(usb_dev_handle * +@@ -369,7 +373,7 @@ fd = ensure_ep_open(dev, ep, O_WRONLY); if (fd < 0) { if (usb_debug >= 2) { @@ -96,7 +99,7 @@ $NetBSD: patch-ad,v 1.10 2015/10/25 10:1 fprintf (stderr, "usb_interrupt_write: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep)); #else fprintf (stderr, "usb_interrupt_write: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep)); -@@ -386,7 +390,7 @@ int usb_interrupt_write(usb_dev_handle * +@@ -386,7 +390,7 @@ do { ret = write(fd, bytes+sent, size-sent); if (ret < 0) @@ -105,7 +108,7 @@ $NetBSD: patch-ad,v 1.10 2015/10/25 10:1 USB_ERROR_STR(-errno, "error writing to interrupt endpoint %s.%d: %s", dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); #else -@@ -403,7 +407,7 @@ int usb_interrupt_write(usb_dev_handle * +@@ -403,7 +407,7 @@ int usb_interrupt_read(usb_dev_handle *dev, int ep, char *bytes, int size, int timeout) { @@ -114,7 +117,7 @@ $NetBSD: patch-ad,v 1.10 2015/10/25 10:1 /* Ensure the endpoint address is correct */ ep |= USB_ENDPOINT_IN; -@@ -411,7 +415,7 @@ int usb_interrupt_read(usb_dev_handle *d +@@ -411,7 +415,7 @@ fd = ensure_ep_open(dev, ep, O_RDONLY); if (fd < 0) { if (usb_debug >= 2) { @@ -123,31 +126,40 @@ $NetBSD: patch-ad,v 1.10 2015/10/25 10:1 fprintf (stderr, "usb_interrupt_read: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep)); #else fprintf (stderr, "usb_interrupt_read: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep)); -@@ -429,17 +433,19 @@ int usb_interrupt_read(usb_dev_handle *d +@@ -429,17 +433,21 @@ USB_ERROR_STR(-errno, "error setting short xfer: %s", strerror(errno)); do { - ret = read(fd, bytes+retrieved, size-retrieved); -+ requested = size - retrieved; -+ ret = read(fd, bytes+retrieved, requested); - if (ret < 0) +- if (ret < 0) -#ifdef __FreeBSD_kernel__ -+#ifdef FreeBSD_like_device_names - USB_ERROR_STR(-errno, "error reading from interrupt endpoint %s.%d: %s", - dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); - #else - USB_ERROR_STR(-errno, "error reading from interrupt endpoint %s.%02d: %s", - dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); - #endif +- USB_ERROR_STR(-errno, "error reading from interrupt endpoint %s.%d: %s", +- dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); +-#else +- USB_ERROR_STR(-errno, "error reading from interrupt endpoint %s.%02d: %s", +- dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); +-#endif - retrieved += ret; - } while (ret > 0 && retrieved < size); -+ else ++ requested = size - retrieved; ++ ret = read(fd, bytes+retrieved, requested); ++ if (ret < 0) { ++ if (errno != EAGAIN) { ++#ifdef FreeBSD_like_device_names ++ USB_ERROR_STR(-errno, "error reading from interrupt endpoint %s.%d: %s", ++ dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); ++#else ++ USB_ERROR_STR(-errno, "error reading from interrupt endpoint %s.%02d: %s", ++ dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); ++#endif ++ } ++ } else + retrieved += ret; + } while (ret > 0 && retrieved < size && ret != requested); return retrieved; } -@@ -477,7 +483,7 @@ int usb_control_msg(usb_dev_handle *dev, +@@ -477,7 +485,7 @@ USB_ERROR_STR(-errno, "error sending control message: %s", strerror(errno)); @@ -156,7 +168,7 @@ $NetBSD: patch-ad,v 1.10 2015/10/25 10:1 } int usb_os_find_busses(struct usb_bus **busses) -@@ -548,7 +554,7 @@ int usb_os_find_devices(struct usb_bus * +@@ -548,7 +556,7 @@ /* best not to play with things we don't understand */ continue; @@ -165,7 +177,7 @@ $NetBSD: patch-ad,v 1.10 2015/10/25 10:1 snprintf(buf, sizeof(buf) - 1, "/dev/%s", di.udi_devnames[0]); #else snprintf(buf, sizeof(buf) - 1, "/dev/%s.00", di.udi_devnames[0]); -@@ -574,7 +580,7 @@ int usb_os_find_devices(struct usb_bus * +@@ -574,7 +582,7 @@ /* we need to report the device name as /dev/ugenx NOT /dev/ugenx.00 * This seemed easier than having 2 variables... */