On Mon, Feb 27, 2023 at 11:34:39PM +0100, Ludovic Courtès wrote: > Hi Efraim, > > Efraim Flashner 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--- Not the first time I've gotten that wrong :) > 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). So then how about something like this? (or (getenv \"GDB_DEBUG_FILE_DIRECTORY\") (if (file-exists? \"~/.guix-home/profile/lib/debug\") \"~/.guix-home/profile/lib/debug\" \"~/.guix-profile/lib/debug\")))) Actually, I just checked the GDB manual¹ and it looks like we can add multiple paths. I'll work on it a bit and see about adding a couple more paths. > > + (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’. ¹ https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted