Hi! It's time to update SynCE in FreeBSD Ports Collection, so I decided to compile fresh versions of SynCE components. It's worth mentioning that now I'm runnning FreeBSD 8.0-BETA2, and there are significiant changes in certain areas between 8.0 and earlier versions. The most important is that all FreeBSD network subsystem was made MPSAFE, and some network drivers that were not adapted to be MPSAFE were dropped. Among them is if_ppp, a driver for kernel-mode PPP implementation. PPPD on FreeBSD used it, so now PPPD is gone... Userland ppp is not very flexible solution, for example it cannot look for configs anywhere except /etc/ppp. So using it for SynCE configuring violates BSD paradigm of placing all 3rd-party applications under /usr/local... Together with Alexander Logvinov I've managed to setup connection via MPD. MPD is Multilink Ppp Daemon, it may be flexibly configured, has almost no dependencies and works fast. So, by introducing one extra dependency we keep synce-hal compatible with FreeBSD 8.0.
The second issue is HAL itself. In FreeBSD 8, HAL sees devices slightly different than in older versions. For example, now it's possible to match against driver name -- it sets "uipaq", not "ucom", in "freebsd.driver". No more need to modify FDI file and change the vendor name. I'll try to pick up all stated above and send a patch to synce-hal that will make it work with FreeBSD 8.0. There are some other issues besides already described. librapi2 fails to compile with "--disable-odccm-support", it stops because it doesn't find symbol "get_connection_from_odccm", file src/support/rapi_context.c This is because it gets cut by C preprocessor, while the call of this function remains in code. Attached patch "patch-rapi_context.c" fixes this issue. The second issue is also related to librapi2. It fails to compile "tests/CeRapiInvoke" because of missing "-I" directives passed to C compiler. Attached patch "patch-tests-CeRapiInvoke-Makefile.in" fixes this issue in Makefile.in, but in fact one should add "AM_CFLAGS" to Makefile.am. Hope these remarks will be useful. -- Regards, Ilya Bakulin http://kibab.com xmpp://kibab...@jabber.ru
--- src/support/rapi_context.c 2009-07-27 13:25:07.000000000 +0400 +++ src/support/rapi_context.c 2009-07-27 13:26:52.000000000 +0400 @@ -513,13 +513,19 @@ /* * odccm, synce-hal, or proxy ? */ +#if ENABLE_ODCCM_SUPPORT if (strcmp(transport, "odccm") == 0) { synce_socket_take_descriptor(context->socket, get_connection_from_odccm(info)); } - else if (strcmp(transport, "hal") == 0) { + else +#endif +#if ENABLE_HAL_SUPPORT + if (strcmp(transport, "hal") == 0) { synce_socket_take_descriptor(context->socket, get_connection_from_hal(info)); } - else if ( !synce_socket_connect_proxy(context->socket, synce_info_get_device_ip(info)) ) + else +#endif + if ( !synce_socket_connect_proxy(context->socket, synce_info_get_device_ip(info)) ) { synce_error("failed to connect to proxy for %s", synce_info_get_device_ip(info)); goto fail;
patch-tests-CeRapiInvoke-Makefile.in
Description: Binary data
signature.asc
Description: PGP signature
------------------------------------------------------------------------------
_______________________________________________ SynCE-Devel mailing list SynCE-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synce-devel