----------------------------------------------------------------------- SyncMAL plugin for J-Pilot by Jason Day http://jasonday.home.att.net ----------------------------------------------------------------------- REQUIREMENTS - J-Pilot version 0.99.4 or greater, available from http://jpilot.org - libmal version 0.44 or greater, available from http://jasonday.home.att.net/code/libmal/libmal.html NOTE Version 0.80 is functionally no different from version 0.73, but depends on the external libmal library, available at the URL above. Future versions of jpilot-syncmal will also require libmal. INSTALLING Before building jpilot-syncmal, you need to 1) decide whether you want to do a system-wide install or a local install, 2) if you decide to do a system-wide install, you need to know where J-Pilot is installed, and 3) determine whether J-Pilot was built with GTK2. A system-wide install will install jpilot-syncmal in a system directory, typically under /usr, and make it available for all users who login to your workstation. A local install will install jpilot-syncmal to your ~/.jpilot/plugins directory, making it available only to you. If you are the primary user of your workstation, and nobody else syncs with J-Pilot on your box, the method you choose really does not matter, but you must know how to correctly perform a system-wide install if you decide to go that route. If you decide on a system-wide install, then you need to determine the correct prefix to use. The prefix must be the same one used by J-Pilot. Typically, if you installed J-Pilot from a package, the prefix is /usr; if you installed J-Pilot from source, then it is usually /usr/local. If you don't know for sure, try typing which jpilot in a terminal window. If it returns "/usr/bin/jpilot", then your prefix is /usr. Similarly, "/usr/local/bin/jpilot" would indicate a prefix of /usr/local. Confirm that the prefix is correct by checking for the existence of a $prefix/lib/jpilot/plugins directory. This is where your plugins will be installed. Next you need to find out whether J-Pilot was built with GTK2 or GTK1. To find out, just start J-Pilot, click Help, then click J-Pilot. This will display an about box, and at the bottom of this box will be a list of options that were compiled into J-Pilot. One of the options is GTK2 support, it will be either yes or no. If (and only if!) GTK2 support is yes, then add --enable-gtk2 to the options you pass to configure. Once you have the prefix and GTK2 options, you're ready to build. Building jpilot-syncmal used to be a chore, but it's much simpler now. Just extract jpilot-syncmal_x.xx.tar.gz into a directory somewhere, then do the standard ./configure [options] make to build libsyncmal.so. Remember to use the --prefix option if you plan on a system-wide install. If you've installed pilot-link in a non-standard location, or if configure complains that it cannot find the pilot-link headers, try using the --with-pilot-prefix=/path/to/pilot-link switch. There are other options to configure that might be of interest; type ./configure --help to list them all. For a system-wide install, become root and type: make install For a local install just type: make local_install When you install, make will issue a warning message that looks something like this: libtool: install: warning: remember to run `libtool --finish /usr/local/lib/jpilot/plugins' Feel free to ignore this. If you can't get SyncMAL to build, please reread these instructions carefully, and if you still can't get it to work send me a message at jasonday@worldnet.att.net and I'll see what I can do. NOTE: If you run 'make install' or 'make local_install', libtool will issue the following warning message: libtool: install: warning: remember to run libtool --finish /usr/local/share/jpilot/plugins' Please ignore this message. USAGE If you've never used AvantGo before, point your browser at http://avantgo.com and explore for a while. Make sure you visit http://avantgo.com/doc/mobile/unix.html while you're there; this page has instructions and links to software that you will need. Once you have your account setup and your pilot configured correctly (see the web sites above), using SyncMAL should be very straightforward: just enter your proxy or SOCKS configuration, if necessary, and make sure the enabled checkbox is checked. NOTE: SyncMAL stores its preferences in a file called "syncmal.rc" in your ~/.jpilot directory. This means that your proxy username and password, if entered, are stored in plain text. SyncMAL will make sure that syncmal.rc is readable only by the owner, and will complain if the permissions are otherwise. ACKNOWLEDGEMENTS To say I wrote this program would not be correct. I simply implemented the required plugin callbacks needed for J-Pilot and added them to the malsync code by Tom Whittaker (http://www.tomw.org). Thanks also to Chris Bagwell for making SyncMAL work with J-Pilot 0.99's new plugin architecture. BUGS If you find a bug, please send me a message at jasonday@worldnet.att.net . It would also be helpful to start J-Pilot in debug mode (jpilot -d), reproduce the bug, and send the contents of ~/.jpilot/jpilot.log in the message. Thank you for using SyncMAL! Jason Day