Created attachment 187013 [details]
allow both current and POSIX-compliant sh -c
The RB_SET_CONF_VAR macro uses a construct like
sh -c 'command' -- arg0 arg1
and assume that $0 will expand to arg0 and $1 will expand to arg1.
Our current sh implements it that way. However, POSIX specifies that $0 will
expand to -- and $1 will expand to arg0, since the command string is an operand
and not an option-argument. Bug #220587 requests making sh POSIX-compliant in
If the argument after the command string does not start with '-', the current
sh behaves as required by POSIX. Therefore, the macros should be adjusted so
this is always the case.
Tested with poudriere, stable/10 with patched head sh.
The same problem affects lang/ruby23 and lang/ruby24, and the patch is the same (though context differs a bit for lang/ruby24).
ruby22 is now EoL and already removed from ports tree.
Oops, it affects ruby23 and ruby24.