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.
Steps to Reproduce:
1. use a POSIX shell for /bin/sh (ie dash)
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
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 *... ]
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.