After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 710924 - Upgrade from 3.4 to 3.8 (or 3.10) fails
Upgrade from 3.4 to 3.8 (or 3.10) fails
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Plugins
3.10.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-plugin-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2013-10-26 15:16 UTC by Sven Arvidsson
Modified: 2014-04-16 17:37 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sven Arvidsson 2013-10-26 15:16:57 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
()
Comment 1 Matthew Barnes 2013-10-26 16:55:12 UTC
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.
Comment 2 Matthew Barnes 2013-10-26 16:56:42 UTC
(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.
Comment 3 Sven Arvidsson 2013-10-26 17:55:12 UTC
The only gconf.xml I can find in the backup is .local/share/evolution/backup-restore-gconf.xml
Comment 4 Matthew Barnes 2013-10-26 18:31:02 UTC
Okay, then that's why your accounts aren't being restored.
Comment 5 Sven Arvidsson 2013-10-26 18:53:16 UTC
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?
Comment 6 Matthew Barnes 2013-10-28 12:53:03 UTC
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?
Comment 7 Sven Arvidsson 2013-10-28 17:15:24 UTC
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.
Comment 8 Matthew Barnes 2013-10-28 17:27:26 UTC
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.
Comment 9 Milan Crha 2014-03-10 18:17:19 UTC
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?
Comment 10 Sven Arvidsson 2014-03-12 16:07:14 UTC
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).
Comment 11 Milan Crha 2014-03-12 16:43:52 UTC
(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.
Comment 12 Sven Arvidsson 2014-03-24 14:53:20 UTC
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.
Comment 13 Milan Crha 2014-03-24 16:36:15 UTC
Maybe this is related to (a duplicate of) bug #726681.
Comment 14 Sven Arvidsson 2014-03-25 17:39:04 UTC
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 :)
Comment 15 Matthew Barnes 2014-03-25 18:49:09 UTC
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.
Comment 16 Sven Arvidsson 2014-04-16 17:37:20 UTC
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!