The bug is found in debian/trouser.postinst at line :19[1].
It tries to perform a "pidof udevd" on a machine where it is "systemd-udevd".
Because "pidof udevd" return nothing, than the if statement fails.
As mentioned, above by Edmond, changing the from "pidof udevd" to "pidof systemd-udevd" works... but I think the best approach is what is found on Wily/Xenial and Debian upstream which is to use "udevadm --version"[2] instead.
[1] # ask udev to check for new udev rules (and fix device permissions)
==> if [ -x /etc/init.d/udev ] && pidof udevd > /dev/null; then
udevadm control --reload-rules
udevadm trigger --sysname-match="tpm[0-9]*"
fi
;;
[2] # ask udev to check for new udev rules (and fix device permissions)
==> if [ -e /dev/tpm0 ] && udevadm --version > /dev/null; then
udevadm control --reload-rules ||:
udevadm trigger --sysname-match="tpm[0-9]*" ||:
fi
;;
Explanation :
The bug is found in debian/ trouser. postinst at line :19[1].
It tries to perform a "pidof udevd" on a machine where it is "systemd-udevd".
Because "pidof udevd" return nothing, than the if statement fails.
As mentioned, above by Edmond, changing the from "pidof udevd" to "pidof systemd-udevd" works... but I think the best approach is what is found on Wily/Xenial and Debian upstream which is to use "udevadm --version"[2] instead.
[1] # ask udev to check for new udev rules (and fix device permissions) match=" tpm[0-9] *"
==> if [ -x /etc/init.d/udev ] && pidof udevd > /dev/null; then
udevadm control --reload-rules
udevadm trigger --sysname-
fi
;;
[2] # ask udev to check for new udev rules (and fix device permissions) match=" tpm[0-9] *" ||:
==> if [ -e /dev/tpm0 ] && udevadm --version > /dev/null; then
udevadm control --reload-rules ||:
udevadm trigger --sysname-
fi
;;
Eric