Package: udftools
Version: 2.0-1
Severity: important

Dear Maintainer,

The new version of udftools introduces the following unguarded call to udevadm
in the postinst:

if [ "$1" = "configure" ]; then
        if which udevadm 1>/dev/null 2>&1; then
                udevadm control --reload
                if dpkg --compare-versions "$2" le "2.0-1~"; then
                        udevadm trigger --action=add --subsystem-match=block 
--property-match=ID_CDROM=1
                fi
        fi
fi

udevadm can exist but be non-functional, such as inside a chroot. Upgrading
udftools currently results in the following (with set -x added to provide
additional debugging output from the postinst)

Setting up udftools (2.0-1) ...
+ [ configure = configure ]
+ which udevadm
+ udevadm control --reload
dpkg: error processing package udftools (--configure):
 installed udftools package post-installation script subprocess returned error 
exit status 2
Errors were encountered while processing:
 udftools
E: Sub-process /usr/bin/dpkg returned an error code (1)

Changing this to have yet another 'if' is enough to solve the problem:

    if udevadm control --reload; then
      …
    fi

codesearch also indicates that many other packages just add '|| true' to
simply suppress the error

https://codesearch.debian.net/search?q=udevadm.control.--reload+path%3Apostinst

cheers
Stuart

Reply via email to