From brenton @end|ng |rom w|ern|k@org  Wed Apr 14 15:19:53 2021
From: brenton @end|ng |rom w|ern|k@org (Brenton Wiernik)
Date: Wed, 14 Apr 2021 09:19:53 -0400
Subject: [Rd] Sys.timezone() fails on Linux under Microsoft WSL
In-Reply-To: <24694.39334.41561.957614@stat.math.ethz.ch>
References: <0LuO6D-1leFVX1GJL-011mQG@mrelay.perfora.net>
 <24694.39334.41561.957614@stat.math.ethz.ch>
Message-ID: <1M6DvY-1lUTZJ1HBo-006bPO@mrelay.perfora.net>

That would work.

Sys.info()['release']
#                          release 
# "5.4.72-microsoft-standard-WSL2"

Brenton


From: Martin Maechler
Sent: Wednesday, April 14, 2021 03:28
To: Brenton Wiernik
Cc: r-devel at r-project.org
Subject: Re: [Rd] Sys.timezone() fails on Linux under Microsoft WSL

>>>>> Brenton Wiernik 
>>>>>     on Tue, 13 Apr 2021 09:15:50 -0400 writes:

    > In Microsoft?s Windows Subsystem for Linux (WSL or WSL2),
    > there is not system framework, so utilities that depend on
    > it fail. This includes timedatectl which R uses in
    > Sys.timezone(). The timedatectl utility is present on
    > Linux systems installed under WSL/WSL2, but is
    > non-functional. So, when Sys.timezone() checks for
    > Sys.which("timedatectl"), it receives a false
    > positive. The subsequent methods after this if () do work,
    > however.

    > This can be fixed if line 42 of Sys.timezone() were changed from:

    > if (nzchar(Sys.which("timedatectl"))) {

    > to:

    > if (nzchar(Sys.which("timedatectl")) && !grepl("microsoft", system("uname -r", intern = TRUE), ignore.case = TRUE)) {

    > "uname -r" returns for example:  "5.4.72-microsoft-standard-WSL2"

    > So checking for "microsoft" or "WSL" would probably work.

    > Brenton Wiernik

Thank you.  This all makes sense.
However,  using system("uname -r")  creates another platform
dependency (it fails, i.e., signals an error, e.g., on our Windows Server).

Could  Sys.info()  be used instead?
What does it give on your platform?



    > [[alternative HTML version deleted]]

    > ______________________________________________
    > R-devel at r-project.org mailing list
    > https://stat.ethz.ch/mailman/listinfo/r-devel


	[[alternative HTML version deleted]]



[Rd] Sys.timezone() fails on Linux under Microsoft WSL
Brenton Wiernik