iotivity: update to version 0.9.2
authorHauke Mehrtens <hauke.mehrtens@lantiq.com>
Mon, 24 Aug 2015 16:53:48 +0000 (18:53 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 29 Aug 2015 20:15:25 +0000 (22:15 +0200)
This brings IoTivity to version 0.9.2 in addition it does the following:
* split C and C++ Stack into two packages
* backport some patches which are adding missing dependencies to the shared libs
* remove patches merged upstream
* add some other patches fixing some problems, most of them are already merged upstream
* activate security and logging support

Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
21 files changed:
net/iotivity/Makefile
net/iotivity/patches/001-no_unit_test.patch
net/iotivity/patches/004-use-env.patch
net/iotivity/patches/010-libcoap-fix-big-endian-problems.patch [deleted file]
net/iotivity/patches/011-cdsk-fix-big-endian-problem.patch [deleted file]
net/iotivity/patches/030-fix-missing-lib.patch [deleted file]
net/iotivity/patches/040-fix-things-manager.patch [deleted file]
net/iotivity/patches/050-fix-OICMidle.patch [deleted file]
net/iotivity/patches/060-liboc-add-missing-depending-library.patch [new file with mode: 0644]
net/iotivity/patches/061-things-manager-libTGMSDKLibrary.so-add-missing-depen.patch [new file with mode: 0644]
net/iotivity/patches/062-soft-sensor-manager-libSSMCore.so-add-missing-depend.patch [new file with mode: 0644]
net/iotivity/patches/063-mqtt-fan-libmosquittopp.so-add-missing-depending-lib.patch [new file with mode: 0644]
net/iotivity/patches/064-protocol-plugin-libfanserver_mqtt_plugin.so-and-libl.patch [new file with mode: 0644]
net/iotivity/patches/065-resource-manipulation-libserver_builder.so-add-missi.patch [new file with mode: 0644]
net/iotivity/patches/066-csdk-remove-dependency-to-liboc_logger.so-in-c-code.patch [new file with mode: 0644]
net/iotivity/patches/067-csdk-libconnectivity_abstraction.so-add-missing-depe.patch [new file with mode: 0644]
net/iotivity/patches/068-build-make-build-fail-if-unresolved-symbols-found.patch [new file with mode: 0644]
net/iotivity/patches/070-Avoid-Segv-by-testing-address-field-before-using-it.patch [new file with mode: 0644]
net/iotivity/patches/090-resource-encapsulation-fix-build-without-curl.patch [new file with mode: 0644]
net/iotivity/patches/140-remove-glib2.patch [new file with mode: 0644]
net/iotivity/patches/200-examples-OICMiddle-try-to-load-security-configuratio.patch [new file with mode: 0644]

index 7653d62ef1227e6f13fb1765c2fa803022d391ee..3c09998642e48fdd0c08cd7df166ef12b269a3fb 100644 (file)
@@ -8,15 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=iotivity
-PKG_VERSION:=0.9.1
-PKG_RELEASE:=1
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://gerrit.iotivity.org/gerrit/iotivity
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=0.9.1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
-PKG_MIRROR_MD5SUM:=
+PKG_VERSION:=0.9.2
+PKG_RELEASE=1
+
+PKG_SOURCE:=${PKG_NAME}-${PKG_VERSION}.tar.gz
+PKG_SOURCE_URL:=https://downloads.iotivity.org/${PKG_VERSION}/ \
+       http://mirrors.kernel.org/${PKG_NAME}/${PKG_VERSION}/
+PKG_MD5SUM:=cf32e10a8f355fe1327db98ffc9a6173
 PKG_USE_MIPS16:=0
 
 PKG_MAINTAINER:=Hauke Mehrtens <hauke.mehrtens@lantiq.com>
@@ -33,8 +31,8 @@ include $(INCLUDE_DIR)/scons.mk
 define Package/iotivity
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=@!USE_UCLIBC +libpthread +librt +libstdcpp +libuuid
-  TITLE:=IoTivity Library
+  DEPENDS:=@!USE_UCLIBC +libpthread +librt +libuuid
+  TITLE:=IoTivity Library
   URL:=https://www.iotivity.org
 endef
 
@@ -44,10 +42,24 @@ define Package/iotivity/description
 endef
 
 
+define Package/iotivity-cpp
+  SECTION:=net
+  CATEGORY:=Network
+  DEPENDS:=iotivity +libpthread +libstdcpp
+  TITLE:=IoTivity C++ Library
+  URL:=https://www.iotivity.org
+endef
+
+define Package/iotivity-cpp/description
+    IoTivity is a framework for the Internet of Things based on the
+    Open Interconnect Consortium Specification.
+endef
+
+
 define Package/iotivity-things-manager-lib
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=iotivity
+  DEPENDS:=iotivity +iotivity-cpp +libstdcpp
   TITLE:=IoTivity things manager lib
   URL:=https://www.iotivity.org
 endef
@@ -60,7 +72,7 @@ endef
 define Package/iotivity-plugin-manager-lib
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=iotivity +libexpat
+  DEPENDS:=iotivity +iotivity-cpp +libexpat +boost +boost-system
   TITLE:=IoTivity plugin manager lib
   URL:=https://www.iotivity.org
 endef
@@ -73,7 +85,7 @@ endef
 define Package/iotivity-mqttclient
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=iotivity +iotivity-plugin-manager-lib +boost +boost-system
+  DEPENDS:=iotivity +iotivity-cpp +iotivity-plugin-manager-lib +boost +boost-system
   TITLE:=IoTivity mqtt Client
   URL:=https://www.iotivity.org
 endef
@@ -86,7 +98,7 @@ endef
 define Package/iotivity-oic-middle
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=iotivity
+  DEPENDS:=iotivity +iotivity-cpp
   TITLE:=IoTivity OIC Middle
   URL:=https://www.iotivity.org
 endef
@@ -99,7 +111,7 @@ endef
 define Package/iotivity-things-manager
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=iotivity +iotivity-things-manager-lib
+  DEPENDS:=iotivity +iotivity-cpp +iotivity-things-manager-lib
   TITLE:=IoTivity things manager
   URL:=https://www.iotivity.org
 endef
@@ -112,7 +124,7 @@ endef
 define Package/iotivity-example-garage
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=iotivity
+  DEPENDS:=iotivity +iotivity-cpp
   TITLE:=IoTivity Garage example
   URL:=https://www.iotivity.org
 endef
@@ -122,23 +134,23 @@ define Package/iotivity-example-garage/description
 endef
 
 
-PKG_CEREAL_NAME:=cereal
-PKG_CEREAL_VERSION:=7121e91e6ab8c3e6a6516d9d9c3e6804e6f65245
-PKG_CEREAL_SOURCE:=$(PKG_CEREAL_NAME)-$(PKG_CEREAL_VERSION).tar.bz2
-PKG_CEREAL_PROTO:=git
-PKG_CEREAL_SOURCE_URL:=https://github.com/USCiLab/cereal.git
-PKG_CEREAL_SUBDIR:=$(PKG_CEREAL_NAME)
-#PKG_CEREAL_MIRROR_MD5SUM:=?
+PKG_TINYCBOR_NAME:=tinycbor
+PKG_TINYCBOR_VERSION:=3e83c0dc6e55bc73e9a4a7343ab8e06c43127efa
+PKG_TINYCBOR_SOURCE:=$(PKG_TINYCBOR_NAME)-$(PKG_TINYCBOR_VERSION).tar.bz2
+PKG_TINYCBOR_PROTO:=git
+PKG_TINYCBOR_SOURCE_URL:=https://github.com/01org/tinycbor.git
+PKG_TINYCBOR_SUBDIR:=$(PKG_TINYCBOR_NAME)
+#PKG_TINYCBOR_MIRROR_MD5SUM:=?
 
-define Download/iotivity-cereal
-  FILE:=$(PKG_CEREAL_SOURCE)
-  URL:=$(PKG_CEREAL_SOURCE_URL)
-  PROTO:=$(PKG_CEREAL_PROTO)
-  VERSION:=$(PKG_CEREAL_VERSION)
-  SUBDIR:=$(PKG_CEREAL_SUBDIR)
-  #MIRROR_MD5SUM:=$(PKG_CEREAL_MIRROR_MD5SUM)
+define Download/iotivity-tinycbor
+  FILE:=$(PKG_TINYCBOR_SOURCE)
+  URL:=$(PKG_TINYCBOR_SOURCE_URL)
+  PROTO:=$(PKG_TINYCBOR_PROTO)
+  VERSION:=$(PKG_TINYCBOR_VERSION)
+  SUBDIR:=$(PKG_TINYCBOR_SUBDIR)
+  #MIRROR_MD5SUM:=$(PKG_TINYCBOR_MIRROR_MD5SUM)
 endef
-$(eval $(call Download,iotivity-cereal))
+$(eval $(call Download,iotivity-tinycbor))
 
 
 SCONS_OPTIONS += \
@@ -146,6 +158,8 @@ SCONS_OPTIONS += \
        TARGET_TRANSPORT=ALL \
        TARGET_ARCH=$(ARCH) \
        STAGING_DIR=$(STAGING_DIR) \
+       LOGGING=true \
+       SECURED=1 \
        mqttclient examples samples libTGMSDK ConServerApp ConClientApp BootstrapServerApp
 
 ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
@@ -154,9 +168,10 @@ endif
 
 define Build/Prepare
        $(call Build/Prepare/Default)
-       $(TAR) -C $(PKG_BUILD_DIR)/extlibs/cereal -xjf $(DL_DIR)/$(PKG_CEREAL_SOURCE)
+       $(TAR) -C $(PKG_BUILD_DIR)/extlibs/tinycbor/ -xjf $(DL_DIR)/$(PKG_TINYCBOR_SOURCE)
 endef
 
+
 define Build/Configure
        (cd $(PKG_BUILD_DIR); \
                $(SCONS_VARS) \
@@ -168,46 +183,51 @@ endef
 
 define Package/iotivity/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/liboc.so $(1)/usr/lib/liboc.so
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/liboc_logger.so $(1)/usr/lib/liboc_logger.so
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/liboctbstack.so $(1)/usr/lib/liboctbstack.so
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/liboctbstack.so $(1)/usr/lib/
+endef
+
+define Package/iotivity-cpp/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/liboc.so $(1)/usr/lib/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/liboc_logger.so $(1)/usr/lib/
 endef
 
 define Package/iotivity-things-manager-lib/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/libTGMSDKLibrary.so $(1)/usr/lib/libTGMSDKLibrary.so
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/libTGMSDKLibrary.so $(1)/usr/lib/
 endef
 
 define Package/iotivity-plugin-manager-lib/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/libpmimpl.so $(1)/usr/lib/libpmimpl.so
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/libpmimpl.so $(1)/usr/lib/
 endef
 
 define Package/iotivity-mqttclient/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/service/protocol-plugin/sample-app/linux/mqtt/mqttclient $(1)/usr/bin/mqttclient
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/service/protocol-plugin/sample-app/linux/mqtt/mqttclient $(1)/usr/bin/
 endef
 
 define Package/iotivity-oic-middle/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/examples/OICMiddle/OICMiddle $(1)/usr/bin/OICMiddle
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/examples/OICMiddle/OICMiddle $(1)/usr/bin/
 endef
 
 define Package/iotivity-things-manager/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/service/things-manager/sampleapp/linux/configuration/bootstrapserver $(1)/usr/bin/bootstrapserver
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/service/things-manager/sampleapp/linux/configuration/con-server $(1)/usr/bin/con-server
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/service/things-manager/sampleapp/linux/configuration/con-client $(1)/usr/bin/con-client
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/service/things-manager/sampleapp/linux/configuration/bootstrapserver $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/service/things-manager/sampleapp/linux/configuration/con-server $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/service/things-manager/sampleapp/linux/configuration/con-client $(1)/usr/bin/
 endef
 
 define Package/iotivity-example-garage/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/resource/examples/garageclient $(1)/usr/bin/garageclient
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/resource/examples/garageserver $(1)/usr/bin/garageserver
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/resource/examples/garageclient $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/resource/examples/garageserver $(1)/usr/bin/
 endef
 
 
 $(eval $(call BuildPackage,iotivity))
+$(eval $(call BuildPackage,iotivity-cpp))
 $(eval $(call BuildPackage,iotivity-things-manager-lib))
 $(eval $(call BuildPackage,iotivity-plugin-manager-lib))
 $(eval $(call BuildPackage,iotivity-mqttclient))
index 6ba2265922c30383c4915084e785c9baeb2cbc6f..60b20ddf8e3e49c0d9a9280d1412528dd8a57d31 100644 (file)
@@ -1,6 +1,6 @@
 --- a/resource/SConscript
 +++ b/resource/SConscript
-@@ -61,7 +61,7 @@ if target_os == 'linux':
+@@ -67,7 +67,7 @@ if target_os == 'linux':
        SConscript('csdk/stack/samples/linux/secure/SConscript')
  
        # Build C/C++ unit tests
@@ -8,4 +8,17 @@
 +      # SConscript('unit_tests.scons')
  
  elif target_os == 'darwin':
-       # Build linux samples for now.
+       env.Command('../../out/darwin/iotivity-csdk.framework',None,src_dir + '/tools/darwin/mkfwk_osx.sh')
+--- a/service/resource-encapsulation/SConscript
++++ b/service/resource-encapsulation/SConscript
+@@ -101,7 +101,7 @@ SConscript('examples/SConscript')
+ ######################################################################
+ # Build UnitTests Resource Client , resourceCache and resourceBroker
+ ################################################ ######################
+-SConscript('unittests/SConscript')
+-SConscript('src/resourceCache/unittests/SConscript')
+-SConscript('src/resourceBroker/unittest/SConscript')
++#SConscript('unittests/SConscript')
++#SConscript('src/resourceCache/unittests/SConscript')
++#SConscript('src/resourceBroker/unittest/SConscript')
index 62a2b768e6265d0bfbd2cd694b0ea6022961704b..334d4294674491dd547c0783dca3b1c512de7271 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH 3/4] 004-use-env.patch
 
 --- a/build_common/SConscript
 +++ b/build_common/SConscript
-@@ -106,6 +106,26 @@ tc_set_msg = '''
+@@ -129,6 +129,26 @@ tc_set_msg = '''
  * cause inexplicable errors.                                                  *
  *******************************************************************************
  '''
@@ -35,4 +35,4 @@ Subject: [PATCH 3/4] 004-use-env.patch
 +
  if env.get('VERBOSE') == False:
        env['CCCOMSTR'] = "Compiling $TARGET"
-       env['CXXCOMSTR'] = "Compiling $TARGET"
+       env['SHCCCOMSTR'] = "Compiling $TARGET"
diff --git a/net/iotivity/patches/010-libcoap-fix-big-endian-problems.patch b/net/iotivity/patches/010-libcoap-fix-big-endian-problems.patch
deleted file mode 100644 (file)
index 63a9ad5..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From 62c0a14ccd333d0e55fc431f151253a72a2836d0 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Date: Mon, 8 Jun 2015 21:57:52 +0200
-Subject: [PATCH] libcoap: fix big endian problems
-
-When this is build for a big endian Linux system WORDS_BIGENDIAN was
-not be set. This patch sets it correctly so it will not generate broken
-code on big endian systems.
-This was tested on MIPS BE 32 Bit.
-
-Change-Id: I59dd07d8020c553318e2aa43894a2185fe9b9286
-Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/1219
-Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
-Reviewed-by: Erich Keane <erich.keane@intel.com>
----
- resource/csdk/connectivity/lib/libcoap-4.1.1/config.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/resource/csdk/connectivity/lib/libcoap-4.1.1/config.h
-+++ b/resource/csdk/connectivity/lib/libcoap-4.1.1/config.h
-@@ -135,8 +135,8 @@
- #  define WORDS_BIGENDIAN 1
- # endif
- #else
--# ifndef WORDS_BIGENDIAN
--/* #  undef WORDS_BIGENDIAN */
-+# if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
-+#  define WORDS_BIGENDIAN 1
- # endif
- #endif
diff --git a/net/iotivity/patches/011-cdsk-fix-big-endian-problem.patch b/net/iotivity/patches/011-cdsk-fix-big-endian-problem.patch
deleted file mode 100644 (file)
index 833f600..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From 7189bc088f558945972d82a9a3427001cb20000a Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Date: Mon, 8 Jun 2015 22:03:19 +0200
-Subject: [PATCH] cdsk: fix big endian problem
-
-Without this patch the client will endianes swap the port number when
-sending the detailed request after it got the answer for his multicast
-get. Use the same method for storing the port number in the address
-array in ever part of the code and do not use memcpy and manual
-bytewise coping mixed over the code. memcpy was used once and byte wise
-copy was used twice so I choose the majority.
-This was tested on MIPS BE 32 Bit.
-
-Change-Id: Ib486171987004d10209d2bbf6b1d9ada75235651
-Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/1220
-Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
-Reviewed-by: Doug Hudson <douglas.hudson@intel.com>
-Reviewed-by: Erich Keane <erich.keane@intel.com>
----
- resource/csdk/stack/src/ocstack.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/resource/csdk/stack/src/ocstack.c
-+++ b/resource/csdk/stack/src/ocstack.c
-@@ -723,7 +723,8 @@ OCStackResult UpdateResponseAddr(OCDevAd
-         address->addr[i] = atoi(tok);
-     }
--    memcpy(&address->addr[4], &endPoint->addressInfo.IP.port, sizeof(uint16_t));
-+    address->addr[4] = (uint8_t)endPoint->addressInfo.IP.port;
-+    address->addr[5] = (uint8_t)(endPoint->addressInfo.IP.port >> 8);
-     ret = OC_STACK_OK;
- exit:
diff --git a/net/iotivity/patches/030-fix-missing-lib.patch b/net/iotivity/patches/030-fix-missing-lib.patch
deleted file mode 100644 (file)
index c5ba270..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/service/protocol-plugin/sample-app/linux/SConscript
-+++ b/service/protocol-plugin/sample-app/linux/SConscript
-@@ -41,7 +41,7 @@ if target_os not in ['windows', 'winrt']
- sample_env.AppendUnique(LIBS = ['oc', 'oc_logger', 'octbstack',
-                                 'connectivity_abstraction', 'coap',
--                                'ppm', 'pmimpl', 'dl'])
-+                                'ppm', 'boost_system', 'pmimpl', 'dl'])
- if env.get('SECURED') == '1':
-     sample_env.AppendUnique(LIBS = ['tinydtls'])
diff --git a/net/iotivity/patches/040-fix-things-manager.patch b/net/iotivity/patches/040-fix-things-manager.patch
deleted file mode 100644 (file)
index 972841b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/service/things-manager/sampleapp/linux/configuration/SConscript
-+++ b/service/things-manager/sampleapp/linux/configuration/SConscript
-@@ -57,7 +57,7 @@ conserver = linux_sample_env.Program('co
- conclient = linux_sample_env.Program('con-client', 'con-client.cpp')
- bootstrapserver = linux_sample_env.Program('bootstrapserver', 'bootstrapserver.cpp')
- Alias("ConServerApp", conserver)
--Alias("ConCleintApp", conclient)
-+Alias("ConClientApp", conclient)
- Alias("BootstrapServerApp", bootstrapserver)
- env.AppendTarget('ConServerApp')
- env.AppendTarget('ConClientApp')
diff --git a/net/iotivity/patches/050-fix-OICMidle.patch b/net/iotivity/patches/050-fix-OICMidle.patch
deleted file mode 100644 (file)
index a03ed26..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/resource/csdk/stack/include/octypes.h
-+++ b/resource/csdk/stack/include/octypes.h
-@@ -35,9 +35,9 @@ extern "C" {
- //Don't want to expose to application layer that lower level stack is using CoAP.
- /// Authority + URI string to prefix well known queries
--#define OC_WELL_KNOWN_QUERY                  "224.0.1.187:5683/oc/core"
-+#define OC_WELL_KNOWN_QUERY                  "/oc/core"
- #define OC_MULTICAST_DISCOVERY_URI           "/oc/core"
--#define OC_EXPLICIT_DEVICE_DISCOVERY_URI     "224.0.1.187:5683/oc/core/d?rt=core.led"
-+#define OC_EXPLICIT_DEVICE_DISCOVERY_URI     "/oc/core/d?rt=core.led"
- /// Multicast address and port string to prefix multicast queries
- #define OC_MULTICAST_PREFIX                  "224.0.1.187:5683"
- /// IP Multicast address to use for multicast requests
diff --git a/net/iotivity/patches/060-liboc-add-missing-depending-library.patch b/net/iotivity/patches/060-liboc-add-missing-depending-library.patch
new file mode 100644 (file)
index 0000000..572373c
--- /dev/null
@@ -0,0 +1,49 @@
+From b13839cceaae97d7d23b54586da1ad7ac85ab2b6 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Date: Tue, 21 Jul 2015 20:50:39 +0200
+Subject: [PATCH] liboc: add missing depending library
+
+liboc.so depends on liboctbstack.so, liboc_logger.so and pthread, this
+patch adds these dependencies to the build.
+
+Without this the dynamic loader will not automatically load these
+libraries and it could result in unresolved dependencies at runtime.
+
+Change-Id: I971b45669adef31dc9cca719884ebeb74aaf735e
+Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Reviewed-on: https://gerrit.iotivity.org/gerrit/1794
+Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
+Reviewed-by: Erich Keane <erich.keane@intel.com>
+---
+ resource/src/SConscript |   14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+--- a/resource/src/SConscript
++++ b/resource/src/SConscript
+@@ -40,18 +40,20 @@ oclib_env.AppendUnique(CPPPATH = [
+               '../csdk/connectivity/lib/libcoap-4.1.1'
+               ])
++oclib_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
++
++oclib_env.AppendUnique(LIBS = ['octbstack', 'oc_logger'])
++
+ target_os = env.get('TARGET_OS')
++if target_os == 'linux':
++      oclib_env.AppendUnique(LIBS = ['pthread'])
++
+ if target_os not in ['windows', 'winrt']:
+       oclib_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-fPIC'])
+ if target_os == 'android':
+       oclib_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
+-      oclib_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
+-      oclib_env.AppendUnique(LIBS = ['octbstack', 'oc_logger', 'boost_thread', 'gnustl_shared', 'log'])
+-
+-if target_os in ['darwin', 'ios']:
+-      oclib_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
+-      oclib_env.AppendUnique(LIBS = ['octbstack', 'oc_logger'])
++      oclib_env.AppendUnique(LIBS = ['boost_thread', 'gnustl_shared', 'log'])
+ ######################################################################
+ # Source files and Targets
diff --git a/net/iotivity/patches/061-things-manager-libTGMSDKLibrary.so-add-missing-depen.patch b/net/iotivity/patches/061-things-manager-libTGMSDKLibrary.so-add-missing-depen.patch
new file mode 100644 (file)
index 0000000..572abee
--- /dev/null
@@ -0,0 +1,42 @@
+From 0143dfaa7e6dace845412e97ebbf697d273b0d10 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Date: Tue, 21 Jul 2015 22:06:52 +0200
+Subject: [PATCH] things-manager: libTGMSDKLibrary.so: add missing depending
+ library
+
+libTGMSDKLibrary.so also depends on liboc.so, liboctbstack.so and
+pthread, this patch adds these dependencies to the build.
+
+Without this the dynamic loader will not automatically load these
+libraries and it could result in unresolved dependencies at runtime.
+
+Change-Id: I174b38e747be247fc25544db629f8ad2b7eb5ef5
+Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Reviewed-on: https://gerrit.iotivity.org/gerrit/1795
+Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
+Reviewed-by: Uze Choi <uzchoi@samsung.com>
+---
+ service/things-manager/SConscript |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/service/things-manager/SConscript
++++ b/service/things-manager/SConscript
+@@ -35,14 +35,17 @@ target_os = env.get('TARGET_OS')
+ ######################################################################
+ things_manager_env.AppendUnique(CPPPATH = ['../../extlibs/timer', 'sdk/inc', 'sdk/src'])
++things_manager_env.PrependUnique(LIBS = ['oc', 'octbstack'])
++
+ if target_os not in ['windows', 'winrt']:
+     things_manager_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall'])
+     if target_os != 'android':
+         things_manager_env.AppendUnique(CXXFLAGS = ['-pthread'])
++        things_manager_env.AppendUnique(LIBS = ['pthread'])
+ if target_os == 'android':
+     things_manager_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
+-    things_manager_env.PrependUnique(LIBS = ['oc', 'octbstack', 'gnustl_shared'])
++    things_manager_env.PrependUnique(LIBS = ['gnustl_shared'])
+ ######################################################################
+ # Source files and Targets
diff --git a/net/iotivity/patches/062-soft-sensor-manager-libSSMCore.so-add-missing-depend.patch b/net/iotivity/patches/062-soft-sensor-manager-libSSMCore.so-add-missing-depend.patch
new file mode 100644 (file)
index 0000000..7cb33ab
--- /dev/null
@@ -0,0 +1,32 @@
+From b52307797b91d7448a72874e4da7bed30c27a4f5 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Date: Tue, 21 Jul 2015 22:29:14 +0200
+Subject: [PATCH] soft-sensor-manager: libSSMCore.so: add missing depending
+ library
+
+libSSMCore.so also depends on libdl.so, this patch adds these
+dependencies to the build.
+
+Without this the dynamic loader will not automatically load these
+libraries and it could result in unresolved dependencies at runtime.
+
+Change-Id: I76faff46fe96caef75fb6673c7e83d62b15b8489
+Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Reviewed-on: https://gerrit.iotivity.org/gerrit/1796
+Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
+Reviewed-by: Uze Choi <uzchoi@samsung.com>
+---
+ service/soft-sensor-manager/SConscript |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/service/soft-sensor-manager/SConscript
++++ b/service/soft-sensor-manager/SConscript
+@@ -157,7 +157,7 @@ static_libssmcore = ssmcore_env.StaticLi
+ ssmcore_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
+ ssmcore_env.AppendUnique(LIBS = ['oc', 'octbstack', 'oc_logger',
+-            'connectivity_abstraction', 'coap'])
++            'connectivity_abstraction', 'coap', 'dl'])
+ shared_libssmcore = ssmcore_env.SharedLibrary(
+               target = 'SSMCore',
diff --git a/net/iotivity/patches/063-mqtt-fan-libmosquittopp.so-add-missing-depending-lib.patch b/net/iotivity/patches/063-mqtt-fan-libmosquittopp.so-add-missing-depending-lib.patch
new file mode 100644 (file)
index 0000000..b3b1353
--- /dev/null
@@ -0,0 +1,39 @@
+From 60b43aed7e479bc6d7252f0dba2542fe7aab9195 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Date: Tue, 21 Jul 2015 22:38:02 +0200
+Subject: [PATCH] mqtt-fan: libmosquittopp.so: add missing depending library
+
+libmosquittopp.so also depends on libpthread.so, this patch adds these
+dependencies to the build. In addition it puts the dependency to
+mosquitto to the beginning of the list. This is needed because
+mosquitto is a statically linked lib and it also has unresolved
+symbols, but gcc only searches the dynamic libs defined after the
+static for unresolved symbols in the static lib.
+
+Without this the dynamic loader will not automatically load these
+libraries and it could result in unresolved dependencies at runtime.
+
+Change-Id: I866a46305c31d37cf706b9f2b965e843c35c5667
+Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Reviewed-on: https://gerrit.iotivity.org/gerrit/1797
+Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
+Reviewed-by: Younghyun Joo <yh_.joo@samsung.com>
+Reviewed-by: Uze Choi <uzchoi@samsung.com>
+---
+ .../plugins/mqtt-fan/lib/cpp/SConscript            |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/service/protocol-plugin/plugins/mqtt-fan/lib/cpp/SConscript
++++ b/service/protocol-plugin/plugins/mqtt-fan/lib/cpp/SConscript
+@@ -16,7 +16,10 @@ mosquittopp_env.AppendUnique(CPPPATH = [
+ if target_os not in ['windows', 'winrt']:
+       mosquittopp_env.AppendUnique(CFLAGS = ['-Wall', '-ggdb', '-O2', '-fPIC'])
+-mosquittopp_env.AppendUnique(LIBS = ['mosquitto', 'ssl', 'crypto'])
++if target_os == 'linux':
++      mosquittopp_env.AppendUnique(LIBS = ['pthread'])
++
++mosquittopp_env.PrependUnique(LIBS = ['mosquitto', 'ssl', 'crypto'])
+ ######################################################################
+ # Source files and Targets
+ ######################################################################
diff --git a/net/iotivity/patches/064-protocol-plugin-libfanserver_mqtt_plugin.so-and-libl.patch b/net/iotivity/patches/064-protocol-plugin-libfanserver_mqtt_plugin.so-and-libl.patch
new file mode 100644 (file)
index 0000000..476678a
--- /dev/null
@@ -0,0 +1,42 @@
+From d1fb4c055f168e68ffd2d5596eef8d96f6c6cfae Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Date: Tue, 21 Jul 2015 22:41:09 +0200
+Subject: [PATCH] protocol-plugin: libfanserver_mqtt_plugin.so and
+ liblightserver_mqtt_plugin.so add missing depending library
+
+libfanserver_mqtt_plugin.so and liblightserver_mqtt_plugin.so are also
+depending on liboc.so and libcrypto.so, this patch adds these
+dependencies to the build. In addition it puts the dependency to
+mosquitto to the beginning of the list. This is needed because
+mosquitto is a statically linked lib and it also has unresolved
+symbols, but gcc only searches the dynamic libs defined after the
+static for unresolved symbols in the static lib.
+
+mosquitto was only build as a static linked library so we can use the
+normal LIBS mechanism and it will be statically linked.
+
+Without this the dynamic loader will not automatically load these
+libraries and it could result in unresolved dependencies at runtime.
+
+Change-Id: Ia130827d04bd3bb1a8863fc64d0097a076edc751
+Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Reviewed-on: https://gerrit.iotivity.org/gerrit/1798
+Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
+Reviewed-by: Younghyun Joo <yh_.joo@samsung.com>
+Reviewed-by: Uze Choi <uzchoi@samsung.com>
+---
+ service/protocol-plugin/plugins/SConscript |    3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/service/protocol-plugin/plugins/SConscript
++++ b/service/protocol-plugin/plugins/SConscript
+@@ -47,8 +47,7 @@ if target_os == 'android':
+     plugins_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
+     plugins_env.AppendUnique(LIBS = ['gnustl_shared'])
+-plugins_env.AppendUnique(LIBS = [File(env.get('BUILD_DIR') + '/libmosquitto.a'),
+-        'mosquitto', 'ssl', 'rt'])
++plugins_env.PrependUnique(LIBS = ['mosquitto', 'ssl', 'crypto', 'rt', 'oc'])
+ ######################################################################
diff --git a/net/iotivity/patches/065-resource-manipulation-libserver_builder.so-add-missi.patch b/net/iotivity/patches/065-resource-manipulation-libserver_builder.so-add-missi.patch
new file mode 100644 (file)
index 0000000..1d83fd8
--- /dev/null
@@ -0,0 +1,69 @@
+From 2993af980993ebb70b686b1a521d98d26e85cfc2 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Tue, 21 Jul 2015 20:55:50 +0200
+Subject: [PATCH] resource-manipulation: libserver_builder.so add missing
+ depending library
+
+libserver_builder.so is also depending on liboc.so and
+librcs_common.so, this patch adds these dependencies to the build.
+
+liboctbstack.so is only needed when LOGGING=true is set. Without
+liboctbstack.so libserver_builder.so misses the dependencies to the
+OCLog and OCLogv symbols.
+Add LIBPATH to make sure the libs will be found, this fixes a problem
+in some jenkins tests.
+
+pthread is added two times, once should be enough.
+
+Without this the dynamic loader will not automatically load these
+libraries and it could result in unresolved dependencies at runtime.
+
+Change-Id: I6af126eb4af975b7231d01df922885c7dec5fc56
+Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Reviewed-on: https://gerrit.iotivity.org/gerrit/1799
+Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
+Reviewed-by: Uze Choi <uzchoi@samsung.com>
+---
+ .../src/serverBuilder/SConscript                   |   11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+--- a/service/resource-encapsulation/src/serverBuilder/SConscript
++++ b/service/resource-encapsulation/src/serverBuilder/SConscript
+@@ -47,6 +47,8 @@ server_builder_env.AppendUnique(CPPPATH
+ server_builder_env.AppendUnique(CPPPATH = [env.get('SRC_DIR')+'/extlibs', 'include'])
++server_builder_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
++
+ if target_os not in ['windows', 'winrt']:
+     server_builder_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall'])
+     if target_os != 'android':
+@@ -56,7 +58,10 @@ if target_os == 'android':
+     server_builder_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
+     server_builder_env.PrependUnique(LIBS = ['gnustl_shared', 'compatibility', 'log'])
+-server_builder_env.AppendUnique(LIBS = ['dl'])
++server_builder_env.AppendUnique(LIBS = ['dl', 'oc', 'rcs_common'])
++
++if env.get('LOGGING'):
++      server_builder_env.AppendUnique(LIBS = ['octbstack'])
+ if not release:
+     server_builder_env.AppendUnique(CXXFLAGS = ['--coverage'])
+@@ -77,7 +82,6 @@ server_builder_env.InstallTarget([server
+ ######################################################################
+ server_builder_test_env = server_builder_env.Clone();
+-server_builder_test_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
+ server_builder_test_env.AppendUnique(CPPPATH = [
+     env.get('SRC_DIR')+'/extlibs/hippomocks-master',
+     gtest_dir + '/include',
+@@ -89,8 +93,6 @@ gtest_main = File(gtest_dir + '/lib/.lib
+ server_builder_test_env.PrependUnique(LIBS = [
+     'rcs_server',
+-    'rcs_common',
+-    'oc',
+     'octbstack',
+     'oc_logger',
+     'connectivity_abstraction',
diff --git a/net/iotivity/patches/066-csdk-remove-dependency-to-liboc_logger.so-in-c-code.patch b/net/iotivity/patches/066-csdk-remove-dependency-to-liboc_logger.so-in-c-code.patch
new file mode 100644 (file)
index 0000000..553494a
--- /dev/null
@@ -0,0 +1,54 @@
+From c02a2b8ad3efb0b59392b1c2d441e3f7144c1fda Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Date: Tue, 21 Jul 2015 22:45:40 +0200
+Subject: [PATCH] csdk: remove dependency to liboc_logger.so in c code
+
+The liboc_logger.so is only used by the c++ part and not by the c part,
+remove it from the c only part.
+
+Change-Id: Ib0894974de8ef7150401f02fbd0ea864d1d6f2cd
+Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Reviewed-on: https://gerrit.iotivity.org/gerrit/1801
+Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
+Reviewed-by: Charlie Lenahan <charlie.lenahan@intel.com>
+Reviewed-by: Erich Keane <erich.keane@intel.com>
+---
+ resource/csdk/connectivity/test/SConscript         |    3 ---
+ .../samples/linux/SimpleClientServer/SConscript    |    2 +-
+ .../csdk/stack/samples/linux/secure/SConscript     |    2 +-
+ 3 files changed, 2 insertions(+), 5 deletions(-)
+
+--- a/resource/csdk/connectivity/test/SConscript
++++ b/resource/csdk/connectivity/test/SConscript
+@@ -58,9 +58,6 @@ target_os = env.get('TARGET_OS')
+ if target_os not in ['arduino', 'darwin', 'ios']:
+       catest_env.AppendUnique(LIBS=['rt'])
+-if target_os != 'darwin':
+-    catest_env.PrependUnique(LIBS = ['oc_logger'])
+-
+ if env.get('SECURED') == '1':
+     catest_env.AppendUnique(LIBS = ['tinydtls'])
+--- a/resource/csdk/stack/samples/linux/SimpleClientServer/SConscript
++++ b/resource/csdk/stack/samples/linux/SimpleClientServer/SConscript
+@@ -41,7 +41,7 @@ samples_env.AppendUnique(LIBPATH = [env.
+ if target_os in ['darwin', 'ios']:
+       samples_env.PrependUnique(LIBS = ['m','octbstack', 'ocsrm', 'connectivity_abstraction','coap' ])
+ elif target_os not in ['arduino']:
+-      samples_env.PrependUnique(LIBS = ['m', 'octbstack', 'ocsrm', 'oc_logger', 'connectivity_abstraction', 'coap'])
++      samples_env.PrependUnique(LIBS = ['m', 'octbstack', 'ocsrm', 'connectivity_abstraction', 'coap'])
+       samples_env.AppendUnique(LIBS = ['rt'])
+ if env.get('SECURED') == '1':
+--- a/resource/csdk/stack/samples/linux/secure/SConscript
++++ b/resource/csdk/stack/samples/linux/secure/SConscript
+@@ -41,7 +41,7 @@ if target_os not in ['windows', 'winrt']
+               samples_env.AppendUnique(LIBS = ['-lpthread'])
+ samples_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
+-samples_env.PrependUnique(LIBS = ['octbstack', 'm', 'oc_logger', 'connectivity_abstraction', 'coap'])
++samples_env.PrependUnique(LIBS = ['octbstack', 'm', 'connectivity_abstraction', 'coap'])
+ if env.get('SECURED') == '1':
+     samples_env.AppendUnique(LIBS = ['tinydtls'])
diff --git a/net/iotivity/patches/067-csdk-libconnectivity_abstraction.so-add-missing-depe.patch b/net/iotivity/patches/067-csdk-libconnectivity_abstraction.so-add-missing-depe.patch
new file mode 100644 (file)
index 0000000..eeb2904
--- /dev/null
@@ -0,0 +1,37 @@
+From 32e39b18fb4fd01408898a0ccba751f0033800c7 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Wed, 22 Jul 2015 23:05:19 +0200
+Subject: [PATCH] csdk: libconnectivity_abstraction.so: add missing depending
+ library
+
+libconnectivity_abstractionso depends on libcoap.so and librt.so when
+build as shared lib, which is the case for the Tizen build. This patch
+adds these dependencies to the build.
+
+Without this the dynamic loader will not automatically load these
+libraries and it could result in unresolved dependencies at runtime.
+
+Change-Id: Ib972be2b766d7fbccac9b246ae6f11e6182af94c
+Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Reviewed-on: https://gerrit.iotivity.org/gerrit/1825
+Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
+Reviewed-by: Uze Choi <uzchoi@samsung.com>
+Tested-by: Uze Choi <uzchoi@samsung.com>
+---
+ resource/csdk/connectivity/src/SConscript |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/resource/csdk/connectivity/src/SConscript
++++ b/resource/csdk/connectivity/src/SConscript
+@@ -108,6 +108,11 @@ if 'BLE' in ca_transport:
+ print "Include path is %s" % env.get('CPPPATH')
+ print "Files path is %s" % env.get('CA_SRC')
+ if ca_os in ['android', 'tizen']:
++      env.AppendUnique(LIBS = ['coap'])
++      if env.get('SECURED') == '1':
++              env.AppendUnique(LIBS = ['tinydtls'])
++      if ca_os != 'android':
++              env.AppendUnique(LIBS = ['rt'])
+       calib = env.SharedLibrary('connectivity_abstraction', env.get('CA_SRC'))
+ else:
+       calib = env.StaticLibrary('connectivity_abstraction', env.get('CA_SRC'))
diff --git a/net/iotivity/patches/068-build-make-build-fail-if-unresolved-symbols-found.patch b/net/iotivity/patches/068-build-make-build-fail-if-unresolved-symbols-found.patch
new file mode 100644 (file)
index 0000000..cf40370
--- /dev/null
@@ -0,0 +1,227 @@
+From 2533c88e18de689dbb26cfd4d585b1a991533c76 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Date: Tue, 21 Jul 2015 22:00:18 +0200
+Subject: [PATCH] build: make build fail if unresolved symbols found
+
+gcc links shared libs also when there are still some unresolved
+symbols, you have to specify it explicitly to make it fail in such
+cases. I think a compiler should fail in such cases otherwise
+someone will add some not intended dependencies or some existing
+dependencies are not getting declared.
+
+This patch makes gcc fail in such cases. I have only activated this for
+libs build in a Linux build and explicitly deactivates it for windows
+(does this even work at all?) This should be build tested with Android
+also.
+
+This was build tested for Linux and Android.
+
+This patch depends on some other patches I send which are fixing the
+problems I found with this change.
+
+Change-Id: I9ab79896ca2e86e9226cd9b39060a0763ef89694
+Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Reviewed-on: https://gerrit.iotivity.org/gerrit/1802
+Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
+Reviewed-by: Erich Keane <erich.keane@intel.com>
+Reviewed-by: Hun-je Yeon <hunje.yeon@samsung.com>
+Reviewed-by: Uze Choi <uzchoi@samsung.com>
+---
+ extlibs/expat/SConscript                           |    3 +++
+ .../csdk/connectivity/samples/android/SConscript   |    1 +
+ resource/csdk/connectivity/src/SConscript          |    3 +++
+ resource/oc_logger/SConscript                      |    3 +++
+ resource/src/SConscript                            |    3 +++
+ service/notification-manager/SConscript            |    3 +++
+ service/protocol-plugin/plugin-manager/SConscript  |    4 ++++
+ .../plugin-manager/src/Android/jni/SConscript      |    1 +
+ service/protocol-plugin/plugins/SConscript         |    3 +++
+ .../plugins/mqtt-fan/lib/cpp/SConscript            |    3 +++
+ .../resource-manipulation/src/common/SConscript    |    5 ++++-
+ .../src/resourceContainer/SConscript               |    3 +++
+ .../src/resourceContainer/unittests/SConscript     |    3 +++
+ .../src/serverBuilder/SConscript                   |    3 +++
+ service/soft-sensor-manager/SConscript             |    3 +++
+ service/things-manager/SConscript                  |    3 +++
+ service/things-manager/sdk/java/jni/SConscript     |    3 +++
+ 17 files changed, 49 insertions(+), 1 deletion(-)
+
+--- a/extlibs/expat/SConscript
++++ b/extlibs/expat/SConscript
+@@ -35,6 +35,9 @@ if target_os not in ['windows', 'winrt']
+                       '-fexceptions', '-fno-common'])
+       expat_env.AppendUnique(CPPDEFINES = ['HAVE_EXPAT_CONFIG_H'])
++if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
++      expat_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
++
+ ######################################################################
+ # Source files and Targets
+ ######################################################################
+--- a/resource/csdk/connectivity/src/SConscript
++++ b/resource/csdk/connectivity/src/SConscript
+@@ -27,6 +27,9 @@ env.AppendUnique(CPPPATH = [ os.path.joi
+ if ca_os not in ['arduino', 'windows', 'winrt']:
+       env.AppendUnique(CPPDEFINES = ['WITH_POSIX'])
++if ca_os not in ['darwin', 'ios', 'windows', 'winrt']:
++      env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
++
+ if ca_os in ['darwin','ios']:
+       env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE'])
+--- a/resource/oc_logger/SConscript
++++ b/resource/oc_logger/SConscript
+@@ -42,6 +42,9 @@ if target_os not in ['arduino', 'windows
+       liboc_logger_env.AppendUnique(CFLAGS = ['-Wall', '-std=c99', '-fPIC'])
+       liboc_logger_env.AppendUnique(CXXFLAGS = ['-Wall', '-std=c++0x', '-fPIC'])
++if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
++      liboc_logger_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
++
+ ######################################################################
+ # Source files and Targets
+ ######################################################################
+--- a/resource/src/SConscript
++++ b/resource/src/SConscript
+@@ -51,6 +51,9 @@ if target_os == 'linux':
+ if target_os not in ['windows', 'winrt']:
+       oclib_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-fPIC'])
++if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
++      oclib_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
++
+ if target_os == 'android':
+       oclib_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
+       oclib_env.AppendUnique(LIBS = ['boost_thread', 'gnustl_shared', 'log'])
+--- a/service/notification-manager/SConscript
++++ b/service/notification-manager/SConscript
+@@ -65,6 +65,9 @@ notimgr_env.PrependUnique(LIBS = [
+ if target_os not in ['windows', 'winrt']:
+       notimgr_env.AppendUnique(CXXFLAGS = ['-O2', '-g', '-Wall', '-fmessage-length=0', '-std=c++0x'])
++if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
++      notimgr_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
++
+ if target_os == 'linux':
+       notimgr_env.AppendUnique(LIBS = ['pthread'])
+--- a/service/protocol-plugin/plugin-manager/SConscript
++++ b/service/protocol-plugin/plugin-manager/SConscript
+@@ -61,6 +61,10 @@ if target_os == 'android':
+ pmimpl_env = plugin_manager_env.Clone()
+ pmimpl_env.PrependUnique(CCFLAGS = ['-fPIC'])
+ pmimpl_env.PrependUnique(LIBS = File(env.get('BUILD_DIR') + '/libcpluff.a'))
++
++if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
++      pmimpl_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
++
+ pmimpl = pmimpl_env.SharedLibrary('pmimpl', pmimpl_src)
+ plugin_manager_env.InstallTarget([ppm, pmimpl], 'libppm')
+--- a/service/protocol-plugin/plugin-manager/src/Android/jni/SConscript
++++ b/service/protocol-plugin/plugin-manager/src/Android/jni/SConscript
+@@ -23,6 +23,7 @@ ppm_jni_env.PrependUnique(LIBS = ['pmimp
+ ppm_jni_env.AppendUnique(CPPPATH = [ppm_sdk+'/src'])
+ ppm_jni_env.AppendUnique(CPPPATH = [ppm_sdk+'/../lib/cpluff/libcpluff'])
+ ppm_jni_env.AppendUnique(CPPPATH = [env.get('SRC_DIR')+'/extlibs/rapidxml'])
++ppm_jni_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
+ ######################################################################
+ # Source files and Targets
+--- a/service/protocol-plugin/plugins/SConscript
++++ b/service/protocol-plugin/plugins/SConscript
+@@ -40,6 +40,9 @@ if target_os not in ['windows', 'winrt']
+     plugins_env.PrependUnique(CCFLAGS = ['-fPIC'])
+     plugins_env.AppendUnique(LINKFLAGS = ['-fPIC'])
++if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
++    plugins_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
++
+     if target_os not in ['arduino', 'android']:
+         plugins_env.AppendUnique(LIBS = ['pthread'])
+--- a/service/protocol-plugin/plugins/mqtt-fan/lib/cpp/SConscript
++++ b/service/protocol-plugin/plugins/mqtt-fan/lib/cpp/SConscript
+@@ -16,6 +16,9 @@ mosquittopp_env.AppendUnique(CPPPATH = [
+ if target_os not in ['windows', 'winrt']:
+       mosquittopp_env.AppendUnique(CFLAGS = ['-Wall', '-ggdb', '-O2', '-fPIC'])
++if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
++      mosquittopp_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
++
+ if target_os == 'linux':
+       mosquittopp_env.AppendUnique(LIBS = ['pthread'])
+--- a/service/resource-encapsulation/src/resourceContainer/SConscript
++++ b/service/resource-encapsulation/src/resourceContainer/SConscript
+@@ -88,6 +88,9 @@ if target_os not in ['windows', 'winrt']
+     if target_os != 'android':
+         resource_container_env.AppendUnique(CXXFLAGS = ['-pthread'])
++if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
++    resource_container_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
++
+ if target_os == 'android':
+     resource_container_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
+     resource_container_env.PrependUnique(LIBS = ['gnustl_shared', 'compatibility', 'log'])
+--- a/service/resource-encapsulation/src/resourceContainer/unittests/SConscript
++++ b/service/resource-encapsulation/src/resourceContainer/unittests/SConscript
+@@ -144,6 +144,9 @@ if int(containerJavaSupport):
+ test_bundle_env = container_gtest_env.Clone()
+ test_bundle_env.AppendUnique(CCFLAGS = ['-fPIC'])
++if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
++    test_bundle_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
++
+ TEST_BUNDLE_DIR = 'TestBundle/'
+ test_bundle_env.AppendUnique(CPPPATH = [
+               TEST_BUNDLE_DIR + 'include',
+--- a/service/resource-encapsulation/src/serverBuilder/SConscript
++++ b/service/resource-encapsulation/src/serverBuilder/SConscript
+@@ -54,6 +54,9 @@ if target_os not in ['windows', 'winrt']
+     if target_os != 'android':
+         server_builder_env.AppendUnique(CXXFLAGS = ['-pthread'])
++if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
++    server_builder_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
++
+ if target_os == 'android':
+     server_builder_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
+     server_builder_env.PrependUnique(LIBS = ['gnustl_shared', 'compatibility', 'log'])
+--- a/service/soft-sensor-manager/SConscript
++++ b/service/soft-sensor-manager/SConscript
+@@ -45,6 +45,9 @@ if target_os not in ['windows', 'winrt']
+               soft_sensor_manager_env.AppendUnique(LIBS = ['pthread'])
+               soft_sensor_manager_env.AppendUnique(CXXFLAGS = ['-pthread'])
++if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
++      soft_sensor_manager_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
++
+ if target_os == 'android':
+       soft_sensor_manager_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
+       soft_sensor_manager_env.AppendUnique(LIBS = ['gnustl_shared'])
+--- a/service/things-manager/SConscript
++++ b/service/things-manager/SConscript
+@@ -43,6 +43,9 @@ if target_os not in ['windows', 'winrt']
+         things_manager_env.AppendUnique(CXXFLAGS = ['-pthread'])
+         things_manager_env.AppendUnique(LIBS = ['pthread'])
++if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
++    things_manager_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
++
+ if target_os == 'android':
+     things_manager_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
+     things_manager_env.PrependUnique(LIBS = ['gnustl_shared'])
+--- a/service/things-manager/sdk/java/jni/SConscript
++++ b/service/things-manager/sdk/java/jni/SConscript
+@@ -27,6 +27,9 @@ tm_jni_env.AppendUnique(CPPPATH = [tm_sd
+ tm_jni_env.AppendUnique(CPPPATH = [base_jni])
+ tm_jni_env.AppendUnique(CPPPATH = ['tm/inc', 'jniutil/inc', extlibs+'/timer/'])
++if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
++    tm_jni_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
++
+ ######################################################################
+ # Source files and Targets
+ ######################################################################
diff --git a/net/iotivity/patches/070-Avoid-Segv-by-testing-address-field-before-using-it.patch b/net/iotivity/patches/070-Avoid-Segv-by-testing-address-field-before-using-it.patch
new file mode 100644 (file)
index 0000000..47e7676
--- /dev/null
@@ -0,0 +1,29 @@
+From a8f5ed3ff337bce5222967fdf8c0b475fd28e74a Mon Sep 17 00:00:00 2001
+From: John Light <john.j.light@intel.com>
+Date: Thu, 30 Jul 2015 15:14:07 -0700
+Subject: [PATCH] Avoid Segv by testing address field before using it.
+
+sIssue reported off dev list by Gabriel Schulhof.
+
+Change-Id: Ifa529da59fb784fd5cdef6ca333635cf99ed1f59
+Signed-off-by: John Light <john.j.light@intel.com>
+Reviewed-on: https://gerrit.iotivity.org/gerrit/2160
+Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
+Reviewed-by: Erich Keane <erich.keane@intel.com>
+---
+ .../src/ip_adapter/linux/caipnwmonitor.c           |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/resource/csdk/connectivity/src/ip_adapter/linux/caipnwmonitor.c
++++ b/resource/csdk/connectivity/src/ip_adapter/linux/caipnwmonitor.c
+@@ -57,6 +57,10 @@ u_arraylist_t *CAIPGetInterfaceInformati
+     struct ifaddrs *ifa = NULL;
+     for (ifa = ifp; ifa; ifa = ifa->ifa_next)
+     {
++        if (!ifa->ifa_addr)
++        {
++            continue;
++        }
+         int family = ifa->ifa_addr->sa_family;
+         if ((ifa->ifa_flags & IFF_LOOPBACK) || (AF_INET != family && AF_INET6 != family))
+         {
diff --git a/net/iotivity/patches/090-resource-encapsulation-fix-build-without-curl.patch b/net/iotivity/patches/090-resource-encapsulation-fix-build-without-curl.patch
new file mode 100644 (file)
index 0000000..9332383
--- /dev/null
@@ -0,0 +1,29 @@
+From e767f892e7736008b60f85d2c2690d660661814b Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Date: Thu, 13 Aug 2015 15:03:11 +0200
+Subject: [PATCH] resource-encapsulation: fix build without curl
+
+The hue plugin needs curl and it should only be build when libcurl is available.
+Without this patch, the build fails without curl installed, this patch fixes the problem and makes the build worm without curl and without the hue stuff.
+
+Without this patch I am getting this error message:
+scons: ***
+File "/service/third_party_libs.scons", line 50, in ?
+
+Change-Id: I5b4da555ff84b9b605cc6c119990d60ff670bd0d
+Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+---
+ .../src/resourceContainer/SConscript               |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/service/resource-encapsulation/src/resourceContainer/SConscript
++++ b/service/resource-encapsulation/src/resourceContainer/SConscript
+@@ -177,7 +177,7 @@ else:
+       
+       HueBundle = hue_resource_bundle_env.SharedLibrary('HueBundle', hue_resource_bundle_src)
+       hue_resource_bundle_env.InstallTarget(HueBundle, 'libHueBundle')
+-      lib_env = conf2.Finish()
++lib_env = conf2.Finish()
+ ######################################################################
+ # build resource container unit tests
diff --git a/net/iotivity/patches/140-remove-glib2.patch b/net/iotivity/patches/140-remove-glib2.patch
new file mode 100644 (file)
index 0000000..54593c5
--- /dev/null
@@ -0,0 +1,22 @@
+--- a/resource/csdk/security/provisioning/sample/SConscript
++++ b/resource/csdk/security/provisioning/sample/SConscript
+@@ -53,7 +53,7 @@ provisioning_env.PrependUnique(LIBS = ['
+ if env.get('SECURED') == '1':
+     provisioning_env.AppendUnique(LIBS = ['tinydtls'])
+-provisioning_env.ParseConfig('pkg-config --libs glib-2.0');
++#provisioning_env.ParseConfig('pkg-config --libs glib-2.0');
+ provisioning_env.AppendUnique(CPPDEFINES = ['TB_LOG'])
+--- a/resource/csdk/security/provisioning/SConscript
++++ b/resource/csdk/security/provisioning/SConscript
+@@ -62,7 +62,7 @@ provisioning_env.PrependUnique(LIBS = ['
+ provisioning_env.AppendUnique(LIBS = ['tinydtls'])
+-provisioning_env.ParseConfig('pkg-config --libs glib-2.0');
++#provisioning_env.ParseConfig('pkg-config --libs glib-2.0');
+ if target_os == 'android':
+       provisioning_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
diff --git a/net/iotivity/patches/200-examples-OICMiddle-try-to-load-security-configuratio.patch b/net/iotivity/patches/200-examples-OICMiddle-try-to-load-security-configuratio.patch
new file mode 100644 (file)
index 0000000..4bcd322
--- /dev/null
@@ -0,0 +1,44 @@
+From ce27d50b9c11386242487852f14b025ed6c67701 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Date: Wed, 19 Aug 2015 16:47:21 +0200
+Subject: [PATCH 14/14] examples: OICMiddle: try to load security
+ configuration by default
+
+Load the security configuration from the default location by default.
+When it is not found security will just not work.
+
+Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+---
+ examples/OICMiddle/OICMiddle.cpp |    9 ++++++++-
+ examples/OICMiddle/OICMiddle.h   |    1 +
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+--- a/examples/OICMiddle/OICMiddle.cpp
++++ b/examples/OICMiddle/OICMiddle.cpp
+@@ -99,8 +99,15 @@ void Middle::startPlatform()
+     //std::string ipaddr = INADDR_ANY;
+     std::string ipaddr = "0.0.0.0";
++    // Initialize Persistent Storage for SVR database
++    middle.ps.open = fopen;
++    middle.ps.read = fread;
++    middle.ps.write = fwrite;
++    middle.ps.close = fclose;
++    middle.ps.unlink = unlink;
++
+     PlatformConfig cfg { ServiceType::InProc, ModeType::Both,
+-                  ipaddr, port, QualityOfService::LowQos};
++                  ipaddr, port, QualityOfService::LowQos, &middle.ps};
+     OC::OCPlatform::Configure(cfg);
+ }
+--- a/examples/OICMiddle/OICMiddle.h
++++ b/examples/OICMiddle/OICMiddle.h
+@@ -83,6 +83,7 @@ protected:
+     MiddleServer *m_server;
+     LineInput *m_lineInput;
+     RestInput *m_restInput;
++    OCPersistentStorage ps;
+ protected:
+     void startPlatform();