Browse Source

iotivity: update to version 1.0.0

This brings IoTivity to version 1.0.0. The patches removed by this
commit are merged upstream now. There are some new patches needed for
new problems with Big Endian CPUs and also for musl. The plugin manager
was removed in upstream IoTivity 1.0.0.

Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
lilik-openwrt-22.03
Hauke Mehrtens 9 years ago
committed by Hauke Mehrtens
parent
commit
f5e06e1205
19 changed files with 347 additions and 713 deletions
  1. +30
    -45
      net/iotivity/Makefile
  2. +25
    -9
      net/iotivity/patches/001-no_unit_test.patch
  3. +1
    -1
      net/iotivity/patches/004-use-env.patch
  4. +26
    -0
      net/iotivity/patches/010-big-endian.patch
  5. +31
    -0
      net/iotivity/patches/011-musl-use-inttypes.patch
  6. +161
    -0
      net/iotivity/patches/012-connectivity-fix-getnameinfo-call-for-musl-libc.patch
  7. +53
    -0
      net/iotivity/patches/030-remove-check-for-curl.patch
  8. +0
    -49
      net/iotivity/patches/060-liboc-add-missing-depending-library.patch
  9. +0
    -42
      net/iotivity/patches/061-things-manager-libTGMSDKLibrary.so-add-missing-depen.patch
  10. +0
    -32
      net/iotivity/patches/062-soft-sensor-manager-libSSMCore.so-add-missing-depend.patch
  11. +0
    -39
      net/iotivity/patches/063-mqtt-fan-libmosquittopp.so-add-missing-depending-lib.patch
  12. +0
    -42
      net/iotivity/patches/064-protocol-plugin-libfanserver_mqtt_plugin.so-and-libl.patch
  13. +0
    -69
      net/iotivity/patches/065-resource-manipulation-libserver_builder.so-add-missi.patch
  14. +0
    -54
      net/iotivity/patches/066-csdk-remove-dependency-to-liboc_logger.so-in-c-code.patch
  15. +0
    -37
      net/iotivity/patches/067-csdk-libconnectivity_abstraction.so-add-missing-depe.patch
  16. +0
    -227
      net/iotivity/patches/068-build-make-build-fail-if-unresolved-symbols-found.patch
  17. +0
    -29
      net/iotivity/patches/070-Avoid-Segv-by-testing-address-field-before-using-it.patch
  18. +0
    -29
      net/iotivity/patches/090-resource-encapsulation-fix-build-without-curl.patch
  19. +20
    -9
      net/iotivity/patches/140-remove-glib2.patch

+ 30
- 45
net/iotivity/Makefile View File

