I'm not talking about the user overriding the shell specifically. I'm
talking about users who genuinely use a non-POSIX shell as their terminal
shell. Then just running ./configure would fail if configure was to respect
$SHELL.

Or rather you're saying that only POSIX-compatible shells should set $SHELL.
behdad
http://behdad.org/


On Wed, May 1, 2024 at 2:45 PM Mohammad Akhlaghi <moham...@akhlaghi.org>
wrote:

> Thanks Behdad,
>
> The problem is that I do not have root permissions on the system with the
> faulty '/bin/sh': I cannot change '/bin/sh' and need to build my programs
> with a custom shell.
>
> If the user specifies a wrong shell (not the default '/bin/sh'), it is
> their own responsibility that it is POSIX-compatible. The same way that a
> user can give a non-GNU Make executable to the GNUMAKE variable.
>
> In short, when a user changes defaults, it is their resposibility, not the
> developer's. So no need to worry about that; the important thing is to give
> users the freedon to customize for their custom environments (as GNU
> Autoconf does for example; but Autoconf is not used in FreeType).
>
> Cheers,
> Mohammad
>
>
>
> On May 1, 2024 10:25:54 PM GMT+02:00, Behdad Esfahbod <beh...@behdad.org>
> wrote:
>
>> There's no guarantee that the user's shell is sh-compatible. autoconf
>> really means sh here, because that's the shell the script is written for.
>> Just symlink your favorite shell to sh then, if it's compatible.
>>
>> behdad
>> http://behdad.org/
>>
>>
>> On Wed, May 1, 2024 at 2:13 PM Mohammad Akhlaghi <moham...@akhlaghi.org>
>> wrote:
>>
>>> Hi again,
>>>
>>> I was able to find a cleaner hack by running this command before the
>>> './configure' script:
>>>
>>> export GNUMAKE="make SHELL=$SHELL"
>>>
>>> Afterwards, FreeType successfully ran with my desired shell.
>>>
>>> But generally, it would greatly help those building FreeType from source
>>> if the configure script accounts for the 'SHELL' environment variable.
>>>
>>> Thanks a lot for all the nice work on FreeType,
>>> Cheers,
>>> Mohammad
>>>
>>> On 5/1/24 9:00 PM, Mohammad Akhlaghi wrote:
>>> > Dear Freetype developers,
>>> >
>>> > I was trying to build FreeType from source and noticed that the
>>> > './configure' script does not account for the 'SHELL' environment and
>>> > will always use '/bin/sh'.
>>> >
>>> > Looking at the source of the './configure' script, I was able to fix
>>> the
>>> > problem by manually adding a 'SHELL=$SHELL' in line 135 of the
>>> > './configure' script:
>>> >
>>> >
>>> https://gitlab.freedesktop.org/freetype/freetype/-/blob/master/configure?ref_type=heads#L135
>>> >
>>> > Accounting for the user's given SHELL is common in many programs when
>>> > building from source, so it would be good if you could account for it
>>> in
>>> > future versions of FreeType also.
>>> >
>>> > Cheers,
>>> > Mohammad
>>>
>>>

Reply via email to