On Fri, 2019-02-08 at 17:35 +0100, Jan Engelhardt wrote:
On Friday 2019-02-08 15:03, Martin Wilck wrote:
For me the question is, what's the benefit?
Off the top of my head and not very scientifically measured, ./configure for kopano.spec completes 15% faster with pbosh.
That's truly interesting. But I can bounce back your argument: you could surely run "pbosh ./configure" to the same effect (what's pbosh, btw? did you mean posh?). Btw the comparison is a bit unfair: "configure", by design, is written in the most portable shell dialect possible, forfeiting all chances for bash to catch up with optimized builtins. There is some evidence that bash is not the fastest of shells ( https://unix.stackexchange.com/questions/148035/is-dash-or-some-other-shell-... ). OTOH, shell script performance matters much less these days than it used to.
Which leaves us with SUSE-specific software, and from a glance at e.g. github.com/openSUSE/sysconfig, they all quite consistently declare bash. I would argue that, in fact, people rather write #!/bin/bash these days just because it's in more or less every howto, and no newbie wants to have to deal the significant changes that a POSIX sh would bring.
But isn't that also an argument for having /bin/sh always point to bash? Like it or not, bash is the "de-facto standard" (yuck) shell today under Linux. People expect it to be that way.
Since I literally get to see every new line of spec code due to factory-review, many specfiles have already gotten their treatment (if one was even needed). The upside is that specfiles don't need a lot of work because everyone tries to keep them short anyway and reuse macros due to the volume of it all.
What rules do you follow in this review work?
* Does it build? No => back to the drawing board (reject) [...]
Thanks a lot for the extensive description, I was merely interested in your rules wrt to shell scriptlets :-)
* https://en.opensuse.org/openSUSE:Packaging_guidelines and https://en.opensuse.org/openSUSE:Specfile_guidelines nonconformance => SR to DP, so I get the credit for fixing it
* Anything else appears worth fixing => SR to DP
Do you require POSIX compliance?
No.
Or compliance with dash's features, which is not the same?
No.
I'm surprised - "No" to both of these, yet you reject bash-isms? Back to my point - openSUSE needs to have a reliable standard what kind of shell syntax is acceptable in scriptlets which don't use "-p". IOW, packagers need good guidance how to write scriptlets, and ideally a tool to verify that they comply. What should that standard be, and how would we define it, if not by "it complies iff it runs correctly under xyzsh" ? I'd be fine with xyzsh being dash rather than bash, but we need to settle down on _something_. Thanks, Martin -- Dr. Martin Wilck <mwilck@suse.com>, Tel. +49 (0)911 74053 2107 SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org