@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=iotivity
PKG_VERSION:=0.9.2
PKG_VERSION:=1.0.0
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_MD5SUM:=4bcbabffc1734c664bbdf8fedfa60543
PKG_USE_MIPS16:=0
PKG_MAINTAINER:=Hauke Mehrtens <hauke.mehrtens@lantiq.com>
@ -22,8 +22,6 @@ PKG_MAINTAINER:=Hauke Mehrtens <hauke.mehrtens@lantiq.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE.md
PKG_BUILD_DEPENDS:= +boost +libexpat
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/scons.mk
@ -69,32 +67,6 @@ define Package/iotivity-things-manager-lib/description
endef
define Package/iotivity-plugin-manager-lib
SECTION:=net
CATEGORY:=Network
DEPENDS:=iotivity +iotivity-cpp +libexpat +boost +boost-system
TITLE:=IoTivity plugin manager lib
URL:=https://www.iotivity.org
endef
define Package/iotivity-plugin-manager-lib/description
IoTivity plugin manager lib
endef
define Package/iotivity-mqttclient
SECTION:=net
CATEGORY:=Network
DEPENDS:=iotivity +iotivity-cpp +iotivity-plugin-manager-lib +boost +boost-system
TITLE:=IoTivity mqtt Client
URL:=https://www.iotivity.org
endef
define Package/iotivity-mqttclient/description
IoTivity mqtt Client
endef
define Package/iotivity-oic-middle
SECTION:=net
CATEGORY:=Network
@ -135,7 +107,7 @@ endef
PKG_TINYCBOR_NAME:=tinycbor
PKG_TINYCBOR_VERSION:=3e83c0dc6e55bc73e9a4a7343ab8e06c43127efa
PKG_TINYCBOR_VERSION:=43e3ac9490cf19459ec7b7bd13df3b66810fb62a
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
@ -152,15 +124,37 @@ define Download/iotivity-tinycbor
endef
$(eval $(call Download,iotivity-tinycbor))
PKG_SQLITE_NAME:=sqlite
PKG_SQLITE_VERSION:=3081101
PKG_SQLITE_SOURCE:=$(PKG_SQLITE_NAME)-amalgamation-$(PKG_SQLITE_VERSION).zip
PKG_SQLITE_SOURCE_URL:=http://www.sqlite.org/2015/
PKG_SQLITE_SUBDIR:=$(PKG_SQLITE_NAME)
PKG_SQLITE_MD5SUM:=94907e831502e2080b76e281cfa24dde
define Download/iotivity-sqlite
FILE:=$(PKG_SQLITE_SOURCE)
URL:=$(PKG_SQLITE_SOURCE_URL)
VERSION:=$(PKG_SQLITE_VERSION)
SUBDIR:=$(PKG_SQLITE_SUBDIR)
MD5SUM:=$(PKG_SQLITE_MD5SUM)
endef
$(eval $(call Download,iotivity-sqlite))
SCONS_OPTIONS += \
TARGET_OS=linux \
TARGET_TRANSPORT=ALL \
TARGET_TRANSPORT=IP \
TARGET_ARCH=$(ARCH) \
STAGING_DIR=$(STAGING_DIR) \
LOGGING=true \
SECURED=1 \
mqttclient examples samples libTGMSDK ConServerApp ConClientApp BootstrapServerApp
$(if $(CONFIG_PACKAGE_iotivity),liboctbstack) \
$(if $(CONFIG_PACKAGE_iotivity-cpp),liboc) \
$(if $(CONFIG_PACKAGE_iotivity-things-manager-lib),libTGMSDK) \
$(if $(CONFIG_PACKAGE_iotivity-oic-middle),samples) \
$(if $(CONFIG_PACKAGE_iotivity-things-manager),ConServerApp ConClientApp BootstrapServerApp) \
$(if $(CONFIG_PACKAGE_iotivity-example-garage),examples) \
ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
SCONS_OPTIONS += VERBOSE=true
@ -169,6 +163,9 @@ endif
define Build/Prepare
$(call Build/Prepare/Default)
$(TAR) -C $(PKG_BUILD_DIR)/extlibs/tinycbor/ -xjf $(DL_DIR)/$(PKG_TINYCBOR_SOURCE)
unzip -d $(PKG_BUILD_DIR)/extlibs/sqlite3/ $(DL_DIR)/$(PKG_SQLITE_SOURCE)
mv $(PKG_BUILD_DIR)/extlibs/sqlite3/$(PKG_SQLITE_NAME)-amalgamation-$(PKG_SQLITE_VERSION)/sqlite3.h $(PKG_BUILD_DIR)/extlibs/sqlite3/
mv $(PKG_BUILD_DIR)/extlibs/sqlite3/$(PKG_SQLITE_NAME)-amalgamation-$(PKG_SQLITE_VERSION)/sqlite3.c $(PKG_BUILD_DIR)/extlibs/sqlite3/
endef
@ -197,16 +194,6 @@ define Package/iotivity-things-manager-lib/install
$(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/
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/
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/
@ -229,8 +216,6 @@ 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))
$(eval $(call BuildPackage,iotivity-oic-middle))
$(eval $(call BuildPackage,iotivity-things-manager))
$(eval $(call BuildPackage,iotivity-example-garage))

