Failing to move Evolution data from Fedora to Guix

I am trying to migrate my Evolution data between distributions (from Fedora Workstation to Guix System). I did this at least once a few years ago, but this time I ran into an issue. I made a backup, moved the backup file to the new installation, and provided it when prompted by Evolution. However, Evolution appears trying, then finishes without an error message and restarts without showing any of the data in the interface. When I do it from the command line, I get the following error messages.

$ rm -r /home/roman/.local/share/evolution
$ rm -r /home/roman/.config/evolution
$ evolution --import /home/roman/evolution-backup-20230701.tar.gz

(evolution:14643): e-data-server-CRITICAL **: 23:50:44.258: e_source_registry_ref_builtin_proxy: assertion 'source != NULL' failed

(evolution:14643): GLib-GObject-CRITICAL **: 23:50:44.258: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(evolution:14643): e-data-server-CRITICAL **: 23:50:44.265: e_source_registry_ref_builtin_mail_account: assertion 'source != NULL' failed

(evolution:14643): e-data-server-CRITICAL **: 23:50:44.266: e_source_registry_ref_default_mail_account: assertion 'E_IS_SOURCE (source)' failed

(evolution:14643): e-mail-engine-CRITICAL **: 23:50:44.266: mail_session_configure_local_store: assertion 'service != NULL' failed

(evolution:14643): e-mail-engine-CRITICAL **: 23:50:44.266: mail_session_configure_vfolder_store: assertion 'service != NULL' failed

(evolution:14643): module-mail-CRITICAL **: 23:50:44.318: mail_shell_backend_constructed: assertion 'vstore != NULL' failed

(evolution:14643): module-rss-WARNING **: 23:50:44.334: Failed to commit RSS source: The name org.gnome.evolution.dataserver.Sources5 was not provided by any .service files

(evolution:14643): e-data-server-CRITICAL **: 23:50:44.337: e_source_registry_ref_builtin_mail_account: assertion 'source != NULL' failed

(evolution:14643): e-data-server-CRITICAL **: 23:50:44.337: e_source_registry_ref_default_mail_account: assertion 'E_IS_SOURCE (source)' failed

(evolution:14643): evolution-shell-WARNING **: 23:50:45.498: Cannot import any of the given URIs

According to the backup file, the backup was created with version 3.48.2. I am trying to import with version 3.46.4. Is it an illegal operation? Did the backup format change significantly between the versions? Or should I investigate it further to identify the issue and report it to a package maintainer?

Sorry, I just forgot that I have to add evolution-data-server to the list of packages in the system /etc/config.scm configuration file. Otherwise, that package is not exposed enough to Evolution on guix. An issue discussion reminded me about that: Evolution: e-mail wizard fails due to missing service file
After adding the package to the config, the backup was imported as usual.

Hi,
you are right, the errors on the terminal show that the evolution-
source-registry process was not running in the system and could not be
auto-started by the D-Bus. It’s one of the required background
processes the evolution needs from the evolution-data-server. Maybe you
can ask the distro packager to add a hard dependency to the evolution
package on the evolution-data-server package, to avoid similar problems
for the users in the future.

A side not, the backups are not imported (you
used evolution --import ...), the backup files are File->Restore
Evolution Data… instead.

Also, version downgrade is not supported, because past versions cannot
know about future format changes, but it’s possible to go from a newer
version to the older version as long as the internal data formats did
not change.
Bye,
Milan

1 Like

Thank you for your explanation, Milan!

The errors on the terminal show that the evolution-source-registry process was not running in the system and could not be auto-started by the D-Bus.

That appears to be what is happening here.

$ guix package --show=evolution | recsel -p dependencies
dependencies: cmark@0.30.2 enchant@2.2.15 evolution-data-server@3.46.4
+ gcr@3.41.1 glib@2.72.3 gnome-autoar@0.4.3 gnome-desktop@42.4
+ gsettings-desktop-schemas@42.0 gspell@1.11.1 highlight@3.62 intltool@0.51.0
+ itstool@2.0.7 libcanberra@0.30 libgweather4@4.1.1 libnotify@0.7.9
+ libsoup@3.1.4 nss@3.88.1 openldap@2.6.4 pkg-config@0.29.2 webkitgtk@2.40.2
+ ytnef@2.0

Because I saw evolution-data-server among the dependencies, I thought the Evolution installation fails accessing it for some reason. I can make the server run by adding it to the system configuration file, as I said in my post above, or just by installing it in my user profile, which I did not try before because I considered it installed. So, it was just not installed. :person_facepalming:

Maybe you can ask the distro packager to add a hard dependency to the evolution package on the evolution-data-server package to avoid similar problems for the users in the future.

Listing evolution-data-server in propagated-inputs instead of inputs of the Evolution package definition should have the desired effect. I will look into that.

The backups are not imported (you used evolution --import …), the backup files are File->Restore Evolution Data… instead.

The backup restore dialogue finished silently, so I was unsure whether it failed or what the problem could be that there was no email. I tried to start it in a terminal to look for error messages. Now, I looked up --import on the manual page again, and I am not sure anymore what it does.

Version downgrade is not supported, because past versions cannot know about future format changes, but it’s possible to go from a newer version to the older version as long as the internal data formats did not change.

That was my concern. Luckily, Evolution never failed me yet!

Roman

Hi,
well, it does import files :wink: For example you can right-click a mail
message in the message list and pick “Save as mbox”, which will create
a file. Afterwards, you can File->Import->Single file->… , or use the
–import argument, to import the file back to the Evolution. There are
many more file formats, which can be imported.
Bye,
Milan

This topic was automatically closed 45 days after the last reply. New replies are no longer allowed.