diff options
Diffstat (limited to 'recipes/opensync')
52 files changed, 1306 insertions, 0 deletions
diff --git a/recipes/opensync/libopensync-0.36/build-in-src.patch b/recipes/opensync/libopensync-0.36/build-in-src.patch new file mode 100644 index 0000000000..1810b339a6 --- /dev/null +++ b/recipes/opensync/libopensync-0.36/build-in-src.patch @@ -0,0 +1,18 @@ +--- + cmake/OpenSyncInternal.cmake.in | 1 - + 1 file changed, 1 deletion(-) + +--- libopensync-0.36.orig/cmake/OpenSyncInternal.cmake.in ++++ libopensync-0.36/cmake/OpenSyncInternal.cmake.in +@@ -5,11 +5,10 @@ INCLUDE( OpenSyncTesting ) + INCLUDE( OpenSyncPackaging ) + INCLUDE( OpenSyncPlugin ) + INCLUDE( OpenSyncPlatforms ) + INCLUDE( MacroEnsureOutOfSourceBuild ) + +-MACRO_ENSURE_OUT_OF_SOURCE_BUILD("${CMAKE_PROJECT_NAME} doesn't allow to build within the source directory. Please, create a seperate build directory and run 'cmake ${PROJECT_SOURCE_DIR} [options]'!") + + + SET( OPENSYNC_PLUGINDIR "@OPENSYNC_PLUGINDIR@" ) + SET( OPENSYNC_FORMATSDIR "@OPENSYNC_FORMATSDIR@" ) + SET( OPENSYNC_PYTHON_PLUGINDIR "@OPENSYNC_PYTHON_PLUGINDIR@" ) diff --git a/recipes/opensync/libopensync-0.36/cmake.patch b/recipes/opensync/libopensync-0.36/cmake.patch new file mode 100644 index 0000000000..0884e4cb79 --- /dev/null +++ b/recipes/opensync/libopensync-0.36/cmake.patch @@ -0,0 +1,18 @@ +--- + opensync/CMakeLists.txt | 1 - + 1 file changed, 1 deletion(-) + +--- libopensync-0.36.orig/opensync/CMakeLists.txt ++++ libopensync-0.36/opensync/CMakeLists.txt +@@ -55,11 +55,10 @@ SET( libopensync_LIB_SRCS + ADD_LIBRARY( opensync SHARED ${libopensync_LIB_SRCS} ) + + TARGET_LINK_LIBRARIES( opensync ${GLIB2_LIBRARIES} ${GTHREAD2_LIBRARIES} ${GMODULE2_LIBRARIES} ${LIBXML2_LIBRARIES} ${SQLITE3_LIBRARIES} ) + + SET_TARGET_PROPERTIES( opensync PROPERTIES VERSION 1.0.0 SOVERSION 1 ) +-SET_TARGET_PROPERTIES( opensync PROPERTIES LINK_FLAGS ${SYMBOLS_VISIBILITY} ) + + IF ( OPENSYNC_UNITTESTS ) + ADD_LIBRARY( opensync-testing SHARED ${libopensync_LIB_SRCS} ) + TARGET_LINK_LIBRARIES( opensync-testing ${GLIB2_LIBRARIES} ${GTHREAD2_LIBRARIES} ${GMODULE2_LIBRARIES} ${LIBXML2_LIBRARIES} ${SQLITE3_LIBRARIES} ) + ENDIF ( OPENSYNC_UNITTESTS ) diff --git a/recipes/opensync/libopensync-0.36/no-python-check.patch b/recipes/opensync/libopensync-0.36/no-python-check.patch new file mode 100644 index 0000000000..08a53cb9eb --- /dev/null +++ b/recipes/opensync/libopensync-0.36/no-python-check.patch @@ -0,0 +1,18 @@ +--- + CMakeLists.txt | 1 - + 1 file changed, 1 deletion(-) + +--- libopensync-0.36.orig/CMakeLists.txt ++++ libopensync-0.36/CMakeLists.txt +@@ -26,11 +26,10 @@ INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BIN + + FIND_PACKAGE( GLIB2 REQUIRED ) + FIND_PACKAGE( Sqlite3 REQUIRED ) + FIND_PACKAGE( LibXml2 REQUIRED ) + FIND_PACKAGE( SWIG ) +-FIND_PACKAGE( PythonLibs ) + FIND_PACKAGE( Check ) + + ADD_SUBDIRECTORY( opensync ) + ADD_SUBDIRECTORY( formats ) + ADD_SUBDIRECTORY( tools ) diff --git a/recipes/opensync/libopensync-plugin-evo2-sync_0.22.bb b/recipes/opensync/libopensync-plugin-evo2-sync_0.22.bb new file mode 100644 index 0000000000..6b2609902a --- /dev/null +++ b/recipes/opensync/libopensync-plugin-evo2-sync_0.22.bb @@ -0,0 +1,6 @@ +PLUGIN_ARCHIVE = "evolution2" + +require libopensync-plugin.inc +require libopensync-plugin_0.22.inc + +DEPENDS += " eds-dbus" diff --git a/recipes/opensync/libopensync-plugin-evo2-sync_svn.bb b/recipes/opensync/libopensync-plugin-evo2-sync_svn.bb new file mode 100644 index 0000000000..0a8084e519 --- /dev/null +++ b/recipes/opensync/libopensync-plugin-evo2-sync_svn.bb @@ -0,0 +1,8 @@ + +SRC_URI = "svn://svn.opensync.org/plugins;module=evolution2;proto=http" +S = "${WORKDIR}/evolution2" + +require libopensync-plugin.inc + +DEPENDS += " eds-dbus" + diff --git a/recipes/opensync/libopensync-plugin-evolution2_0.36.bb b/recipes/opensync/libopensync-plugin-evolution2_0.36.bb new file mode 100644 index 0000000000..da4ecb80b3 --- /dev/null +++ b/recipes/opensync/libopensync-plugin-evolution2_0.36.bb @@ -0,0 +1,3 @@ +require libopensync-plugin_0.36.inc + +DEPENDS += " eds-dbus" diff --git a/recipes/opensync/libopensync-plugin-file-sync_0.22.bb b/recipes/opensync/libopensync-plugin-file-sync_0.22.bb new file mode 100644 index 0000000000..d34473127d --- /dev/null +++ b/recipes/opensync/libopensync-plugin-file-sync_0.22.bb @@ -0,0 +1,2 @@ +require libopensync-plugin.inc +require libopensync-plugin_0.22.inc diff --git a/recipes/opensync/libopensync-plugin-file-sync_svn.bb b/recipes/opensync/libopensync-plugin-file-sync_svn.bb new file mode 100644 index 0000000000..ae300b402f --- /dev/null +++ b/recipes/opensync/libopensync-plugin-file-sync_svn.bb @@ -0,0 +1,5 @@ + +SRC_URI = "svn://svn.opensync.org/plugins;module=file-sync;proto=http" +S = "${WORKDIR}/file-sync" + +require libopensync-plugin.inc diff --git a/recipes/opensync/libopensync-plugin-file_0.18.bb b/recipes/opensync/libopensync-plugin-file_0.18.bb new file mode 100644 index 0000000000..293431d13e --- /dev/null +++ b/recipes/opensync/libopensync-plugin-file_0.18.bb @@ -0,0 +1,17 @@ +SRC_URI = "http://ewi546.ewi.utwente.nl/OE/source/${P}.tar.gz" + + +LICENSE = "LGPL" +DEPENDS = "libopensync" +RRECOMMENDS = "multisync" +HOMEPAGE = "http://www.opensync.org/" + +inherit autotools pkgconfig + +FILES_${PN} += "${datadir} ${libdir}" +do_install() { +install -d ${D}${datadir}/opensync/defaults +install -d ${D}${libdir}/opensync/plugins +install -m 644 src/file-sync ${D}${datadir}/opensync/defaults +install -m 755 src/.libs/file_sync.so ${D}${libdir}/opensync/plugins/file_sync.so +} diff --git a/recipes/opensync/libopensync-plugin-file_0.36.bb b/recipes/opensync/libopensync-plugin-file_0.36.bb new file mode 100644 index 0000000000..33a049b7d6 --- /dev/null +++ b/recipes/opensync/libopensync-plugin-file_0.36.bb @@ -0,0 +1 @@ +require libopensync-plugin_0.36.inc diff --git a/recipes/opensync/libopensync-plugin-google-calendar_0.36.bb b/recipes/opensync/libopensync-plugin-google-calendar_0.36.bb new file mode 100644 index 0000000000..33a049b7d6 --- /dev/null +++ b/recipes/opensync/libopensync-plugin-google-calendar_0.36.bb @@ -0,0 +1 @@ +require libopensync-plugin_0.36.inc diff --git a/recipes/opensync/libopensync-plugin-gpe_0.18.bb b/recipes/opensync/libopensync-plugin-gpe_0.18.bb new file mode 100644 index 0000000000..6bf2e863d3 --- /dev/null +++ b/recipes/opensync/libopensync-plugin-gpe_0.18.bb @@ -0,0 +1,18 @@ +SRC_URI = "http://ewi546.ewi.utwente.nl/OE/source/${P}.tar.gz" + + +LICENSE = "LGPL" +DEPENDS = "libopensync" +RRECOMMENDS = "multisync" +HOMEPAGE = "http://www.opensync.org/" + +inherit autotools pkgconfig + +FILES_${PN} += "${datadir} ${libdir}" + +do_install() { +install -d ${D}${datadir}/opensync/defaults +install -d ${D}${libdir}/opensync/plugins +install -m 644 src/gpe-sync ${D}${datadir}/opensync/defaults +install -m 755 src/.libs/gpe_sync.so ${D}${libdir}/opensync/plugins/ +} diff --git a/recipes/opensync/libopensync-plugin-irmc-sync_0.22.bb b/recipes/opensync/libopensync-plugin-irmc-sync_0.22.bb new file mode 100644 index 0000000000..55df4e4d78 --- /dev/null +++ b/recipes/opensync/libopensync-plugin-irmc-sync_0.22.bb @@ -0,0 +1,4 @@ +require libopensync-plugin.inc +require libopensync-plugin_0.22.inc + +DEPENDS += "openobex bluez-libs" diff --git a/recipes/opensync/libopensync-plugin-irmc_0.18.bb b/recipes/opensync/libopensync-plugin-irmc_0.18.bb new file mode 100644 index 0000000000..8ab66f8130 --- /dev/null +++ b/recipes/opensync/libopensync-plugin-irmc_0.18.bb @@ -0,0 +1,18 @@ +SRC_URI = "http://ewi546.ewi.utwente.nl/OE/source/${P}.tar.gz" + + +LICENSE = "LGPL" +DEPENDS = "libopensync openobex bluez-libs" +RRECOMMENDS = "multisync" +HOMEPAGE = "http://www.opensync.org/" + +inherit autotools pkgconfig + +FILES_${PN} += "${datadir} ${libdir}" + +do_install() { +install -d ${D}${datadir}/opensync/defaults +install -d ${D}${libdir}/opensync/plugins +install -m 644 src/irmc-sync ${D}${datadir}/opensync/defaults +install -m 755 src/.libs/irmc_sync.so ${D}${libdir}/opensync/plugins/ +} diff --git a/recipes/opensync/libopensync-plugin-irmc_0.36.bb b/recipes/opensync/libopensync-plugin-irmc_0.36.bb new file mode 100644 index 0000000000..295dfdecfa --- /dev/null +++ b/recipes/opensync/libopensync-plugin-irmc_0.36.bb @@ -0,0 +1,3 @@ +require libopensync-plugin_0.36.inc + +DEPENDS += "openobex bluez-libs" diff --git a/recipes/opensync/libopensync-plugin-syncml-client-plugin-0.1/missing-syncml-config.patch b/recipes/opensync/libopensync-plugin-syncml-client-plugin-0.1/missing-syncml-config.patch new file mode 100644 index 0000000000..0fac67e5d9 --- /dev/null +++ b/recipes/opensync/libopensync-plugin-syncml-client-plugin-0.1/missing-syncml-config.patch @@ -0,0 +1,8 @@ +--- tmp/src/missing-syncml-client-plugin 2007-01-09 12:55:48.000000000 +0000 ++++ tmp/src/syncml-client-plugin 2007-01-09 12:55:48.000000000 +0000 +@@ -0,0 +1,5 @@ ++<config> ++ <gconf-uri>/apps/syncml-client</gconf-uri> ++ <object-type>contact</object-type> ++ <sync-source-name>card</sync-source-name> ++</config> diff --git a/recipes/opensync/libopensync-plugin-syncml-client-plugin-0.1/syncml-client-plugin-cpp.patch b/recipes/opensync/libopensync-plugin-syncml-client-plugin-0.1/syncml-client-plugin-cpp.patch new file mode 100644 index 0000000000..7b659ce7c3 --- /dev/null +++ b/recipes/opensync/libopensync-plugin-syncml-client-plugin-0.1/syncml-client-plugin-cpp.patch @@ -0,0 +1,11 @@ +--- tmp/src/syncml-client-plugin.cpp.orig 2007-01-09 12:27:33.000000000 +0000 ++++ tmp/src/syncml-client-plugin.cpp 2007-01-09 12:27:33.000000000 +0000 +@@ -94,7 +94,7 @@ + /** + * Initialize the plugin environment, read config data. + */ +-extern "C" static void* smc_initialize(OSyncMember *member, OSyncError **error) ++extern "C" void* smc_initialize(OSyncMember *member, OSyncError **error) + { + char *configData; + int configSize; diff --git a/recipes/opensync/libopensync-plugin-syncml-client-plugin_0.1.bb b/recipes/opensync/libopensync-plugin-syncml-client-plugin_0.1.bb new file mode 100644 index 0000000000..a81417bf7e --- /dev/null +++ b/recipes/opensync/libopensync-plugin-syncml-client-plugin_0.1.bb @@ -0,0 +1,13 @@ +PR = "r1" + +SRC_URI = "svn://svn.opensync.org/plugins/syncml-client/plugin/tags;module=release-${PV};proto=http \ + file://missing-syncml-config.patch;patch=1 \ + file://syncml-client-plugin-cpp.patch;patch=1" + + +S = "${WORKDIR}/release-${PV}" + +require libopensync-plugin.inc + +DEPENDS += "syncml-client" + diff --git a/recipes/opensync/libopensync-plugin-syncml-plugin.bb b/recipes/opensync/libopensync-plugin-syncml-plugin.bb new file mode 100644 index 0000000000..0a7d82db74 --- /dev/null +++ b/recipes/opensync/libopensync-plugin-syncml-plugin.bb @@ -0,0 +1,16 @@ + +SRC_URI = "svn://svn.opensync.org/plugins;module=syncml;proto=http" +S = "${WORKDIR}/syncml" + +require libopensync-plugin.inc + +DEPENDS += " libsyncml" + +do_install() { + install -d ${D}${datadir}/opensync/defaults + install -d ${D}${libdir}/opensync/plugins + install -m 644 src/syncml-http-server ${D}${datadir}/opensync/defaults + install -m 644 src/syncml-obex-client ${D}${datadir}/opensync/defaults + install -m 755 src/.libs/${PLUGIN_SONAME} ${D}${libdir}/opensync/plugins/ +} + diff --git a/recipes/opensync/libopensync-plugin-syncml_0.22.bb b/recipes/opensync/libopensync-plugin-syncml_0.22.bb new file mode 100644 index 0000000000..2a26eb1674 --- /dev/null +++ b/recipes/opensync/libopensync-plugin-syncml_0.22.bb @@ -0,0 +1,13 @@ + +require libopensync-plugin.inc + +DEPENDS += " libsyncml" + +do_install() { + install -d ${D}${datadir}/opensync/defaults + install -d ${D}${libdir}/opensync/plugins + install -m 644 src/syncml-http-server ${D}${datadir}/opensync/defaults + install -m 644 src/syncml-obex-client ${D}${datadir}/opensync/defaults + install -m 755 src/.libs/${PLUGIN_SONAME} ${D}${libdir}/opensync/plugins/ +} + diff --git a/recipes/opensync/libopensync-plugin-syncml_0.36.bb b/recipes/opensync/libopensync-plugin-syncml_0.36.bb new file mode 100644 index 0000000000..e1395a7006 --- /dev/null +++ b/recipes/opensync/libopensync-plugin-syncml_0.36.bb @@ -0,0 +1,3 @@ +require libopensync-plugin_0.36.inc + +DEPENDS += " libsyncml (>= 0.4.6)" diff --git a/recipes/opensync/libopensync-plugin-vformat_0.36.bb b/recipes/opensync/libopensync-plugin-vformat_0.36.bb new file mode 100644 index 0000000000..84a48f21fe --- /dev/null +++ b/recipes/opensync/libopensync-plugin-vformat_0.36.bb @@ -0,0 +1,3 @@ +require libopensync-plugin_0.36.inc + +DEPENDS += " check" diff --git a/recipes/opensync/libopensync-plugin.inc b/recipes/opensync/libopensync-plugin.inc new file mode 100644 index 0000000000..b1986a9e64 --- /dev/null +++ b/recipes/opensync/libopensync-plugin.inc @@ -0,0 +1,24 @@ + +PV = "0.22+svn${SRCDATE}" +PLUGIN_NAME ?= "${@bb.data.getVar('PN', d, 1).replace('libopensync-plugin-','')}" +PLUGIN_SONAME ?= "${@bb.data.getVar('PLUGIN_NAME', d, 1).replace('-','_')}.so" +SRC_URI ?= "svn://svn.opensync.org/plugins;module=${PLUGIN_NAME};proto=http" +S ?= "${WORKDIR}/${PLUGIN_NAME}" + +LICENSE ?= "LGPL" +DEPENDS += " libopensync" +RRECOMMENDS += " msynctool" +HOMEPAGE ?= "http://www.opensync.org/" + +inherit autotools pkgconfig + +FILES_${PN} += "${datadir} ${libdir}/opensync/plugins/*.so" +FILES_${PN}-dbg += "${libdir}/opensync/plugins/.debug" + +do_install() { + install -d ${D}${datadir}/opensync/defaults + install -d ${D}${libdir}/opensync/plugins + install -m 644 src/${PLUGIN_NAME} ${D}${datadir}/opensync/defaults + install -m 755 src/.libs/${PLUGIN_SONAME} ${D}${libdir}/opensync/plugins/ +} + diff --git a/recipes/opensync/libopensync-plugin_0.22.inc b/recipes/opensync/libopensync-plugin_0.22.inc new file mode 100644 index 0000000000..03857dce53 --- /dev/null +++ b/recipes/opensync/libopensync-plugin_0.22.inc @@ -0,0 +1,12 @@ +PV = "0.22" +PLUGIN_ARCHIVE ?= "${@bb.data.getVar('PLUGIN_NAME', d, 1).replace('-sync','')}" +SRC_URI = "http://www.opensync.org/attachment/wiki/download/libopensync-plugin-${PLUGIN_ARCHIVE}-${PV}.tar.bz2?format=raw" + +S = "${WORKDIR}/libopensync-plugin-${PLUGIN_ARCHIVE}-${PV}/" + +do_unpack2() { + cd ${WORKDIR} && tar jxf libopensync-plugin-${PLUGIN_ARCHIVE}-${PV}.tar.bz2?format=raw +} + +addtask unpack2 after do_unpack before do_patch + diff --git a/recipes/opensync/libopensync-plugin_0.36.inc b/recipes/opensync/libopensync-plugin_0.36.inc new file mode 100644 index 0000000000..db6b1fa73a --- /dev/null +++ b/recipes/opensync/libopensync-plugin_0.36.inc @@ -0,0 +1,9 @@ +DEPENDS = "libopensync (>= 0.36)" + +SRC_URI = "http://opensync.org/download/releases/${PV}/${P}.tar.bz2" + +inherit cmake + +FILES_${PN} += "${libdir}/opensync*/plugins/*.so \ + ${libdir}/opensync*/formats/*.so \ + ${datadir}/opensync*/defaults/" diff --git a/recipes/opensync/libopensync/.mtn2git_empty b/recipes/opensync/libopensync/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/recipes/opensync/libopensync/.mtn2git_empty diff --git a/recipes/opensync/libopensync_0.18.bb b/recipes/opensync/libopensync_0.18.bb new file mode 100644 index 0000000000..5a2e5be2ba --- /dev/null +++ b/recipes/opensync/libopensync_0.18.bb @@ -0,0 +1,18 @@ +SRC_URI = "http://ewi546.ewi.utwente.nl/OE/source/libopensync-${PV}.tar.gz" + + +LICENSE = "LGPL" +DEPENDS = "sqlite3 libxml2 zlib glib-2.0" +HOMEPAGE = "http://www.opensync.org/" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-python" +LEAD_SONAME = "libopensync.so" + +FILES_${PN} += " ${libdir}/opensync/formats/*.so" + +do_stage() { +autotools_stage_all +} + diff --git a/recipes/opensync/libopensync_0.20.bb b/recipes/opensync/libopensync_0.20.bb new file mode 100644 index 0000000000..9560e5f949 --- /dev/null +++ b/recipes/opensync/libopensync_0.20.bb @@ -0,0 +1,18 @@ +LICENSE = "LGPL" +HOMEPAGE = "http://www.opensync.org/" + +DEPENDS = "sqlite3 libxml2 zlib glib-2.0" + +SRC_URI = "http://www.openembedded.org/sources/libopensync-${PV}.tar.gz" + +inherit autotools pkgconfig lib_package + +EXTRA_OECONF = "--disable-python" +LEAD_SONAME = "libopensync.so" + +FILES_${PN} += " ${libdir}/opensync/formats/*.so" + +do_stage() { +autotools_stage_all +} + diff --git a/recipes/opensync/libopensync_0.22.bb b/recipes/opensync/libopensync_0.22.bb new file mode 100644 index 0000000000..ed4ef740bc --- /dev/null +++ b/recipes/opensync/libopensync_0.22.bb @@ -0,0 +1,21 @@ +LICENSE = "LGPL" +HOMEPAGE = "http://www.opensync.org/" + +DEPENDS = "sqlite3 libxml2 zlib glib-2.0" + +SRC_URI = "http://www.opensync.org/attachment/wiki/download/libopensync-0.22.tar.bz2?format=raw" + +inherit autotools pkgconfig lib_package + +EXTRA_OECONF = "--disable-python" +LEAD_SONAME = "libopensync.so" + +FILES_${PN} += " ${libdir}/opensync/formats/*.so" +FILES_${PN}-dbg += " ${libdir}/opensync/formats/.debug/*.so" + +require opensync-unpack.inc + +do_stage() { +autotools_stage_all +} + diff --git a/recipes/opensync/libopensync_0.36.bb b/recipes/opensync/libopensync_0.36.bb new file mode 100644 index 0000000000..f41cf89b5f --- /dev/null +++ b/recipes/opensync/libopensync_0.36.bb @@ -0,0 +1,26 @@ +LICENSE = "LGPL" +HOMEPAGE = "http://www.opensync.org/" + +DEPENDS = "sqlite3 libxml2 glib-2.0 check" + +SRC_URI = "http://opensync.org/download/releases/${PV}/libopensync-${PV}.tar.bz2\ + file://cmake.patch;patch=1 \ + file://build-in-src.patch;patch=1 \ + file://no-python-check.patch;patch=1" + +inherit cmake pkgconfig + +LEAD_SONAME = "libopensync.so" + +FILES_${PN} += " ${libdir}/opensync*/formats/*.so \ + ${libdir}/opensync*/osplugin \ + ${datadir}/opensync*/schemas \ + ${datadir}/opensync*/capabilities \ + ${datadir}/opensync*/descriptions \ + " +FILES_${PN}-dbg += " ${libdir}/opensync*/formats/.debug/*.so \ + ${libdir}/opensync*/.debug/osplugin " + +do_stage() { + autotools_stage_all +} diff --git a/recipes/opensync/libopensync_svn.bb b/recipes/opensync/libopensync_svn.bb new file mode 100644 index 0000000000..67501cc6e9 --- /dev/null +++ b/recipes/opensync/libopensync_svn.bb @@ -0,0 +1,20 @@ +LICENSE = "LGPL" +HOMEPAGE = "http://www.opensync.org/" +DEPENDS = "sqlite3 libxml2 zlib glib-2.0" +PV = "0.22+svn${SRCDATE}" +SRC_URI = "svn://svn.opensync.org;module=trunk;proto=http" + +DEFAULT_PREFERENCE = "-1" + +inherit autotools pkgconfig lib_package + +S = "${WORKDIR}/trunk" +EXTRA_OECONF = "--disable-python" +LEAD_SONAME = "libopensync.so" + +FILES_${PN} += " ${libdir}/opensync/formats/*.so" + +do_stage() { + autotools_stage_all +} + diff --git a/recipes/opensync/libsyncml/.mtn2git_empty b/recipes/opensync/libsyncml/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/recipes/opensync/libsyncml/.mtn2git_empty diff --git a/recipes/opensync/libsyncml_0.4.0.bb b/recipes/opensync/libsyncml_0.4.0.bb new file mode 100644 index 0000000000..dbc7404f50 --- /dev/null +++ b/recipes/opensync/libsyncml_0.4.0.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "Libsyncml is a implementation of the SyncML protocol." +HOMEPAGE = "http://libsyncml.opensync.org/" +LICENSE = "LGPL" + +DEPENDS = "sed-native wbxml2 libsoup libxml2 bluez-libs openobex" + +SRC_URI = "http://ewi546.ewi.utwente.nl/OE/source/${P}.tar.gz" + +inherit autotools pkgconfig + +EXTRA_OECONF = " --enable-http \ + --enable-obex \ + --enable-bluetooth \ + --enable-tools \ + --with-wbxml" + +CFLAGS += "-I${STAGING_INCDIR}/libsoup-2.2" + +do_configure_append() { + sed -i s:-I/usr/include/:-I/foo/:g Makefile + sed -i s:-I/usr/include/:-I/foo/:g */Makefile + sed -i s:-I/usr/include/:-I/foo/:g */*/Makefile +} + + +PACKAGES += "${PN}-tools" + +FILES_${PN}-tools = "${bindir}" +FILES_${PN} = "${libdir}/*.so.*" + + + + + diff --git a/recipes/opensync/libsyncml_0.4.6.bb b/recipes/opensync/libsyncml_0.4.6.bb new file mode 100644 index 0000000000..297a1ca450 --- /dev/null +++ b/recipes/opensync/libsyncml_0.4.6.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "Libsyncml is a implementation of the SyncML protocol." +HOMEPAGE = "http://libsyncml.opensync.org/" +LICENSE = "LGPL" +DEPENDS = "sed-native wbxml2 libsoup libxml2 bluez-libs openobex" + +SRC_URI = "http://libsyncml.opensync.org/download/releases/${PV}/libsyncml-${PV}.tar.bz2 \ + file://build-in-src.patch;patch=1" + +inherit cmake pkgconfig + +do_stage() { + autotools_stage_all +} + +PACKAGES += "${PN}-tools" + +FILES_${PN}-tools = "${bindir}" +FILES_${PN} = "${libdir}/*.so.*" diff --git a/recipes/opensync/libsyncml_svn.bb b/recipes/opensync/libsyncml_svn.bb new file mode 100644 index 0000000000..17b2537e85 --- /dev/null +++ b/recipes/opensync/libsyncml_svn.bb @@ -0,0 +1,35 @@ +DESCRIPTION = "Libsyncml is a implementation of the SyncML protocol." +HOMEPAGE = "http://libsyncml.opensync.org/" +LICENSE = "LGPL" + +DEPENDS = "sed-native wbxml2 libsoup libxml2 bluez-libs openobex" + +PV = "0.4.2+svn${SRCDATE}" +SRC_URI = "svn://svn.opensync.org/libsyncml;module=trunk;proto=http" +S = "${WORKDIR}/trunk" + +inherit autotools pkgconfig + +EXTRA_OECONF = " --enable-http \ + --enable-obex \ + --enable-bluetooth \ + --enable-tools \ + --with-wbxml" + +CFLAGS += "-I${STAGING_INCDIR}/libsoup-2.2" + +do_configure_append() { + sed -i s:-I/usr/include/:-I/foo/:g Makefile + sed -i s:-I/usr/include/:-I/foo/:g */Makefile + sed -i s:-I/usr/include/:-I/foo/:g */*/Makefile +} + +do_stage() { + autotools_stage_all +} + +PACKAGES += "${PN}-tools" + +FILES_${PN}-tools = "${bindir}" +FILES_${PN} = "${libdir}/*.so.*" + diff --git a/recipes/opensync/msynctool_0.22.bb b/recipes/opensync/msynctool_0.22.bb new file mode 100644 index 0000000000..018c227e36 --- /dev/null +++ b/recipes/opensync/msynctool_0.22.bb @@ -0,0 +1,9 @@ +SRC_URI = "http://www.opensync.org/attachment/wiki/download/msynctool-0.22.tar.bz2?format=raw" + +LICENSE = "GPL" +DEPENDS = "libopensync" +HOMEPAGE = "http://www.opensync.org/" + +inherit autotools pkgconfig + +require opensync-unpack.inc diff --git a/recipes/opensync/msynctool_0.36.bb b/recipes/opensync/msynctool_0.36.bb new file mode 100644 index 0000000000..773166b3be --- /dev/null +++ b/recipes/opensync/msynctool_0.36.bb @@ -0,0 +1,7 @@ +SRC_URI = "http://www.opensync.org/download/releases/${PV}/msynctool-${PV}.tar.bz2" + +LICENSE = "GPL" +DEPENDS = "libopensync glib-2.0" +HOMEPAGE = "http://www.opensync.org/" + +inherit cmake pkgconfig diff --git a/recipes/opensync/msynctool_svn.bb b/recipes/opensync/msynctool_svn.bb new file mode 100644 index 0000000000..319cf39d05 --- /dev/null +++ b/recipes/opensync/msynctool_svn.bb @@ -0,0 +1,10 @@ +PV = "0.22+svn${SRCDATE}" +SRC_URI = "svn://svn.opensync.org/multisync;module=trunk;proto=http" +S = "${WORKDIR}/trunk" + +LICENSE = "GPL" +DEPENDS = "libopensync" +HOMEPAGE = "http://www.opensync.org/" + +inherit autotools pkgconfig + diff --git a/recipes/opensync/multisync_0.90.18.bb b/recipes/opensync/multisync_0.90.18.bb new file mode 100644 index 0000000000..4134ff2ebc --- /dev/null +++ b/recipes/opensync/multisync_0.90.18.bb @@ -0,0 +1,10 @@ +SRC_URI = "http://ewi546.ewi.utwente.nl/OE/source/${P}.tar.gz" + + +LICENSE = "GPL" +DEPENDS = "libopensync" +HOMEPAGE = "http://www.opensync.org/" + +inherit autotools pkgconfig + + diff --git a/recipes/opensync/opensync-unpack.inc b/recipes/opensync/opensync-unpack.inc new file mode 100644 index 0000000000..d5443187bd --- /dev/null +++ b/recipes/opensync/opensync-unpack.inc @@ -0,0 +1,5 @@ +do_unpack2() { + cd ${WORKDIR} && tar jxf ${PN}-${PV}.tar.bz2?format=raw +} + +addtask unpack2 after do_unpack before do_patch diff --git a/recipes/opensync/syncml-client-0.1/syncml-client-pc-in-cross.patch b/recipes/opensync/syncml-client-0.1/syncml-client-pc-in-cross.patch new file mode 100644 index 0000000000..364f7643c5 --- /dev/null +++ b/recipes/opensync/syncml-client-0.1/syncml-client-pc-in-cross.patch @@ -0,0 +1,10 @@ +--- tmp/syncml-client.pc.in.orig 2007-01-09 09:43:18.000000000 +0000 ++++ tmp/syncml-client.pc.in 2007-01-09 09:43:18.000000000 +0000 +@@ -8,6 +8,6 @@ + Version: @VERSION@ + Requires: libcurl, gconf-2.0 + Libs: @SYNCML_LIBS@ -lsyncmlclient +-Cflags: @SYNCML_CFLAGS@ -I@includedir@/syncml-client ++Cflags: @SYNCML_CFLAGS@ -I${includedir}/syncml-client + ~ + diff --git a/recipes/opensync/syncml-client-0.1/syncml-client-plugin-h.patch b/recipes/opensync/syncml-client-0.1/syncml-client-plugin-h.patch new file mode 100644 index 0000000000..c936445a95 --- /dev/null +++ b/recipes/opensync/syncml-client-0.1/syncml-client-plugin-h.patch @@ -0,0 +1,11 @@ +--- tmp/src/syncml-client.h.orig 2007-01-09 12:15:41.000000000 +0000 ++++ tmp/src/syncml-client-plugin.h 2007-01-09 12:15:41.000000000 +0000 +@@ -20,7 +20,7 @@ + #define SYNCML_CLIENT_PLUGIN + + #include <opensync/opensync.h> +-#include <syncml-client.h> ++#include <syncml-client/syncml-client.h> + #include "SmcSyncSource.h" + #include "SmcConfig.h" + diff --git a/recipes/opensync/syncml-client_0.1.bb b/recipes/opensync/syncml-client_0.1.bb new file mode 100644 index 0000000000..e971624c8f --- /dev/null +++ b/recipes/opensync/syncml-client_0.1.bb @@ -0,0 +1,14 @@ +LICENSE = "GPL" +DEPENDS = "gtk+ curl gconf" +HOMEPAGE = "http://hem.bredband.net/miko22/" +DESCRIPTION = "Linux port of the Funambol C++ SyncML client connector." +PR ="r1" + +SRC_URI = "http://hem.bredband.net/miko22/${P}.tar.gz \ + file://syncml-client-pc-in-cross.patch;patch=1 " + +inherit autotools pkgconfig + +do_stage() { + autotools_stage_all +} diff --git a/recipes/opensync/wbxml2/00-fix-includes.patch b/recipes/opensync/wbxml2/00-fix-includes.patch new file mode 100644 index 0000000000..8fe415dab7 --- /dev/null +++ b/recipes/opensync/wbxml2/00-fix-includes.patch @@ -0,0 +1,24 @@ +diff -urN wbxml2-0.9.2.orig/src/Makefile.am wbxml2-0.9.2/src/Makefile.am +--- wbxml2-0.9.2.orig/src/Makefile.am 2006-07-11 13:47:44.000000000 +0200 ++++ wbxml2-0.9.2/src/Makefile.am 2008-11-25 08:26:35.000000000 +0100 +@@ -1,7 +1,7 @@ + ## Process this file with automake to produce Makefile.in + + INCLUDES =\ +- -I. -I/usr/include ++ -I. + + CFLAGS =\ + -DHAVE_CONFIG_H\ +diff -urN wbxml2-0.9.2.orig/tools/Makefile.am wbxml2-0.9.2/tools/Makefile.am +--- wbxml2-0.9.2.orig/tools/Makefile.am 2006-07-11 13:47:46.000000000 +0200 ++++ wbxml2-0.9.2/tools/Makefile.am 2008-11-25 08:36:54.000000000 +0100 +@@ -1,7 +1,7 @@ + ## Process this file with automake to produce Makefile.in + + INCLUDES =\ +- -I. -I../src -I/usr/include ++ -I. -I../src + + CFLAGS =\ + -DHAVE_CONFIG_H\ diff --git a/recipes/opensync/wbxml2/01-anonymous-support-and-misc-fixes.patch b/recipes/opensync/wbxml2/01-anonymous-support-and-misc-fixes.patch new file mode 100644 index 0000000000..225c581c38 --- /dev/null +++ b/recipes/opensync/wbxml2/01-anonymous-support-and-misc-fixes.patch @@ -0,0 +1,304 @@ +diff -Nru wbxml2-0.9.2.orig/bootstrap wbxml2-0.9.2/bootstrap +--- wbxml2-0.9.2.orig/bootstrap 2008-01-10 19:03:28.000000000 +0000 ++++ wbxml2-0.9.2/bootstrap 2008-01-10 19:03:44.000000000 +0000 +@@ -1,8 +1,2 @@ +-#! /bin/sh +-libtoolize +-aclocal +-autoheader +-# automake --foreign --add-missing --copy +-automake --add-missing +-autoconf +-./configure --prefix=/usr ++#!/bin/sh ++autoreconf -i +diff -Nru wbxml2-0.9.2.orig/configure.in wbxml2-0.9.2/configure.in +--- wbxml2-0.9.2.orig/configure.in 2008-01-10 19:03:28.000000000 +0000 ++++ wbxml2-0.9.2/configure.in 2008-01-10 19:03:44.000000000 +0000 +@@ -1,11 +1,11 @@ + dnl Process this file with autoconf to produce a configure script. + AC_INIT(doxygen.h) +-AM_INIT_AUTOMAKE(wbxml2, 0.9.0) ++AM_INIT_AUTOMAKE(wbxml2, 0.9.2) + AM_CONFIG_HEADER(config.h) + + + dnl Define common variables +-VERSION="0.9.0" ++VERSION="0.9.2" + AC_SUBST(VERSION) + RELEASE="1" + AC_SUBST(RELEASE) +diff -Nru wbxml2-0.9.2.orig/libwbxml2.pc.in wbxml2-0.9.2/libwbxml2.pc.in +--- wbxml2-0.9.2.orig/libwbxml2.pc.in 2008-01-10 19:03:28.000000000 +0000 ++++ wbxml2-0.9.2/libwbxml2.pc.in 2008-01-10 19:03:44.000000000 +0000 +@@ -8,4 +8,4 @@ + Version: @VERSION@ + Requires: libxml-2.0 >= 2.6 + Libs: -L${libdir} -lwbxml2 +-Cflags: -I${includedir} ++Cflags: -I${includedir} -DHAVE_EXPAT -D_REENTRANT -DWBXML_ENCODER_USE_STRTBL -DWBXML_SUPPORT_WML -DWBXML_SUPPORT_WTA -DWBXML_SUPPORT_SI -DWBXML_SUPPORT_SL -DWBXML_SUPPORT_CO -DWBXML_SUPPORT_PROV -DWBXML_SUPPORT_EMN -DWBXML_SUPPORT_DRMREL -DWBXML_SUPPORT_OTA_SETTINGS -DWBXML_SUPPORT_SYNCML -DWBXML_SUPPORT_WV -DWBXML_SUPPORT_AIRSYNC +--- wbxml2-0.9.2.orig/src/Makefile.am 2008-01-10 19:03:28.000000000 +0000 ++++ wbxml2-0.9.2/src/Makefile.am 2008-01-10 19:03:44.000000000 +0000 +@@ -3,7 +3,7 @@ + INCLUDES =\ + -I. -I/usr/include + +-CFLAGS =\ ++AM_CFLAGS =\ + -DHAVE_CONFIG_H\ + -DHAVE_EXPAT\ + -D_REENTRANT\ +@@ -20,9 +20,7 @@ + -DWBXML_SUPPORT_SYNCML\ + -DWBXML_SUPPORT_WV\ + -DWBXML_SUPPORT_AIRSYNC\ +- -Wall -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wuninitialized -Wparentheses -Wpointer-arith -Wmissing-prototypes\ +- -O3\ +- -g ++ -Wall -g + + lib_LTLIBRARIES = libwbxml2.la + +diff -Nru wbxml2-0.9.2.orig/src/wbxml_encoder.c wbxml2-0.9.2/src/wbxml_encoder.c +--- wbxml2-0.9.2.orig/src/wbxml_encoder.c 2008-01-10 19:03:28.000000000 +0000 ++++ wbxml2-0.9.2/src/wbxml_encoder.c 2008-01-10 19:03:44.000000000 +0000 +@@ -153,6 +153,7 @@ + WB_BOOL use_strtbl; /**< Do we use String Table when generating WBXML output ? (default: YES) */ + #endif /* WBXML_ENCODER_USE_STRTBL */ + WB_BOOL xml_encode_header; /**< Do we generate XML Header ? */ ++ WB_BOOL produce_anonymous; /**< Do we produce anonymous documents? (default: NO) */ + WBXMLVersion wbxml_version; /**< WBXML Version to use (when generating WBXML output) */ + WBXMLCharsetMIBEnum output_charset; /**< Output charset encoding */ + WB_BOOL flow_mode; /**< Is Flow Mode encoding activated ? */ +@@ -400,6 +401,7 @@ + encoder->cdata = NULL; + + encoder->xml_encode_header = TRUE; ++ encoder->produce_anonymous = FALSE; + + /* Default Version: WBXML 1.3 */ + encoder->wbxml_version = WBXML_VERSION_13; +@@ -509,6 +511,15 @@ + } + + ++WBXML_DECLARE(void) wbxml_encoder_set_produce_anonymous(WBXMLEncoder *encoder, WB_BOOL set_anonymous) ++{ ++ if (encoder == NULL) ++ return; ++ ++ encoder->produce_anonymous = set_anonymous; ++} ++ ++ + WBXML_DECLARE(void) wbxml_encoder_set_wbxml_version(WBXMLEncoder *encoder, WBXMLVersion version) + { + if (encoder == NULL) +@@ -1464,7 +1475,8 @@ + + /* Encode Public ID */ + /* If WBXML Public Id is '0x01' (unknown), or we forced it, add the XML Public ID in the String Table */ +- if (encoder->textual_publicid || (public_id == WBXML_PUBLIC_ID_UNKNOWN)) ++ if ((encoder->textual_publicid || (public_id == WBXML_PUBLIC_ID_UNKNOWN)) && ++ !encoder->produce_anonymous) + { + if (encoder->lang->publicID->xmlPublicID != NULL) + { +@@ -1601,7 +1613,7 @@ + } + else { + /* Search tag in Tags Table */ +- if ((tag = wbxml_tables_get_tag_from_xml(encoder->lang, wbxml_tag_get_xml_name(node->name))) != NULL) ++ if ((tag = wbxml_tables_get_tag_from_xml(encoder->lang, encoder->tagCodePage, wbxml_tag_get_xml_name(node->name))) != NULL) + { + token = tag->wbxmlToken; + page = tag->wbxmlCodePage; +@@ -2897,7 +2909,7 @@ + /* Date and time can be encoded as OPAQUE data or as a string as specified in [ISO8601]. For now we + * keep the string... but if someone wants to code the Date and time encoding function :-) + */ +- /* return wbxml_encode_wv_datetime(encoder, buffer); */ ++ return wbxml_encode_wv_datetime(encoder, buffer); + break; + case WBXML_WV_DATA_TYPE_BINARY: + /** @todo Binary Encoding !! */ +diff -Nru wbxml2-0.9.2.orig/src/wbxml_encoder.h wbxml2-0.9.2/src/wbxml_encoder.h +--- wbxml2-0.9.2.orig/src/wbxml_encoder.h 2008-01-10 19:03:28.000000000 +0000 ++++ wbxml2-0.9.2/src/wbxml_encoder.h 2008-01-10 19:03:44.000000000 +0000 +@@ -118,6 +118,13 @@ + WBXML_DECLARE(void) wbxml_encoder_set_use_strtbl(WBXMLEncoder *encoder, WB_BOOL use_strtbl); + + /** ++ * @brief Set if we want to produce anonymous WBXML documents [Default: FALSE] ++ * @param encoder [in] The WBXML encoder ++ * @param set_anonymous [in] TRUE to produce anonymous documents, FALSE otherwise ++ */ ++WBXML_DECLARE(void) wbxml_encoder_set_produce_anonymous(WBXMLEncoder *encoder, WB_BOOL set_anonymous); ++ ++/** + * @brief Set the WBXML Version of the output document, when generating WBXML [Default: 'WBXML_VERSION_TOKEN_13' (1.3)] + * @param encoder [in] The WBXML Encoder + * @param version [in] The WBXML Version +diff -Nru wbxml2-0.9.2.orig/src/wbxml.h wbxml2-0.9.2/src/wbxml.h +--- wbxml2-0.9.2.orig/src/wbxml.h 2008-01-10 19:03:28.000000000 +0000 ++++ wbxml2-0.9.2/src/wbxml.h 2008-01-10 19:03:44.000000000 +0000 +@@ -285,6 +285,7 @@ + WBXMLVersion wbxml_version; /**< WBXML Version */ + WB_BOOL keep_ignorable_ws; /**< Keep Ignorable Whitespaces (Default: FALSE) */ + WB_BOOL use_strtbl; /**< Generate String Table (Default: TRUE) */ ++ WB_BOOL produce_anonymous; /**< Produce an anonymous document (Default: FALSE) */ + } WBXMLGenWBXMLParams; + + +diff -Nru wbxml2-0.9.2.orig/src/wbxml_tables.c wbxml2-0.9.2/src/wbxml_tables.c +--- wbxml2-0.9.2.orig/src/wbxml_tables.c 2008-01-10 19:03:28.000000000 +0000 ++++ wbxml2-0.9.2/src/wbxml_tables.c 2008-01-10 19:03:44.000000000 +0000 +@@ -2992,17 +2992,40 @@ + + + WBXML_DECLARE(const WBXMLTagEntry *) wbxml_tables_get_tag_from_xml(const WBXMLLangEntry *lang_table, ++ const int cur_code_page, + const WB_UTINY *xml_name) + { +- WB_ULONG i = 0; ++ WB_ULONG i; ++ WB_BOOL found_current = FALSE; + + if ((lang_table == NULL) || (lang_table->tagTable == NULL) || (xml_name == NULL)) + return NULL; + +- while (lang_table->tagTable[i].xmlName != NULL) { +- if (WBXML_STRCMP(lang_table->tagTable[i].xmlName, xml_name) == 0) +- return &(lang_table->tagTable[i]); +- i++; ++ /* First off, try to find it in the current code page, if provided */ ++ for (i = 0; cur_code_page >= 0 && lang_table->tagTable[i].xmlName != NULL; i++) { ++ const WBXMLTagEntry *entry = &lang_table->tagTable[i]; ++ ++ if (entry->wbxmlCodePage == cur_code_page) { ++ found_current = TRUE; ++ ++ if (WBXML_STRCMP(entry->xmlName, xml_name) == 0) ++ return entry; ++ } else { ++ if (found_current) ++ break; ++ } ++ } ++ ++ /* Then try all others */ ++ for (i = 0; lang_table->tagTable[i].xmlName != NULL; i++) { ++ const WBXMLTagEntry *entry = &lang_table->tagTable[i]; ++ ++ /* We've already searched the current code page */ ++ if (cur_code_page >= 0 && entry->wbxmlCodePage == cur_code_page) ++ continue; ++ ++ if (WBXML_STRCMP(entry->xmlName, xml_name) == 0) ++ return entry; + } + + return NULL; +diff -Nru wbxml2-0.9.2.orig/src/wbxml_tables.h wbxml2-0.9.2/src/wbxml_tables.h +--- wbxml2-0.9.2.orig/src/wbxml_tables.h 2008-01-10 19:03:28.000000000 +0000 ++++ wbxml2-0.9.2/src/wbxml_tables.h 2008-01-10 19:03:44.000000000 +0000 +@@ -255,10 +255,12 @@ + /** + * @brief Search for a Tag Entry in Language Table, given the XML Name of the Tag + * @param lang_table The Language Table to search in ++ * @param cur_code_page The current code page so that it can be searched first, or -1 to start from the first one. + * @param xml_name The XML Name of the Tag to search + * @return The Tag Entry of this XML Name in Language Table, or NULL if not found + */ + WBXML_DECLARE(const WBXMLTagEntry *) wbxml_tables_get_tag_from_xml(const WBXMLLangEntry *lang_table, ++ const int cur_code_page, + const WB_UTINY *xml_name); + + /** +diff -Nru wbxml2-0.9.2.orig/src/wbxml_tree.c wbxml2-0.9.2/src/wbxml_tree.c +--- wbxml2-0.9.2.orig/src/wbxml_tree.c 2008-01-10 19:03:28.000000000 +0000 ++++ wbxml2-0.9.2/src/wbxml_tree.c 2008-01-10 19:03:44.000000000 +0000 +@@ -137,6 +137,9 @@ + + /* Use String Table */ + wbxml_encoder_set_use_strtbl(wbxml_encoder, TRUE); ++ ++ /* Don't produce an anonymous document by default */ ++ wbxml_encoder_set_produce_anonymous(wbxml_encoder, FALSE); + } + else { + /* WBXML Version */ +@@ -154,6 +157,10 @@ + /* String Table */ + wbxml_encoder_set_use_strtbl(wbxml_encoder, params->use_strtbl); + ++ /* Produce an anonymous document? */ ++ wbxml_encoder_set_produce_anonymous(wbxml_encoder, ++ params->produce_anonymous); ++ + /** @todo Add parameter to call : wbxml_encoder_set_output_charset() */ + } + +@@ -455,7 +462,7 @@ + WBXMLTag *tag = NULL; + + /* Search for XML Tag Name in Table */ +- if ((tag_entry = wbxml_tables_get_tag_from_xml(lang_table, name)) != NULL) { ++ if ((tag_entry = wbxml_tables_get_tag_from_xml(lang_table, -1, name)) != NULL) { + /* Found : token tag */ + tag = wbxml_tag_create_token(tag_entry); + } +@@ -921,6 +928,7 @@ + result->lang = wbxml_tables_get_table(lang); + result->root = NULL; + result->orig_charset = orig_charset; ++ result->cur_code_page = 0; + + return result; + } +@@ -1085,7 +1093,9 @@ + WBXMLTag *tag = NULL; + + /* Search for XML Tag Name in Table */ +- if ((tag_entry = wbxml_tables_get_tag_from_xml(tree->lang, (const WB_UTINY *) name)) != NULL) { ++ if ((tag_entry = wbxml_tables_get_tag_from_xml(tree->lang, tree->cur_code_page, (const WB_UTINY *) name)) != NULL) { ++ tree->cur_code_page = tag_entry->wbxmlCodePage; ++ + /* Found : token tag */ + tag = wbxml_tag_create_token(tag_entry); + } +diff -Nru wbxml2-0.9.2.orig/src/wbxml_tree.h wbxml2-0.9.2/src/wbxml_tree.h +--- wbxml2-0.9.2.orig/src/wbxml_tree.h 2008-01-10 19:03:28.000000000 +0000 ++++ wbxml2-0.9.2/src/wbxml_tree.h 2008-01-10 19:03:44.000000000 +0000 +@@ -97,6 +97,7 @@ + const WBXMLLangEntry *lang; /**< Language Table */ + WBXMLTreeNode *root; /**< Root Element */ + WBXMLCharsetMIBEnum orig_charset; /**< Charset encoding of original document */ ++ WB_UTINY cur_code_page;/**< Last seen code page */ + } WBXMLTree; + + +diff -Nru wbxml2-0.9.2.orig/tools/Makefile.am wbxml2-0.9.2/tools/Makefile.am +--- wbxml2-0.9.2.orig/tools/Makefile.am 2008-01-10 19:03:28.000000000 +0000 ++++ wbxml2-0.9.2/tools/Makefile.am 2008-01-10 19:03:44.000000000 +0000 +@@ -3,7 +3,7 @@ + INCLUDES =\ + -I. -I../src -I/usr/include + +-CFLAGS =\ ++AM_CFLAGS =\ + -DHAVE_CONFIG_H\ + -DHAVE_EXPAT\ + -D_REENTRANT\ +@@ -20,9 +20,7 @@ + -DWBXML_SUPPORT_SYNCML\ + -DWBXML_SUPPORT_WV\ + -DWBXML_SUPPORT_AIRSYNC\ +- -Wall -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wuninitialized -Wparentheses -Wpointer-arith -Wmissing-prototypes\ +- -O3\ +- -g ++ -Wall -g + + bin_PROGRAMS = wbxml2xml xml2wbxml + diff --git a/recipes/opensync/wbxml2/02-namespaces.patch b/recipes/opensync/wbxml2/02-namespaces.patch new file mode 100644 index 0000000000..3c8efcb350 --- /dev/null +++ b/recipes/opensync/wbxml2/02-namespaces.patch @@ -0,0 +1,164 @@ +diff -Nru wbxml2-0.9.2.patched/src/wbxml_tables.c wbxml2-0.9.2/src/wbxml_tables.c +--- wbxml2-0.9.2.patched/src/wbxml_tables.c 2008-01-10 19:05:45.000000000 +0000 ++++ wbxml2-0.9.2/src/wbxml_tables.c 2008-01-10 19:04:55.000000000 +0000 +@@ -2806,6 +2806,46 @@ + { NULL, 0x00, 0x00 } + }; + ++/* NOTE: ++ * These namespace names differ from the Microsoft-assigned namespaces. The ++ * reason for the difference is that the Microsoft-assigned names are not ++ * valid URI's and hence produce warning messages when processed by some ++ * libraries. The mapping is as follows: ++ * ++ * Microsoft Ours ++ * --------- ---- ++ * AirSync: http://synce.org/formats/airsync_wm5/airsync ++ * POOMCONTACTS: http://synce.org/formats/airsync_wm5/contacts ++ * POOMMAIL: http://synce.org/formats/airsync_wm5/mail ++ * AirNotify: http://synce.org/formats/airsync_wm5/airnotify ++ * POOMCAL: http://synce.org/formats/airsync_wm5/calendar ++ * Move: http://synce.org/formats/airsync_wm5/move ++ * GetItemEstimate: http://synce.org/formats/airsync_wm5/getitemestimate ++ * FolderHierarchy: http://synce.org/formats/airsync_wm5/folderhierarchy ++ * MeetingResponse: http://synce.org/formats/airsync_wm5/meetingresponse ++ * POOMTASKS: http://synce.org/formats/airsync_wm5/tasks ++ * ResolveRecipients: http://synce.org/formats/airsync_wm5/resolverecipients ++ * ValidateCert: http://synce.org/formats/airsync_wm5/validatecert ++ * POOMCONTACTS2: http://synce.org/formats/airsync_wm5/contacts2 ++ * ++ */ ++const WBXMLNameSpaceEntry sv_airsync_ns_table[] = { ++ { "http://synce.org/formats/airsync_wm5/airsync", 0x00 }, /**< Code Page 0 */ ++ { "http://synce.org/formats/airsync_wm5/contacts", 0x01 }, /**< Code Page 1 */ ++ { "http://synce.org/formats/airsync_wm5/mail", 0x02 }, /**< Code Page 2 */ ++ { "http://synce.org/formats/airsync_wm5/airnotify", 0x03 }, /**< Code Page 3 */ ++ { "http://synce.org/formats/airsync_wm5/calendar", 0x04 }, /**< Code Page 4 */ ++ { "http://synce.org/formats/airsync_wm5/move", 0x05 }, /**< Code Page 5 */ ++ { "http://synce.org/formats/airsync_wm5/getitemestimate", 0x06 }, /**< Code Page 6 */ ++ { "http://synce.org/formats/airsync_wm5/folderhierarchy", 0x07 }, /**< Code Page 7 */ ++ { "http://synce.org/formats/airsync_wm5/meetingresponse", 0x08 }, /**< Code Page 8 */ ++ { "http://synce.org/formats/airsync_wm5/tasks", 0x09 }, /**< Code Page 9 */ ++ { "http://synce.org/formats/airsync_wm5/resolverecipients", 0x0a }, /**< Code Page 10 */ ++ { "http://synce.org/formats/airsync_wm5/validatecert", 0x0b }, /**< Code Page 11 */ ++ { "http://synce.org/formats/airsync_wm5/contacts2", 0x0c }, /**< Code Page 12 */ ++ { NULL, 0x00 } ++}; ++ + #endif /* WBXML_SUPPORT_AIRSYNC */ + + +@@ -2885,7 +2925,7 @@ + #endif /* WBXML_SUPPORT_WV */ + + #if defined( WBXML_SUPPORT_AIRSYNC ) +- { WBXML_LANG_AIRSYNC, &sv_airsync_public_id, sv_airsync_tag_table, NULL, NULL, NULL, NULL }, ++ { WBXML_LANG_AIRSYNC, &sv_airsync_public_id, sv_airsync_tag_table, sv_airsync_ns_table, NULL, NULL, NULL }, + #endif /* WBXML_SUPPORT_AIRSYNC */ + + { WBXML_LANG_UNKNOWN, NULL, NULL, NULL, NULL, NULL, NULL } +@@ -3169,3 +3209,21 @@ + + return NULL; + } ++ ++WBXML_DECLARE(WB_UTINY) wbxml_tables_get_code_page(const WBXMLNameSpaceEntry *ns_table, const WB_TINY* xmlns) ++{ ++ WB_ULONG i = 0; ++ ++ if (ns_table == NULL) ++ return NULL; ++ ++ while (ns_table[i].xmlNameSpace != NULL) ++ { ++ if (strcmp(ns_table[i].xmlNameSpace, xmlns) == 0) ++ return ns_table[i].wbxmlCodePage; ++ ++ i++; ++ } ++ ++ return NULL; ++} +diff -Nru wbxml2-0.9.2.patched/src/wbxml_tables.h wbxml2-0.9.2/src/wbxml_tables.h +--- wbxml2-0.9.2.patched/src/wbxml_tables.h 2008-01-10 19:05:45.000000000 +0000 ++++ wbxml2-0.9.2/src/wbxml_tables.h 2008-01-10 19:04:55.000000000 +0000 +@@ -310,6 +310,9 @@ + WBXML_DECLARE(const WB_TINY *) wbxml_tables_get_xmlns(const WBXMLNameSpaceEntry *ns_table, + WB_UTINY code_page); + ++WBXML_DECLARE(WB_UTINY) wbxml_tables_get_code_page(const WBXMLNameSpaceEntry *ns_table, ++ const WB_TINY* xmlns); ++ + /** @} */ + + #ifdef __cplusplus +diff -Nru wbxml2-0.9.2.patched/src/wbxml_tree.c wbxml2-0.9.2/src/wbxml_tree.c +--- wbxml2-0.9.2.patched/src/wbxml_tree.c 2008-01-10 19:05:45.000000000 +0000 ++++ wbxml2-0.9.2/src/wbxml_tree.c 2008-01-10 19:04:55.000000000 +0000 +@@ -34,6 +34,7 @@ + + #include "wbxml.h" + ++#define WBXML_NAMESPACE_SEPARATOR ':' + + /*************************************************** + * Public Functions +@@ -201,9 +202,9 @@ + *tree = NULL; + + /* Create Expat XML Parser */ +- if ((xml_parser = XML_ParserCreate(NULL)) == NULL) ++ if ((xml_parser = XML_ParserCreateNS(NULL, WBXML_NAMESPACE_SEPARATOR)) == NULL) + return WBXML_ERROR_NOT_ENOUGH_MEMORY; +- ++ + /* Init context */ + wbxml_tree_clb_ctx.current = NULL; + wbxml_tree_clb_ctx.error = WBXML_OK; +@@ -1091,9 +1092,32 @@ + const WBXMLTagEntry *tag_entry = NULL; + WBXMLTreeNode *node = NULL; + WBXMLTag *tag = NULL; +- ++ WB_UTINY *sep = NULL; ++ const WB_UTINY *namespace_name = NULL; ++ const WB_UTINY *element_name = NULL; ++ ++ /* Separate the namespace from the element name */ ++ sep = (WB_UTINY *)strrchr((const WB_TINY *) name, WBXML_NAMESPACE_SEPARATOR); ++ if (sep != NULL) { ++ /* Temporarily split the string by changing the separater to a null-terminator */ ++ *sep = '\0'; ++ ++ namespace_name = name; ++ element_name = sep+1; ++ } ++ else { ++ /* No namespace, so just set it to an empty string (specifically, the null-terminator at the end of the elemet name */ ++ namespace_name = name + strlen((const WB_TINY *) name); ++ element_name = name; ++ } ++ ++ WBXML_DEBUG((WBXML_CONV, "Parsed element name: Namespace='%s', Element='%s'", namespace_name, element_name)); ++ ++ /* Update the current code page to match the one specified by the namespace */ ++ tree->cur_code_page = wbxml_tables_get_code_page(tree->lang->nsTable, (const WB_TINY *) namespace_name); ++ + /* Search for XML Tag Name in Table */ +- if ((tag_entry = wbxml_tables_get_tag_from_xml(tree->lang, tree->cur_code_page, (const WB_UTINY *) name)) != NULL) { ++ if ((tag_entry = wbxml_tables_get_tag_from_xml(tree->lang, tree->cur_code_page, element_name)) != NULL) { + tree->cur_code_page = tag_entry->wbxmlCodePage; + + /* Found : token tag */ +@@ -1104,6 +1128,11 @@ + tag = wbxml_tag_create_literal(name); + } + ++ if (sep != NULL) { ++ /* We are done with the element and namespace names, so put the separator character back */ ++ *sep = WBXML_NAMESPACE_SEPARATOR; ++ } ++ + if (tag == NULL) + return NULL; + diff --git a/recipes/opensync/wbxml2/04_saxlike_entity_parsing.patch b/recipes/opensync/wbxml2/04_saxlike_entity_parsing.patch new file mode 100644 index 0000000000..43d915b8b7 --- /dev/null +++ b/recipes/opensync/wbxml2/04_saxlike_entity_parsing.patch @@ -0,0 +1,90 @@ +diff --git a/src/wbxml_parser.c b/src/wbxml_parser.c +index c022e00..bea2062 100644 +--- a/src/wbxml_parser.c ++++ b/src/wbxml_parser.c +@@ -43,6 +43,7 @@ + */ + + #include "wbxml.h" ++#include <assert.h> + + + /* Memory management related defines */ +@@ -56,10 +57,6 @@ + /** For unknown Tag Name or Attribute Name (in Best Effort Mode) */ + #define WBXML_PARSER_UNKNOWN_STRING ((WB_UTINY *)"unknown") + +-/** If you want to modify this define, change the 'entcode' variable length in parse_entity() too please */ +-#define WBXML_PARSER_MAX_ENTITY_CODE 999999 +- +- + /** + * @brief The WBXML Application Token types + */ +@@ -1661,7 +1658,6 @@ static WBXMLError parse_extension(WBXMLParser *parser, WBXMLTokenType code_space + */ + static WBXMLError parse_entity(WBXMLParser *parser, WBXMLBuffer **result) + { +- WB_TINY entity[10]; + WB_ULONG code = 0; + WBXMLError ret = WBXML_OK; + +@@ -1674,23 +1670,44 @@ static WBXMLError parse_entity(WBXMLParser *parser, WBXMLBuffer **result) + return ret; + } + +- /* Build Entity */ +- if ( code > WBXML_PARSER_MAX_ENTITY_CODE ) { +- return WBXML_ERROR_ENTITY_CODE_OVERFLOW; +- } +- +- /** +- * WARNING: If you change the entity variable length (10 chars), change too +- * 'WBXML_PARSER_MAX_ENTITY_CODE' defined in this file ! ++ /* ++ * Convert the UCS-4 code to a UTF-8 encoded string. + */ +- sprintf(entity, "&#%u;", code); + +- /* Create result buffer */ +- if ( (*result = wbxml_buffer_create_from_cstr(entity)) == NULL ) { +- return WBXML_ERROR_NOT_ENOUGH_MEMORY; ++ assert(code < 0x80000000); ++ ++ if (code < 0x80) ++ { ++ /* For codes under 0x80, we don't need any fancy formatting. */ ++ WB_TINY entity[2] = {(WB_TINY)code, 0}; ++ ++ /* Create result buffer */ ++ if ( (*result = wbxml_buffer_create_from_cstr(entity)) == NULL ) { ++ return WBXML_ERROR_NOT_ENOUGH_MEMORY; ++ } ++ ++ return WBXML_OK; ++ } ++ else ++ { ++ WB_TINY masks[5] = {0xFC, 0xF8, 0xF0, 0xE0, 0xC0}; ++ WB_TINY entity[7] = {0, 0, 0, 0, 0, 0, 0}; ++ ++ int index = 5; ++ while (code >= 0x40) ++ { ++ entity[index] = 0x80 | (code & 0x3F); ++ code >>= 6; index--; ++ } ++ entity[index] = masks[index] | code; ++ ++ /* Create result buffer */ ++ if ( (*result = wbxml_buffer_create_from_cstr(entity + index)) == NULL ) { ++ return WBXML_ERROR_NOT_ENOUGH_MEMORY; ++ } ++ ++ return WBXML_OK; + } +- +- return WBXML_OK; + } + + diff --git a/recipes/opensync/wbxml2/05-syncml-fixes.patch b/recipes/opensync/wbxml2/05-syncml-fixes.patch new file mode 100644 index 0000000000..855b100779 --- /dev/null +++ b/recipes/opensync/wbxml2/05-syncml-fixes.patch @@ -0,0 +1,124 @@ +diff -ru wbxml2-0.9.2-original/src/wbxml_encoder.c wbxml2-0.9.2/src/wbxml_encoder.c +--- wbxml2-0.9.2-original/src/wbxml_encoder.c 2006-07-11 13:47:45.000000000 +0200 ++++ wbxml2-0.9.2/src/wbxml_encoder.c 2008-06-20 11:24:17.000000000 +0200 +@@ -1936,7 +1936,8 @@ + #if defined( WBXML_SUPPORT_SYNCML ) + /* If this is a SyncML document ? */ + if ((encoder->lang->langID == WBXML_LANG_SYNCML_SYNCML10) || +- (encoder->lang->langID == WBXML_LANG_SYNCML_SYNCML11)) ++ (encoder->lang->langID == WBXML_LANG_SYNCML_SYNCML11) || ++ (encoder->lang->langID == WBXML_LANG_SYNCML_SYNCML12)) + { + /** @todo We must check too if we are in a <Type> */ + +@@ -4019,7 +4020,8 @@ + #if defined( WBXML_SUPPORT_SYNCML ) + /* Change text in <Type> from "application/vnd.syncml-devinf+wbxml" to "application/vnd.syncml-devinf+xml" */ + if (((encoder->lang->langID == WBXML_LANG_SYNCML_SYNCML10) || +- (encoder->lang->langID == WBXML_LANG_SYNCML_SYNCML11)) && ++ (encoder->lang->langID == WBXML_LANG_SYNCML_SYNCML11) || ++ (encoder->lang->langID == WBXML_LANG_SYNCML_SYNCML12)) && + (encoder->current_tag != NULL) && + (encoder->current_tag->wbxmlCodePage == 0x01 ) && + (encoder->current_tag->wbxmlToken == 0x13 ) && +diff -ru wbxml2-0.9.2-original/src/wbxml_tables.c wbxml2-0.9.2/src/wbxml_tables.c +--- wbxml2-0.9.2-original/src/wbxml_tables.c 2006-07-11 13:47:45.000000000 +0200 ++++ wbxml2-0.9.2/src/wbxml_tables.c 2008-06-20 11:28:18.000000000 +0200 +@@ -1601,21 +1601,21 @@ + #if defined( WBXML_SUPPORT_SYNCML ) + + const WBXMLNameSpaceEntry sv_syncml_syncml10_ns_table[] = { +- { "syncml:SYNCML1.0", 0x00 }, /**< Code Page 0: SYNCML1.0 */ ++ { "SYNCML:SYNCML1.0", 0x00 }, /**< Code Page 0: SYNCML1.0 */ + { "syncml:metinf", 0x01 }, /**< Code Page 1: metinf */ + { NULL, 0x00 } + }; + + + const WBXMLNameSpaceEntry sv_syncml_syncml11_ns_table[] = { +- { "syncml:SYNCML1.1", 0x00 }, /**< Code Page 0: SYNCML1.1 */ ++ { "SYNCML:SYNCML1.1", 0x00 }, /**< Code Page 0: SYNCML1.1 */ + { "syncml:metinf", 0x01 }, /**< Code Page 1: metinf */ + { NULL, 0x00 } + }; + + + const WBXMLNameSpaceEntry sv_syncml_syncml12_ns_table[] = { +- { "syncml:SYNCML1.2", 0x00 }, /**< Code Page 0: SYNCML1.2 */ ++ { "SYNCML:SYNCML1.2", 0x00 }, /**< Code Page 0: SYNCML1.2 */ + { "syncml:metinf", 0x01 }, /**< Code Page 1: metinf */ + { NULL, 0x00 } + }; +diff -ru wbxml2-0.9.2-original/src/wbxml_tree.c wbxml2-0.9.2/src/wbxml_tree.c +--- wbxml2-0.9.2-original/src/wbxml_tree.c 2006-07-11 13:47:45.000000000 +0200 ++++ wbxml2-0.9.2/src/wbxml_tree.c 2008-06-20 11:33:54.000000000 +0200 +@@ -244,7 +244,10 @@ + } + else { + if ((ret = wbxml_tree_clb_ctx.error) != WBXML_OK) ++ { ++ WBXML_ERROR((WBXML_CONV, "xml2wbxml conversion failed - context error %i", ret)); + wbxml_tree_destroy(wbxml_tree_clb_ctx.tree); ++ } + else + *tree = wbxml_tree_clb_ctx.tree; + } +@@ -798,11 +801,20 @@ + { + /* Check <Type> value */ + if ((tmp_node->children != NULL) && (tmp_node->children->type == WBXML_TREE_TEXT_NODE)) { ++ /* This function is used by wbxml and xml callbacks. ++ * So content types must be handled for both situations. ++ */ ++ + /* application/vnd.syncml-devinf+wbxml */ + if (wbxml_buffer_compare_cstr(tmp_node->children->content, "application/vnd.syncml-devinf+wbxml") == 0) { + return WBXML_SYNCML_DATA_TYPE_WBXML; + } + ++ /* application/vnd.syncml-devinf+xml */ ++ if (wbxml_buffer_compare_cstr(tmp_node->children->content, "application/vnd.syncml-devinf+xml") == 0) { ++ return WBXML_SYNCML_DATA_TYPE_NORMAL; ++ } ++ + /* text/clear */ + if (wbxml_buffer_compare_cstr(tmp_node->children->content, "text/clear") == 0) { + return WBXML_SYNCML_DATA_TYPE_CLEAR; +diff -ru wbxml2-0.9.2-original/src/wbxml_tree_clb_xml.c wbxml2-0.9.2/src/wbxml_tree_clb_xml.c +--- wbxml2-0.9.2-original/src/wbxml_tree_clb_xml.c 2006-07-11 13:47:46.000000000 +0200 ++++ wbxml2-0.9.2/src/wbxml_tree_clb_xml.c 2008-06-20 11:39:27.000000000 +0200 +@@ -142,7 +142,7 @@ + #if defined( WBXML_SUPPORT_SYNCML ) + + /* If this is an embedded (not root) "DevInf" document, skip it */ +- if ((WBXML_STRCMP(localName, "DevInf") == 0) && ++ if ((WBXML_STRCMP(localName, "syncml:devinf:DevInf") == 0) && + (tree_ctx->current != NULL)) + { + tree_ctx->skip_start = XML_GetCurrentByteIndex(tree_ctx->xml_parser); +@@ -192,7 +192,7 @@ + /* End of skipped node */ + + #if defined( WBXML_SUPPORT_SYNCML ) +- if (WBXML_STRCMP(localName, "DevInf") == 0) { ++ if (WBXML_STRCMP(localName, "syncml:devinf:DevInf") == 0) { + /* Get embedded DevInf Document */ + devinf_doc = wbxml_buffer_create(tree_ctx->input_buff + tree_ctx->skip_start, + XML_GetCurrentByteIndex(tree_ctx->xml_parser) - tree_ctx->skip_start, +@@ -210,6 +210,16 @@ + return; + } + ++ /* Add doctype to give the XML parser a chance ++ * SyncML 1.2 is downward compatible to older versions. ++ */ ++ if (!wbxml_buffer_insert_cstr(devinf_doc, "<!DOCTYPE DevInf PUBLIC '-//SYNCML//DTD DevInf 1.2//EN' 'http://www.openmobilealliance.org/tech/DTD/OMA-SyncML-Device_Information-DTD-1.2.dtd' >\n", 0)) ++ { ++ tree_ctx->error = WBXML_ERROR_NOT_ENOUGH_MEMORY; ++ wbxml_buffer_destroy(devinf_doc); ++ return; ++ } ++ + WBXML_DEBUG((WBXML_PARSER, "\t DevInf Doc : '%s'", wbxml_buffer_get_cstr(devinf_doc))); + + /* Parse 'DevInf' Document */ diff --git a/recipes/opensync/wbxml2/06-no-install-docs.patch b/recipes/opensync/wbxml2/06-no-install-docs.patch new file mode 100644 index 0000000000..acfe692d90 --- /dev/null +++ b/recipes/opensync/wbxml2/06-no-install-docs.patch @@ -0,0 +1,14 @@ +diff -urP wbxml2-0.9.2/Makefile.am wbxml2-0.9.2.x/Makefile.am +--- wbxml2-0.9.2/Makefile.am 2006-07-11 14:47:43.000000000 +0300 ++++ wbxml2-0.9.2.x/Makefile.am 2006-08-08 22:26:18.000000000 +0300 +@@ -24,10 +24,6 @@ + TODO\ + doxygen.h + +-install-data-local: +- $(mkinstalldirs) $(DESTDIR)$(wbxmldocdir)/manual +- cp -Rp doc/* $(DESTDIR)$(wbxmldocdir)/manual +- + dist-bz2: distdir + sed -e "s/tar.gz/tar.bz2/g" $(distdir)/wbxml2.spec > $(distdir)/wbxml2.spec.aux + mv $(distdir)/wbxml2.spec.aux $(distdir)/wbxml2.spec diff --git a/recipes/opensync/wbxml2/07-current_attr_null.patch b/recipes/opensync/wbxml2/07-current_attr_null.patch new file mode 100644 index 0000000000..2b74f594d3 --- /dev/null +++ b/recipes/opensync/wbxml2/07-current_attr_null.patch @@ -0,0 +1,22 @@ +--- wbxml2-0.9.2/src/wbxml_encoder.orig.c 2008-01-20 01:25:46.000000000 +0100 ++++ wbxml2-0.9.2/src/wbxml_encoder.c 2008-01-20 01:26:25.000000000 +0100 +@@ -1875,6 +1875,9 @@ + #if defined( WBXML_SUPPORT_SI ) + case WBXML_LANG_SI10: + /* SI 1.0: Encode date for 'created' and 'si-expires' attributes */ ++ if (encoder->current_attr == NULL) ++ break; ++ + if ((encoder->current_attr->wbxmlCodePage == 0x00) && + ((encoder->current_attr->wbxmlToken == 0x0a) || (encoder->current_attr->wbxmlToken == 0x10))) + { +@@ -1886,6 +1889,9 @@ + #if defined( WBXML_SUPPORT_EMN ) + case WBXML_LANG_EMN10: + /* EMN 1.0: Encode date for 'timestamp' attribute */ ++ if (encoder->current_attr == NULL) ++ break; ++ + if ((encoder->current_attr->wbxmlCodePage == 0x00) && (encoder->current_attr->wbxmlToken == 0x05)) + { + return wbxml_encode_datetime(encoder, buffer); diff --git a/recipes/opensync/wbxml2/08-maxsize-translation-table.patch b/recipes/opensync/wbxml2/08-maxsize-translation-table.patch new file mode 100644 index 0000000000..ebcda89c72 --- /dev/null +++ b/recipes/opensync/wbxml2/08-maxsize-translation-table.patch @@ -0,0 +1,17 @@ +#libwbxml2-0: Size changed to MaxSize in OMA DS 1.2 DevInf +# +#The normale Size tag was changed to MaxSize in OMA DS 1.2 Device +#Information. The number in the stringtable does not changed. So +#the order looks a little bit "funny". + +--- src/wbxml_tables.c.orig 2008-09-01 15:05:22.000000000 +0200 ++++ src/wbxml_tables.c 2008-09-01 15:05:58.000000000 +0200 +@@ -1891,7 +1891,7 @@ + { "Rx", 0x00, 0x19 }, + { "Rx-Pref", 0x00, 0x1a }, + { "SharedMem", 0x00, 0x1b }, +- { "Size", 0x00, 0x1c }, ++ { "MaxSize", 0x00, 0x1c }, + { "SourceRef", 0x00, 0x1d }, + { "SwV", 0x00, 0x1e }, + { "SyncCap", 0x00, 0x1f }, diff --git a/recipes/opensync/wbxml2_0.9.2.bb b/recipes/opensync/wbxml2_0.9.2.bb new file mode 100644 index 0000000000..a45e1c6d66 --- /dev/null +++ b/recipes/opensync/wbxml2_0.9.2.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "WBXML parsing and encoding library" +LICENSE = "LGPL" + +DEPENDS = "expat popt" + +SRC_URI = "${SOURCEFORGE_MIRROR}/wbxmllib/${PN}-${PV}.tar.gz \ + file://00-fix-includes.patch;patch=1 \ + file://01-anonymous-support-and-misc-fixes.patch;patch=1 \ + file://02-namespaces.patch;patch=1 \ + file://04_saxlike_entity_parsing.patch;patch=1 \ + file://05-syncml-fixes.patch;patch=1 \ + file://06-no-install-docs.patch;patch=1 \ + file://07-current_attr_null.patch;patch=1 \ + file://08-maxsize-translation-table.patch;patch=1;pnum=0 \ + " + +inherit autotools pkgconfig + +do_stage() { + autotools_stage_all +} + +PACKAGES += "${PN}-tools" + +FILES_${PN}-tools = "${bindir}" +FILES_${PN} = "${libdir}/*.so.*" + + + |