+ 25
- 9
net/iotivity/patches/001-no_unit_test.patch View File

@ -1,6 +1,6 @@
--- a/resource/SConscript
+++ b/resource/SConscript
@@ -67,7 +67,7 @@ if target_os == 'linux':
@@ -71,7 +71,7 @@ if target_os == 'linux':
SConscript('csdk/stack/samples/linux/secure/SConscript')
# Build C/C++ unit tests
@ -11,14 +11,30 @@
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')
@@ -113,10 +113,10 @@ SConscript('examples/SConscript')
# Build UnitTests Resource Client , resourceCache and resourceBroker and
# DiscoveryManager
################################################ ######################
-if target_os == 'linux':
- SConscript('unittests/SConscript')
- SConscript('src/resourceCache/unittests/SConscript')
- SConscript('src/resourceBroker/unittest/SConscript')
+# if target_os == 'linux':
+# SConscript('unittests/SConscript')
+# SConscript('src/resourceCache/unittests/SConscript')
+# SConscript('src/resourceBroker/unittest/SConscript')
if target_os == 'android':
SConscript('android/SConscript')
\ No newline at end of file
--- a/service/things-manager/SConscript
+++ b/service/things-manager/SConscript
@@ -71,6 +71,6 @@ SConscript('sampleapp/SConscript')
######################################################################
# Build UnitTests Resource Client , resourceCache and resourceBroker
# Build UnitTests Things Manager
################################################ ######################
-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')
-if target_os == 'linux':
- SConscript('unittests/SConscript')
+# if target_os == 'linux':
+# SConscript('unittests/SConscript')

+ 1
- 1
net/iotivity/patches/004-use-env.patch View File

