I've just been bitten by this bug. Once I discovered what it was, I changed /bin/sh to bash, to get the job at hand done. Then I went to the maintainer of the script to see if they cared. Someone around changed to using printf(), which resolved the problems and allowed me to go back to the faster dash (and it makes a significant difference here). If one of them had not fixed the script, my solution would've been to fix it myself.
I think we can all agree, including the Ubuntu maintainers, that perhaps changing it without more explicit warning was not the best plan. But, the whole point of standards is that when changing while maintaining compliance you shouldn't have to expect to give warning. The whole point is that this *shouldn't* have been a problem, but it is one. It's a problem to those people who didn't test before deploying, and it's *caused* by the people who made assumptions in their code (that /bin/sh is bash). You and I both know the rule about assumptions. Ubuntu didn't make an assumption. There are rules for what /bin/sh is supposed to do, and they worked within them. So, Ubuntu highlighted the problem, though not in the most friendly way. And you're forced to see a conflict between "how people do things" and "how things are supposed to be done." But the solution isn't to continually complain at Ubuntu: The change has been made, and to them it's 'the right thing to do' for multiple reasons. To those of you who complain about the economics of the situation, because of time: Dash saves time. For some of us it can save many hours per week. And for people like me, who've only encountered one script that dies, fixed that script, and discovered that now it runs in ~10% of the time (a fact of significance considering that it's run quite often, and when it is, I have to wait on the results), perhaps I see the change as not so bad one. Bashims are bad, Dashims are surely bad too. Isms in general. If they'd announced it six months ago, then made the change now, you'd still be complaining because many upstream providers wouldn't have changed. SOMEONE had to take the step, to say 'standards exist, and we should follow them', because it's a battle cry Linux has been shouting at some other people for a long time, and it's pointless if it doesn't live up to it itself. So, you're not going to win them over by complaining, because honestly, your complaints boil down to a lot of whining about how you're more important than the people it *does* benefit, those people who don't know about shell scripts but gain from the speed improvement. Your half hour cost learning how to change to bash, vs the many, many more little savings here and there that *do* add up. Just accept that the change has been made. They rejected the bug report, which means the *decision* has been made. Pestering them about it is just going to make them angry, and angry people get resentful, and are much less likely to change. Either come up with rational arguments for doing it (rational beyond 'everybody else does it so you should to' style logic), offer up a better alternative, or accept that you don't get to make decisions about where Ubuntu goes, and get about fixing some non-compliant scripts. -- Script that are using bash could be broken with the new symlink https://bugs.launchpad.net/bugs/61463 You received this bug notification because you are a member of Ubuntu Bugs, which is the bug contact for Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs