[arch-dev-public] install scripts in core
Allan McRae
allan at archlinux.org
Sat Jan 31 12:08:28 EST 2009
Dan McGee wrote:
> On Sat, Jan 31, 2009 at 7:18 AM, Allan McRae <allan at 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.
>
OK, that explains why dash does not help, but why are those install
scripts failing? Are you saying that the system needs bash installed
before it can run post_install scripts? More directly to the issue, why
do post_install scripts with "echo" in them fail if bash is not
installed when others seem to run fine (or at least do not report an error)?
Allan
More information about the arch-dev-public
mailing list