Migrate #EMail from server A, to server B.
- #Thunderbird and drag them.
- #isync #mbsync, and read docs
- #imapsync, setup an Arch VM, because it's packaged there (as opposed to Debian/Ubuntu).
#isync, mon amour.
I tried #isync + #gitAnnex + #notmuch which is cool, but weirdly only one-way and only really works when run from a single machine as it's stateful. I can't move around mails and make folders etc and git annex drop mails and keep others to decide what's on the server and what's not. It gets messy. Feels like it's a very nice solution to grab mail from the server and then manage it only locally and sync it around with git annex, but not if you want your mails e.g. on your phone client as well.
"Ready to synchronize T68i". #brushedmetal #iSync

@alexconquer C'est un des outils du paquet #isync.

https://isync.sourceforge.io/

Celui-ci en particulier permet la synchronisation de comptes IMAP, en ligne de commande. #CLI

isync: free IMAP and MailDir mailbox synchronizer

I created a ticket for #isync addressing the #Fedora 40 issue: https://sourceforge.net/p/isync/patches/19/
Isync / Patches / #19 Fix Fedora 40 crash caused by LTO

I started my own fork of #isync (or #mbsync)

https://codeberg.org/jarkko/isync

It has now couple of commits:

❯ git log --oneline -2 8ea62c9 (HEAD -> main, origin/main) fix: compile with -fno-lto f5782aa refactor: open code FORCEASYNC far and near parameters

The first is the fix for crash in #Fedora. The second open codes FORCEASYNC:

diff --git a/src/common.h b/src/common.h index 940e74d..22bd827 100644 --- a/src/common.hb +++ b/src/common.h @@ -120,7 +120,8 @@ BIT_ENUM( ZERODELAY, KEEPJOURNAL, FORCEJOURNAL, - FORCEASYNC(2), + FORCEASYNC_F, + FORCEASYNC_N, FAKEEXPUNGE, FAKEDUMBSTORE, )

I plan to do this for all of those, as it allows to cut some slack out from bit_enum_get.pl. That will lead to a roadmap where eventually the whole ugly script can be rendered out replaced with BIT_UL macro from kernel (msync is GPL 2.0 licensed).

There is also a #zig branch but before build can be defined properly the C codebase first needs to be made sound in terms of the build. Then it is relatively easy task to repeal and replace main.c with main.zig.

#email

isync

isync

Codeberg.org
(gdb) print boxes
$1 = {0x5555556c4540, <optimized out>}

I noticed this so I tried:

diff --git a/src/main_sync.c b/src/main_sync.c
index 226e324..afb23ca 100644
--- a/src/main_sync.c
+++ b/src/main_sync.c
@@ -623,6 +623,7 @@ sync_opened( main_vars_t *mvars, int t )
if (!mvars->chanptr->boxlist && mvars->chan->patterns) {
mvars->chanptr->boxlist = 2;
char **boxes[2];
+ __asm__ __volatile__("" :: "m" (boxes));
boxes[F] = filter_boxes( mvars->boxes[F], mvars->chan->boxes[F], mvars->chan->patterns );
boxes[N] = filter_boxes( mvars->boxes[N], mvars->chan->boxes[N], mvars->chan->patterns );
box_ent_t **mboxapp = &mvars->chanptr->boxes;

That literally fixed the bug! I.e. could this be a #GCC bug?

RT @gromit, @adamw

#mbsync #gcc #fedora #bug #isync

I found a modern actively updated alternative for #isync (or #mbsync): #m2sync

It is part of #vomit project: https://sr.ht/~bitfehler/vomit/

Compared to the complexity of ~/.mbsyncrc, my config is now dead simple:

cat .config/vomit/config.toml [kapsi] local = "~/.cache/mail/kapsi" remote = "mail.kapsi.fi:993" user = "jjs" pass-cmd = "pass show imap/mail.kapsi.fi"

I love vomit!

vomit: The Very Opinionated Mail Interaction Toolkit

#mbsync always crashes here in #Fedora (even when compiled from upstream):

Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x000055d33068a967 in sync_chans (mvars=0x7ffef80ee330, ent=<optimized out>) at /usr/src/debug/isync-1.4.4-8.fc40.x86_64/src/main.c:906
906 char *sname = boxes[N] ? boxes[N][sb] : NULL;

Any ideas? I used coredumpctl to discover this location but for comparative testing I also compiled the latest upstream of mbsync, and it crashes in the exact same location.

#isync