10
12
Fork
You've already forked wormhole
2

Migration 2.3 -> 2.4 + wormhole without patched version #2

Closed
opened 2025年10月25日 12:49:51 +02:00 by catap · 5 comments

Hi,

I think that it is wise idea to explain the way to migrate from dovecot-2.3 to dovecot-2.4 + wormhole when use hasn't got will or means to use patched version of dovecot.

As far as I understand it is achivable via downtime by shutdown all nodes, upgrade it with changes and config... and just start them up.

Am I wrong?

At anycase, I think that this approach should be documented as an alternative from patched hack.

Hi, I think that it is wise idea to explain the way to migrate from dovecot-2.3 to dovecot-2.4 + wormhole when use hasn't got will or means to use patched version of dovecot. As far as I understand it is achivable via downtime by shutdown all nodes, upgrade it with changes and config... and just start them up. Am I wrong? At anycase, I think that this approach should be documented as an alternative from patched hack.

I think so. But as I have not yet tested this, I did not mention it in the documentation already. I will check that soon and update the documentation accordingly. My primary focus was to document a migration path without downtime.

I think so. But as I have not yet tested this, I did not mention it in the documentation already. I will check that soon and update the documentation accordingly. My primary focus was to document a migration path **without downtime**.
Author
Copy link

Thanks.

I'm thinking here from view of someone who wouldlike to move from dovecot-2.3 to dovecot-2.4 + wormhole as part of upgrade via distributive packages.

So, here no way to use patched dovecot, and upgrade with downtime seems the only way.

Or?

Thanks. I'm thinking here from view of someone who wouldlike to move from dovecot-2.3 to dovecot-2.4 + wormhole as part of upgrade via distributive packages. So, here no way to use patched dovecot, and upgrade with downtime seems the only way. Or?

Well, that depends. On Debian you can rather easy recompile a package with some patch included and install the resulting packages. The source package of current Dovecot CE for Debian 12 Bookworm can be found here: https://repo.dovecot.org/ce-2.4-latest/debian/bookworm/pool/main/dovecot_2.4.1-4+debian12.dsc

dget https://repo.dovecot.org/ce-2.4-latest/debian/bookworm/pool/main/dovecot_2.4.1-4+debian12.dsc
cd dovecot-2.4.1
# patch it
patch -p1 < /path/to/wormhole/patches/dovecot-doveadm-dsync+exit_code-hooks_2025年10月12日.diff
# commit the patch to the debian patch list
dpkg-source --commit # will ask for the name of your patch
# create a new entry in debian/changelog
dch -l+local "Recompiled version with dsync_hooks patch for wormhole"
# build it
dpkg-buildpackage -us -uc
# .deb files will be created in ../

I have no idea how you can do something like that on other platforms as I am only using Debian. Ubuntu should work very similar.
(I'm happy to here how other do this on other platforms!)
At the end of the migration, I will recompile wormhole against the CE version of Dovecot and install and use those packages.

Well, that depends. On Debian you can rather easy recompile a package with some patch included and install the resulting packages. The source package of current Dovecot CE for Debian 12 Bookworm can be found here: https://repo.dovecot.org/ce-2.4-latest/debian/bookworm/pool/main/dovecot_2.4.1-4+debian12.dsc ```sh dget https://repo.dovecot.org/ce-2.4-latest/debian/bookworm/pool/main/dovecot_2.4.1-4+debian12.dsc cd dovecot-2.4.1 # patch it patch -p1 < /path/to/wormhole/patches/dovecot-doveadm-dsync+exit_code-hooks_2025年10月12日.diff # commit the patch to the debian patch list dpkg-source --commit # will ask for the name of your patch # create a new entry in debian/changelog dch -l+local "Recompiled version with dsync_hooks patch for wormhole" # build it dpkg-buildpackage -us -uc # .deb files will be created in ../ ``` I have no idea how you can do something like that on other platforms as I am only using Debian. Ubuntu should work very similar. (I'm happy to here how other do this on other platforms!) At the end of the migration, I will recompile wormhole against the CE version of Dovecot and install and use those packages.
Author
Copy link

I see this way but it is much more complicated that apt install XXX :)

And I almsot sure that it isn't easy to sell dovecot-with-wormhole as dedicated package for migration without asking user to build packages.

I see this way but it is much more complicated that `apt install XXX` :) And I almsot sure that it isn't easy to sell `dovecot-with-wormhole` as dedicated package for migration without asking user to build packages.
Author
Copy link

Thanks!

Thanks!
Sign in to join this conversation.
No Branch/Tag specified
main
v0.12
v0.11
v0.10.2
v0.10.1
v0.10
v0.9
v0.8
v0.7
v0.6
v0.5
v0.4
v0.3.2
v0.3.1
v0.3
v0.2.2
v0.2.1
v0.2
v0.1
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
errror/wormhole#2
Reference in a new issue
errror/wormhole
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?