* Michael Matz <matz(a)suse.de> [2010-03-25 14:47]:
I still believe that we should treat bash scripts
labeled as /bin/sh
as bugs, but Michael is right that it doesn't justify a fatal error.
Then again, we urgently need some kind of rpmlint statistic for our
It is a bug
and it should be treated as such,
Not necessarily. It's always the question of how common that bug is, if
it's so common that it became sort of it's own de-facto standard, the
issues aren't black-white anymore. Don't get me wrong, I'm all for
strictly adhering to standards, everybody who ever came to me with "your
compiler miscompiles my code" knows that ;-) But sometimes we do
implement extensions if a certain type of error became too common.
You're right that the work needed to fix such bugs needs to be taken into
account, which in this particular case is very low (1s/sh/bash/), per
incidence. It's the sum of all those small changes I'm worried about,
hence we should gradually go there, and in the mean-time not throw errors
I agree and I can understand the concerns of maintainers about
additional workload, my only concern is/was that we might chase
a moving target as packages get added or updated.
particularly because changing #!/bin/sh to
#!/bin/bash is not that
difficult. I mean you also don't specify K&R mode if you want to compile
People don't think. If they write "#!/bin/sh" they don't mean
'give me a
SUSv3 shell', they mean 'gimme some shell-thingy-stuff'. Most people
writing shell scripts didn't ever hear about SUSv3. So it's a bit
unforgiving to yell back at them saying 'Hah! Didn't you know what you
were requesting?', true as it might be.
That's a sad fact but no reason not to do somthing about it :)
BTW, it's also nowhere mandated that /bin/sh has to be the SUSv3
shell, e.g. on Solaris 10 and the now defunct SXCE it is the
Bourne shell, however there seems to be a convergence towards
offering a shell that at least supports SUSv3 (on all Linux
distros, Opensolaris, newer OS X, and HP-UX).
I still think
it is possible, certainly not before 11.3 but as a
long term goal. However, at one point in time we need to say
that all _newly written_ maintainer scripts must be tested with
dash if they specify /bin/sh and that packages are tested on a
system with /bin/sh pointing to dash.
That's okay to _require_ after most of the work is already done. Until
then it can only be a friendly request.
There is now a checkbashisms package in home:gberh, should I
submit that to devel:tools or openSUSE:Tools? I was a bit
uncomfortable with introducing a perl dependency in the dash
package. Ideally wed have a devscripts package to collect such
scripts like Fedora and Debian have.
To unsubscribe, e-mail: opensuse-packaging+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-packaging+help(a)opensuse.org