[packages/mksh] - behave as proper sh when invoked as /bin/sh, wothout fancy, incompatible hacks - rel 2

Kacper Kornet draenog at pld-linux.org
Wed Dec 17 17:47:05 CET 2014


On Wed, Dec 17, 2014 at 04:06:23PM +0100, Jan Rękorajski wrote:
> On Wed, 17 Dec 2014, Kacper Kornet wrote:

> > On Tue, Dec 16, 2014 at 11:29:05PM +0100, baggins wrote:
> > > commit e8ed3f0e4ba55966f3aa461d8deb6617f32d106e
> > > Author: Jan Rękorajski <baggins at pld-linux.org>
> > > Date:   Tue Dec 16 23:30:41 2014 +0100

> > >     - behave as proper sh when invoked as /bin/sh, wothout fancy, incompatible hacks
> > >     - rel 2

> > This change breaks our rc-scripts:

> > $ rpm -q mksh
> > mksh-50d-1.x86_64
> > $ /bin/sh -c "echo -en '\n'" 

> > $ rpm -q mksh
> > mksh-50d-2.x86_64
> > $ /bin/sh -c "echo -en '\n'"
> > -en \n

> > There was a small discussion about it some time ago:
> > https://lists.pld-linux.org/mailman/pipermail/pld-devel-pl/2011-May/153795.html

> Yea, I fell for it. And disabled {} expansion.
> This 'echo' behavior is broken, totally. It prevents glibc to build for
> x32, some scripts there use '\\n\ and '\n' in echo and expect it to pass
> - every shel just passes it as-is without -e to echo, but not mksh.

Not the only one. Debian has the same problem as they use dash as
/bin/sh:

https://sourceware.org/bugzilla/show_bug.cgi?id=16704

It looks like the glibc developers are aware of the problem. In the
meantime maybe patch this script to use bash instead of sh.

-- 
  Kacper


More information about the pld-devel-en mailing list