Comment 29 for bug 195782

Revision history for this message
Johannes Meixner (jsmeix) wrote :

I run it during package buid in the RPM spec file as follows:

Source104: create_hal_global_fdi_from_models.dat
...
bash %{SOURCE104} data/models/models.dat >70-hpmud.fdi
install -d %{buildroot}%{_sysconfdir}/hal/fdi/policy/10osvendor
install -m644 70-hpmud.fdi %{buildroot}%{_sysconfdir}/hal/fdi/policy/10osvendor/70-hpmud.fdi

so that during package install the
/etc/hal/fdi/policy/10osvendor/70-hpmud.fdi
file gets installed.

We use hal-resmgr to grant read/write access permissions
for USB scanners only for those users who are logged in locally
(i.e. via console od XDM/KDM) i.e. those users who sit in front
of the computer where the USB scanner is connected to.

When a USB scanner is plugged, udev triggers HAL which
triggers hal-resmgr to grant read/write access permissions
for the currently locally logged in users via an ACL setting
on the scanner device file /dev/bus/usb/xxx/yyy.

When the scanner is already plugged and later a user logs
in locally, PAM triggers hal-resmgr which inspects the HAL data
if there is a device where info.capabilities contains scanner
and if yes hal-resmgr grants read/write access permissions
for this device via setting or changing the ACL on the
scanner defice file /dev/bus/usb/xxx/yyy

Unfortunalely HAL may still not notice changed fdi files
during runtime of HAL, see
https://bugzilla.novell.com/show_bug.cgi?id=218393#c28
so that it is crucial to have the fdi file in place
before the system boots (i.e. before HAL starts)
because it is not possible to restart the whole HAL
machinery only because one fdi file changed
because a restart of the whole HAL machinery could
have any unexpected side effect (e.g. umount and
remount of removable USB mass storage devices
which are currently in use).