> On 13/05/2020 10:11 Sam Kuper <sampabloku...@posteo.net> wrote: > > > Dear Dovecot users/devs, > > I have the following mbox file: > > /tmp/dsync_test/mbox/2002-September > > I would like to convert it to a Maildir: > > /tmp/dsync_test/maildir > > (Currently, the latter is just an empty directory.) > > I am attempting this on an old PC running Debian 9 ("Stretch"). I > installed the dovecot-core package in order to make the `dsync` tool > available on that PC. I have not otherwise done anything with Dovecot > on that PC; for instance, I have not created or edited any Dovecot > config files. `man dsync` gives the Dovecot version as 2.2. > > Inspired by the man page and the Dovecot wiki, here was my first attempt > to perform the conversion. (I have added newlines between each line of > the output, for readability.) > > > $ dsync -Dv -o 'mail_location=maildir:/tmp/dsync_test/maildir' \ > backup \ > mbox:/tmp/dsync_test/mbox/:INBOX=/tmp/dsync_test/mbox/2002-September > > Debug: Loading modules from directory: > /usr/lib/dovecot/modules/doveadm > > Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: > /usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: > undefined symbol: acl_lookup_dict_iterate_visible_next (this is > usually intentional, so just ignore this message) > > Debug: Skipping module doveadm_expire_plugin, because dlopen() > failed: > /usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so: > undefined symbol: expire_set_deinit (this is usually intentional, so > just ignore this message) > > Debug: Skipping module doveadm_quota_plugin, because dlopen() > failed: > /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: > undefined symbol: quota_user_module (this is usually intentional, so > just ignore this message) > > Debug: Skipping module doveadm_fts_lucene_plugin, because dlopen() > failed: > /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_lucene_plugin.so: > undefined symbol: lucene_index_iter_deinit (this is usually > intentional, so just ignore this message) > > Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: > /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so: > undefined symbol: fts_user_get_language_list (this is usually > intentional, so just ignore this message) > > Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() > failed: > /usr/lib/dovecot/modules/doveadm/libdoveadm_mail_crypt_plugin.so: > undefined symbol: mail_crypt_box_get_pvt_digests (this is usually > intentional, so just ignore this message) > > doveadm(sampablokuper): Debug: Effective uid=1000, gid=1000, > home=/home/sampablokuper > > doveadm(sampablokuper): Debug: Namespace inbox: type=private, > prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes > location=maildir:/tmp/dsync_test/maildir > > doveadm(sampablokuper): Debug: maildir++: > root=/tmp/dsync_test/maildir, index=, indexpvt=, control=, > inbox=/tmp/dsync_test/maildir, alt= > > doveadm(sampablokuper): Debug: Namespace : Using permissions from > /tmp/dsync_test/maildir: mode=0755 gid=default dsync(sampablokuper): > Debug: Effective uid=1000, gid=1000, home=/home/sampablokuper > > dsync(sampablokuper): Debug: Namespace inbox: type=private, prefix=, > sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes > > location=mbox:/tmp/dsync_test/mbox/:INBOX=/tmp/dsync_test/mbox/2002-September > > dsync(sampablokuper): Debug: fs: root=/tmp/dsync_test/mbox, index=, > indexpvt=, control=, inbox=/tmp/dsync_test/mbox/2002-September, alt= > > dsync(sampablokuper): Error: Mail locations must use the same > virtual mailbox hierarchy separator (specify separator for the > default namespace) > > > As you can see, it ends with "Error: Mail locations must use the same > virtual mailbox hierarchy separator (specify separator for the default > namespace)". > > So, I tried specifying a hierarchy separator, but this failed too: > > > $ dsync -Dv \ > -o 'separator=.' \ > -o 'mail_location=maildir:/tmp/dsync_test/maildir' \ > backup \ > mbox:/tmp/dsync_test/mbox/:INBOX=/tmp/dsync_test/mbox/2002-September > > Debug: Loading modules from directory: > /usr/lib/dovecot/modules/doveadm > > Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: > /usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: > undefined symbol: acl_lookup_dict_iterate_visible_next (this is > usually intentional, so just ignore this message) > > Debug: Skipping module doveadm_expire_plugin, because dlopen() > failed: > /usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so: > undefined symbol: expire_set_deinit (this is usually intentional, so > just ignore this message) > > Debug: Skipping module doveadm_quota_plugin, because dlopen() > failed: > /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: > undefined symbol: quota_user_module (this is usually intentional, so > just ignore this message) > > Debug: Skipping module doveadm_fts_lucene_plugin, because dlopen() > failed: > /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_lucene_plugin.so: > undefined symbol: lucene_index_iter_deinit (this is usually > intentional, so just ignore this message) > > Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: > /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so: > undefined symbol: fts_user_get_language_list (this is usually > intentional, so just ignore this message) > > Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() > failed: > /usr/lib/dovecot/modules/doveadm/libdoveadm_mail_crypt_plugin.so: > undefined symbol: mail_crypt_box_get_pvt_digests (this is usually > intentional, so just ignore this message) > > doveadm(sampablokuper): Debug: Effective uid=1000, gid=1000, > home=/home/sampablokuper > > doveadm(sampablokuper): Debug: Namespace inbox: type=private, > prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes > location=maildir:/tmp/dsync_test/maildir > > doveadm(sampablokuper): Debug: maildir++: > root=/tmp/dsync_test/maildir, index=, indexpvt=, control=, > inbox=/tmp/dsync_test/maildir, alt= > > doveadm(sampablokuper): Debug: Namespace : Using permissions from > /tmp/dsync_test/maildir: mode=0755 gid=default > > dsync(sampablokuper): Debug: Effective uid=1000, gid=1000, > home=/home/sampablokuper > > dsync(sampablokuper): Debug: Namespace inbox: type=private, prefix=, > sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes > > location=mbox:/tmp/dsync_test/mbox/:INBOX=/tmp/dsync_test/mbox/2002-September > > dsync(sampablokuper): Debug: fs: root=/tmp/dsync_test/mbox, index=, > indexpvt=, control=, inbox=/tmp/dsync_test/mbox/2002-September, alt= > > dsync(sampablokuper): Error: Mail locations must use the same > virtual mailbox hierarchy separator (specify separator for the > default namespace) > > > I got the same error again when I tried the command above with "/" > instead of "." as the hierarchy separator. > > Forgive me for my ignorance, but how should I correct the invocation I > used above? In other words: using dsync, how can I extract/copy the > emails from the mbox to the new Maildir? > > Thank you! > > -- > A: When it messes up the order in which people normally read text. > Q: When is top-posting a bad thing? > > () ASCII ribbon campaign. Please avoid HTML emails & proprietary > /\ file formats. (Why? See e.g. https://v.gd/jrmGbS ). Thank you.
Edit your dovecot.conf and add namespace { inbox = yes # or use '.' here. separator = / } Aki