Thread overview
[Issue 21059] install.sh: posix_terminal returns false on Linux Mint 20
Jul 20, 2020
John Hall
Jul 20, 2020
Bastiaan Veelo
Jul 20, 2020
Dlang Bot
Jul 21, 2020
Dlang Bot
July 20, 2020
https://issues.dlang.org/show_bug.cgi?id=21059

--- Comment #1 from John Hall <john.michael.hall@gmail.com> ---
Comments on the forum from Bastiaan Veelo suggested that the issue is not related to a specific version of Ubuntu, but may be due to how bash is (or is not) called.

This also is an issue for using docker. https://github.com/dlang/installer/commit/e084815001390538bbd6fe5be7c2d4d81ee681b7#commitcomment-40487617

--
July 20, 2020
https://issues.dlang.org/show_bug.cgi?id=21059

Bastiaan Veelo <Bastiaan@Veelo.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |Bastiaan@Veelo.net

--- Comment #2 from Bastiaan Veelo <Bastiaan@Veelo.net> ---
Confirmed:

$ curl -fsS https://dlang.org/install.sh | bash -s dmd main: line 178: USERPROFILE: unbound variable

Workaround:

$ wget https://dlang.org/install.sh
$ chmod +x install.sh
$ ./install.sh
$ source ~/dlang/dmd-2.093.0/activate
$ dmd --version
DMD64 D Compiler v2.093.0
Copyright (C) 1999-2020 by The D Language Foundation, All Rights Reserved
written by Walter Bright

So the pipe into bash does not seem to increment $SHLVL.

--
July 20, 2020
https://issues.dlang.org/show_bug.cgi?id=21059

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #3 from Dlang Bot <dlang-bot@dlang.rocks> ---
@veelo created dlang/installer pull request #463 "Fixes issue 21059: installer fails when piped on Posix." fixing this issue:

- Fixes issue 21059.

  The assumption that $SHLVL increases when the script is run does not always
hold. $SHLVL does not increase if the script is piped into bash, thereby
failing to detect Posix. If the default terminal shell is not bash, $SHLVL
might also be 1 on Posix.

https://github.com/dlang/installer/pull/463

--
July 21, 2020
https://issues.dlang.org/show_bug.cgi?id=21059

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #4 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/installer pull request #463 "Fixes issue 21059: installer fails when piped on Posix." was merged into stable:

- 719ebf6f472b2b2d58b56fef2aebbf530cc5bcf3 by Bastiaan Veelo:
  Fixes issue 21059.

  The assumption that $SHLVL increases when the script is run does not always
hold. $SHLVL does not increase if the script is piped into bash, thereby
failing to detect Posix. If the default terminal shell is not bash, $SHLVL
might also be 1 on Posix.

https://github.com/dlang/installer/pull/463

--