On Sat, Jan 31, 2009 at 7:18 AM, Allan McRae <al...@archlinux.org> wrote: > Thomas Bächler wrote: >> >> Allan McRae schrieb: >> >>> fakeroot >>> echo (coreutils) >> >> echo is a shell builtin, /bin/echo will never be used. >> >> <snip> >> As I said, echo is a shell builtin, and unless we call /bin/echo >> explicitly, the builtin will be used (it's not only a builtin in bash, but >> also dash, so we should be fine). We could replace 'cat XYZ | command' with >> 'command < XYZ'. >> >>> The install scripts for lilo and vi also fail if bash is not installed >>> (for some unknown reason). Lilo is just and old style "/bin/true" script so >>> is easily fixed but I do not understand these two issues... >> >> No idea here too, maybe one of the commands calls /bin/sh or so. Making >> lilo and vi depend on "sh" or so is okay IMO. > > The echo stuff is just as weird as what is happening with vi and lilo. But > I can replicate the for errors the packages using echo with both > makchrootpkg and "pacman -Sr <root> pkg". Installing bash before these > packages fixes the issue (dash does not). Anyone know what is causing > this?
Yes- /bin/sh is a symlink to /bin/bash, in the bash package. dash cannot install this symlink as it would obviously conflict (although if Ubuntu can do it...). Pacman simply shells out to /bin/sh, so if you create the relevant symlink, things will just work with dash as well. See near the end of the PKGBUILD: http://repos.archlinux.org/viewvc.cgi/dash/trunk/PKGBUILD?revision=25648&view=markup -Dan P.S. There is a new version of dash in [testing] if anyone has noticed; I was going to wait for signoffs after the ISO release.