With dash as /bin/sh: # rc-update -u * Caching service dependencies ... /etc/init.d/dmcrypt: 150: Syntax error: Bad for loop variable [ ok ] This error is displayed on every boot, even when dmcrypt is not in one of the runlevels. Not sure if it causes issues beyond that. Suggest replacing for (( i = 0 ; i < 3 ; i += 1 )) ; do with for i in 0 1 2 ; do
Hi, any comment? This affects all users who use dash for /bin/sh, not just those who have dmcrypt in one of the runlevels. This is also not an upstream issue -- the problem is in /usr/portage/sys-fs/cryptsetup/files/dmcrypt.rc. The fix is trivial.
It is worth noting that this might now hit stable users of app-admin/eselect-sh
One doesn't need app-admin/eselect-sh to change the default shell to dash (or any other shell). Admittedly, very few people change the system default shell by hand.
(In reply to comment #3) > One doesn't need app-admin/eselect-sh to change the default shell to dash > (or any other shell). Admittedly, very few people change the system default > shell by hand. Agreed. But before the introduction of eselect-sh, changing /bin/sh basically circumvented the package manager and baselayout, meaning that "if you break it, you keep the parts" applied. Now it is more or less officially supported to substitute bash with dash. I think, at least a warning when emerging dmcrypt or eselect-sh is in order. Admittedly, removing the bashism is less work ;)
should be all set now in the tree; thanks for the report! Commit message: Use POSIX compliant for loop http://sources.gentoo.org/sys-fs/cryptsetup/files/dmcrypt.rc?r1=1.2&r2=1.3