GNOME Bugzilla – Bug 710924
Upgrade from 3.4 to 3.8 (or 3.10) fails
Last modified: 2014-04-16 17:37:20 UTC
Hi, I'm trying to migrate from Evolution 3.4.4 to 3.10 (I have also tried 3.8) but every time Evolution has run through the restore procedure I'm back with the new account assistant. By creating a dummy account I've noticed that some of my settings (such as filters) have been restored, and all mail from the "On This Computer" account is there, but not my IMAP account. The closest bug I've managed to find is bug 704177, but I'm not sure if it's the same problem. My backup file is tiny, only 3.7M so I also don't think it's the issue with /tmp described in other bugs. evolution (evolution:31317): Gtk-CRITICAL **: gtk_entry_set_text: assertion `text != NULL' failed (evolution:31317): Gtk-CRITICAL **: gtk_entry_set_text: assertion `text != NULL' failed (evolution:31317): Gtk-CRITICAL **: gtk_entry_set_text: assertion `text != NULL' failed (evolution:31317): Gtk-CRITICAL **: gtk_entry_set_text: assertion `text != NULL' failed (evolution:31317): Gtk-CRITICAL **: gtk_entry_set_text: assertion `text != NULL' failed ** Message: First result 0 evolution.dir ** Message: Second result 0 evolution-backup-restore-Message: Sanity check result 1:0 0 ** Message: First result 0 evolution.dir ** Message: Second result 0 ** Message: evolution --quit ** Message: mv /home/sa/.local/share/evolution /home/sa/.local/share/evolution_old ** Message: mv /home/sa/.config/evolution /home/sa/.config/evolution_old ** Message: cd /tmp && tar xzf '/home/sa/Downloads/evolution-backup-20131025.tar.gz' evolution.dir ** Message: cd /home/sa/.local/share/evolution && tar xzf '/home/sa/Downloads/evolution-backup-20131025.tar.gz' '.local/share/evolution' --strip-components=3 ** Message: cd /home/sa/.config/evolution && tar xzf '/home/sa/Downloads/evolution-backup-20131025.tar.gz' '.config/evolution' --strip-components=2 ** Message: gconftool-2 --load /home/sa/.local/share/evolution/backup-restore-gconf.xml ** Message: gsettings-data-convert ** Message: rm /home/sa/.local/share/evolution/backup-restore-gconf.xml ** Message: rm -rf /home/sa/.local/share/evolution_old ** Message: rm -rf /home/sa/.config/evolution_old ** Message: rm /home/sa/.local/share/evolution/.running rm: cannot remove ‘/home/sa/.local/share/evolution/.running’: No such file or directory ** Message: gdbus call --session --dest org.gnome.evolution.dataserver.Sources2 --object-path /org/gnome/evolution/dataserver/SourceManager --method org.gnome.evolution.dataserver.SourceManager.Reload ()
Check that your backup file contains ~/.gconf/evolution/apps/*/%gconf.xml files. These %gconf.xml files should be converted to ".source" files residing in ~/.config/evolution/sources. The new account assistant is triggered based on the contents on ~/.config/evolution/sources.
(In reply to comment #1) > Check that your backup file contains ~/.gconf/evolution/apps/*/%gconf.xml > files. Sorry, that's supposed to be ~/.gconf/apps/evolution/*/%gconf.xml.
The only gconf.xml I can find in the backup is .local/share/evolution/backup-restore-gconf.xml
Okay, then that's why your accounts aren't being restored.
Okay, so what can I do about this? Is it a bug in the Evolution 3.4 backup script? Is there perhaps any way I can do the backup/restore procedure manually?
Are you by chance using Debian, and upgrading from "Wheezy"? Can you check your backup file once again for a file named %gconf-tree.xml?
I am using Debian, but doing an unstable -> unstable upgrade, the versions involved are roughly the same as upgrading from wheezy though. I've double checked and there's no sign of %gconf-tree.xml in the backup file. Curiously enough some other Debian users have reported no problems with the Evolution upgrade, so I'm not sure why my system is affected. Anyway, thank you so much for taking the time to look into this.
Okay, if you don't have a %gconf-tree.xml file or any %gconf.xml files in your backup then I don't know where your account data went. If you still have your source machine, I would re-check for those files and create a new backup. Apparently some Debian users had their GConf directory structure merged at one time by some Debian packaging error that was subsequently fixed. Some of those Debian users are now claiming upgrade failures because E-D-S doesn't support merged GConf files. I'm working on adding that support as I write this.
The accounts might be restored by this commands: > ** Message: gconftool-2 --load /home/sa/.local/share/evolution/backup-restore-gconf.xml > ** Message: gsettings-data-convert and then migrated with a reload of evolution-source-registry process invoked at the end of the restore process: > ** Message: gdbus call --session --dest org.gnome.evolution.dataserver.Sources2 --object-path /org/gnome/evolution/dataserver/SourceManager --method org.gnome.evolution.dataserver.SourceManager.Reload () The problem used to be that the gconf daemon didn't write the loaded configuration to the disk files yet, thus the reloaded evolution-source-manager didn't find the restored data and thus failed to restore saved accounts from the backup. If you issue the $ gconftool-2 --load /home/sa/.local/share/evolution/backup-restore-gconf.xml for the file from the backup, then you might be able to get some result from $ gconftool-2 --get /apps/evolution/mail/accounts but this is using the daemon, which can return data from unsaved-to-disk key values. Looking into ~/.gconf/... folders Matthew pointed to above would make you see either of the two .xml files. Nonetheless, I guess this is obsolete for you, is it not?
I actually have systems that still need updating, but haven't found the time to try this yet. It would also be great to have this properly resolved in Debian. The current stable releases uses evolution 3.4 and needs to upgrade to 3.8 (or whatever version ends up in jessie).
(In reply to comment #10) > It would also be great to have this properly resolved in Debian. The current > stable releases uses evolution 3.4 and needs to upgrade to 3.8 (or whatever > version ends up in jessie). Hmm, they are quite behind, the current stable is 3.10.4, while the 3.12.0 will be released in approximately two weeks.
I tried the commands you mentioned but I don't get any change in behaviour. Evolution still throws up the new account assistant. > Hmm, they are quite behind, the current stable is 3.10.4, while the 3.12.0 will > be released in approximately two weeks. Yes, hopefully there will be time to catch up before the release of jessie.
Maybe this is related to (a duplicate of) bug #726681.
I don't have a ~/.config/gconf dir so that's probably not it. I guess it comes down to the merged gconf tree, and Debian stopped doing that in 2006. I have just been upgrading this system and copying the homedir between other systems which is why I'm still affected. It would still be great to have this fixed, or worked around, but I guess that would make this a wishlist or pretty-please bug :)
I added support for migrating from merged GConf trees in E-D-S 3.10.2, specifically for Debian. Debian Testing and Unstable are still only at GNOME 3.8, so you'll need to pull packages from Experimental where GNOME 3.10 is being staged.
I finally had time to upgrade to 3.12 and it imported my accounts fine. Thank you so much for taking the time to work on and fix this!