@ -9,7 +9,7 @@ Subject: [PATCH 3/4] 004-use-env.patch
--- a/build_common/SConscript
+++ b/build_common/SConscript
@@ -129,6 +129,26 @@ tc_set_msg = '''
@@ -137,6 +137,26 @@ tc_set_msg = '''
* cause inexplicable errors. *
*******************************************************************************
'''


+ 26
- 0
net/iotivity/patches/010-big-endian.patch View File

@ -0,0 +1,26 @@
From d647872aee4871e286ddedf4931792086f5b4565 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
Date: Mon, 26 Oct 2015 14:32:39 +0100
Subject: [PATCH] libcoap: remove fix build error on big endian systems
In the big endian case an additional typedef is added in a wrong
position in TinyDTLS. This breaks compiling this code on big endian
systems.
Change-Id: Iad854aba112ddb23bf490b064ec6fbf5d01ce6b6
Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
---
resource/csdk/connectivity/lib/libcoap-4.1.1/pdu.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/resource/csdk/connectivity/lib/libcoap-4.1.1/pdu.h
+++ b/resource/csdk/connectivity/lib/libcoap-4.1.1/pdu.h
@@ -194,7 +194,7 @@ typedef enum
#ifdef WORDS_BIGENDIAN
typedef union
{
- typedef struct
+ struct
{
unsigned int version:2; /* protocol version */
unsigned int type:2; /* type flag */

+ 31
- 0
net/iotivity/patches/011-musl-use-inttypes.patch View File

@ -0,0 +1,31 @@
From 9510445c5002b0e3502d2ac09723e1b2ddd03704 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
Date: Mon, 26 Oct 2015 14:39:55 +0100
Subject: [PATCH] tinydtls: use types from inittype.h, fix musl libc
The SHA2 code currently uses u_int32_t and similar types without
defining them. This type is not defined by the POSIX standard, but many
libc implementations have it as a non standard extension. In the musl
libc it is not implemented and I am getting a compile error when using
u_int32_t, I should use uint32_t, which is done when
SHA2_USE_INTTYPES_H is set.
This fixes build with musl libs used in OpenWrt.
Change-Id: I485435ddb8b1a2359caedd335ab54f91ca5e3f3e
Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
---
extlibs/tinydtls/SConscript | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/extlibs/tinydtls/SConscript
+++ b/extlibs/tinydtls/SConscript
@@ -68,7 +68,7 @@ if not env.get('RELEASE'):
else:
env.AppendUnique(CPPDEFINES = ['NDEBUG'])
-env.AppendUnique(CPPDEFINES = ['DTLSV12', 'WITH_SHA256', 'DTLS_CHECK_CONTENTTYPE'])
+env.AppendUnique(CPPDEFINES = ['DTLSV12', 'WITH_SHA256', 'DTLS_CHECK_CONTENTTYPE', 'SHA2_USE_INTTYPES_H'])
libtinydtls = env.StaticLibrary('libtinydtls', env.get('TINYDTLS_SRC'), OBJPREFIX='libtinydtls_')

+ 161
- 0
net/iotivity/patches/012-connectivity-fix-getnameinfo-call-for-musl-libc.patch View File

@ -0,0 +1,161 @@
From 75a19e9059e671442abe40908ba80c2da614118d Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Mon, 26 Oct 2015 22:42:40 +0100
Subject: [PATCH] connectivity: fix getnameinfo() call for musl libc
The musl libc and also the libc from net/freebsd are currently checking
if the size of the sockaddr given to getnameinfo() matches the size for
this family and it fails when giving sizeof(struct sockaddr_storage).
This patch fixes this problem by making the caller also provide the
size of the struct sockaddr_storage.
I am currently trying to get a fix for this problem into musl libc, but
IoTivity should still fix this.
This also fixes a wrong error message.
Change-Id: Ie9b89523b5ba20e536c03e3ad85c65bd5ff2ba53
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
resource/csdk/connectivity/inc/caadapterutils.h | 12 ++++++++----
.../csdk/connectivity/src/adapter_util/caadapternetdtls.c | 10 +++++-----
resource/csdk/connectivity/src/adapter_util/caadapterutils.c | 9 +++++----
resource/csdk/connectivity/src/ip_adapter/caipserver.c | 2 +-
resource/csdk/connectivity/src/tcp_adapter/catcpserver.c | 2 +-
5 files changed, 20 insertions(+), 15 deletions(-)
--- a/resource/csdk/connectivity/inc/caadapterutils.h
+++ b/resource/csdk/connectivity/inc/caadapterutils.h
@@ -212,13 +212,16 @@ void CAClearNetInterfaceInfoList(u_array
*/
void CAClearServerInfoList(u_arraylist_t *serverInfoList);
+#ifndef WITH_ARDUINO
/**
* Convert address from binary to string.
- * @param[in] ipaddr IP address info.
- * @param[out] host address string (must be CA_IPADDR_SIZE).
- * @param[out] port host order port number.
+ * @param[in] sockAddr IP address info.
+ * @param[in] sockAddrLen size of sockAddr.
+ * @param[out] host address string (must be CA_IPADDR_SIZE).
+ * @param[out] port host order port number.
*/
-void CAConvertAddrToName(const struct sockaddr_storage *sockaddr, char *host, uint16_t *port);
+void CAConvertAddrToName(const struct sockaddr_storage *sockAddr, socklen_t sockAddrLen,
+ char *host, uint16_t *port);
/**
* Convert address from string to binary.
@@ -227,6 +230,7 @@ void CAConvertAddrToName(const struct so
* @param[out] ipaddr IP address info.
*/
void CAConvertNameToAddr(const char *host, uint16_t port, struct sockaddr_storage *sockaddr);
+#endif /* WITH_ARDUINO */
#ifdef __ANDROID__
/**
--- a/resource/csdk/connectivity/src/adapter_util/caadapternetdtls.c
+++ b/resource/csdk/connectivity/src/adapter_util/caadapternetdtls.c
@@ -417,7 +417,7 @@ static int32_t CAReadDecryptedPayload(dt
((addrInfo->addr.st.ss_family == AF_INET) ? CA_IPV4 : CA_IPV6) | CA_SECURE, .port = 0 },
.identity =
{ 0 } };
- CAConvertAddrToName(&(addrInfo->addr.st), sep.endpoint.addr, &sep.endpoint.port);
+ CAConvertAddrToName(&(addrInfo->addr.st), addrInfo->size, sep.endpoint.addr, &sep.endpoint.port);
if (NULL == g_caDtlsContext)
{
@@ -468,7 +468,7 @@ static int32_t CASendSecureData(dtls_con
CAEndpoint_t endpoint = {.adapter = CA_DEFAULT_ADAPTER};
- CAConvertAddrToName(&(addrInfo->addr.st), endpoint.addr, &endpoint.port);
+ CAConvertAddrToName(&(addrInfo->addr.st), addrInfo->size, endpoint.addr, &endpoint.port);
endpoint.flags = addrInfo->addr.st.ss_family == AF_INET ? CA_IPV4 : CA_IPV6;
endpoint.flags |= CA_SECURE;
endpoint.adapter = CA_ADAPTER_IP;
@@ -515,7 +515,7 @@ static int32_t CAHandleSecureEvent(dtls_
stCADtlsAddrInfo_t *addrInfo = (stCADtlsAddrInfo_t *)session;
char peerAddr[MAX_ADDR_STR_SIZE_CA] = { 0 };
uint16_t port = 0;
- CAConvertAddrToName(&(addrInfo->addr.st), peerAddr, &port);
+ CAConvertAddrToName(&(addrInfo->addr.st), addrInfo->size, peerAddr, &port);
CARemovePeerFromPeerInfoList(peerAddr, port);
}
@@ -553,7 +553,7 @@ static int32_t CAGetPskCredentials(dtls_
stCADtlsAddrInfo_t *addrInfo = (stCADtlsAddrInfo_t *)session;
char peerAddr[MAX_ADDR_STR_SIZE_CA] = { 0 };
uint16_t port = 0;
- CAConvertAddrToName(&(addrInfo->addr.st), peerAddr, &port);
+ CAConvertAddrToName(&(addrInfo->addr.st), addrInfo->size, peerAddr, &port);
if(CA_STATUS_OK != CAAddIdToPeerInfoList(peerAddr, port, desc, descLen) )
{
@@ -933,7 +933,7 @@ static int CAVerifyCertificate(struct dt
stCADtlsAddrInfo_t *addrInfo = (stCADtlsAddrInfo_t *)session;
char peerAddr[MAX_ADDR_STR_SIZE_CA] = { 0 };
uint16_t port = 0;
- CAConvertAddrToName(&(addrInfo->addr.st), peerAddr, &port);
+ CAConvertAddrToName(&(addrInfo->addr.st), addrInfo->size, peerAddr, &port);
CAResult_t result = CAAddIdToPeerInfoList(peerAddr, port,
crtChain[0].subject.data + DER_SUBJECT_HEADER_LEN + 2, crtChain[0].subject.data[DER_SUBJECT_HEADER_LEN + 1]);
--- a/resource/csdk/connectivity/src/adapter_util/caadapterutils.c
+++ b/resource/csdk/connectivity/src/adapter_util/caadapterutils.c
@@ -122,14 +122,15 @@ CAResult_t CAParseIPv4AddressInternal(co
* These two conversion functions return void because errors can't happen
* (because of NI_NUMERIC), and there's nothing to do if they do happen.
*/
-void CAConvertAddrToName(const struct sockaddr_storage *sockAddr, char *host, uint16_t *port)
+void CAConvertAddrToName(const struct sockaddr_storage *sockAddr, socklen_t sockAddrLen,
+ char *host, uint16_t *port)
{
VERIFY_NON_NULL_VOID(sockAddr, CA_ADAPTER_UTILS_TAG, "sockAddr is null");
VERIFY_NON_NULL_VOID(host, CA_ADAPTER_UTILS_TAG, "host is null");
VERIFY_NON_NULL_VOID(port, CA_ADAPTER_UTILS_TAG, "port is null");
int r = getnameinfo((struct sockaddr *)sockAddr,
- sizeof (struct sockaddr_storage),
+ sockAddrLen,
host, MAX_ADDR_STR_SIZE_CA,
NULL, 0,
NI_NUMERICHOST|NI_NUMERICSERV);
@@ -138,12 +139,12 @@ void CAConvertAddrToName(const struct so
if (EAI_SYSTEM == r)
{
OIC_LOG_V(ERROR, CA_ADAPTER_UTILS_TAG,
- "getaddrinfo failed: errno %s", strerror(errno));
+ "getnameinfo failed: errno %s", strerror(errno));
}
else
{
OIC_LOG_V(ERROR, CA_ADAPTER_UTILS_TAG,
- "getaddrinfo failed: %s", gai_strerror(r));
+ "getnameinfo failed: %s", gai_strerror(r));
}
return;
}
--- a/resource/csdk/connectivity/src/ip_adapter/caipserver.c
+++ b/resource/csdk/connectivity/src/ip_adapter/caipserver.c
@@ -299,7 +299,7 @@ static CAResult_t CAReceiveMessage(int f
}
}
- CAConvertAddrToName(&srcAddr, sep.endpoint.addr, &sep.endpoint.port);
+ CAConvertAddrToName(&srcAddr, msg.msg_namelen, sep.endpoint.addr, &sep.endpoint.port);
if (flags & CA_SECURE)
{
--- a/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c
+++ b/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c
@@ -478,7 +478,7 @@ static void CAAcceptHandler(void *data)
}
svritem->u4tcp.fd = sockfd;
- CAConvertAddrToName((struct sockaddr_storage *)&clientaddr,
+ CAConvertAddrToName((struct sockaddr_storage *)&clientaddr, clientlen,
(char *) &svritem->addr, &svritem->u4tcp.port);
ca_mutex_lock(g_mutexObjectList);

+ 53
- 0
net/iotivity/patches/030-remove-check-for-curl.patch View File

@ -0,0 +1,53 @@
--- a/service/resource-container/SConscript
+++ b/service/resource-container/SConscript
@@ -176,35 +176,21 @@ if target_os in ['linux', 'tizen', 'andr
# build hue sample bundle
######################################################################
-conf2 = Configure(lib_env)
-if not conf2.CheckLib('curl'):
- print '''X
-*********************************** Error *************************************
-* Cannot build hue sample. Please install libcurl.
-* Example (Ubuntu):
-* sudo apt-get install libcurl4-openssl-dev
-* sudo ldconfig
-* Hint: check with pkg-config --libs libcurl and clear scons cache.
-* Skipping hue sample build.
-*******************************************************************************
- '''
-else:
- hue_resource_bundle_env = resource_container_env.Clone()
- hue_resource_bundle_env.AppendUnique(CCFLAGS = ['-fPIC'])
-
- HUE_RESOURCE_BUNDLE_DIR = 'examples/HueSampleBundle/'
- hue_resource_bundle_env.AppendUnique(CPPPATH = [
- HUE_RESOURCE_BUNDLE_DIR + 'include',
- 'include/'
- ])
-
- hue_resource_bundle_env.PrependUnique(LIBS = ['curl', 'rcs_container'])
-
- hue_resource_bundle_src = [ Glob(HUE_RESOURCE_BUNDLE_DIR + 'src/*.cpp')]
-
- HueBundle = hue_resource_bundle_env.SharedLibrary('HueBundle', hue_resource_bundle_src)
- hue_resource_bundle_env.InstallTarget(HueBundle, 'libHueBundle')
-lib_env = conf2.Finish()
+hue_resource_bundle_env = resource_container_env.Clone()
+hue_resource_bundle_env.AppendUnique(CCFLAGS = ['-fPIC'])
+
+HUE_RESOURCE_BUNDLE_DIR = 'examples/HueSampleBundle/'
+hue_resource_bundle_env.AppendUnique(CPPPATH = [
+ HUE_RESOURCE_BUNDLE_DIR + 'include',
+ 'include/'
+ ])
+
+hue_resource_bundle_env.PrependUnique(LIBS = ['curl', 'rcs_container'])
+
+hue_resource_bundle_src = [ Glob(HUE_RESOURCE_BUNDLE_DIR + 'src/*.cpp')]
+
+HueBundle = hue_resource_bundle_env.SharedLibrary('HueBundle', hue_resource_bundle_src)
+hue_resource_bundle_env.InstallTarget(HueBundle, 'libHueBundle')
######################################################################
# build resource container unit tests

+ 0
- 49
net/iotivity/patches/060-liboc-add-missing-depending-library.patch View File

@ -1,49 +0,0 @@
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

+ 0
- 42
net/iotivity/patches/061-things-manager-libTGMSDKLibrary.so-add-missing-depen.patch View File

@ -1,42 +0,0 @@
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

+ 0
- 32
net/iotivity/patches/062-soft-sensor-manager-libSSMCore.so-add-missing-depend.patch View File

@ -1,32 +0,0 @@
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',

+ 0
- 39
net/iotivity/patches/063-mqtt-fan-libmosquittopp.so-add-missing-depending-lib.patch View File

@ -1,39 +0,0 @@
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
######################################################################

+ 0
- 42
net/iotivity/patches/064-protocol-plugin-libfanserver_mqtt_plugin.so-and-libl.patch View File

@ -1,42 +0,0 @@
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'])
######################################################################

+ 0
- 69
net/iotivity/patches/065-resource-manipulation-libserver_builder.so-add-missi.patch View File

@ -1,69 +0,0 @@
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',

+ 0
- 54
net/iotivity/patches/066-csdk-remove-dependency-to-liboc_logger.so-in-c-code.patch View File

@ -1,54 +0,0 @@
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'])

+ 0
- 37
net/iotivity/patches/067-csdk-libconnectivity_abstraction.so-add-missing-depe.patch View File

@ -1,37 +0,0 @@
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'))

+ 0
- 227
net/iotivity/patches/068-build-make-build-fail-if-unresolved-symbols-found.patch View File

@ -1,227 +0,0 @@
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
######################################################################

+ 0
- 29
net/iotivity/patches/070-Avoid-Segv-by-testing-address-field-before-using-it.patch View File

@ -1,29 +0,0 @@
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))
{

+ 0
- 29
net/iotivity/patches/090-resource-encapsulation-fix-build-without-curl.patch View File

@ -1,29 +0,0 @@
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

+ 20
- 9
net/iotivity/patches/140-remove-glib2.patch View File

@ -1,22 +1,33 @@
--- a/resource/csdk/connectivity/src/bt_le_adapter/linux/SConscript
+++ b/resource/csdk/connectivity/src/bt_le_adapter/linux/SConscript
@@ -31,7 +31,7 @@ this_build_dir = os.path.join(root_build
# The Linux BLE adapter implementation uses GDBus to make D-Bus based
# method calls to BlueZ. Pull in the necessary dependencies.
-env.ParseConfig("pkg-config gio-unix-2.0 --cflags --libs")
+# env.ParseConfig("pkg-config gio-unix-2.0 --cflags --libs")
# Set up commands to generate GDBus code from the D-Bus introspection
# XML.
--- 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'])
@@ -58,7 +58,7 @@ if env.get('SECURED') == '1':
if env.get('DTLS_WITH_X509') == '1':
provisioning_env.AppendUnique(LIBS = ['CKManager'])
provisioning_env.AppendUnique(LIBS = ['asn1'])
-provisioning_env.ParseConfig('pkg-config --libs glib-2.0');
+#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'])
@@ -73,7 +73,7 @@ provisioning_env.AppendUnique(LIBS = ['t
if env.get('DTLS_WITH_X509') == '1':
provisioning_env.AppendUnique(LIBS = ['CKManger'])
-provisioning_env.ParseConfig('pkg-config --libs glib-2.0');
+#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'])

Loading…
Cancel
Save