Re: [Evolution] Migrating evolution to a new PC



I put a new hard drive in my laptop. Before doing this, I copied my home
directory to a usb hard drive. After setting up FC6 on the new hard
drive, I created my user id (same as the old drive) and then copied the
hidden directory .evolution to my new home directory before starting
evolution. When I started evolution for the first time, all my old
e-mails were intact as was the contact address book. The only thing I
had to re-do was setting up the e-mail server info. Everything worked
perfectly - evolution has never crashed (in fact it seems to work better
in FC6 than it did in FC4).

Rick B.


On Thu, 2006-12-28 at 14:32 +0800, LnxGnome wrote:
(new) Subject: Hacking gconf in 24 quick and easy steps ;)

This method "worked for me" to migrate address books, which is the
only thing I really cared about.  I make no warranty or guarantees
about how well this will work on your system and/or how well it will
eat all of your data.  Make backups...often.

My system is openSuSE 10.2 x86_64 with:
evolution-2.8.2-4
evolution-data-server-1.8.2-5
evolution-data-server-32bit-1.8.2-5
evolution-exchange-2.8.2-4
evolution-pilot-2.8.2-4
evolution-sharp-0.12.0-5
evolution-webcal-2.8.0-26

Assuming your evo is brand spanking new (has no data in it), and
you've copied your old home directory from the other PC to somewhere
(OLDHOMEDIR) on the new PC.

1) Open evo
2) Goto Contacts (whoever said GoTo statements were not useful?)
3) Create a new address book
4) Quit evo
5) run `evolution --force-shutdown`
6) cp -apv \
OLDHOMEDIR/.evolution/addressbook/local/[0-9]* \
$HOME/.evolution/addressbook/local/

7)   Make note of the directory names that are copied, for example:
1163057417 6976 21 oldhost
1163057446 6976 23 oldhost
1163667777 25716 0 oldhost

8) cd $HOME/.evolution/addressbook/local/ ; rename oldhost hostname *.oldhost
9) open gedit (or your favorite editor)
10) run gconf-editor
11) select /apps /evolution /addressbook
12) double click `sources` (right pane) and a new window opens
13) edit the entry that says "On This Computer"
14) copy (ctrl-c or whatever) the text over to your editor
15) in your editor, hack and slice as follow....

Example XML

<?xml version="1.0"?>
<group uid="1167202093 18438 17 hostname" name="On This Computer"
base_uri="file:///home/username/.evolution/addressbook/local"
readonly="no">
<source uid="1167202093 18438 18 hostname" name="Personal"
uri="file:///home/username/.evolution/addressbook/local/system"
relative_uri="system">
<properties>
<property name="completion" value="true"/>
</properties>
</source>
<source uid="1167283481 8720 0 hostname" name="newab"
relative_uri="1167283481 8720 0 hostname"/>
</group>

Notice the <source> for the new address book you created.  We're going
to play with it.

Copy the newab <source> once for each address book you want to migrate.

<source uid="1167283481 8720 0 hostname" name="newab"
relative_uri="1167283481 8720 0 hostname"/>
<source uid="1167283481 8720 0 hostname" name="newab"
relative_uri="1167283481 8720 0 hostname"/>
<source uid="1167283481 8720 0 hostname" name="newab"
relative_uri="1167283481 8720 0 hostname"/>

16) Replace the uid and relative_uri with our new directory names
17) Change newab to whatever you want to call the folder.

!!! DON'T JUST COPY AND PASTE MY EXAMPLE. !!!  Your system will have
different directory and hostnames.

<source uid="1163057417 6976 21 hostname" name="Work"
relative_uri="1163057417 6976 21 hostname"/>
<source uid="1163057446 6976 23 hostname" name="Friends"
relative_uri="1163057446 6976 23 hostname"/>
<source uid="1163667777 25716 0 hostname" name="Enemies"
relative_uri="1163667777 25716 0 hostname"/>

18) Condense it back into one line. (this is for sanities sake,
because I don't know if it matters or not to gconf and/or evo)

<?xml version="1.0"?><group uid="1167202093 18438 17 hostname"
name="On This Computer"
base_uri="file:///home/username/.evolution/addressbook/local"
readonly="no"><source uid="1167202093 18438 18 hostname"
name="Personal"
uri="file:///home/username/.evolution/addressbook/local/system"
relative_uri="system"><properties><property name="completion"
value="true"/></properties></source><source
uid="1167283481 8720 0 hostname" name="newab"
relative_uri="1167283481 8720 0 hostname"/><source
uid="1163057417 6976 21 hostname" name="Work"
relative_uri="1163057417 6976 21 hostname"/><source
uid="1163057446 6976 23 hostname" name="Friends"
relative_uri="1163057446 6976 23 hostname"/><source
uid="1163667777 25716 0 hostname" name="Enemies"
relative_uri="1163667777 25716 0 hostname"/></group>

Note: The above XML section is one long line!

19) Copy/Paste your new entry back into the "Edit List Entry" you
copied it out of.  Be sure to KEEP the `null` character at the end of
the original entry (it looks like a box with funny characters in it on
my system... again, this is for sanities sake, because I don't know if
it matters or not to gconf and/or evo, but I'd bet it does :) )

20) click OK  (closing Edit List Entry)
21) click OK  (closing Edit Key window)
22) quick gconf-editor
23) Open evo
24) check your handywork.

Note well: The first time I exited evo after doing this, evo crashed.
It was ok after restarting it again.

There are probably some nifty gconf tools to do the same work, but I'm
a gconf lightweight (and generally don't like gconf), so this was my
quick fix.

A similar method may work for migrating other parts of evo, but I have
not attempted anything else.

Peace, Love, Freedom & OpenSource
--Keith
_______________________________________________
Evolution-list mailing list
Evolution-list gnome org
http://mail.gnome.org/mailman/listinfo/evolution-list





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]