Subject: Re: bug#61486: [PATCH] system: Update skeleton gdbinit.

From: Ludovic Courtès <[email-masked]>
Date: Mon, 27 Feb 2023 23:34:39 +0100

Hi Efraim,

Efraim Flashner <[email-masked]> skribis:

> * gnu/system/shadow.scm (default-skeleton): Update gdbinit to also
> search for debug packages in guix-home.
> (skeleton-directory): Move .gdbinit to .config/gdb/gdbinit.

[...]

>  (use-modules (gdb))
>  (execute (string-append \"set debug-file-directory \"
>                          (or (getenv \"GDB_DEBUG_FILE_DIRECTORY\")
> -                            \"~/.guix-profile/lib/debug\")))
> +                            \"~/.guix-profile/lib/debug\"
> +                            \"~/.guix-home/profile/lib/debug\")))

This won’t have the desired effect:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> (or #f "a" "b")
$10 = "a"
--8<---------------cut here---------------end--------------->8---

Perhaps we should check with ‘file-exists?’ which one to pick, probably
giving higher precedence to ~/.guix-home/profile since Guix Home users
might have both (I do).

> +                       (when (file-exists? ".gdbinit")
> +                         (mkdir-p ".config/gdb")
> +                         (rename-file ".gdbinit" ".config/gdb/gdbinit"))

I couldn’t believe it so I had to check the manual and yes, GDB does
look for ~/.config/gdb/gdbinit!  Incredible.

Thanks,
Ludo’.