To give everyone an idea of how much simpler the package scripts are that don't use dpkg-statoverride to set permissions, here is the example from the policy document:
postinst: for i in /usr/bin/foo /usr/sbin/bar do # only do something when no setting exists if ! dpkg-statoverride --list $i >/dev/null 2>&1 then #include: debconf processing, question about foo and bar if [ "$RET" = "true" ] ; then dpkg-statoverride --update --add sysuser root 4755 $i fi fi done The corresponding code to remove the override when the package is purged would be: for i in /usr/bin/foo /usr/sbin/bar do if dpkg-statoverride --list $i >/dev/null 2>&1 then dpkg-statoverride --remove $i fi done And here is what it would be with chown/chmod instead: postinst: for i in /usr/bin/foo /usr/sbin/bar do # only do something when no setting exists if ! dpkg-statoverride --list $i >/dev/null 2>&1 then #include: debconf processing, question about foo and bar if [ "$RET" = "true" ] ; then chown sysuser:root $i chmod 4755 $i fi fi done The corresponding code to remove the override when the package is purged would be: nothing. -Brandon
signature.asc
Description: PGP signature