modprobe.sh and move_tmp_persistent_rules.sh are not sh POSIX scripts because both include /etc/init.d/functions.sh which is a bash script. Reproducible: Always Steps to Reproduce: 1. use a POSIX shell for /bin/sh (ie dash) 2. reboot Actual Results: lot of errors when loading udev : /etc/init.d/functions.sh: 7: [[: not found /etc/init.d/functions.sh: 10: declare: not found /etc/init.d/functions.sh: 11: declare: not found /etc/init.d/functions.sh: 87: [[: not found S/etc/init.d/functions.sh: 87: [[: not found /etc/init.d/functions.sh: 96: [[: not found /etc/init.d/functions.sh: 104: [[: not found /etc/init.d/functions.sh: 306: Syntax error: Bad substitution Expected Results: normal starting without error. To close this bug, replace #!/bin/sh by #!/bin/bash in both modprobe.sh and move_tmp_persistent_rules.sh
So upgrade your baselayout, not an udev problem.
It's not a problem with baselayout! equery b /lib/udev/modprobe.sh [ Searching for file(s) /lib/udev/modprobe.sh in *... ] sys-fs/udev-114 (/lib/udev/modprobe.sh)
functions.sh is provided by baselayout. Upgrade to baselayout-2, "problem" solved.
It's not a solution for two reasons: - the problem still exists - baselayout-2 is masked Is-it really a big difficulty to add two letters in two scripts? Please tell me, next time I will save my time...
We don't support anything but /bin/bash as /bin/sh symlink on <baselayout-2 Please, leave the bug alone, there's no non-posix stuff in udev.