2014-04-01 14:09:12 +02:00
--- data/rules/56-hpmud.rules.orig 2014-03-28 20:51:31.600138795 +0100
+++ data/rules/56-hpmud.rules 2014-03-28 21:29:10.461761052 +0100
@@ -1,9 +1,31 @@
2013-07-12 14:20:30 +02:00
# HPLIP udev rules file. Notify console user if plugin support is required for this device.
2011-08-12 12:38:08 +02:00
+# SUSE changed:
2009-08-13 22:54:24 +02:00
+#
2013-07-12 14:20:30 +02:00
+# Exchanged the rule to GOTO hpmud_usb_rules if SUBSYSTEM is "usb"
+# with the rule if SUBSYSTEM is "ppdev" to avoid that the "ppdev" rule
+# is needlessly processed when SUBSYSTEM is "usb".
2010-09-15 16:06:47 +02:00
+#
2013-10-17 17:47:40 +02:00
+# Added GOTO hpmud_rules_end rule to skip the hpmud_usb_rules
+# if SUBSYSTEM is not "usb" or if ENV{DEVTYPE} is not "usb_device" or if SUBSYSTEM is not "ppdev"
2013-07-12 14:20:30 +02:00
+# to avoid that the hpmud_usb_rules are needlessly processed.
2010-09-15 16:06:47 +02:00
+#
2013-07-12 14:20:30 +02:00
+# The rule to automatically "add the printer and install plugin" is disabled
+# because automated installation of non-free proprietary third-party software
+# (here the plugin from HP) should not happen and it can cause whatever kind
+# of strange behaviour see for example https://bugs.launchpad.net/bugs/1197416
2013-09-10 17:18:55 +02:00
+# and https://bugs.launchpad.net/bugs/1221348
2013-07-12 14:20:30 +02:00
+# while in contrast manual printer setup via hp-setup usually "just works"
+# and it is clear for the user what goes on and in case of failure what went wrong.
2013-09-10 17:18:55 +02:00
+#
+# Because the rule to automatically "add the printer and install plugin"
+# is also used to upload firmware into printers that need it
+# see https://bugs.launchpad.net/bugs/1220628
+# a rule that only uploads firmware into printers that need it is added.
2014-04-01 14:09:12 +02:00
2007-07-05 01:02:54 +02:00
ACTION!="add", GOTO="hpmud_rules_end"
2013-10-17 17:47:40 +02:00
-SUBSYSTEM=="ppdev", OWNER="root", GROUP="lp", MODE="0664"
2013-07-12 14:20:30 +02:00
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GOTO="hpmud_usb_rules"
-
2008-02-22 01:30:29 +01:00
+SUBSYSTEM=="ppdev", OWNER="root", GROUP="lp", MODE="0664"
2013-10-17 17:47:40 +02:00
+GOTO="hpmud_rules_end"
2007-10-24 01:50:18 +02:00
2013-07-12 14:20:30 +02:00
LABEL="hpmud_usb_rules"
2007-10-24 01:50:18 +02:00
2014-04-01 14:09:12 +02:00
@@ -12,7 +34,10 @@
2009-06-02 17:38:37 +02:00
2013-07-12 14:20:30 +02:00
# This rule will add the printer and install plugin
2014-04-01 14:09:12 +02:00
-ENV{hp_test}=="yes", PROGRAM="/bin/sh -c 'logger -p user.info loading HP Device $env{BUSNUM} $env{DEVNUM}'", RUN+="/bin/sh -c 'if [ -f /usr/bin/systemctl ]; then /usr/bin/systemctl --no-block start hplip-printer@$env{BUSNUM}:$env{DEVNUM}.service; else /usr/bin/nohup /usr/bin/python /usr/bin/hp-config_usb_printer $env{BUSNUM}:$env{DEVNUM} ; fi &'"
+#ENV{hp_test}=="yes", PROGRAM="/bin/sh -c 'logger -p user.info loading HP Device $env{BUSNUM} $env{DEVNUM}'", RUN+="/bin/sh -c 'if [ -f /usr/bin/systemctl ]; then /usr/bin/systemctl --no-block start hplip-printer@$env{BUSNUM}:$env{DEVNUM}.service; else /usr/bin/nohup /usr/bin/python /usr/bin/hp-config_usb_printer $env{BUSNUM}:$env{DEVNUM} ; fi &'"
2013-09-10 17:18:55 +02:00
+
+# This rule uploads firmware to HP USB printer devices if needed:
+ENV{hp_test}=="yes", PROGRAM="/bin/logger -p user.info udev hpmud.rules runs hp-firmware to test if HP device with USB vendor ID $attr{idVendor} and USB product ID $attr{idProduct} at USB bus ID $env{BUSNUM} and USB device ID $env{DEVNUM} needs firmware and if yes to upload it", RUN+="/usr/bin/hp-firmware -s $env{BUSNUM}:$env{DEVNUM}"
2007-10-24 01:50:18 +02:00
2008-09-15 01:19:26 +02:00
# If sane-bankends is installed add hpaio backend support to dll.conf if needed.
2013-07-12 14:20:30 +02:00
ENV{sane_hpaio}=="yes", RUN+="/bin/sh -c 'grep -q ^#hpaio /etc/sane.d/dll.conf;if [ $$? -eq 0 ];then sed -i -e s/^#hpaio/hpaio/ /etc/sane.d/dll.conf;else grep -q ^hpaio /etc/sane.d/dll.conf;if [ $$? -ne 0 ];then echo hpaio >>/etc/sane.d/dll.conf;fi;fi'"