On 3/25/2019 8:02 AM, Adam Williamson wrote:
On Mon, 2019-03-25 at 12:59 +0100, Dridi Boukelmoune wrote:
And since RPM appears to be configurable for the
default interpreter, have it use /usr/bin/bash by default.
TBH, it seems to me reasonable that we just do this.

If our position is that we actually expect Fedora package scriptlets to
be executed by bash and don't think it's a problem if they don't work
when executed by some other shell, why not this make this clear and
explicit in this way instead of having the default be sh, but then tell
people sh must be bash?

One caveat: I'm not sure current RPM allows this to be configured separately for builds versus installs.

There's a %_buildshell macro as of 2.4.101, but this only references %prep/%build/%install/%check/etc...
https://github.com/rpm-software-management/rpm/blob/ba85c95963f9b62f237c0442f6b5aca3e355fa83/macros.in#L801

https://github.com/rpm-software-management/rpm/blob/ff4b9111aeba01dd025dd133ce617fb80f7398a0/lib/rpmscript.c#L408
...seems like the default for unspecified %pre/%post/etc scriptlets might fall to the compiled-in /bin/sh. And the configuration of *that* might be the rejected proposal at http://web.archive.org/web/20150821020837/http://rpm.org/ticket/877

-jc