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