Package: trousers
Version: 0.3.9-3
Followup-For: Bug #581505

Hi,

I came across the same bug as Taisuke Yamada and digged into the
problem (running as root is not an option for me):

What happens is the following:
1. The unpacking process creates /lib/udev/rules.d/45-trousers.rules
   (which sets the permissions for /dev/tpm[0-9]*
2. Udev imediately examines this. Since the user and group "tss" do not
   exist at that point, a warning is issued to syslog
   (udevd: specified user 'tss' unknown)
3. After unpacking postinst is executed, which creates user and group
   "tss" and executes 'udevadm trigger --sysname-match="tpm[0-9]*"'

Because udev examines the rule "too early" (and doesn't reexamine it
once the tss user and group are created) the udevadm trigger will
actually cause the device to be owned by root. This prevents the daemon
from being started and, thus, causes the init-script to fail.

One of these two solutions should fix the problem:
1. Create the tss user and group during preinst instead of postinst
2. Ask udev to reexamine the rules again by executing
   'udevadm control --reload-rules' before executing
   'udevadm trigger ...'

The first method seems cleaner to me.

Regards,
Lukas Schwaighofer


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to