GNU bug report logs - #51780
[PATCH] environment: Fix ‘--check’ with exported PS1 variable.

Previous Next

Package: guix-patches;

Reported by: Thiago Jung Bauermann <bauermann <at> kolabnow.com>

Date: Thu, 11 Nov 2021 23:57:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #10 received at 51780-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Thiago Jung Bauermann <bauermann <at> kolabnow.com>
Cc: 51780-done <at> debbugs.gnu.org
Subject: Re: bug#51780: [PATCH] environment: Fix ‘--check’ with exported PS1 variable.
Date: Sun, 14 Nov 2021 23:16:51 +0100
Hi,

Thiago Jung Bauermann <bauermann <at> kolabnow.com> skribis:

> If your .bashrc (unnecessarily) exports PS1 and you’re in a non-login
> shell, Guix crashes:
>
> user <at> popigai:~$ guix shell --check coreutils
> guix shell: checking the environment variables visible from shell '/bin/bash'...
> Backtrace:
>           14 (primitive-load "/home/user/.config/guix/current/bin/g…")
> In guix/ui.scm:
>    2206:7 13 (run-guix . _)
>   2169:10 12 (run-guix-command _ . _)
> In ice-9/boot-9.scm:
>   1752:10 11 (with-exception-handler _ _ #:unwind? _ # _)
>   1752:10 10 (with-exception-handler _ _ #:unwind? _ # _)
> In guix/store.scm:
>    658:37  9 (thunk)
>    1320:8  8 (call-with-build-handler _ _)
>    1320:8  7 (call-with-build-handler #<procedure 7fe393b7c420 at g…> …)
> In guix/status.scm:
>     800:4  6 (call-with-status-report _ _)
> In guix/scripts/environment.scm:
>    951:12  5 (_)
> In guix/store.scm:
>   2119:24  4 (run-with-store #<store-connection 256.99 7fe39627e500> …)
> In guix/scripts/environment.scm:
>    521:35  3 (_ _)
> In unknown file:
>            2 (string=? ("PS1" . "${debian_chroot:+($debian_chroot)…") …)
> In ice-9/boot-9.scm:
>   1685:16  1 (raise-exception _ #:continuable? _)
>   1685:16  0 (raise-exception _ #:continuable? _)
>
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> In procedure string=: Wrong type argument in position 1 (expecting string): ("PS1" . "${debian_chroot:+($debian_chroot)}\\[\\033[01;32m\\]\\u@\\h\\[\\033[00m\\]:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]${EXTRA}\\$ ")
> user <at> popigai:~$
>
> This is because the match pattern doesn’t expect `(vhash-assoc "PS1" actual)`
> to return a pair.
>
> * guix/scripts/environment.scm (validate-child-shell-environment): Change
> match pattern to expect a pair.

Oops, good catch!  Applied, thanks.

Ludo’.




This bug report was last modified 3 years and 246 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.