PKGBUILDs/core/udev/cups-hplip-fix.patch
2009-10-09 21:17:35 -05:00

34 lines
1.5 KiB
Diff

From: Martin Pitt <martin.pitt@ubuntu.com>
Date: Fri, 4 Sep 2009 15:12:28 +0000 (+0200)
Subject: make raw USB printer devices accessible for lp
X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=f61e72d8973cf9d889a4f1233150870085c0b3e1
make raw USB printer devices accessible for lp
Starting from version 1.4, cups now uses libusb and printer USB devices instead
of the usblp generated /dev/usb/lpX ones. In order to not require the cups USB
backend to run as root now, change raw USB printer devices to be root:lp 0660,
similar to usblpX devices.
This might also enable the hplip backend to not run as root, since this has
always used raw device nodes.
https://launchpad.net/bugs/420015
---
diff --git a/rules/rules.d/50-udev-default.rules b/rules/rules.d/50-udev-default.rules
index 2507420..4e9a737 100644
--- a/rules/rules.d/50-udev-default.rules
+++ b/rules/rules.d/50-udev-default.rules
@@ -60,6 +60,10 @@ SUBSYSTEM=="ppdev", GROUP="lp"
SUBSYSTEM=="usb", KERNEL=="lp*", NAME="usb/%k", SYMLINK+="usb%k", GROUP="lp"
KERNEL=="lp[0-9]*", GROUP="lp"
KERNEL=="irlpt[0-9]*", GROUP="lp"
+# hplip and cups 1.4+ use raw USB devices, so permissions should be similar to
+# the ones from the old usblp kernel module
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}==":0701*:", GROUP="lp", MODE="660"
# block
SUBSYSTEM=="block", GROUP="disk"