Given the comments on the HPLIP site, I've rebuilt a copy of the current F12 hplip 3.9.8 RPM on F10, adding my previously mentioned debug and throttle patches for good measure, as in:
* Wed Aug 19 2009 Tim Waugh <email address hidden> 3.9.8-6
- Make sure to avoid handwritten asm.
- Don't use obsolete configure options.
$
The F12 SRPM appears to rebuild without modification on F10, BTW.
This all seems to work Ok. No hangs so far, but then I haven't been using it for very long...
Meanwhile, the backport fails on a couple of issues, which I've had to manually work round.
Firstly, the SELinux policy for hplip-3.9.8 seems to need an additional permission so that hplip can read /var/lib/hp/hplip.state. I would imagine that this permission already exists in F12's current selinux-policy.
/dev/bus/usb ends up with a missing group permission. Presumably hplip version 2 set this itself somehow? Anyhow, F12 seems to fix this by making the whole of /dev/bus/usb chmod 664. I've limited the change by making the g+w permission only apply to HP branded devices with this tweak to udev:
Given the comments on the HPLIP site, I've rebuilt a copy of the current F12 hplip 3.9.8 RPM on F10, adding my previously mentioned debug and throttle patches for good measure, as in:
$ rpm -q --changelog hplip| head
* Mon Aug 24 2009 Ted Rule <email address hidden> 3.9.8-6c
- Add hpmud debug patch
* Mon Aug 24 2009 Ted Rule <email address hidden> 3.9.8-6b
- Add bug throttle patch
* Wed Aug 19 2009 Tim Waugh <email address hidden> 3.9.8-6
- Make sure to avoid handwritten asm.
- Don't use obsolete configure options.
$
The F12 SRPM appears to rebuild without modification on F10, BTW.
This all seems to work Ok. No hangs so far, but then I haven't been using it for very long...
Meanwhile, the backport fails on a couple of issues, which I've had to manually work round.
Firstly, the SELinux policy for hplip-3.9.8 seems to need an additional permission so that hplip can read /var/lib/ hp/hplip. state. I would imagine that this permission already exists in F12's current selinux-policy.
$ cat selinuxpolicy/ localhplip. te
module localhplip 1.0.0;
####### ####### ####### ####### ####### #####
#
# Declarations
#
require {
type hplip_t;
type var_lib_t;
type file_t;
class file { read_file_perms };
}
# Grant hplip permission to read /var/lib/ hp/hplip. state e3f1-4ec5- b4be-51cca20477 7d
# Aug 26 10:29:08 workstation setroubleshoot: SELinux is preventing python (hplip_t) "read" to ./hplip.state (var_lib_t). For complete SELinux messages. run sealert -l fbafa21b-
allow hplip_t var_lib_t:file { read_file_perms };
auditallow hplip_t var_lib_t:file { read_file_perms };
$
Secondly, a variant of bugzilla 424331 becomes a problem:
https:/ /bugzilla. redhat. com/show_ bug.cgi? id=424331
/dev/bus/usb ends up with a missing group permission. Presumably hplip version 2 set this itself somehow? Anyhow, F12 seems to fix this by making the whole of /dev/bus/usb chmod 664. I've limited the change by making the g+w permission only apply to HP branded devices with this tweak to udev:
[ejtr@topaz ~]$ grep usb /lib/udev/ rules.d/ 50-udev- default. rules =="usb_ device" , ATTRS{idVendor} =="03f0" , NAME="bus/ usb/$env{ BUSNUM} /$env{DEVNUM} ", GROUP="lp", MODE="0664" =="usb_ device" , ATTRS{idVendor} !="03f0" , NAME="bus/ usb/$env{ BUSNUM} /$env{DEVNUM} ", MODE="0644"
...
# libusb device nodes
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}
SUBSYSTEM=="usb", KERNEL=="lp*", NAME="usb/%k", SYMLINK+="usb%k", GROUP="lp"
...
$