This is a very useful apps for syncing, for example, evolution with your mobile phone. Reproducible: Always Steps to Reproduce: 1. 2. 3.
no ebuild attached, patrik..
No.. I haven't attached an ebuild. It's a more complicated process than just ./configure, make, make install, so I thought I'd leave it for the experts.
yeah well, we maybe sorta experts but we do have a lack of time, so if you wait for us it might turn out to be a long wait. You could at least give it a try and we'll try to give hints if needed.
Oh well. I guess I could make a try. So.. since all modules are optional here, I guess I'll be needing useflags. Multisync has a couple of modules, with a couple of features: * Multisync * Evolution * IrMC - IRDA - Bluetooth - Cable * Backup So.. I can't make it depend on neither IrMC nor evolution. And it doesn't make sense to "leave it for ./configure" in a true Gentoo spirit. I guess I could use the "evo" useflag for evolution?
Created attachment 8526 [details] first try I've added my own use flags (bluez, irmc, irda) only for the purpose of installing required packages. The ./configure flags haven't been used yet. The ebuild ./configures and makes the sync engine and plugins. I got an error though: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -I/usr/include/gtk-1.2 -I/usr/X11R6/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -I/usr/include/evolution/ -I../evolution-include -I../include -I../../../include/ -I../../../src/ -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -I/usr/include/gtk-1.2 -I/usr/X11R6/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/gdk-pixbuf-1.0 -I/usr/include/freetype2 -I/usr/include/gnome-xml -I/usr/include -I/usr/include/orbit-1.0 -O2 -mcpu=i686 -pipe -Wall -Wunused -c evolution_sync.c -MT evolution_sync.lo -MD -MP -MF .deps/evolution_sync.TPlo -fPIC -DPIC -o .libs/evolution_sync.lo In file included from evolution_sync.c:45: addr_sync.h:32: conflicting types for `EBookViewStatus' /usr/include/evolution/ebook/e-book-types.h:43: previous declaration of `EBookViewStatus' make[1]: *** [evolution_sync.lo] Error 1 I'm currently running Evolution 1.2.1, with which multisync 0.71 worked ok. Will try again after I've emerged Evolution 1.2.2. That's probably why it won't compile now. Anyone else is welcome to try the ebuild.. ;)
With evolution 1.2.2, it compiles ok, but I get this: libtool: install: warning: remember to run `libtool --finish /usr/lib/multisync' make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/var/tmp/portage/multisync-0.72/work/multisync-0.72/plugins/evolution_sync/src' make[1]: Leaving directory `/var/tmp/portage/multisync-0.72/work/multisync-0.72/plugins/evolution_sync/src' make[1]: Entering directory `/var/tmp/portage/multisync-0.72/work/multisync-0.72/plugins/evolution_sync' make[2]: Entering directory `/var/tmp/portage/multisync-0.72/work/multisync-0.72/plugins/evolution_sync' make[2]: Nothing to be done for `install-exec-am'. rm -rf /usr/lib/multisync/liblinks ACCESS DENIED unlink: /usr/lib/multisync/liblinks rm: cannot remove `/usr/lib/multisync/liblinks': Permission denied make[2]: *** [install-data-local] Error 1 make[2]: Leaving directory `/var/tmp/portage/multisync-0.72/work/multisync-0.72/plugins/evolution_sync' make[1]: *** [install-am] Error 2 make[1]: Leaving directory `/var/tmp/portage/multisync-0.72/work/multisync-0.72/plugins/evolution_sync' make: *** [install-recursive] Error 1 !!! ERROR: net-misc/multisync-0.72 failed. !!! Function src_install, Line 70, Exitcode 2 !!! (no error message) --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE = "/tmp/sandbox-multisync-0.72-18894.log" unlink: /usr/lib/multisync/liblinks --------------------------------------------------------------------------------
As of 2002-02-23, there is a SynCE plug-in available. (synce.sf.net) Would the GentooWay(TM) be to include this plug-in in the multisync ebuild or have a separate ebuild for it? I still don't have a solution for the sandbox violations. Will try more later on.
line 70 of your ebuild corresponds to: cd ${S}/plugins/evolution_sync make DESTDIR=${D} install || die most likely the makefile in ${S}/plugins/evolution_sync isnt respecting DESTDIR and is attempting to write outside the sandbox. you'll need to have a look through that Makefile and either patch it, or maybe sed it in the ebuild.
Will do when I get the chance, others are welcome to do it also. ;)
Its mostly working but I'm having problems building the evolution plugin. The evolution version detection seems to be failing: checking for pthread.h... yes checking for evolution... yes Gnome-ERROR **: Could not create per-user Gnome directory </root/.gnome> - aborting aborting... Detected evolution . Found ebook, creating link. I have evolution 1.2.4 installed. Any ideas?
I've also noticed that openobex seems to be a dependency so the ebuild should have this line added in the dependency section: gnome-base/ORBit +dev-libs/openobex bluez? ( >=net-wireless/bluez-kernel-2.3 )
Multisync 0.80 should be out end of july.
i think a cvs-ebuild would be interesting here, but sorry no time atm
Created attachment 14822 [details] multisync-cvs-20030721.ebuild Ok.. I made an ebuild for the CVS snapshot of multisync.. All compiled and installed ok (bluez USE) except for opie_sync, so it's not included ATM. (Just add opie_sync to the PLUGINS variable and it'll try to compile it as well.) Also, I don't know if both autogen.sh and ./configure is needed, but autogen.sh traverses all directories, and you still have to ./configure within the plugins, so I have it on the main multisync source as well.
Created attachment 15359 [details] Version 0.80 EBuild Well, version 0.80 is out so I thought I'd try my hand at helping the process along. This ebuild is based from Patrik's CVS version, with a few changes. I added 'opie' and 'ldap' to IUSE in support of new backends in this release, as well as a few dependencies. I've also had an attempt at building only those plugins that are specified by the USE flags (I didnt want to suck in all the bluez stuff) which seems to work OK. As before, opie_sync chokes during make. I believe this is because it is looking for 'multisync.h' but it's include path only contains the installed version (/usr/lib/multisync/multisync.h), not the version existing in the package. If I can confirm that this is the problem I'll file a bug report upstream. Cheers, Ryan
Created attachment 15365 [details] /plugins/opie_sync/src/Makefile.am patch Yep, it was that simple. This patch to plugins/opie_sync/src/Makefile.am fixes the build when applied in src_unpack() (before running autogen.sh)
Is all those use flags really needed? opie and irmc aren't even known use flags, openobex is needed by bluez as well, and curl/expat could be global deps instead. Also, probably 90% of the evolution users doesn't have the "evo" use flag. Other than that, great work!
Created attachment 15466 [details] multisync-0.80.ebuild (slightly revised) I removed the src_unpack to let portage take care of that on its own and patched/autogen:ed in the beginning of src_compile instead.
Created attachment 15467 [details, diff] multisync-0.80-Makefile.am.diff I edited the diff so that it can be run directly from the source dir.
Just have to say.. this version works like a charm.. no bluez-hangups problems whatsoever.
app-pda/multisync-0.80-r1 is in portage, though masked.