Discussion:
wbxml
Iain Buchanan
2008-01-09 12:56:23 UTC
Permalink
Hi all

trying not to turn this into a synce-gentoo list :) but I've been
campaigning more on synce's integration into gentoo. The first step is
to sort out wbxml patches.

Firstly, I take it wbxml hasn't changed since synce 0.10.0? What is it
used / required for? Is it needed for 0.11? To the gentoo folk - I
can't find wbxml in portage apart from my synce overlay. Is it used
anywhere else?

Next, what are the reasons for (our?) patches to wbxml? I did a diff
-Naur on wbxml 0.9.2 vs the patched one from sourceforge, and ended up
with a 2Mb file!

(Have you _seen_ the requirements for becoming a gentoo dev? I'm working
on that too... phew.)

thanks for the help,
--
Iain Buchanan <iaindb at netspace dot net dot au>

There is nothing wrong with Southern California that a rise in the
ocean level wouldn't cure.
-- Ross MacDonald
Richard Alimi
2008-01-09 13:45:53 UTC
Permalink
Post by Iain Buchanan
Firstly, I take it wbxml hasn't changed since synce 0.10.0? What is it
used / required for? Is it needed for 0.11? To the gentoo folk - I
can't find wbxml in portage apart from my synce overlay. Is it used
anywhere else?
The Airsync protocol needed to communicate with the device uses the wbXML
format. Thats why we need it :) It should only be used in sync-engine, but
not the rest of our components.

The package is in portage:
http://gentoo-portage.com/dev-libs/libwbxml
and here:
http://packages.gentoo.org/package/dev-libs/libwbxml

The pywbxml package is part of synce, and it is simply a python interface to
libwbxml (which is in C).
Post by Iain Buchanan
Next, what are the reasons for (our?) patches to wbxml? I did a diff
-Naur on wbxml 0.9.2 vs the patched one from sourceforge, and ended up
with a 2Mb file!
The differences should not be that large. The patches we apply to their SVN
r53 branch are the wbxml-svn-r53-*.patch files in:
https://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/

We have submitted this set of patches to the libwbxml author, and he has told
me that he would review them. That was more than a few months ago, and as of
the last time I checked (a month ago?) they still had not been applied.

The major thing that the patches add is namespace support. Without this
support, events cannot be synchronized. IIRC, John Gow has added some
additional tags as well for his experimental support for mail.

One idea that was tossed around before was having our own wbxml implementation
to remove the libwbxml dependency. IIRC, John Carr has one but no one has
had a chance to experiment with it and test it out. Ideally this could be
plugged into sync-engine to remove the libwbxml and pywbxml dependencies.

Another idea that could be considered is "re-releasing" it as part of synce.
We would need to read the license terms very carefully to be sure this is
possible and what obligations we have when doing so. IIRC, the license is
LGPL. This seems to be uneeded though if John Carr's implementation works
out.
--
Richard Alimi
Department of Computer Science
Yale University
John Carr
2008-01-09 14:24:14 UTC
Permalink
Post by Richard Alimi
One idea that was tossed around before was having our own wbxml implementation
to remove the libwbxml dependency. IIRC, John Carr has one but no one has
had a chance to experiment with it and test it out. Ideally this could be
plugged into sync-engine to remove the libwbxml and pywbxml dependencies.
Another idea that could be considered is "re-releasing" it as part of synce.
We would need to read the license terms very carefully to be sure this is
possible and what obligations we have when doing so. IIRC, the license is
LGPL. This seems to be uneeded though if John Carr's implementation works
out.
Hi Guys

My implementation isn't finished, and i'm not even sure where it is
right now! Probably on my slug.. I hope.

My test implementation was a straight port of the PHP based wbxml code
in z-push, fixing blatant bugs and no doubt introducing new ones. It's
actually pretty easy (in theory!).. Though the resulting code was
bloody awful :-(

http://z-push.sourceforge.net/soswp/index.php?pages_id=39&t=Download
http://www.w3.org/TR/wbxml/

I hadn't considered the license of SyncEngine. As my code was a port
of the PHP code, it would probably fall under GPL like z-push. I'm at
work so can't really look at it now, is SyncEngine GPL or LGPL or
something else?

John
Dr J A Gow
2008-01-09 17:48:02 UTC
Permalink
Post by Richard Alimi
The major thing that the patches add is namespace support. Without this
support, events cannot be synchronized. IIRC, John Gow has added some
additional tags as well for his experimental support for mail.
Just to formalize this - I did add another namespace to the patches (to
support the Airsync PING command set). I am suspicious we may have to
add more later, especially if we want to support some of the more exotic
'provisioning' functions at a later date).

John.
Iain Buchanan
2008-01-09 23:54:34 UTC
Permalink
OK thanks for all the info. It seems we should keep libwbxml for now.

For gentoo we'll have to supply patches separately, then integrate them
in the ebuild, (from svn...synce/trunk/patches/)

Can anyone comment on our patched libwbxml wrt "backward compatibility"
for whatever else it is used for?

Finally, I'm about to work on the 0.11 ebuilds (as you can probably
tell) just in case anyone else was thinking about it we should
collaborate.

thanks,
--
Iain Buchanan <iaindb at netspace dot net dot au>

While most peoples' opinions change, the conviction of their
correctness never does.
Richard Alimi
2008-01-09 23:55:26 UTC
Permalink
Post by Iain Buchanan
Can anyone comment on our patched libwbxml wrt "backward compatibility"
for whatever else it is used for?
The patches _should_ be backwards compatible, but no guarantees. I didn't
test it with any other applications when I was implementing namespace
support.
--
Richard Alimi
Department of Computer Science
Yale University
Loading...