Convert standalone mbox to standalone Maildir with Dsync - hierarchy separator error
Sam Kuper
sampablokuper at posteo.net
Wed May 13 10:11:25 EEST 2020
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.
More information about the dovecot
mailing list