Since the update to cups-filter 1.8.2, my printer (which requires foo2zjs) stopped working. On investigation I found that cups was trying to invoke the /usr/local/bin/foo2zjs-wrapper by running "/bin/bash foo2zjs-wrapper [args]" Configure is apparently defaulting to /bin/bash as the "modern shell" to use. This can be overridden by the --with-shell= option. The attached patch made that error go away.
Created attachment 168066 [details] Patch to add "--with-shell=/usr/local/bin/bash" to configure args Naturally, for correct operation, bash will have to be made a required dependency.
Fixed in ports r411031.
Are you certain that using "/bin/sh" is good enough to satisfy the "Modern shell" requirements of the cups-filter scripts? They were specifying bash because they use scripts that may use constructs not supported by the Bourne shell. From the foomatic-rip man page: preferred_shell: [<path>/]<executable> Sets the preferred shell to use when executing FoomaticRIPCommandLine and friends. Several PPD files use shell constructs that require a more modern shell like bash, zsh, or ksh. That was why my kludge used /usr/local/bin/bash. My own printer does not require bash, because the script it uses specifies #!/bin/sh anyway, but other users might have this issue.
I can't be 100% sure, but our sh supports some of the commonly used bash extensions so it should be fine.