ifupdown package calls run-parts with hardcoded path preventing use with run-parts package
Package busybox installs /bin/run-parts as a softlink to /bin/busybox, package run-parts installs /usr/bin/run-parts binary.
Whilst trying to debug a network interface issue I ran "ifup --verbose eth0" which gives multiple errors when it tried to run scripts:
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d /bin/run-parts: unrecognized option: verbose
This is because Busybox's run-parts does not recognise the "--verbose" option whereas the full version of run-parts does. Even when the run-parts package is installed ifup will only use the Busybox version due to the hardcoded "/bin/" path.
Two solutions, either:
(a) modify ifupdown/execute.c to change its use of "/bin/run-parts" to just "run-parts" and so it will find the binary from the run-parts package, if installed, before the Busybox one, so permitting the use of the "--verbose" option.
or
(b) modify the run-parts package to install its binary into /bin so replacing the Busybox softlink.