Ilya Bakulin
2009-07-27 19:42:26 UTC
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.
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://***@jabber.ru
Regards,
Ilya Bakulin
http://kibab.com
xmpp://***@jabber.ru