Subject: Re: bug#46537: ‘uname -s’ from Gash-Utils-Boot returns nothing

From: Ludovic Courtès <[email-masked]>
Date: Wed, 17 Feb 2021 16:16:29 +0100

Hi,

(+Cc: gash-devel.)

Efraim Flashner <[email-masked]> skribis:

> On Mon, Feb 15, 2021 at 06:24:46PM +0100, Ludovic Courtès wrote:
>> Gash-Utils ‘uname’ seems to be confused:
>> 
>> --8<---------------cut here---------------start------------->8---
>> $ $(guix build -e '(@@ (gnu packages commencement) gash-utils-boot)')/bin/uname -a
>> Linux ribbon 5.10.10-gnu #1 SMP 1 x86_64 GNU/Linux
>> $ $(guix build -e '(@@ (gnu packages commencement) gash-utils-boot)')/bin/uname -s
>> 
>> $ guix describe
>> Generacio 175	Feb 04 2021 22:52:40	(nuna)
>>   guix 5ae09d7
>>     repository URL: https://git.savannah.gnu.org/git/guix.git
>>     branch: master
>>     commit: 5ae09d7979a0696d862b9555314eab199f7ce576
>> $ uname -s
>> Linux
>> --8<---------------cut here---------------end--------------->8---

I forgot to mention the ‘uname -s’ problem is hidden by the fact that we
always pass ‘--build’ to ‘configure’.  When we don’t do that,
‘config.guess’ runs and fails.

> From eedd0ee769393eea3fcb9b7131d469ea15d9f179 Mon Sep 17 00:00:00 2001
> From: Efraim Flashner <[email-masked]>
> Date: Tue, 16 Feb 2021 11:50:20 +0200
> Subject: [PATCH] uname: Fix uname -s.
>
> * gash/commands/uname.scm (uname): Remove duplicate kernel-name? match.
> ---
>  gash/commands/uname.scm | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/gash/commands/uname.scm b/gash/commands/uname.scm
> index 2a89c6a..fa15c69 100644
> --- a/gash/commands/uname.scm
> +++ b/gash/commands/uname.scm
> @@ -49,7 +49,6 @@
>           (processor? (option-ref options 'processor #f))
>           (hardware-platform? (option-ref options 'hardware-platform #f))
>           (operating-system? (option-ref options 'operating-system #f))
> -         (kernel-name? (not (or all? kernel-name? node-name? kernel-release? kernel-version? machine? processor? hardware-platform? operating-system?)))

I wonder if this should be kept but changed to:

  (kernel-name? (or kernel-name? (not (or …))))

but I’m not entirely sure about the logic.

Gash folks, WDYT?

Thanks,
Ludo’.