GPE has a synchronisation interface now.
We use
Multisync or
OpenSync. A plugin based universal sync tool. More about it in the tutorial below.
The GPE multisync Plugin [V 0.21 Florian Boor, 24.01.2005]
What it provides
-
The GPE Multisync plugin is used to synchronize GPE PIM data with other devices and software. It currently supports syncing tasks (ToDo/gpe-todo), events (Calendar/gpe-calendar) and contacts (Contacts/gpe-contacts). Apart from GPE, Multisync provides syncronisation against Ximian Evolution, devices that use SyncML (over TCP/IP), Palm PDAs, OPIE based PDA software and IrMc devices. Additionally it is possible to create backups using multisync.
Requirements
-
TCP/IP connection between PC and PDA.
-
SSH client on PC (e.g. ssh/openssh)
-
SSH server on PDA (e.g. openssh, dropbear - installed on all Familiar images)
-
Multisync and GPE Multisync plugin.
-
libglade
-
libmimedir
Installation on PC
-
At the time of this writing there is no Linux distribution that ships the GPE multisync plugin. Usually you want to install Multisync and its plugins using the installation method of your distribution. e.g. on a debian system you would use apt and type
apt-get install multisync libmultisync-plugin-all libmimedir-gnome0 libmimedir-gnome0-dev
On gentoo system you can install the latest multisync with all options and plugins via emerge (you can leave off kdepim OR evo, depending on your preference)
emerge sync USE="evo pda kdepim" emerge evolution kde-pim multisync
then download latest libmimedir source from gnome cvs (gentoo's libmimedir is 0.3 and is too old)
mkdir ~/cvs cd ~/cvs cvs -f -d :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome checkout -P libmimedirread INSTALL at libmimedir for next installation (INSTALL file missing! run "./autogen.sh --prefix=/usr && make && make install" )
The current gpe-multisync seems to use a version of libmimedir specific for Debian. For other x86-based distros (I tried Mandrake 10.2, aka Mandriva LE 2005) you need the libmimedir-0.2.so.0 from this page: http://dominion.kabel.utwente.nl/koen/pda/files/libmimedir-0.2.so.0 Copy it to the /usr/lib/ directory. Then follow the instructions below.
If you use a x86 based linux PC, this may help: I'll try to provide an up-to-date package containing all necessary binaries that are usually not present in a common distribution here:
http://handhelds.org/~florian/multisync/gpe-multisync.tar.gz
A debian package is provided a at http://www.geotux.it/
It contains the three packages mentioned below in binary format, no need to compile.
If this does not work for you, you'll need to build all of it yourself. After installation of Multisync grab latest source files from GPE FTP server (ftp://ftp.handhelds.org/projects/gpe/source), compile and install them. You will need to install in this order:
libgpevtype
libnsqlc
gpe-multisync
At the moment these files are latest versions:
ftp://ftp.handhelds.org/projects/gpe/source/libgpevtype-0.11.tar.gz ftp://ftp.handhelds.org/projects/gpe/source/libnsqlc-0.2.tar.gz ftp://ftp.handhelds.org/projects/gpe/source/gpe-multisync-0.1.tar.gz
When you extract the libs, take the version off of the dir name, or edit gpe-multisync's Makefile to set the paths (eg ../libnsqlc-0.2 in place of ../libnsqlc). To build these sources cd to the source directory and use "make PREFIX=/usr" to build the libraries. On AMD64, and possibly gcc 3.4.x on any platform, edit the Makefile for libnsqlc and add "-fPIC" to the PACKAGE_CPPFLAGS variable. Install them with "make install". This assumes you have all necessary development stuff (compiler, libraries) installed.
NOTE: "make PREFIX=/usr" didn't work for me (debain sarge) I had to edit the makefile and set the PREFIX there. The prefix needs to match what Multisync was compiled with and debian, as well as most distro's, use /usr.
Last step is to check if you have a ssh client installed. Most common distributions install one by default. If you have a command "ssh" everything is fine.
Setup on PDA
-
If you have an up-to-date Familiar linux installed, the setup is easy. First step should be to set up an IP connection to your PDA, how to do this is described in other documents.
Second step is to install latest nsqld package from the feed for your version of familiar. Since your internet connection is already set up from the first paragraph now run on your PDA:
ipkg update ipkg install ipkg ipkg install nsqldThe second line (ipkg install ipkg) is just to check if there aren't any bugfixes to ipkg itself. If you are not able to set up an internet connection, download latest nsqld package from the feed for your version of familiar, then transfer it to your PDA (probably using the serial connection and rz) and install it, "ipkg install nsqld_0.5.3-r0_arm.ipk".
Because gpe-multisqnc only supports public key authentication you will need to copy your public key from PC to your PDA and add it to the file ~/.ssh/authorized_keys. The public key is usually located in ~/.ssh/id_dsa.pub. If you don't have this file generate a key using "ssh-keygen -t 1024 -t dsa". If you previously established the IP connection you may copy the key in this way:
scp ~/.ssh/id_dsa.pub <username>@<ip of PDA>:/tmp ssh <username>@<ip of PDA>(then, on PDA)
cat /tmp/id_dsa.pub >> ~/.ssh/authorized_keys
If ssh publickey auth doesn't seem to work, verify that your user's home dir permissions do not allow "all write" and that your .ssh dir and all files in it are only rw by the owner/user
chmod 755 /home/{username}
chmod -R 600 /home/{username}/.ssh
Installation is finished now.
Setup Multisync
-
Start Multisync and add a synchronisation pair ("New"). Select GPE as first sync plugin and a second plugin to use. The GPE plugin takes two configuration options:
-
Hostname: IP address or hostname of your PDA
-
Username: Username to use on your PDA
After you set up the second plugin (kde-pim, evo, backup) you are finished. Make sure your IP connection is up, start synchronisation and hopefully it all just works.
Much of this was written from memory, it definitely contains bugs, feedback is very welcome
Other Tools
Some other tools to get data into GPE or out of it are gpe-beam and gpe-bluetooth. Both have support for file transfer using OBEX and are able to import mimedir (VCal, VCard) data.
Gpe-contacts and gpe-calendar support importing mimedir files as well as sending these files via bluetooth and infrared.
Unison could be used to backup/restore data in your user's homedir. And it has merge facilities if you are really handy with scripting. Unison can be gotten from the debian arm archive or search the web for an ipk for Zaurus which is just a repackage of that binary.
Note : gpesyncd seems to have appeared, which is useable with multisync0.9 and opensync... see this file for instance : http://handhelds.org/cgi-bin/cvsweb.cgi/~checkout~/gpe/base/gpe-opensync/INSTALL?rev=1.3 or http://www.opensync.org/wiki/GpeSync