Pierre Langlois writes: > [[PGP Signed Part:Undecided]] > > Maxim Cournoyer writes: > >> Hi Pierre, >> >> Pierre Langlois writes: >> >>> Hi Guix! >>> >>> After updating the system, the dovecot service got confused and started >>> moving around all mailboxes. I looked up the configuration and noticed >>> strange invalid syntax for the location field: >>> >>> location=#< file: "path/to/config.scm" line: 297 column: 20> >>> >>> >>> Because the # character is interpreted as a comment, dovecot doesn't >>> crash and instead moves mailboxes around in weird ways I don't quite >>> understand :-/. >>> >>> This can actually be reproduced locally with the dovecot system test if >>> one dumps the following expression to check the configuration: >>> >>> (format #t "~a\n" (wait-for-file "/etc/dovecot/dovecot.conf" >>> marionette >>> #:read 'get-string-all)) >>> >>> >>> Giving us the snippets like this in the config: >>> >>> $ make check-system TESTS="dovecot" VERBOSE=1 >>> ... >>> namespace inbox { >>> type=private >>> separator= >>> prefix= >>> location=#< file: "gnu/tests/mail.scm" line: 297 column: 20> >>> inbox=yes >>> hidden=no >>> list=yes >>> subscriptions=yes >>> mailbox "Drafts" { >>> auto=no >>> special_use=\Drafts >>> } >>> mailbox "Junk" { >>> auto=no >>> special_use=\Junk >>> } >>> mailbox "Trash" { >>> auto=no >>> special_use=\Trash >>> } >>> mailbox "Sent" { >>> auto=no >>> special_use=\Sent >>> } >>> mailbox "Sent Messages" { >>> auto=no >>> special_use=\Sent >>> } >>> mailbox "Drafts" { >>> auto=no >>> special_use=\Drafts >>> } >>> } >> >> I did: >> >> $ ./pre-inst-env guix system build -e '(@@ (gnu tests mail) %dovecot-os)' >> /gnu/store/gpl6g2ia84kc41zma7ik9y4p3kik5aiy-system >> >> Then: >> >> $ guix gc -R /gnu/store/gpl6g2ia84kc41zma7ik9y4p3kik5aiy-system | grep dovecot.conf >> /gnu/store/1ijjsm3sj8v0qj88fhlwqxgdszd6q6h7-dovecot.conf > > > > Oh that's a nice way of doing this, better than my hack to print the > config, I'll have to remember the `guix gc -R' flag. > >> >> And what I see in this file is now: >> >> namespace inbox { >> type=private >> separator= >> prefix= >> location= >> inbox=yes >> hidden=no >> list=yes >> subscriptions=yes >> mailbox "Drafts" { >> auto=no >> special_use=\Drafts >> } >> mailbox "Junk" { >> auto=no >> special_use=\Junk >> } >> mailbox "Trash" { >> auto=no >> special_use=\Trash >> } >> mailbox "Sent" { >> auto=no >> special_use=\Sent >> } >> mailbox "Sent Messages" { >> auto=no >> special_use=\Sent >> } >> mailbox "Drafts" { >> auto=no >> special_use=\Drafts >> } >> } >> >> Notice that location is empty. So that's at least different to your >> findings, on latest commit. Can you still reproduce? > > Yeah I'm afraid I still see the same issue after a `git pull` just now: > > ~/code/guix [env]$ ./pre-inst-env guix system build -e '(@@ (gnu tests mail) %dovecot-os)' > /gnu/store/ayfvf5s561q955kv8wrkklrvq3ga3qpy-system > ~/code/guix [env]$ guix gc -R /gnu/store/ayfvf5s561q955kv8wrkklrvq3ga3qpy-system | grep dovecot\.conf | xargs grep "^location" > location=#< file: "gnu/tests/mail.scm" line: 297 column: 20> > > Have you tried to rebuild from scratch, after a `make clean-go'? When > first bisecting this, I was working from the git repo and couldn't > reproduce the bug. Then it worked by using `guix time-machine' to bisect > rather than work from git. > > So I'm guessing the change being in a macro, there could be residue .go > files that need recompiling? Oh, I just realized the change was reverted with 44554e7133aa60e1b453436be1e80394189cabd9, then I'm probably the one who needs to do a `make clean-go' :-).