Maxim Cournoyer <[email protected]> writes: > Hi Pierre, > > Pierre Langlois <[email protected]> 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=#<<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=#<<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
<sidetrack/>
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:
--8<---------------cut here---------------start------------->8---
~/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=#<<location> file: "gnu/tests/mail.scm" line: 297 column: 20>
--8<---------------cut here---------------end--------------->8---
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?
Thanks,
Pierre
signature.asc
Description: PGP signature
