[yocto] [meta-oic][PATCH] Add recipe for IoTivity 2.0.0
From: Philippe Coval Lot of simplification since "scons install" is supported by upstream. Note that 2.0.0 is in 1.4-rel branch IoTivity extra files are now in /usr/lib*/iotivity/ Bug: https://jira.iotivity.org/browse/IOT-2998 Cc: yocto@yoctoproject.org Origin: https://lists.iotivity.org/g/iotivity-dev/message/9943 Forwarded: https://lists.yoctoproject.org/pipermail/yocto/2018-September Signed-off-by: Philippe Coval Signed-off-by: Philippe Coval --- README | 5 +- recipes-core/iotivity/iotivity_2.0.0.bb | 238 2 files changed, 241 insertions(+), 2 deletions(-) create mode 100644 recipes-core/iotivity/iotivity_2.0.0.bb diff --git a/README b/README index ca0c7624..1b34cbd4 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ meta-oic -This layer contains recipes for the IoTivity Project (v1.3.1) +This layer contains recipes for the IoTivity Project (v2.0.0) , sample applications and related components for any Yocto target. Contents @@ -141,7 +141,8 @@ IoTivity service headers are placed in /usr/include/iotivity/service. IoTivity resource and service applications are placed in /opt/iotivity/examples. -IoTivity tests are placed in /opt/iotivity/tests. +IoTivity extra files (tools, examples, tests...) are placed in +/usr/lib*/iotivity/. Building IoTivity applications for a Yocto target = diff --git a/recipes-core/iotivity/iotivity_2.0.0.bb b/recipes-core/iotivity/iotivity_2.0.0.bb new file mode 100644 index ..f0a95d8a --- /dev/null +++ b/recipes-core/iotivity/iotivity_2.0.0.bb @@ -0,0 +1,238 @@ +PR = 'r1' +SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." +DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." +HOMEPAGE = "https://www.iotivity.org/"; +DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0 glib-2.0-native" +DEPENDS += "sqlite3" + +EXTRANATIVEPATH += "chrpath-native" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=86d3f3a95c324c9479bd8986968f4327" + +branch_iotivity ?= "1.4-rel" +baseurl_iotivity ?= "git://github.com/iotivity/iotivity.git" +SRCREV_iotivity ?= "d0427f56eeb6fe51ed4bd1e2a379396e0ac0acc0" +SRCREV = "${SRCREV_iotivity}" +url_iotivity ?= "${baseurl_iotivity};destsuffix=${S};branch=${branch_iotivity};protocol=http" +SRC_URI = "${url_iotivity}" + +url_tinycbor = "git://github.com/intel/tinycbor.git" +SRCREV_tinycbor = "ae64a3d9da39f3bf310b9a7b38427c096d8bcd43" +SRC_URI += "${url_tinycbor};name=tinycbor;destsuffix=${S}/extlibs/tinycbor/tinycbor;protocol=http" + +url_gtest = "https://github.com/google/googletest/archive/release-1.7.0.zip"; +SRC_URI[gtest.md5sum] = "ef5e700c8a0f3ee123e2e0209b8b4961" +SRC_URI[gtest.sha256sum] = "b58cb7547a28b2c718d1e38aee18a3659c9e3ff52440297e965f5edffe34b6d0" +SRC_URI += "${url_gtest};name=gtest;subdir=${BP}/extlibs/gtest" + +url_hippomocks = "git://github.com/dascandy/hippomocks.git" +SRCREV_hippomocks = "dca4725496abb0e41f8b582dec21d124f830a8e5" +SRC_URI += "${url_hippomocks};name=hippomocks;destsuffix=${S}/extlibs/hippomocks/hippomocks;protocol=http" +SRC_URI += "file://hippomocks_mips_patch" + +SRCREV_mbedtls = "59ae96f167a19f4d04dc6db61f6587b37ccd429f" +url_mbedtls="git://github.com/ARMmbed/mbedtls.git" +SRC_URI += "${url_mbedtls};name=mbedtls;nobranch=1;destsuffix=${S}/extlibs/mbedtls/mbedtls;protocol=http" + +url_rapidjson = "git://github.com/miloyip/rapidjson.git" +SRCREV_rapidjson = "9dfc437477e2b9a351634e8249a9c18bfc81f136" +SRC_URI += "${url_rapidjson};name=rapidjson;nobranch=1;destsuffix=${S}/extlibs/rapidjson/rapidjson;protocol=http" + +branch_libcoap = "IoTivity-1.4" +SRCREV_libcoap = "${branch_libcoap}" +url_libcoap = "git://github.com/dthaler/libcoap.git" +SRC_URI += "${url_libcoap};name=libcoap;destsuffix=${S}/extlibs/libcoap/libcoap;protocol=http;nobranch=1" + +inherit pkgconfig scons + + +python () { +IOTIVITY_TARGET_ARCH = d.getVar("TARGET_ARCH", True) +d.setVar("IOTIVITY_TARGET_ARCH", IOTIVITY_TARGET_ARCH) +EXTRA_OESCONS = d.getVar("EXTRA_OESCONS", True) +EXTRA_OESCONS += " --prefix=${prefix}" +EXTRA_OESCONS += " TARGET_OS=yocto TARGET_ARCH=" + IOTIVITY_TARGET_ARCH + " RELEASE=1" +EXTRA_OESCONS += " VERBOSE=1" +EXTRA_OESCONS += " ERROR_ON_WARN=False" +# Aligned to
Re: [yocto] [dev] [meta-oic] Question about Iotivity 1.3.0/1 and fixes status
Hi, Thanks for feedback, if fixed in master or 1.3-rel it should be also fixed in upcoming 1.4-rel: https://github.com/TizenTeam/meta-oic/tree/sandbox/pcoval/on/master/next Can you confirm ? If 1.4.0 is not released soon I'll try to patch 1.3.1 when done with my current priorities ;) Regards On 14/05/18 10:17, Chanho Park wrote: > Hi Phillippe, > > I’ve seen you updated the 1.3.0 and 1.3.1 branch as well. > Unfortunately, I got stuck when I tried to build 1.3.1 branch for > aarch as well as armhf architectures. You already fixed the issue on > master branch and 1.3-rel branch[1] as well but they are not applied > yet in meta-oic. I tried to fix it but it seemed to be updated install > scripts of bb file as well. Could you update the 1.3.1 branch of > meta-oic as well? > > [1]: https://jira.iotivity.org/browse/IOT-2706 > > Best Regards, > Chanho Park > On Tue, 6 Mar 2018 at 1:07 AM Philippe Coval > mailto:philippe.coval@gmail.com>> > wrote: > > On Fri, Jan 12, 2018 at 3:26 AM, Chanho Park <mailto:parkc...@gmail.com>> wrote: > > Hi Philippe, > > On Thu, 11 Jan 2018 at 7:11 PM Philippe Coval > <mailto:philippe.co...@osg.samsung.com>> wrote: > > > On 11/01/18 02:30, Chanho Park wrote: > > Hi Philippe, > > > > > > Okay. I’ll test them when you resend them. Please CCing me > at that time. > > > > 1.3.0 is now merged in: > > > http://git.yoctoproject.org/cgit/cgit.cgi/meta-oic/commit/README?id=eb7dfc4764ce538fc84eb40f1ca7ed7e14eb1f1d > > I will commit more pending patches in coming days/week, > feedback is always welcome in iotivity tracker (add yocto label) > > > > Okay. I look forward to your results :) > Thanks. > > > Thank you for your patience, now It should me faster since I got > commit rights. > > Regards > > -- > gpg:0x467094BC > xmpp:philippe.coval@gmail.com > <mailto:xmpp%3aphilippe.coval@gmail.com> > https://wiki.tizen.org/wiki/User:Pcoval > -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] [dev] [meta-oic] Question about Iotivity 1.3.0/1 and fixes status
On Fri, Jan 12, 2018 at 3:26 AM, Chanho Park wrote: > Hi Philippe, > > On Thu, 11 Jan 2018 at 7:11 PM Philippe Coval com> wrote: > >> >> On 11/01/18 02:30, Chanho Park wrote: >> > Hi Philippe, >> > > > > Okay. I’ll test them when you resend them. Please CCing me at that time. >> > > 1.3.0 is now merged in: http://git.yoctoproject.org/cgit/cgit.cgi/meta-oic/commit/README?id=eb7dfc4764ce538fc84eb40f1ca7ed7e14eb1f1d I will commit more pending patches in coming days/week, feedback is always welcome in iotivity tracker (add yocto label) > Okay. I look forward to your results :) > Thanks. > > Thank you for your patience, now It should me faster since I got commit rights. Regards -- gpg:0x467094BC xmpp:philippe.coval@gmail.com https://wiki.tizen.org/wiki/User:Pcoval -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH resend 5/5] Add recipe for IoTivity 1.3.1
Note that fail on warning flag has been added, and can be used in .bbappend if needed after reporting bugs: http://wiki.iotivity.org/report Bug: https://jira.iotivity.org/browse/IOT-2651 Signed-off-by: Philippe Coval --- Origin: https://github.com/tizenteam/meta-oic/tree/sandbox/pcoval/on/master/review README | 2 +- recipes-core/iotivity/iotivity_1.3.1.bb | 469 2 files changed, 470 insertions(+), 1 deletion(-) create mode 100644 recipes-core/iotivity/iotivity_1.3.1.bb diff --git a/README b/README index 085dbdc..ca0c762 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ meta-oic -This layer contains recipes for the IoTivity Project (v1.3.0) +This layer contains recipes for the IoTivity Project (v1.3.1) , sample applications and related components for any Yocto target. Contents diff --git a/recipes-core/iotivity/iotivity_1.3.1.bb b/recipes-core/iotivity/iotivity_1.3.1.bb new file mode 100644 index 000..c7b9163 --- /dev/null +++ b/recipes-core/iotivity/iotivity_1.3.1.bb @@ -0,0 +1,469 @@ +SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." +DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." +HOMEPAGE = "https://www.iotivity.org/"; +DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0 glib-2.0-native" +DEPENDS += "sqlite3" + +EXTRANATIVEPATH += "chrpath-native" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=22bf216f3077c279aed7b36b1fa9e6d1" + +branch_iotivity ?= "1.3-rel" +SRCREV ?= "633dc231b8d9967520627528a92506efca7cebcd" +url_iotivity ?= "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http" +SRC_URI += "${url_iotivity}" + +url_tinycbor = "git://github.com/01org/tinycbor.git" +SRCREV_tinycbor = "31c7f81d45d115d2007b1c881cbbd3a19618465c" +SRC_URI += "${url_tinycbor};name=tinycbor;destsuffix=${S}/extlibs/tinycbor/tinycbor;protocol=http" + +url_gtest = "https://github.com/google/googletest/archive/release-1.7.0.zip"; +SRC_URI[gtest.md5sum] = "ef5e700c8a0f3ee123e2e0209b8b4961" +SRC_URI[gtest.sha256sum] = "b58cb7547a28b2c718d1e38aee18a3659c9e3ff52440297e965f5edffe34b6d0" +SRC_URI += "${url_gtest};name=gtest;subdir=${BP}/extlibs/gtest" + +url_hippomocks = "git://github.com/dascandy/hippomocks.git" +SRCREV_hippomocks = "dca4725496abb0e41f8b582dec21d124f830a8e5" +SRC_URI += "${url_hippomocks};name=hippomocks;destsuffix=${S}/extlibs/hippomocks/hippomocks;protocol=http" +SRC_URI += "file://hippomocks_mips_patch" + +SRCREV_mbedtls = "85c2a928ed352845793db000e78e2b42c8dcf055" +url_mbedtls="git://github.com/ARMmbed/mbedtls.git" +SRC_URI += "${url_mbedtls};name=mbedtls;destsuffix=${S}/extlibs/mbedtls/mbedtls;protocol=http" + +url_rapidjson = "git://github.com/miloyip/rapidjson.git" +SRCREV_rapidjson = "3d5848a7cd3367c5cb451c6493165b7745948308" +SRC_URI += "${url_rapidjson};name=rapidjson;;nobranch=1;destsuffix=${S}/extlibs/rapidjson/rapidjson;protocol=http" + + +inherit pkgconfig scons + + +python () { +IOTIVITY_TARGET_ARCH = d.getVar("TARGET_ARCH", True) +d.setVar("IOTIVITY_TARGET_ARCH", IOTIVITY_TARGET_ARCH) +EXTRA_OESCONS = d.getVar("EXTRA_OESCONS", True) +EXTRA_OESCONS += " TARGET_OS=yocto TARGET_ARCH=" + IOTIVITY_TARGET_ARCH + " RELEASE=1" +EXTRA_OESCONS += " VERBOSE=1" +# Aligned to default configuration, but features can be changed here (at your own risk): +# EXTRA_OESCONS += " ERROR_ON_WARN=False" +# EXTRA_OESCONS += " ROUTING=GW" +# EXTRA_OESCONS += " SECURED=0" +# EXTRA_OESCONS += " TCP=1" +d.setVar("EXTRA_OESCONS", EXTRA_OESCONS) +} + + +IOTIVITY_BIN_DIR = "/opt/${PN}" +IOTIVITY_BIN_DIR_D = "${D}${IOTIVITY_BIN_DIR}" + + +do_compile_prepend() { +export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" +export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config" +export LD_FLAGS="${LD_FLAGS}" +} + +make_dir() { +install -d $1 +} + +copy_file() { +install -c -m 444 $1 $2 +} + +copy_exec() { +install -c -m 555 $1 $2 +} + +copy_file_recursive() { +cd $1 && find . -type d -exec install -d $2/"{}" \; +cd $1 && find . -type f -exec install -c -m 444 "{}" $2/"{}" \; +} + +copy_exec_recursive() { +cd $1 && find . -executable -exec inst
[yocto] [meta-oic][PATCH resend 4/5] iotivity-sensorboard: Support pkg-config
Since IoTivity-1.3.0 Signed-off-by: Philippe Coval --- .../files/0003-server-Port-to-iotivity-1.2.0.patch | 68 ++ .../files/0004-build-Use-pkg-config.patch | 48 +++ .../iotivity-sensorboard_1.0.0.bb | 11 3 files changed, 127 insertions(+) create mode 100644 recipes-apps/iotivity-sensorboard/files/0003-server-Port-to-iotivity-1.2.0.patch create mode 100644 recipes-apps/iotivity-sensorboard/files/0004-build-Use-pkg-config.patch diff --git a/recipes-apps/iotivity-sensorboard/files/0003-server-Port-to-iotivity-1.2.0.patch b/recipes-apps/iotivity-sensorboard/files/0003-server-Port-to-iotivity-1.2.0.patch new file mode 100644 index 000..6f59e6a --- /dev/null +++ b/recipes-apps/iotivity-sensorboard/files/0003-server-Port-to-iotivity-1.2.0.patch @@ -0,0 +1,68 @@ +From dcc5e1fd4204f08126ff940232283347b4963b15 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Thu, 20 Jul 2017 15:33:36 +0200 +Subject: [PATCH 3/4] server: Port to iotivity-1.2.0+ + +Bug: https://jira.iotivity.org/browse/IOT- + +Origin: https://github.com/TizenTeam/meta-oic/tree/iotivity-sensorboard/master +Signed-off-by: Philippe Coval +--- + server.cpp | 6 -- + 1 file changed, 6 deletions(-) + +diff --git a/server.cpp b/server.cpp +index 8308577..5cb3215 100644 +--- a/server.cpp b/server.cpp +@@ -107,7 +107,6 @@ void IoTServer::temperatureObserverLoop() + usleep(150); + cout << "Temperature Observer Callback" << endl; + shared_ptr resourceResponse(new OCResourceResponse()); +-resourceResponse->setErrorCode(200); + resourceResponse->setResourceRepresentation(getTemperatureRepresentation(), + EDISON_RESOURCE_INTERFACE); + OCStackResult result = OCPlatform::notifyListOfObservers(m_temperatureResource, +@@ -125,7 +124,6 @@ void IoTServer::lightObserverLoop() + usleep(150); + cout << "Light Observer Callback" << endl; + shared_ptr resourceResponse(new OCResourceResponse()); +-resourceResponse->setErrorCode(200); + resourceResponse->setResourceRepresentation(getLightRepresentation(), + EDISON_RESOURCE_INTERFACE); + OCStackResult result = OCPlatform::notifyListOfObservers(m_ambientLightResource, +@@ -167,7 +165,6 @@ OCEntityHandlerResult IoTServer::lightEntityHandler(shared_ptrsetErrorCode(200); + Response->setResponseResult(OC_EH_OK); + Response->setResourceRepresentation(getLightRepresentation()); + if (OCPlatform::sendResponse(Response) == OC_STACK_OK) +@@ -224,7 +221,6 @@ OCEntityHandlerResult IoTServer::temperatureEntityHandler(shared_ptrsetErrorCode(200); + Response->setResponseResult(OC_EH_OK); + Response->setResourceRepresentation(getTemperatureRepresentation()); + if (OCPlatform::sendResponse(Response) == OC_STACK_OK) +@@ -305,7 +301,6 @@ OCEntityHandlerResult IoTServer::LEDEntityHandler(shared_ptr + putLEDRepresentation(); + if (Response) + { +-Response->setErrorCode(200); + Response->setResourceRepresentation(getLEDRepresentation()); + Response->setResponseResult(OC_EH_OK); + if (OCPlatform::sendResponse(Response) == OC_STACK_OK) +@@ -319,7 +314,6 @@ OCEntityHandlerResult IoTServer::LEDEntityHandler(shared_ptr + cout << "GET request for platform LED" << endl; + if (Response) + { +-Response->setErrorCode(200); + Response->setResourceRepresentation(getLEDRepresentation()); + Response->setResponseResult(OC_EH_OK); + if (OCPlatform::sendResponse(Response) == OC_STACK_OK) +-- +1.9.1 + diff --git a/recipes-apps/iotivity-sensorboard/files/0004-build-Use-pkg-config.patch b/recipes-apps/iotivity-sensorboard/files/0004-build-Use-pkg-config.patch new file mode 100644 index 000..12f9323 --- /dev/null +++ b/recipes-apps/iotivity-sensorboard/files/0004-build-Use-pkg-config.patch @@ -0,0 +1,48 @@ +From eace0b8280eda68aacbc396b9fe6756298af81b1 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Thu, 20 Jul 2017 15:22:56 +0200 +Subject: [PATCH 4/4] build: Use pkg-config + +Bug: https://jira.iotivity.org/browse/IOT-1111 +Origin: https://github.com/TizenTeam/meta-oic/tree/iotivity-sensorboard/master + +Signed-off-by: Philippe Coval +--- + Makefile | 17 - + 1 file changed, 8 insertions(+), 9 deletions(-) + +diff --git a/Makefile b/Makefile +index 5d09cc1..ab3d632 100644 +--- a/Makefile b/Makefile +@@ -1,19 +1,18 @@ +-YOCTOCXXFLAGS=-I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/ -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/stack -I$(PKG_CONFIG_SYSROOT_DIR)/
[yocto] [meta-oic][PATCH resend 3/5] iotivity-simple-client: Support pkg-config
Since IoTivity-1.3.0 Signed-off-by: Philippe Coval --- .../files/0002-build-Use-pkg-config.patch | 43 ++ .../iotivity-simple-client_1.1.0.bb| 8 +++- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 recipes-apps/iotivity-simple-client/files/0002-build-Use-pkg-config.patch diff --git a/recipes-apps/iotivity-simple-client/files/0002-build-Use-pkg-config.patch b/recipes-apps/iotivity-simple-client/files/0002-build-Use-pkg-config.patch new file mode 100644 index 000..026f68f --- /dev/null +++ b/recipes-apps/iotivity-simple-client/files/0002-build-Use-pkg-config.patch @@ -0,0 +1,43 @@ +From 0a1f2273605ce775aede46ab3ec31bd73814f8b2 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Tue, 6 Jun 2017 17:14:39 +0200 +Subject: [PATCH 2/2] build: Use pkg-config + + +Bug: https://jira.iotivity.org/browse/IOT- +Origin: https://github.com/TizenTeam/meta-oic +Signed-off-by: Philippe Coval +--- + Makefile | 17 - + 1 file changed, 4 insertions(+), 13 deletions(-) + +diff --git a/Makefile b/Makefile +index 2389f43..ac34940 100644 +--- a/Makefile b/Makefile +@@ -1,18 +1,9 @@ +-YOCTOCXXFLAGS=-I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/ -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/stack -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/ocrandom -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/logger -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/oc_logger +- +-YOCTOLDFLAGS=-loc -loctbstack -loc_logger ++PKG_CONFIG?=pkg-config ++override CPPFLAGS+=$(shell ${PKG_CONFIG} iotivity --cflags) ++override LDLIBS+=$(shell ${PKG_CONFIG} iotivity --libs) ++override CXXFLAGS+=-std=c++0x + + all: simpleclient + +-simpleclient.o: simpleclient.cpp +-ifeq ($(PKG_CONFIG_SYSROOT_DIR),) +- echo "Error: Yocto cross-toolchain environment not initialized" +- exit 1 +-endif +- $(CXX) -std=c++0x -c -o $@ $< $(YOCTOCXXFLAGS) +- +-simpleclient: simpleclient.o +- $(CXX) -o $@ $^ $(LDFLAGS) $(YOCTOLDFLAGS) +- + clean: + rm -rf simpleclient *.o +-- +1.9.1 + diff --git a/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb b/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb index caf02f8..ea3bd64 100644 --- a/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb +++ b/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb @@ -1,3 +1,6 @@ +#TODO +PR = "r1" + SUMMARY = "Iotivity Simple Client" DESCRIPTION = "Iotivity Simple Client example which talks to the Simple Server example." HOMEPAGE = "https://www.iotivity.org/"; @@ -8,17 +11,20 @@ LIC_FILES_CHKSUM = "file://simpleclient.cpp;beginline=1;endline=19;md5=fc5a615cf SRC_URI = "file://iotivity-simple-client.tar.bz2 \ file://0001-build-Use-LDFLAGS-variable-from-env.patch \ +file://0002-build-Use-pkg-config.patch \ " S = "${WORKDIR}/iotivity-simple-client" IOTIVITY_BIN_DIR = "/opt/iotivity" IOTIVITY_BIN_DIR_D = "${D}${IOTIVITY_BIN_DIR}" +inherit pkgconfig do_install() { install -d ${IOTIVITY_BIN_DIR_D}/apps/iotivity-simple-client install -c -m 555 ${S}/simpleclient ${IOTIVITY_BIN_DIR_D}/apps/iotivity-simple-client install -c -m 444 ${S}/oic_svr_db_client.dat ${IOTIVITY_BIN_DIR_D}/apps/iotivity-simple-client +rm -rf ${D}/usr/src/debug/${PN} } FILES_${PN} = "${IOTIVITY_BIN_DIR}/apps/iotivity-simple-client/simpleclient \ @@ -26,4 +32,4 @@ FILES_${PN} = "${IOTIVITY_BIN_DIR}/apps/iotivity-simple-client/simpleclient \ FILES_${PN}-dbg = "${IOTIVITY_BIN_DIR}/apps/iotivity-simple-client/.debug" RDEPENDS_${PN} += "iotivity-resource" BBCLASSEXTEND = "native nativesdk" - +PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH resend 2/5] Add recipe for IoTivity 1.3.0
Note that SECURITY is now enabled but might cause issues on some examples. Bug: https://jira.iotivity.org/browse/IOT-2651 Signed-off-by: Philippe Coval --- README | 2 +- ...ging-Return-false-boolean-instead-of-enum.patch | 40 ++ recipes-core/iotivity/iotivity_1.3.0.bb| 471 + 3 files changed, 512 insertions(+), 1 deletion(-) create mode 100644 recipes-core/iotivity/files/0099-bridging-Return-false-boolean-instead-of-enum.patch create mode 100644 recipes-core/iotivity/iotivity_1.3.0.bb diff --git a/README b/README index ef202dd..085dbdc 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ meta-oic -This layer contains recipes for the IoTivity Project (v1.2.1) +This layer contains recipes for the IoTivity Project (v1.3.0) , sample applications and related components for any Yocto target. Contents diff --git a/recipes-core/iotivity/files/0099-bridging-Return-false-boolean-instead-of-enum.patch b/recipes-core/iotivity/files/0099-bridging-Return-false-boolean-instead-of-enum.patch new file mode 100644 index 000..101588d --- /dev/null +++ b/recipes-core/iotivity/files/0099-bridging-Return-false-boolean-instead-of-enum.patch @@ -0,0 +1,40 @@ +From 45a915954650b0c2f5752ae9e958a194d2483852 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Wed, 28 Jun 2017 04:54:05 +0200 +Subject: [PATCH 099/169] bridging: Return false boolean instead of enum + +Small Fix to support g++-7.1.0 + +It was tested on yocto poky master on iotivity-1.3.0 (and later): + + bridging/plugins/nest_plugin/nest_objects/nest.cpp: \ + In member function 'bool Nest::isAuthorized()': + bridging/plugins/nest_plugin/nest_objects/nest.cpp:95:16: \ + error: enum constant in boolean context [-Werror=int-in-bool-context] + + +Signed-off-by: Philippe Coval +Reviewed-on: https://gerrit.iotivity.org/gerrit/21071 +Tested-by: jenkins-iotivity +Reviewed-by: Dan Mihai +Reviewed-by: Todd Malsbary +--- + bridging/plugins/nest_plugin/nest_objects/nest.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bridging/plugins/nest_plugin/nest_objects/nest.cpp b/bridging/plugins/nest_plugin/nest_objects/nest.cpp +index 780d6e9..8b40848 100644 +--- a/bridging/plugins/nest_plugin/nest_objects/nest.cpp b/bridging/plugins/nest_plugin/nest_objects/nest.cpp +@@ -92,7 +92,7 @@ bool Nest::isAuthorized() + if (curlCode != MPM_RESULT_OK) + { + OIC_LOG_V(ERROR, TAG, "Curl GET Request operation failed. Error code %d", curlCode); +-return MPM_RESULT_INTERNAL_ERROR; ++return false; + } + + if (MPM_RESULT_OK != parseStructureJsonResponse(response, m_metaInfo)) +-- +1.9.1 + diff --git a/recipes-core/iotivity/iotivity_1.3.0.bb b/recipes-core/iotivity/iotivity_1.3.0.bb new file mode 100644 index 000..b1490dd --- /dev/null +++ b/recipes-core/iotivity/iotivity_1.3.0.bb @@ -0,0 +1,471 @@ +SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." +DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." +HOMEPAGE = "https://www.iotivity.org/"; +DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0 glib-2.0-native" +DEPENDS += "sqlite3" + +EXTRANATIVEPATH += "chrpath-native" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=22bf216f3077c279aed7b36b1fa9e6d1" + +branch_iotivity ?= "1.3-rel" +SRCREV ?= "443b33a031f275380d1a50ac8c2ac20b80292fb1" +url_iotivity ?= "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http" +SRC_URI += "${url_iotivity}" +SRC_URI += "file://0189-resource-Include-functional-header-for-g-7.1.0.patch" +SRC_URI += "file://0099-bridging-Return-false-boolean-instead-of-enum.patch" + +url_tinycbor = "git://github.com/01org/tinycbor.git" +SRCREV_tinycbor = "31c7f81d45d115d2007b1c881cbbd3a19618465c" +SRC_URI += "${url_tinycbor};name=tinycbor;destsuffix=${S}/extlibs/tinycbor/tinycbor;protocol=http" + +url_gtest = "https://github.com/google/googletest/archive/release-1.7.0.zip"; +SRC_URI[gtest.md5sum] = "ef5e700c8a0f3ee123e2e0209b8b4961" +SRC_URI[gtest.sha256sum] = "b58cb7547a28b2c718d1e38aee18a3659c9e3ff52440297e965f5edffe34b6d0" +SRC_URI += "${url_gtest};name=gtest;subdir=${BP}/extlibs/gtest" + +url_hippomocks = "git://github.com/dascandy/hippomocks.git" +SRCREV_hippomocks = "dca4725496abb0e41f8b582dec21d124f830a8e5" +SRC_URI += "${url_hippomocks};name=hippomocks;destsuffix=${S}/extlibs/hippomocks/hippomocks;protocol=http" +SRC_URI += "file://hipp
[yocto] [meta-oic][PATCH resend 1/5] iotivity_1.2.1: Hotfix: Add ORIGIN rpath for binutils-2.29
Set RPATH to ORIGIN as supported by gcc/ld (-rpath=\$ORIGIN) Observed issue on poky master was: ld: warning: libconnectivity_abstraction.so, \ needed by out/yocto/x86_64/release/liboctbstack.so, not found (try using -rpath or -rpath-link) out/yocto/x86_64/release/liboctbstack.so: \ undefined reference to `coap_write_block_opt' Note that problem is also about to be fixed upstream directly in scons files. Bug: https://jira.iotivity.org/browse/IOT-2651 Relate-to: https://gerrit.iotivity.org/gerrit/#/c/22355/ Thanks-to: Mikko Ylinen Signed-off-by: Philippe Coval --- recipes-core/iotivity/iotivity_1.2.1.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes-core/iotivity/iotivity_1.2.1.bb b/recipes-core/iotivity/iotivity_1.2.1.bb index c8fb8fd..33adb9a 100644 --- a/recipes-core/iotivity/iotivity_1.2.1.bb +++ b/recipes-core/iotivity/iotivity_1.2.1.bb @@ -53,6 +53,7 @@ python () { IOTIVITY_BIN_DIR = "/opt/${PN}" IOTIVITY_BIN_DIR_D = "${D}${IOTIVITY_BIN_DIR}" +LDFLAGS_append = " -Wl,-rpath-link=\\$$ORIGIN" do_compile_prepend() { export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] [meta-oic] Question about Iotivity 1.3.0/1 and fixes status
On 11/01/18 02:30, Chanho Park wrote: > Hi Philippe, > Hi Chanho Park, HNY to you > I found you already prepared iotivity 1.3.0, 1.3.1 recipes and fixes > in your github tree[1]. Yes they are still under review, did you test them ? Maybe I should resend them, now. > I wonder why you don’t post them in the meta-oic. Well I shared patches to list couple of time: https://lists.yoctoproject.org/pipermail/yocto/2017-June/036896.html https://lists.yoctoproject.org/pipermail/yocto/2017-September/037829.html https://lists.yoctoproject.org/pipermail/yocto/2017-December/039355.html > Do you have a plan to upstream them? I need reviewer to approve and commit them (@Kishen ?) or may I do it by my own since nobody objected on previous changes ? Side note, I also simplified a recipe for iotivity master branch (it now relies on scons install like tizen, debian etc) so if it helps I will update devel branch and this page soon: https://wiki.iotivity.org/wiki/yocto > Best Regards, BR, Keep in touch your feedback is valuable. > Chanho Park > > [1]: > https://github.com/TizenTeam/meta-oic/tree/sandbox/pcoval/on/master/review -- mailto:philippe.co...@osg.samsung.com gpg:0x467094BC https://blogs.s-osg.org/author/pcoval/ -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH 2/5] Add recipe for IoTivity 1.3.0
Note that SECURITY is now enabled but might cause issues on some examples. Bug: https://jira.iotivity.org/browse/IOT-2651 Signed-off-by: Philippe Coval --- README | 2 +- ...ging-Return-false-boolean-instead-of-enum.patch | 40 ++ recipes-core/iotivity/iotivity_1.3.0.bb| 471 + 3 files changed, 512 insertions(+), 1 deletion(-) create mode 100644 recipes-core/iotivity/files/0099-bridging-Return-false-boolean-instead-of-enum.patch create mode 100644 recipes-core/iotivity/iotivity_1.3.0.bb diff --git a/README b/README index ef202dd..085dbdc 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ meta-oic -This layer contains recipes for the IoTivity Project (v1.2.1) +This layer contains recipes for the IoTivity Project (v1.3.0) , sample applications and related components for any Yocto target. Contents diff --git a/recipes-core/iotivity/files/0099-bridging-Return-false-boolean-instead-of-enum.patch b/recipes-core/iotivity/files/0099-bridging-Return-false-boolean-instead-of-enum.patch new file mode 100644 index 000..101588d --- /dev/null +++ b/recipes-core/iotivity/files/0099-bridging-Return-false-boolean-instead-of-enum.patch @@ -0,0 +1,40 @@ +From 45a915954650b0c2f5752ae9e958a194d2483852 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Wed, 28 Jun 2017 04:54:05 +0200 +Subject: [PATCH 099/169] bridging: Return false boolean instead of enum + +Small Fix to support g++-7.1.0 + +It was tested on yocto poky master on iotivity-1.3.0 (and later): + + bridging/plugins/nest_plugin/nest_objects/nest.cpp: \ + In member function 'bool Nest::isAuthorized()': + bridging/plugins/nest_plugin/nest_objects/nest.cpp:95:16: \ + error: enum constant in boolean context [-Werror=int-in-bool-context] + + +Signed-off-by: Philippe Coval +Reviewed-on: https://gerrit.iotivity.org/gerrit/21071 +Tested-by: jenkins-iotivity +Reviewed-by: Dan Mihai +Reviewed-by: Todd Malsbary +--- + bridging/plugins/nest_plugin/nest_objects/nest.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bridging/plugins/nest_plugin/nest_objects/nest.cpp b/bridging/plugins/nest_plugin/nest_objects/nest.cpp +index 780d6e9..8b40848 100644 +--- a/bridging/plugins/nest_plugin/nest_objects/nest.cpp b/bridging/plugins/nest_plugin/nest_objects/nest.cpp +@@ -92,7 +92,7 @@ bool Nest::isAuthorized() + if (curlCode != MPM_RESULT_OK) + { + OIC_LOG_V(ERROR, TAG, "Curl GET Request operation failed. Error code %d", curlCode); +-return MPM_RESULT_INTERNAL_ERROR; ++return false; + } + + if (MPM_RESULT_OK != parseStructureJsonResponse(response, m_metaInfo)) +-- +1.9.1 + diff --git a/recipes-core/iotivity/iotivity_1.3.0.bb b/recipes-core/iotivity/iotivity_1.3.0.bb new file mode 100644 index 000..b1490dd --- /dev/null +++ b/recipes-core/iotivity/iotivity_1.3.0.bb @@ -0,0 +1,471 @@ +SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." +DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." +HOMEPAGE = "https://www.iotivity.org/"; +DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0 glib-2.0-native" +DEPENDS += "sqlite3" + +EXTRANATIVEPATH += "chrpath-native" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=22bf216f3077c279aed7b36b1fa9e6d1" + +branch_iotivity ?= "1.3-rel" +SRCREV ?= "443b33a031f275380d1a50ac8c2ac20b80292fb1" +url_iotivity ?= "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http" +SRC_URI += "${url_iotivity}" +SRC_URI += "file://0189-resource-Include-functional-header-for-g-7.1.0.patch" +SRC_URI += "file://0099-bridging-Return-false-boolean-instead-of-enum.patch" + +url_tinycbor = "git://github.com/01org/tinycbor.git" +SRCREV_tinycbor = "31c7f81d45d115d2007b1c881cbbd3a19618465c" +SRC_URI += "${url_tinycbor};name=tinycbor;destsuffix=${S}/extlibs/tinycbor/tinycbor;protocol=http" + +url_gtest = "https://github.com/google/googletest/archive/release-1.7.0.zip"; +SRC_URI[gtest.md5sum] = "ef5e700c8a0f3ee123e2e0209b8b4961" +SRC_URI[gtest.sha256sum] = "b58cb7547a28b2c718d1e38aee18a3659c9e3ff52440297e965f5edffe34b6d0" +SRC_URI += "${url_gtest};name=gtest;subdir=${BP}/extlibs/gtest" + +url_hippomocks = "git://github.com/dascandy/hippomocks.git" +SRCREV_hippomocks = "dca4725496abb0e41f8b582dec21d124f830a8e5" +SRC_URI += "${url_hippomocks};name=hippomocks;destsuffix=${S}/extlibs/hippomocks/hippomocks;protocol=http" +SRC_URI += "file://hipp
[yocto] [meta-oic][PATCH 5/5] Add recipe for IoTivity 1.3.1
Note that fail on warning flag has been added, and can be used in .bbappend if needed after reporting bugs: http://wiki.iotivity.org/report Bug: https://jira.iotivity.org/browse/IOT-2651 Signed-off-by: Philippe Coval --- README | 2 +- recipes-core/iotivity/iotivity_1.3.1.bb | 469 2 files changed, 470 insertions(+), 1 deletion(-) create mode 100644 recipes-core/iotivity/iotivity_1.3.1.bb diff --git a/README b/README index 085dbdc..ca0c762 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ meta-oic -This layer contains recipes for the IoTivity Project (v1.3.0) +This layer contains recipes for the IoTivity Project (v1.3.1) , sample applications and related components for any Yocto target. Contents diff --git a/recipes-core/iotivity/iotivity_1.3.1.bb b/recipes-core/iotivity/iotivity_1.3.1.bb new file mode 100644 index 000..c7b9163 --- /dev/null +++ b/recipes-core/iotivity/iotivity_1.3.1.bb @@ -0,0 +1,469 @@ +SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." +DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." +HOMEPAGE = "https://www.iotivity.org/"; +DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0 glib-2.0-native" +DEPENDS += "sqlite3" + +EXTRANATIVEPATH += "chrpath-native" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=22bf216f3077c279aed7b36b1fa9e6d1" + +branch_iotivity ?= "1.3-rel" +SRCREV ?= "633dc231b8d9967520627528a92506efca7cebcd" +url_iotivity ?= "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http" +SRC_URI += "${url_iotivity}" + +url_tinycbor = "git://github.com/01org/tinycbor.git" +SRCREV_tinycbor = "31c7f81d45d115d2007b1c881cbbd3a19618465c" +SRC_URI += "${url_tinycbor};name=tinycbor;destsuffix=${S}/extlibs/tinycbor/tinycbor;protocol=http" + +url_gtest = "https://github.com/google/googletest/archive/release-1.7.0.zip"; +SRC_URI[gtest.md5sum] = "ef5e700c8a0f3ee123e2e0209b8b4961" +SRC_URI[gtest.sha256sum] = "b58cb7547a28b2c718d1e38aee18a3659c9e3ff52440297e965f5edffe34b6d0" +SRC_URI += "${url_gtest};name=gtest;subdir=${BP}/extlibs/gtest" + +url_hippomocks = "git://github.com/dascandy/hippomocks.git" +SRCREV_hippomocks = "dca4725496abb0e41f8b582dec21d124f830a8e5" +SRC_URI += "${url_hippomocks};name=hippomocks;destsuffix=${S}/extlibs/hippomocks/hippomocks;protocol=http" +SRC_URI += "file://hippomocks_mips_patch" + +SRCREV_mbedtls = "85c2a928ed352845793db000e78e2b42c8dcf055" +url_mbedtls="git://github.com/ARMmbed/mbedtls.git" +SRC_URI += "${url_mbedtls};name=mbedtls;destsuffix=${S}/extlibs/mbedtls/mbedtls;protocol=http" + +url_rapidjson = "git://github.com/miloyip/rapidjson.git" +SRCREV_rapidjson = "3d5848a7cd3367c5cb451c6493165b7745948308" +SRC_URI += "${url_rapidjson};name=rapidjson;;nobranch=1;destsuffix=${S}/extlibs/rapidjson/rapidjson;protocol=http" + + +inherit pkgconfig scons + + +python () { +IOTIVITY_TARGET_ARCH = d.getVar("TARGET_ARCH", True) +d.setVar("IOTIVITY_TARGET_ARCH", IOTIVITY_TARGET_ARCH) +EXTRA_OESCONS = d.getVar("EXTRA_OESCONS", True) +EXTRA_OESCONS += " TARGET_OS=yocto TARGET_ARCH=" + IOTIVITY_TARGET_ARCH + " RELEASE=1" +EXTRA_OESCONS += " VERBOSE=1" +# Aligned to default configuration, but features can be changed here (at your own risk): +# EXTRA_OESCONS += " ERROR_ON_WARN=False" +# EXTRA_OESCONS += " ROUTING=GW" +# EXTRA_OESCONS += " SECURED=0" +# EXTRA_OESCONS += " TCP=1" +d.setVar("EXTRA_OESCONS", EXTRA_OESCONS) +} + + +IOTIVITY_BIN_DIR = "/opt/${PN}" +IOTIVITY_BIN_DIR_D = "${D}${IOTIVITY_BIN_DIR}" + + +do_compile_prepend() { +export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" +export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config" +export LD_FLAGS="${LD_FLAGS}" +} + +make_dir() { +install -d $1 +} + +copy_file() { +install -c -m 444 $1 $2 +} + +copy_exec() { +install -c -m 555 $1 $2 +} + +copy_file_recursive() { +cd $1 && find . -type d -exec install -d $2/"{}" \; +cd $1 && find . -type f -exec install -c -m 444 "{}" $2/"{}" \; +} + +copy_exec_recursive() { +cd $1 && find . -executable -exec install -c -m 555 "{}" $2/"{}" \; +} + +do_install_append() { +make_d
[yocto] [meta-oic][PATCH 4/5] iotivity-sensorboard: Support pkg-config
Since IoTivity-1.3.0 Signed-off-by: Philippe Coval --- .../files/0003-server-Port-to-iotivity-1.2.0.patch | 68 ++ .../files/0004-build-Use-pkg-config.patch | 48 +++ .../iotivity-sensorboard_1.0.0.bb | 11 3 files changed, 127 insertions(+) create mode 100644 recipes-apps/iotivity-sensorboard/files/0003-server-Port-to-iotivity-1.2.0.patch create mode 100644 recipes-apps/iotivity-sensorboard/files/0004-build-Use-pkg-config.patch diff --git a/recipes-apps/iotivity-sensorboard/files/0003-server-Port-to-iotivity-1.2.0.patch b/recipes-apps/iotivity-sensorboard/files/0003-server-Port-to-iotivity-1.2.0.patch new file mode 100644 index 000..6f59e6a --- /dev/null +++ b/recipes-apps/iotivity-sensorboard/files/0003-server-Port-to-iotivity-1.2.0.patch @@ -0,0 +1,68 @@ +From dcc5e1fd4204f08126ff940232283347b4963b15 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Thu, 20 Jul 2017 15:33:36 +0200 +Subject: [PATCH 3/4] server: Port to iotivity-1.2.0+ + +Bug: https://jira.iotivity.org/browse/IOT- + +Origin: https://github.com/TizenTeam/meta-oic/tree/iotivity-sensorboard/master +Signed-off-by: Philippe Coval +--- + server.cpp | 6 -- + 1 file changed, 6 deletions(-) + +diff --git a/server.cpp b/server.cpp +index 8308577..5cb3215 100644 +--- a/server.cpp b/server.cpp +@@ -107,7 +107,6 @@ void IoTServer::temperatureObserverLoop() + usleep(150); + cout << "Temperature Observer Callback" << endl; + shared_ptr resourceResponse(new OCResourceResponse()); +-resourceResponse->setErrorCode(200); + resourceResponse->setResourceRepresentation(getTemperatureRepresentation(), + EDISON_RESOURCE_INTERFACE); + OCStackResult result = OCPlatform::notifyListOfObservers(m_temperatureResource, +@@ -125,7 +124,6 @@ void IoTServer::lightObserverLoop() + usleep(150); + cout << "Light Observer Callback" << endl; + shared_ptr resourceResponse(new OCResourceResponse()); +-resourceResponse->setErrorCode(200); + resourceResponse->setResourceRepresentation(getLightRepresentation(), + EDISON_RESOURCE_INTERFACE); + OCStackResult result = OCPlatform::notifyListOfObservers(m_ambientLightResource, +@@ -167,7 +165,6 @@ OCEntityHandlerResult IoTServer::lightEntityHandler(shared_ptrsetErrorCode(200); + Response->setResponseResult(OC_EH_OK); + Response->setResourceRepresentation(getLightRepresentation()); + if (OCPlatform::sendResponse(Response) == OC_STACK_OK) +@@ -224,7 +221,6 @@ OCEntityHandlerResult IoTServer::temperatureEntityHandler(shared_ptrsetErrorCode(200); + Response->setResponseResult(OC_EH_OK); + Response->setResourceRepresentation(getTemperatureRepresentation()); + if (OCPlatform::sendResponse(Response) == OC_STACK_OK) +@@ -305,7 +301,6 @@ OCEntityHandlerResult IoTServer::LEDEntityHandler(shared_ptr + putLEDRepresentation(); + if (Response) + { +-Response->setErrorCode(200); + Response->setResourceRepresentation(getLEDRepresentation()); + Response->setResponseResult(OC_EH_OK); + if (OCPlatform::sendResponse(Response) == OC_STACK_OK) +@@ -319,7 +314,6 @@ OCEntityHandlerResult IoTServer::LEDEntityHandler(shared_ptr + cout << "GET request for platform LED" << endl; + if (Response) + { +-Response->setErrorCode(200); + Response->setResourceRepresentation(getLEDRepresentation()); + Response->setResponseResult(OC_EH_OK); + if (OCPlatform::sendResponse(Response) == OC_STACK_OK) +-- +1.9.1 + diff --git a/recipes-apps/iotivity-sensorboard/files/0004-build-Use-pkg-config.patch b/recipes-apps/iotivity-sensorboard/files/0004-build-Use-pkg-config.patch new file mode 100644 index 000..12f9323 --- /dev/null +++ b/recipes-apps/iotivity-sensorboard/files/0004-build-Use-pkg-config.patch @@ -0,0 +1,48 @@ +From eace0b8280eda68aacbc396b9fe6756298af81b1 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Thu, 20 Jul 2017 15:22:56 +0200 +Subject: [PATCH 4/4] build: Use pkg-config + +Bug: https://jira.iotivity.org/browse/IOT-1111 +Origin: https://github.com/TizenTeam/meta-oic/tree/iotivity-sensorboard/master + +Signed-off-by: Philippe Coval +--- + Makefile | 17 - + 1 file changed, 8 insertions(+), 9 deletions(-) + +diff --git a/Makefile b/Makefile +index 5d09cc1..ab3d632 100644 +--- a/Makefile b/Makefile +@@ -1,19 +1,18 @@ +-YOCTOCXXFLAGS=-I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/ -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/stack -I$(PKG_CONFIG_SYSROOT_DIR)/
[yocto] [meta-oic][PATCH 3/5] iotivity-simple-client: Support pkg-config
Since IoTivity-1.3.0 Signed-off-by: Philippe Coval --- .../files/0002-build-Use-pkg-config.patch | 43 ++ .../iotivity-simple-client_1.1.0.bb| 8 +++- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 recipes-apps/iotivity-simple-client/files/0002-build-Use-pkg-config.patch diff --git a/recipes-apps/iotivity-simple-client/files/0002-build-Use-pkg-config.patch b/recipes-apps/iotivity-simple-client/files/0002-build-Use-pkg-config.patch new file mode 100644 index 000..026f68f --- /dev/null +++ b/recipes-apps/iotivity-simple-client/files/0002-build-Use-pkg-config.patch @@ -0,0 +1,43 @@ +From 0a1f2273605ce775aede46ab3ec31bd73814f8b2 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Tue, 6 Jun 2017 17:14:39 +0200 +Subject: [PATCH 2/2] build: Use pkg-config + + +Bug: https://jira.iotivity.org/browse/IOT- +Origin: https://github.com/TizenTeam/meta-oic +Signed-off-by: Philippe Coval +--- + Makefile | 17 - + 1 file changed, 4 insertions(+), 13 deletions(-) + +diff --git a/Makefile b/Makefile +index 2389f43..ac34940 100644 +--- a/Makefile b/Makefile +@@ -1,18 +1,9 @@ +-YOCTOCXXFLAGS=-I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/ -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/stack -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/ocrandom -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/logger -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/oc_logger +- +-YOCTOLDFLAGS=-loc -loctbstack -loc_logger ++PKG_CONFIG?=pkg-config ++override CPPFLAGS+=$(shell ${PKG_CONFIG} iotivity --cflags) ++override LDLIBS+=$(shell ${PKG_CONFIG} iotivity --libs) ++override CXXFLAGS+=-std=c++0x + + all: simpleclient + +-simpleclient.o: simpleclient.cpp +-ifeq ($(PKG_CONFIG_SYSROOT_DIR),) +- echo "Error: Yocto cross-toolchain environment not initialized" +- exit 1 +-endif +- $(CXX) -std=c++0x -c -o $@ $< $(YOCTOCXXFLAGS) +- +-simpleclient: simpleclient.o +- $(CXX) -o $@ $^ $(LDFLAGS) $(YOCTOLDFLAGS) +- + clean: + rm -rf simpleclient *.o +-- +1.9.1 + diff --git a/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb b/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb index caf02f8..ea3bd64 100644 --- a/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb +++ b/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb @@ -1,3 +1,6 @@ +#TODO +PR = "r1" + SUMMARY = "Iotivity Simple Client" DESCRIPTION = "Iotivity Simple Client example which talks to the Simple Server example." HOMEPAGE = "https://www.iotivity.org/"; @@ -8,17 +11,20 @@ LIC_FILES_CHKSUM = "file://simpleclient.cpp;beginline=1;endline=19;md5=fc5a615cf SRC_URI = "file://iotivity-simple-client.tar.bz2 \ file://0001-build-Use-LDFLAGS-variable-from-env.patch \ +file://0002-build-Use-pkg-config.patch \ " S = "${WORKDIR}/iotivity-simple-client" IOTIVITY_BIN_DIR = "/opt/iotivity" IOTIVITY_BIN_DIR_D = "${D}${IOTIVITY_BIN_DIR}" +inherit pkgconfig do_install() { install -d ${IOTIVITY_BIN_DIR_D}/apps/iotivity-simple-client install -c -m 555 ${S}/simpleclient ${IOTIVITY_BIN_DIR_D}/apps/iotivity-simple-client install -c -m 444 ${S}/oic_svr_db_client.dat ${IOTIVITY_BIN_DIR_D}/apps/iotivity-simple-client +rm -rf ${D}/usr/src/debug/${PN} } FILES_${PN} = "${IOTIVITY_BIN_DIR}/apps/iotivity-simple-client/simpleclient \ @@ -26,4 +32,4 @@ FILES_${PN} = "${IOTIVITY_BIN_DIR}/apps/iotivity-simple-client/simpleclient \ FILES_${PN}-dbg = "${IOTIVITY_BIN_DIR}/apps/iotivity-simple-client/.debug" RDEPENDS_${PN} += "iotivity-resource" BBCLASSEXTEND = "native nativesdk" - +PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH 1/5] iotivity_1.2.1: Hotfix: Add ORIGIN rpath for binutils-2.29
Set RPATH to ORIGIN as supported by gcc/ld (-rpath=\$ORIGIN) Observed issue on poky master was: ld: warning: libconnectivity_abstraction.so, \ needed by out/yocto/x86_64/release/liboctbstack.so, not found (try using -rpath or -rpath-link) out/yocto/x86_64/release/liboctbstack.so: \ undefined reference to `coap_write_block_opt' Note that problem is also about to be fixed upstream directly in scons files. Bug: https://jira.iotivity.org/browse/IOT-2651 Relate-to: https://gerrit.iotivity.org/gerrit/#/c/22355/ Thanks-to: Mikko Ylinen Signed-off-by: Philippe Coval --- recipes-core/iotivity/iotivity_1.2.1.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes-core/iotivity/iotivity_1.2.1.bb b/recipes-core/iotivity/iotivity_1.2.1.bb index c8fb8fd..33adb9a 100644 --- a/recipes-core/iotivity/iotivity_1.2.1.bb +++ b/recipes-core/iotivity/iotivity_1.2.1.bb @@ -53,6 +53,7 @@ python () { IOTIVITY_BIN_DIR = "/opt/${PN}" IOTIVITY_BIN_DIR_D = "${D}${IOTIVITY_BIN_DIR}" +LDFLAGS_append = " -Wl,-rpath-link=\\$$ORIGIN" do_compile_prepend() { export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH 3/3] iotivity-sensorboard: Support pkg-config
Since IoTivity-1.3.0 Signed-off-by: Philippe Coval --- Origin: https://github.com/tizenteam/meta-oic/tree/sandbox/pcoval/on/master/review .../files/0003-server-Port-to-iotivity-1.2.0.patch | 68 ++ .../files/0004-build-Use-pkg-config.patch | 48 +++ .../iotivity-sensorboard_1.0.0.bb | 11 3 files changed, 127 insertions(+) create mode 100644 recipes-apps/iotivity-sensorboard/files/0003-server-Port-to-iotivity-1.2.0.patch create mode 100644 recipes-apps/iotivity-sensorboard/files/0004-build-Use-pkg-config.patch diff --git a/recipes-apps/iotivity-sensorboard/files/0003-server-Port-to-iotivity-1.2.0.patch b/recipes-apps/iotivity-sensorboard/files/0003-server-Port-to-iotivity-1.2.0.patch new file mode 100644 index 000..6f59e6a --- /dev/null +++ b/recipes-apps/iotivity-sensorboard/files/0003-server-Port-to-iotivity-1.2.0.patch @@ -0,0 +1,68 @@ +From dcc5e1fd4204f08126ff940232283347b4963b15 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Thu, 20 Jul 2017 15:33:36 +0200 +Subject: [PATCH 3/4] server: Port to iotivity-1.2.0+ + +Bug: https://jira.iotivity.org/browse/IOT- + +Origin: https://github.com/TizenTeam/meta-oic/tree/iotivity-sensorboard/master +Signed-off-by: Philippe Coval +--- + server.cpp | 6 -- + 1 file changed, 6 deletions(-) + +diff --git a/server.cpp b/server.cpp +index 8308577..5cb3215 100644 +--- a/server.cpp b/server.cpp +@@ -107,7 +107,6 @@ void IoTServer::temperatureObserverLoop() + usleep(150); + cout << "Temperature Observer Callback" << endl; + shared_ptr resourceResponse(new OCResourceResponse()); +-resourceResponse->setErrorCode(200); + resourceResponse->setResourceRepresentation(getTemperatureRepresentation(), + EDISON_RESOURCE_INTERFACE); + OCStackResult result = OCPlatform::notifyListOfObservers(m_temperatureResource, +@@ -125,7 +124,6 @@ void IoTServer::lightObserverLoop() + usleep(150); + cout << "Light Observer Callback" << endl; + shared_ptr resourceResponse(new OCResourceResponse()); +-resourceResponse->setErrorCode(200); + resourceResponse->setResourceRepresentation(getLightRepresentation(), + EDISON_RESOURCE_INTERFACE); + OCStackResult result = OCPlatform::notifyListOfObservers(m_ambientLightResource, +@@ -167,7 +165,6 @@ OCEntityHandlerResult IoTServer::lightEntityHandler(shared_ptrsetErrorCode(200); + Response->setResponseResult(OC_EH_OK); + Response->setResourceRepresentation(getLightRepresentation()); + if (OCPlatform::sendResponse(Response) == OC_STACK_OK) +@@ -224,7 +221,6 @@ OCEntityHandlerResult IoTServer::temperatureEntityHandler(shared_ptrsetErrorCode(200); + Response->setResponseResult(OC_EH_OK); + Response->setResourceRepresentation(getTemperatureRepresentation()); + if (OCPlatform::sendResponse(Response) == OC_STACK_OK) +@@ -305,7 +301,6 @@ OCEntityHandlerResult IoTServer::LEDEntityHandler(shared_ptr + putLEDRepresentation(); + if (Response) + { +-Response->setErrorCode(200); + Response->setResourceRepresentation(getLEDRepresentation()); + Response->setResponseResult(OC_EH_OK); + if (OCPlatform::sendResponse(Response) == OC_STACK_OK) +@@ -319,7 +314,6 @@ OCEntityHandlerResult IoTServer::LEDEntityHandler(shared_ptr + cout << "GET request for platform LED" << endl; + if (Response) + { +-Response->setErrorCode(200); + Response->setResourceRepresentation(getLEDRepresentation()); + Response->setResponseResult(OC_EH_OK); + if (OCPlatform::sendResponse(Response) == OC_STACK_OK) +-- +1.9.1 + diff --git a/recipes-apps/iotivity-sensorboard/files/0004-build-Use-pkg-config.patch b/recipes-apps/iotivity-sensorboard/files/0004-build-Use-pkg-config.patch new file mode 100644 index 000..12f9323 --- /dev/null +++ b/recipes-apps/iotivity-sensorboard/files/0004-build-Use-pkg-config.patch @@ -0,0 +1,48 @@ +From eace0b8280eda68aacbc396b9fe6756298af81b1 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Thu, 20 Jul 2017 15:22:56 +0200 +Subject: [PATCH 4/4] build: Use pkg-config + +Bug: https://jira.iotivity.org/browse/IOT-1111 +Origin: https://github.com/TizenTeam/meta-oic/tree/iotivity-sensorboard/master + +Signed-off-by: Philippe Coval +--- + Makefile | 17 - + 1 file changed, 8 insertions(+), 9 deletions(-) + +diff --git a/Makefile b/Makefile +index 5d09cc1..ab3d632 100644 +--- a/Makefile b/Makefile +@@ -1,19 +1,18 @@ +-YOCTOCXXFLAGS=-I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/ -I$(P
[yocto] [meta-oic][PATCH 1/3] Add recipe for IoTivity 1.3.0
Note that SECURITY is not enable to enable smooth transition. to next version which should provide better support (including examples). Signed-off-by: Philippe Coval --- README | 2 +- ...ging-Return-false-boolean-instead-of-enum.patch | 40 ++ recipes-core/iotivity/iotivity_1.3.0.bb| 475 + 3 files changed, 516 insertions(+), 1 deletion(-) create mode 100644 recipes-core/iotivity/files/0099-bridging-Return-false-boolean-instead-of-enum.patch create mode 100644 recipes-core/iotivity/iotivity_1.3.0.bb diff --git a/README b/README index ef202dd..085dbdc 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ meta-oic -This layer contains recipes for the IoTivity Project (v1.2.1) +This layer contains recipes for the IoTivity Project (v1.3.0) , sample applications and related components for any Yocto target. Contents diff --git a/recipes-core/iotivity/files/0099-bridging-Return-false-boolean-instead-of-enum.patch b/recipes-core/iotivity/files/0099-bridging-Return-false-boolean-instead-of-enum.patch new file mode 100644 index 000..101588d --- /dev/null +++ b/recipes-core/iotivity/files/0099-bridging-Return-false-boolean-instead-of-enum.patch @@ -0,0 +1,40 @@ +From 45a915954650b0c2f5752ae9e958a194d2483852 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Wed, 28 Jun 2017 04:54:05 +0200 +Subject: [PATCH 099/169] bridging: Return false boolean instead of enum + +Small Fix to support g++-7.1.0 + +It was tested on yocto poky master on iotivity-1.3.0 (and later): + + bridging/plugins/nest_plugin/nest_objects/nest.cpp: \ + In member function 'bool Nest::isAuthorized()': + bridging/plugins/nest_plugin/nest_objects/nest.cpp:95:16: \ + error: enum constant in boolean context [-Werror=int-in-bool-context] + + +Signed-off-by: Philippe Coval +Reviewed-on: https://gerrit.iotivity.org/gerrit/21071 +Tested-by: jenkins-iotivity +Reviewed-by: Dan Mihai +Reviewed-by: Todd Malsbary +--- + bridging/plugins/nest_plugin/nest_objects/nest.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bridging/plugins/nest_plugin/nest_objects/nest.cpp b/bridging/plugins/nest_plugin/nest_objects/nest.cpp +index 780d6e9..8b40848 100644 +--- a/bridging/plugins/nest_plugin/nest_objects/nest.cpp b/bridging/plugins/nest_plugin/nest_objects/nest.cpp +@@ -92,7 +92,7 @@ bool Nest::isAuthorized() + if (curlCode != MPM_RESULT_OK) + { + OIC_LOG_V(ERROR, TAG, "Curl GET Request operation failed. Error code %d", curlCode); +-return MPM_RESULT_INTERNAL_ERROR; ++return false; + } + + if (MPM_RESULT_OK != parseStructureJsonResponse(response, m_metaInfo)) +-- +1.9.1 + diff --git a/recipes-core/iotivity/iotivity_1.3.0.bb b/recipes-core/iotivity/iotivity_1.3.0.bb new file mode 100644 index 000..e1c9d22 --- /dev/null +++ b/recipes-core/iotivity/iotivity_1.3.0.bb @@ -0,0 +1,475 @@ +SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." +DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." +HOMEPAGE = "https://www.iotivity.org/"; +DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0 glib-2.0-native" +DEPENDS += "sqlite3" + +EXTRANATIVEPATH += "chrpath-native" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=22bf216f3077c279aed7b36b1fa9e6d1" + +branch_iotivity ?= "1.3-rel" +SRCREV ?= "443b33a031f275380d1a50ac8c2ac20b80292fb1" +url_iotivity ?= "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http" +SRC_URI += "${url_iotivity}" +SRC_URI += "file://0189-resource-Include-functional-header-for-g-7.1.0.patch" +SRC_URI += "file://0099-bridging-Return-false-boolean-instead-of-enum.patch" + +url_tinycbor = "git://github.com/01org/tinycbor.git" +SRCREV_tinycbor = "31c7f81d45d115d2007b1c881cbbd3a19618465c" +SRC_URI += "${url_tinycbor};name=tinycbor;destsuffix=${S}/extlibs/tinycbor/tinycbor;protocol=http" + +url_gtest = "https://github.com/google/googletest/archive/release-1.7.0.zip"; +SRC_URI[gtest.md5sum] = "ef5e700c8a0f3ee123e2e0209b8b4961" +SRC_URI[gtest.sha256sum] = "b58cb7547a28b2c718d1e38aee18a3659c9e3ff52440297e965f5edffe34b6d0" +SRC_URI += "${url_gtest};name=gtest;subdir=${BP}/extlibs/gtest" + +url_hippomocks = "git://github.com/dascandy/hippomocks.git" +SRCREV_hippomocks = "dca4725496abb0e41f8b582dec21d124f830a8e5" +SRC_URI += "${url_hippomocks};name=hippomocks;destsuffix=${S}/extlibs/hippomocks/hippomocks;protocol=http" +SRC_URI += "fil
[yocto] [meta-oic][PATCH 2/3] iotivity-simple-client: Support pkg-config
Since IoTivity-1.3.0 Signed-off-by: Philippe Coval --- .../files/0002-build-Use-pkg-config.patch | 43 ++ .../iotivity-simple-client_1.1.0.bb| 8 +++- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 recipes-apps/iotivity-simple-client/files/0002-build-Use-pkg-config.patch diff --git a/recipes-apps/iotivity-simple-client/files/0002-build-Use-pkg-config.patch b/recipes-apps/iotivity-simple-client/files/0002-build-Use-pkg-config.patch new file mode 100644 index 000..026f68f --- /dev/null +++ b/recipes-apps/iotivity-simple-client/files/0002-build-Use-pkg-config.patch @@ -0,0 +1,43 @@ +From 0a1f2273605ce775aede46ab3ec31bd73814f8b2 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Tue, 6 Jun 2017 17:14:39 +0200 +Subject: [PATCH 2/2] build: Use pkg-config + + +Bug: https://jira.iotivity.org/browse/IOT- +Origin: https://github.com/TizenTeam/meta-oic +Signed-off-by: Philippe Coval +--- + Makefile | 17 - + 1 file changed, 4 insertions(+), 13 deletions(-) + +diff --git a/Makefile b/Makefile +index 2389f43..ac34940 100644 +--- a/Makefile b/Makefile +@@ -1,18 +1,9 @@ +-YOCTOCXXFLAGS=-I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/ -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/stack -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/ocrandom -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/logger -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/oc_logger +- +-YOCTOLDFLAGS=-loc -loctbstack -loc_logger ++PKG_CONFIG?=pkg-config ++override CPPFLAGS+=$(shell ${PKG_CONFIG} iotivity --cflags) ++override LDLIBS+=$(shell ${PKG_CONFIG} iotivity --libs) ++override CXXFLAGS+=-std=c++0x + + all: simpleclient + +-simpleclient.o: simpleclient.cpp +-ifeq ($(PKG_CONFIG_SYSROOT_DIR),) +- echo "Error: Yocto cross-toolchain environment not initialized" +- exit 1 +-endif +- $(CXX) -std=c++0x -c -o $@ $< $(YOCTOCXXFLAGS) +- +-simpleclient: simpleclient.o +- $(CXX) -o $@ $^ $(LDFLAGS) $(YOCTOLDFLAGS) +- + clean: + rm -rf simpleclient *.o +-- +1.9.1 + diff --git a/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb b/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb index caf02f8..ea3bd64 100644 --- a/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb +++ b/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb @@ -1,3 +1,6 @@ +#TODO +PR = "r1" + SUMMARY = "Iotivity Simple Client" DESCRIPTION = "Iotivity Simple Client example which talks to the Simple Server example." HOMEPAGE = "https://www.iotivity.org/"; @@ -8,17 +11,20 @@ LIC_FILES_CHKSUM = "file://simpleclient.cpp;beginline=1;endline=19;md5=fc5a615cf SRC_URI = "file://iotivity-simple-client.tar.bz2 \ file://0001-build-Use-LDFLAGS-variable-from-env.patch \ +file://0002-build-Use-pkg-config.patch \ " S = "${WORKDIR}/iotivity-simple-client" IOTIVITY_BIN_DIR = "/opt/iotivity" IOTIVITY_BIN_DIR_D = "${D}${IOTIVITY_BIN_DIR}" +inherit pkgconfig do_install() { install -d ${IOTIVITY_BIN_DIR_D}/apps/iotivity-simple-client install -c -m 555 ${S}/simpleclient ${IOTIVITY_BIN_DIR_D}/apps/iotivity-simple-client install -c -m 444 ${S}/oic_svr_db_client.dat ${IOTIVITY_BIN_DIR_D}/apps/iotivity-simple-client +rm -rf ${D}/usr/src/debug/${PN} } FILES_${PN} = "${IOTIVITY_BIN_DIR}/apps/iotivity-simple-client/simpleclient \ @@ -26,4 +32,4 @@ FILES_${PN} = "${IOTIVITY_BIN_DIR}/apps/iotivity-simple-client/simpleclient \ FILES_${PN}-dbg = "${IOTIVITY_BIN_DIR}/apps/iotivity-simple-client/.debug" RDEPENDS_${PN} += "iotivity-resource" BBCLASSEXTEND = "native nativesdk" - +PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH v2] iotivity_1.2.1: Hotfix: Add ORIGIN rpath for binutils-2.29
Set RPATH to ORIGIN as supported by gcc/ld (-rpath=\$ORIGIN) Observed issue on poky master was: ld: warning: libconnectivity_abstraction.so, \ needed by out/yocto/x86_64/release/liboctbstack.so, not found (try using -rpath or -rpath-link) out/yocto/x86_64/release/liboctbstack.so: \ undefined reference to `coap_write_block_opt' Note that problem is also about to be fixed upstream directly in scons files. Bug: https://jira.iotivity.org/browse/IOT-2651 Relate-to: https://gerrit.iotivity.org/gerrit/#/c/22355/ Thanks-to: Mikko Ylinen Signed-off-by: Philippe Coval --- Origin: https://github.com/tizenteam/meta-oic/tree/sandbox/pcoval/on/master/review recipes-core/iotivity/iotivity_1.2.1.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes-core/iotivity/iotivity_1.2.1.bb b/recipes-core/iotivity/iotivity_1.2.1.bb index c8fb8fd..33adb9a 100644 --- a/recipes-core/iotivity/iotivity_1.2.1.bb +++ b/recipes-core/iotivity/iotivity_1.2.1.bb @@ -53,6 +53,7 @@ python () { IOTIVITY_BIN_DIR = "/opt/${PN}" IOTIVITY_BIN_DIR_D = "${D}${IOTIVITY_BIN_DIR}" +LDFLAGS_append = " -Wl,-rpath-link=\\$$ORIGIN" do_compile_prepend() { export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH] iotivity_1.2.1: Hotfix: Add ORIGIN rpath for binutils-2.29
Set RPATH to ORIGIN as supported by gcc/ld (-rpath=\$ORIGIN) Observed issue on poky master was: ld: warning: libconnectivity_abstraction.so, \ needed by out/yocto/x86_64/release/liboctbstack.so, not found (try using -rpath or -rpath-link) out/yocto/x86_64/release/liboctbstack.so: \ undefined reference to `coap_write_block_opt' Note that problem is also about to be fixed upstream directly in scons files. Bug: https://jira.iotivity.org/browse/IOT-2651 Relate-to: https://gerrit.iotivity.org/gerrit/#/c/22355/ Thanks-to: Mikko Ylinen Signed-off-by: Philippe Coval --- Origin: https://github.com/tizenteam/meta-oic/tree/sandbox/pcoval/on/master/review recipes-core/iotivity/iotivity_1.2.1.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes-core/iotivity/iotivity_1.2.1.bb b/recipes-core/iotivity/iotivity_1.2.1.bb index c8fb8fd..bd7943e 100644 --- a/recipes-core/iotivity/iotivity_1.2.1.bb +++ b/recipes-core/iotivity/iotivity_1.2.1.bb @@ -1,4 +1,4 @@ -PR = "r1" +PR = "r2" SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." HOMEPAGE = "https://www.iotivity.org/"; @@ -36,6 +36,7 @@ SRC_URI += "${url_mbedtls};name=mbedtls;destsuffix=${S}/extlibs/mbedtls/mbedtls; inherit pkgconfig scons +TARGET_LDFLAGS_append = " -Wl,-rpath-link=\\$$ORIGIN" python () { IOTIVITY_TARGET_ARCH = d.getVar("TARGET_ARCH", True) -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH] Hotfix: Include functional header for g++-7.1.0
Reason is described in gcc7 porting notes: "Several C++ Standard Library headers have been changed to no longer include the header. As such, C++ programs that used components defined in without explicitly including that header will no longer compile." It was tested on yocto poky master on iotivity-1.2.1 (and later) Signed-off-by: Philippe Coval --- Origin: https://github.com/tizenteam/meta-oic/tree/sandbox/pcoval/on/master/review ...rce-Include-functional-header-for-g-7.1.0.patch | 62 ++ recipes-core/iotivity/iotivity_1.2.1.bb| 3 ++ 2 files changed, 65 insertions(+) create mode 100644 recipes-core/iotivity/files/0189-resource-Include-functional-header-for-g-7.1.0.patch diff --git a/recipes-core/iotivity/files/0189-resource-Include-functional-header-for-g-7.1.0.patch b/recipes-core/iotivity/files/0189-resource-Include-functional-header-for-g-7.1.0.patch new file mode 100644 index 000..2e40f97 --- /dev/null +++ b/recipes-core/iotivity/files/0189-resource-Include-functional-header-for-g-7.1.0.patch @@ -0,0 +1,62 @@ +From fd9c363689646784303197da5a21d6693cc6cbc9 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Wed, 28 Jun 2017 04:54:05 +0200 +Subject: [PATCH 189/189] resource: Include functional header for g++-7.1.0 + +It was tested on yocto poky master on iotivity-1.2.1 (and later): + + resource/include/OCUtilities.h: \ + In function 'OCStackResult OC::nil_guard(PtrT&&, FnT&&, ParamTs&& ...)': + resource/include/OCUtilities.h:85:21: \ + error: 'bind' is not a member of 'std' + return std::bind(fn, p, std::ref(params)...)(); + + resource/include/OCApi.h: At global scope: + resource/include/OCApi.h:362:18: \ + error: 'function' in namespace 'std' does not name a template type + typedef std::function)> FindCallback; + +Change-Id: Ie1cab497c33fde394f77490a1d636eb36a563396 +Origin: https://gerrit.iotivity.org/gerrit/#/c/21069/ +Signed-off-by: Philippe Coval +Reviewed-on: https://gerrit.iotivity.org/gerrit/21067 +Reviewed-by: Thiago Macieira +Tested-by: jenkins-iotivity +(cherry picked from commit 26c2798188497da22e0a70efebc47991dd755db2) +Reviewed-on: https://gerrit.iotivity.org/gerrit/21069 +Reviewed-by: Sudarsana Babu Nagineni +Reviewed-by: Mats Wichmann +--- + resource/include/OCApi.h | 2 -- + resource/include/OCUtilities.h | 1 + + 2 files changed, 1 insertion(+), 2 deletions(-) + +diff --git a/resource/include/OCApi.h b/resource/include/OCApi.h +index ff2d212..47981d5 100644 +--- a/resource/include/OCApi.h b/resource/include/OCApi.h +@@ -27,9 +27,7 @@ + #include + #include + #include +-#if defined(_MSC_VER) + #include +-#endif + + #include "octypes.h" + #include "OCHeaderOption.h" +diff --git a/resource/include/OCUtilities.h b/resource/include/OCUtilities.h +index 85039d0..f1c9304 100644 +--- a/resource/include/OCUtilities.h b/resource/include/OCUtilities.h +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + #include + #include +-- +2.7.4 + diff --git a/recipes-core/iotivity/iotivity_1.2.1.bb b/recipes-core/iotivity/iotivity_1.2.1.bb index c01ea46..c8fb8fd 100644 --- a/recipes-core/iotivity/iotivity_1.2.1.bb +++ b/recipes-core/iotivity/iotivity_1.2.1.bb @@ -1,3 +1,4 @@ +PR = "r1" SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." HOMEPAGE = "https://www.iotivity.org/"; @@ -12,6 +13,8 @@ branch_iotivity = "1.2-rel" SRCREV = "0c90ca6ffcbb6a2c56c977ec11bebb7b1d14053b" SRC_URI = "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http" SRC_URI += "file://0364-yocto-Use-tools-from-sysroot-before-system-PATH-agai.patch" +SRC_URI += "file://0189-resource-Include-functional-header-for-g-7.1.0.patch" + url_tinycbor = "git://github.com/01org/tinycbor.git" SRCREV_tinycbor = "31c7f81d45d115d2007b1c881cbbd3a19618465c" -- 2.7.4 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH] iotivity: Sanitize URIs to support older yocto versions
Removing trailing separator solved issues observed on older version of yocto (daisy at least): Parsing recipes..ERROR: ExpansionError during parsing /recipes-core/iotivity/iotivity_1.2.0.bb: Failure expanding variable do_fetch[file-checksums], expression was ${@bb.fetch.get_checksum_file_list(d)} which triggered exception ValueError: need more than 1 value to unpack Signed-off-by: Philippe Coval --- recipes-core/iotivity/iotivity_1.1.1.bb | 2 +- recipes-core/iotivity/iotivity_1.2.0.bb | 2 +- recipes-core/iotivity/iotivity_1.2.1.bb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-core/iotivity/iotivity_1.1.1.bb b/recipes-core/iotivity/iotivity_1.1.1.bb index 5666750..2d8e69c 100644 --- a/recipes-core/iotivity/iotivity_1.1.1.bb +++ b/recipes-core/iotivity/iotivity_1.1.1.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://resource/include/OCApi.h;beginline=1;endline=19;md5=f branch_iotivity = "1.1-rel" SRCREV = "781570fcd897e2c7fd11c4c76d10723eef35f27a" -SRC_URI = "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http;" +SRC_URI = "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http" url_tinycbor = "git://github.com/01org/tinycbor.git" SRCREV_tinycbor = "358a7e42ab1ed421a68e699d8d8359340bcfacbd" diff --git a/recipes-core/iotivity/iotivity_1.2.0.bb b/recipes-core/iotivity/iotivity_1.2.0.bb index 363894e..d46b7dd 100644 --- a/recipes-core/iotivity/iotivity_1.2.0.bb +++ b/recipes-core/iotivity/iotivity_1.2.0.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=22bf216f3077c279aed7b36b1fa9e6d1" branch_iotivity = "1.2-rel" SRCREV = "1a2e71f9c470c7cc17157f83deb4488ee83050a4" -SRC_URI = "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http;" +SRC_URI = "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http" SRC_URI += "file://0081-yocto-Add-aarch64-for-DragonBoard-410c.patch" SRC_URI += "file://0364-yocto-Use-tools-from-sysroot-before-system-PATH-agai.patch" diff --git a/recipes-core/iotivity/iotivity_1.2.1.bb b/recipes-core/iotivity/iotivity_1.2.1.bb index 344db21..c34e975 100644 --- a/recipes-core/iotivity/iotivity_1.2.1.bb +++ b/recipes-core/iotivity/iotivity_1.2.1.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=22bf216f3077c279aed7b36b1fa9e6d1" branch_iotivity = "1.2-rel" SRCREV = "0c90ca6ffcbb6a2c56c977ec11bebb7b1d14053b" -SRC_URI = "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http;" +SRC_URI = "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http" SRC_URI += "file://0364-yocto-Use-tools-from-sysroot-before-system-PATH-agai.patch" url_tinycbor = "git://github.com/01org/tinycbor.git" -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH] Add recipe for IoTivity 1.2.1
Signed-off-by: Philippe Coval --- Origin: https://github.com/TizenTeam/meta-oic/commit/master.patch README | 2 +- recipes-core/iotivity/iotivity_1.2.1.bb | 489 2 files changed, 490 insertions(+), 1 deletion(-) create mode 100644 recipes-core/iotivity/iotivity_1.2.1.bb diff --git a/README b/README index c6cf1a7..229e783 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ meta-oic -This layer contains recipes for the IoTivity Project (v1.2.0) +This layer contains recipes for the IoTivity Project (v1.2.1) , sample applications and related components for any Yocto target. Contents diff --git a/recipes-core/iotivity/iotivity_1.2.1.bb b/recipes-core/iotivity/iotivity_1.2.1.bb new file mode 100644 index 000..344db21 --- /dev/null +++ b/recipes-core/iotivity/iotivity_1.2.1.bb @@ -0,0 +1,489 @@ +SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." +DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." +HOMEPAGE = "https://www.iotivity.org/"; +DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0 glib-2.0-native" +DEPENDS += "sqlite3" +EXTRANATIVEPATH += "chrpath-native" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=22bf216f3077c279aed7b36b1fa9e6d1" + +branch_iotivity = "1.2-rel" +SRCREV = "0c90ca6ffcbb6a2c56c977ec11bebb7b1d14053b" +SRC_URI = "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http;" +SRC_URI += "file://0364-yocto-Use-tools-from-sysroot-before-system-PATH-agai.patch" + +url_tinycbor = "git://github.com/01org/tinycbor.git" +SRCREV_tinycbor = "31c7f81d45d115d2007b1c881cbbd3a19618465c" +SRC_URI += "${url_tinycbor};name=tinycbor;destsuffix=${S}/extlibs/tinycbor/tinycbor;protocol=http" + +url_gtest = "http://pkgs.fedoraproject.org/repo/pkgs/gtest/gtest-1.7.0.zip/2d6ec8ccdf5c46b05ba54a9fd1d130d7/gtest-1.7.0.zip"; +SRC_URI[gtest.md5sum] = "2d6ec8ccdf5c46b05ba54a9fd1d130d7" +SRC_URI[gtest.sha256sum] = "247ca18dd83f53deb1328be17e4b1be31514cedfc1e3424f672bf11fd7e0d60d" +SRC_URI += "${url_gtest};name=gtest;subdir=${BP}/extlibs/gtest" + +url_hippomocks = "git://github.com/dascandy/hippomocks.git" +SRCREV_hippomocks = "dca4725496abb0e41f8b582dec21d124f830a8e5" +SRC_URI += "${url_hippomocks};name=hippomocks;destsuffix=${S}/extlibs/hippomocks-master;protocol=http" +SRC_URI += "file://hippomocks_mips_patch" + +SRCREV_mbedtls = "85c2a928ed352845793db000e78e2b42c8dcf055" +url_mbedtls="git://github.com/ARMmbed/mbedtls.git" +SRC_URI += "${url_mbedtls};name=mbedtls;destsuffix=${S}/extlibs/mbedtls/mbedtls;protocol=http" + +inherit pkgconfig scons + + +python () { +IOTIVITY_TARGET_ARCH = d.getVar("TARGET_ARCH", True) +d.setVar("IOTIVITY_TARGET_ARCH", IOTIVITY_TARGET_ARCH) +EXTRA_OESCONS = d.getVar("EXTRA_OESCONS", True) +EXTRA_OESCONS += " TARGET_OS=yocto TARGET_ARCH=" + IOTIVITY_TARGET_ARCH + " RELEASE=1" +EXTRA_OESCONS += " VERBOSE=1" +# Aligned to default configuration, but features can be changed here (at your own risk): +# EXTRA_OESCONS += " ROUTING=GW" +# EXTRA_OESCONS += " SECURED=1" +# EXTRA_OESCONS += " TCP=1" +d.setVar("EXTRA_OESCONS", EXTRA_OESCONS) +} + + +IOTIVITY_BIN_DIR = "/opt/${PN}" +IOTIVITY_BIN_DIR_D = "${D}${IOTIVITY_BIN_DIR}" + +do_compile_prepend() { +export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" +export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config" +export LD_FLAGS="${LD_FLAGS}" +} + +make_dir() { +install -d $1 +} + +copy_file() { +install -c -m 444 $1 $2 +} + +copy_exec() { +install -c -m 555 $1 $2 +} + +copy_file_recursive() { +cd $1 && find . -type d -exec install -d $2/"{}" \; +cd $1 && find . -type f -exec install -c -m 444 "{}" $2/"{}" \; +} + +copy_exec_recursive() { +cd $1 && find . -executable -exec install -c -m 555 "{}" $2/"{}" \; +} + +do_install() { +make_dir ${D}${libdir} +#Resource +#C++ APIs +copy_file ${S}/out/yocto/${IOTIVITY_TARGET_ARCH}/release/liboc.so ${D}${libdir} +if ${@bb.utils.contains('EXTRA_OESCONS', 'SECURED=1', 'true', 'false', d)}; then +copy_file ${S}/out/yocto/${IOTIVITY_TARGET_ARCH}/release/resource/provisioning/libocpro
[yocto] [meta-oic][PATCH v3 1/3] Hotfix to support aarch64 for DragonBoard-410c
Apply patch from iotivity-1.2.1: * [PATCH 081/341] yocto: Add aarch64 for DragonBoard-410c Signed-off-by: Philippe Coval --- ...81-yocto-Add-aarch64-for-DragonBoard-410c.patch | 48 ++ recipes-core/iotivity/iotivity_1.2.0.bb| 1 + 2 files changed, 49 insertions(+) create mode 100644 recipes-core/iotivity/files/0081-yocto-Add-aarch64-for-DragonBoard-410c.patch diff --git a/recipes-core/iotivity/files/0081-yocto-Add-aarch64-for-DragonBoard-410c.patch b/recipes-core/iotivity/files/0081-yocto-Add-aarch64-for-DragonBoard-410c.patch new file mode 100644 index 000..08c93f6 --- /dev/null +++ b/recipes-core/iotivity/files/0081-yocto-Add-aarch64-for-DragonBoard-410c.patch @@ -0,0 +1,48 @@ +From 6554de025f4819f9f458cde70d706beab3ed11b8 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Thu, 10 Nov 2016 12:47:39 +0100 +Subject: [PATCH 081/341] yocto: Add aarch64 for DragonBoard-410c + +Backported to 1.1-rel branch + +Change-Id: I0ebf93ca17a9a6624da3caaaf7487529b2c556d6 +Credit-to: Kotaro HASHIMOTO +Origin: https://lists.linuxfoundation.org/pipermail/automotive-discussions/2016-November/002805.html +Signed-off-by: Philippe Coval +Reviewed-on: https://gerrit.iotivity.org/gerrit/14187 +Tested-by: jenkins-iotivity +Reviewed-by: Habib Virji +--- + build_common/SConscript | 2 +- + resource/csdk/connectivity/build/SConscript | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/build_common/SConscript b/build_common/SConscript +index 1427f08..56ea713 100644 +--- a/build_common/SConscript b/build_common/SConscript +@@ -26,7 +26,7 @@ os_arch_map = { + 'darwin': ['i386', 'x86_64'], + 'ios': ['i386', 'x86_64', 'armv7', 'armv7s', 'arm64'], + 'arduino': ['avr', 'arm'], +- 'yocto': ['i586', 'i686', 'x86_64', 'arm', 'powerpc', 'powerpc64', 'mips', 'mipsel'], ++ 'yocto': ['i586', 'i686', 'x86_64', 'arm', 'aarch64', 'powerpc', 'powerpc64', 'mips', 'mipsel'], + } + + host = platform.system().lower() +diff --git a/resource/csdk/connectivity/build/SConscript b/resource/csdk/connectivity/build/SConscript +index b812fed..44c7d09 100644 +--- a/resource/csdk/connectivity/build/SConscript b/resource/csdk/connectivity/build/SConscript +@@ -21,7 +21,7 @@ os_arch_map = { + 'darwin': ['i386', 'x86_64'], + 'ios': ['i386', 'x86_64', 'armv7', 'armv7s', 'arm64'], + 'arduino': ['avr', 'arm'], +-'yocto': ['i586', 'i686', 'x86_64', 'arm', 'powerpc', 'powerpc64', 'mips', 'mipsel'], ++'yocto': ['i586', 'i686', 'x86_64', 'arm', 'aarch64', 'powerpc', 'powerpc64', 'mips', 'mipsel'], + } + + host = platform.system().lower() +-- +1.9.1 + diff --git a/recipes-core/iotivity/iotivity_1.2.0.bb b/recipes-core/iotivity/iotivity_1.2.0.bb index dfae54b..60a2b56 100644 --- a/recipes-core/iotivity/iotivity_1.2.0.bb +++ b/recipes-core/iotivity/iotivity_1.2.0.bb @@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=22bf216f3077c279aed7b36b1fa9e6d1" branch_iotivity = "1.2-rel" SRCREV = "1a2e71f9c470c7cc17157f83deb4488ee83050a4" SRC_URI = "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http;" +SRC_URI += "file://0081-yocto-Add-aarch64-for-DragonBoard-410c.patch" url_tinycbor = "git://github.com/01org/tinycbor.git" SRCREV_tinycbor = "31c7f81d45d115d2007b1c881cbbd3a19618465c" -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH v3 2/3] Hotfix: Use tools from sysroot before system PATH
This patch was in iotivity 1.1-rel branch, and (wrongly) removed in 1.2.0 So it needed to be reintroduced in upstream 1.2-rel and as a patch for 1.2.0, track upstream bug at: https://jira.iotivity.org/browse/IOT-1219 Signed-off-by: Philippe Coval --- ...ools-from-sysroot-before-system-PATH-agai.patch | 93 ++ recipes-core/iotivity/iotivity_1.2.0.bb| 1 + 2 files changed, 94 insertions(+) create mode 100644 recipes-core/iotivity/files/0364-yocto-Use-tools-from-sysroot-before-system-PATH-agai.patch diff --git a/recipes-core/iotivity/files/0364-yocto-Use-tools-from-sysroot-before-system-PATH-agai.patch b/recipes-core/iotivity/files/0364-yocto-Use-tools-from-sysroot-before-system-PATH-agai.patch new file mode 100644 index 000..b8493c0 --- /dev/null +++ b/recipes-core/iotivity/files/0364-yocto-Use-tools-from-sysroot-before-system-PATH-agai.patch @@ -0,0 +1,93 @@ +From b0f0c742ec1e1fc223871f6d98b21de09cf024b7 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Fri, 16 Sep 2016 20:22:03 +0200 +Subject: [PATCH 364/364] yocto: Use tools from sysroot before system PATH + (again) + +Reintroduce existing change that was (wrongly?) removed in: + +https://gerrit.iotivity.org/gerrit/#/c/12029/64/build_common/SConscript + +Original review at: + +https://gerrit.iotivity.org/gerrit/11935 + +To ensure reproductibily Scons avoids to rely on environment + but some systems like Yocto are defining their own cross compiling env. + +To deal with those orthogonal paradigms, + a new CONFIG_ENVIRONMENT_IMPORT variable has been introduced, + It enables import of needed variables (PATH and pkg-config's ones). + +Without this change, system tools might be used by scons + instead of looking into yocto's sysroot. + This is not not wanted and may be less reproductible. + +This problem was noticed when building Ostro OS + (on a system without all Yocto dependencies) + reported error messages were: + + | sh: gdbus-codegen: command not found + | /bin/sh: 1: pkg-config: not found + +More information about using SCONS along Yocto, check some notes at: + +https://bitbucket.org/scons/scons/wiki/Notes + +Bug: https://jira.iotivity.org/browse/IOT-1219 +Change-Id: I6af59a590f8be489398623d29cf85c2f0002 +Origin: https://github.com/TizenTeam/iotivity/tree/sandbox/pcoval/on/master/mine +Thanks-to: Mikko Ylinen +Signed-off-by: Philippe Coval +Reviewed-on: https://gerrit.iotivity.org/gerrit/16225 +Tested-by: jenkins-iotivity +Reviewed-by: Kishen Maloor +(cherry picked from commit 1085512bc103e987d95a43063e6552f39acd40f2) +Reviewed-on: https://gerrit.iotivity.org/gerrit/16223 +--- + build_common/SConscript | 22 +- + 1 file changed, 13 insertions(+), 9 deletions(-) + +diff --git a/build_common/SConscript b/build_common/SConscript +index a9ff494..fff1752 100644 +--- a/build_common/SConscript b/build_common/SConscript +@@ -194,13 +194,19 @@ if target_os in targets_support_cc: + if prefix or tc_path: + print tc_set_msg + +-# If cross-compiling, honor environment settings for toolchain to avoid picking up native tools +-if os.environ.get('PKG_CONFIG') != None: +- env["ENV"]["PKG_CONFIG"] = os.environ.get("PKG_CONFIG") +-if os.environ.get('PKG_CONFIG_PATH') != None: +- env["ENV"]["PKG_CONFIG_PATH"] = os.environ.get("PKG_CONFIG_PATH") +-if os.environ.get('PKG_CONFIG_SYSROOT_DIR') != None: +- env["ENV"]["PKG_CONFIG_SYSROOT_DIR"] = os.environ.get("PKG_CONFIG_SYSROOT_DIR") ++# Import env variables only if reproductibility is ensured ++if target_os in ['yocto']: ++env['CONFIG_ENVIRONMENT_IMPORT'] = True ++else: ++env['CONFIG_ENVIRONMENT_IMPORT'] = False ++ ++if env['CONFIG_ENVIRONMENT_IMPORT'] == True: ++print "warning: importing some environment variables for OS: %s" % target_os ++for ev in ['PATH', 'PKG_CONFIG', 'PKG_CONFIG_PATH', 'PKG_CONFIG_SYSROOT_DIR']: ++if os.environ.get(ev) != None: ++env['ENV'][ev] = os.environ.get(ev) ++if os.environ['LDFLAGS'] != None: ++env.AppendUnique(LINKFLAGS = Split(os.environ['LDFLAGS'])) + + # Ensure scons be able to change its working directory + env.SConscriptChdir(1) +@@ -394,8 +400,6 @@ if target_os == "yocto": + env[tool] = os.path.join(path, os.environ[tool]) + break + env['CROSS_COMPILE'] = target_prefix[:len(target_prefix) - 1] +-if os.environ['LDFLAGS'] != None: +-env.AppendUnique(LINKFLAGS = Split(os.environ['LDFLAGS'])) + except: + print "ERROR in Yocto cross-toolchain environment" + Exit(1) +-- +1.9.1 + diff --git a/recipes-core/iotivity/iotivity_1.
[yocto] [meta-oic][PATCH v3 3/3] Depends on glib-2.0-native to use gdbus-codegen
It was discovered while building AGL using Intel BSP. Also fix dangling syslink, discovered while building ostro OS. Signed-off-by: Philippe Coval --- recipes-core/iotivity/iotivity_1.2.0.bb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes-core/iotivity/iotivity_1.2.0.bb b/recipes-core/iotivity/iotivity_1.2.0.bb index 678112b..363894e 100644 --- a/recipes-core/iotivity/iotivity_1.2.0.bb +++ b/recipes-core/iotivity/iotivity_1.2.0.bb @@ -1,7 +1,8 @@ +PR = "r1" SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." HOMEPAGE = "https://www.iotivity.org/"; -DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0" +DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0 glib-2.0-native" EXTRANATIVEPATH += "chrpath-native" SECTION = "libs" LICENSE = "Apache-2.0" @@ -381,7 +382,7 @@ do_install() { copy_file ${S}/iotivity.pc ${D}${libdir}/pkgconfig/ ln -s iotivity/resource ${D}${includedir}/resource ln -s iotivity/service ${D}${includedir}/service -ln -s ../iotivity/resource/oc_logger/targets ${D}${includedir}/resource/ +ln -s oc_logger/targets ${D}${includedir}/resource/ chrpath -d ${D}${libdir}/*.so } -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH 3/3] Depends on glib-2.0-native to use gdbus-codegen
It was discovered while building AGL using Intel BSP. Also fix dangling syslink, discovered while building ostro OS. Signed-off-by: Philippe Coval --- Origin: https://github.com/TizenTeam/meta-oic/ recipes-core/iotivity/iotivity_1.2.0.bb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes-core/iotivity/iotivity_1.2.0.bb b/recipes-core/iotivity/iotivity_1.2.0.bb index 60a2b56..3e2b00e 100644 --- a/recipes-core/iotivity/iotivity_1.2.0.bb +++ b/recipes-core/iotivity/iotivity_1.2.0.bb @@ -1,7 +1,8 @@ +PR = "r1" SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." HOMEPAGE = "https://www.iotivity.org/"; -DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0" +DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0 glib-2.0-native" EXTRANATIVEPATH += "chrpath-native" SECTION = "libs" LICENSE = "Apache-2.0" @@ -380,7 +381,7 @@ do_install() { copy_file ${S}/iotivity.pc ${D}${libdir}/pkgconfig/ ln -s iotivity/resource ${D}${includedir}/resource ln -s iotivity/service ${D}${includedir}/service -ln -s ../iotivity/resource/oc_logger/targets ${D}${includedir}/resource/ +ln -s oc_logger/targets ${D}${includedir}/resource/ chrpath -d ${D}${libdir}/*.so } -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH 2/3] doc: Translate README to ascii
(Cleanup UTF-8 chars) Signed-off-by: Philippe Coval --- README | 28 ++-- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/README b/README index c6cf1a7..deba141 100644 --- a/README +++ b/README @@ -27,7 +27,7 @@ Recipes in meta-oic IoTivity packages built by the meta-oic layer = -—- iotivity-resource : IoTivity resource libraries. +-- iotivity-resource : IoTivity resource libraries. -- iotivity-resource-dev : IoTivity resource header files. -- iotivity-resource-thin-staticdev : IoTivity "thin" resource libraries. -- iotivity-resource-dbg : IoTivity resource libraries with debug @@ -51,7 +51,7 @@ applications. -- iotivity-tests : IoTivity framework tests. -- iotivity-tests-dbg : Debug builds of IoTivity framework tests. -- iotivity : Meta-package for all IoTivity runtimes. -—- iotivity-dev : Meta-package for all IoTivity runtimes and headers. +-- iotivity-dev : Meta-package for all IoTivity runtimes and headers. -- iotivity-sensorboard : IoTivity SensorBoard application. (Sources located in iotivity-1.0.0/examples/OICSensorBoard) -- iotivity-simple-client: IoTivity resource simpleclient example. @@ -90,13 +90,13 @@ binary packages in the OS image. For eg., to include IoTivity resource and service samples and runtimes, use ... -IMAGE_INSTALL_append += " iotivity-resource-samples iotivity-service-samples” +IMAGE_INSTALL_append += " iotivity-resource-samples iotivity-service-samples" To include only IoTivity resource and service runtimes, use ... -IMAGE_INSTALL_append += " iotivity” +IMAGE_INSTALL_append += " iotivity" -4. After initializing poky, run “bitbake ” to build the OS image, +4. After initializing poky, run "bitbake " to build the OS image, and further deploy the image to your target. Building Yocto cross-toolchain with IoTivity for your target @@ -105,26 +105,26 @@ Yocto has the capability to build cross-toolchains for targets to run on 32-bit and 64-bit machines. Follow these steps to construct a toolchain for your target: -1. You should’ve already completed the steps above to build IoTivity for your +1. You should have already completed the steps above to build IoTivity for your target. 2. Modify /conf/local.conf to install the IoTivity -development packages to the toolchain’s sysroot. +development packages to the toolchain's sysroot. ... -IMAGE_INSTALL_append = " iotivity-dev” +IMAGE_INSTALL_append = " iotivity-dev" To include only IoTivity "thin" resource headers and libraries, use ... -IMAGE_INSTALL_append = " iotivity-resource-thin-staticdev” +IMAGE_INSTALL_append = " iotivity-resource-thin-staticdev" -3. After initializing poky, run “bitbake -c populate_sdk ” to build the +3. After initializing poky, run "bitbake -c populate_sdk " to build the target platform SDK and toolchain. You may further install the toolchain on your build machine. Once installed, the toolchain may be used only after initialization. This is -performed by an “environment setup script” at the root of the toolchain +performed by an "environment setup script" at the root of the toolchain install location (usually in /opt/poky...). -To initialize, you must “source” this script into your shell environment. +To initialize, you must "source" this script into your shell environment. Locations of IoTivity headers, runtimes and samples === @@ -149,8 +149,8 @@ Building IoTivity applications for a Yocto target 2. You can now use the Yocto toolchain for your target to cross-compile the application. As such, there is no standard procedure for this. -You may examine your toolchain’s environment setup script and accordingly -modify your application’s build script to point to said tools. +You may examine your toolchain's environment setup script and accordingly +modify your application's build script to point to said tools. 3. If you further want to package up your application in a Yocto software layer, you will have to write a BitBake recipe for it. Look inside -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH 1/3] meta-oic: Hotfix to support aarch64 for DragonBoard-410c
Apply patch from iotivity-1.2.1: * [PATCH 081/341] yocto: Add aarch64 for DragonBoard-410c Bug-AGL: SPEC-158 Change-Id: I06f56ae860760002a6376866488e1f55624f50cc Origin: https://gerrit.automotivelinux.org/gerrit/#/c/7981/ Signed-off-by: Philippe Coval --- ...81-yocto-Add-aarch64-for-DragonBoard-410c.patch | 48 ++ recipes-core/iotivity/iotivity_1.2.0.bb| 1 + 2 files changed, 49 insertions(+) create mode 100644 recipes-core/iotivity/files/0081-yocto-Add-aarch64-for-DragonBoard-410c.patch diff --git a/recipes-core/iotivity/files/0081-yocto-Add-aarch64-for-DragonBoard-410c.patch b/recipes-core/iotivity/files/0081-yocto-Add-aarch64-for-DragonBoard-410c.patch new file mode 100644 index 000..08c93f6 --- /dev/null +++ b/recipes-core/iotivity/files/0081-yocto-Add-aarch64-for-DragonBoard-410c.patch @@ -0,0 +1,48 @@ +From 6554de025f4819f9f458cde70d706beab3ed11b8 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Thu, 10 Nov 2016 12:47:39 +0100 +Subject: [PATCH 081/341] yocto: Add aarch64 for DragonBoard-410c + +Backported to 1.1-rel branch + +Change-Id: I0ebf93ca17a9a6624da3caaaf7487529b2c556d6 +Credit-to: Kotaro HASHIMOTO +Origin: https://lists.linuxfoundation.org/pipermail/automotive-discussions/2016-November/002805.html +Signed-off-by: Philippe Coval +Reviewed-on: https://gerrit.iotivity.org/gerrit/14187 +Tested-by: jenkins-iotivity +Reviewed-by: Habib Virji +--- + build_common/SConscript | 2 +- + resource/csdk/connectivity/build/SConscript | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/build_common/SConscript b/build_common/SConscript +index 1427f08..56ea713 100644 +--- a/build_common/SConscript b/build_common/SConscript +@@ -26,7 +26,7 @@ os_arch_map = { + 'darwin': ['i386', 'x86_64'], + 'ios': ['i386', 'x86_64', 'armv7', 'armv7s', 'arm64'], + 'arduino': ['avr', 'arm'], +- 'yocto': ['i586', 'i686', 'x86_64', 'arm', 'powerpc', 'powerpc64', 'mips', 'mipsel'], ++ 'yocto': ['i586', 'i686', 'x86_64', 'arm', 'aarch64', 'powerpc', 'powerpc64', 'mips', 'mipsel'], + } + + host = platform.system().lower() +diff --git a/resource/csdk/connectivity/build/SConscript b/resource/csdk/connectivity/build/SConscript +index b812fed..44c7d09 100644 +--- a/resource/csdk/connectivity/build/SConscript b/resource/csdk/connectivity/build/SConscript +@@ -21,7 +21,7 @@ os_arch_map = { + 'darwin': ['i386', 'x86_64'], + 'ios': ['i386', 'x86_64', 'armv7', 'armv7s', 'arm64'], + 'arduino': ['avr', 'arm'], +-'yocto': ['i586', 'i686', 'x86_64', 'arm', 'powerpc', 'powerpc64', 'mips', 'mipsel'], ++'yocto': ['i586', 'i686', 'x86_64', 'arm', 'aarch64', 'powerpc', 'powerpc64', 'mips', 'mipsel'], + } + + host = platform.system().lower() +-- +1.9.1 + diff --git a/recipes-core/iotivity/iotivity_1.2.0.bb b/recipes-core/iotivity/iotivity_1.2.0.bb index dfae54b..60a2b56 100644 --- a/recipes-core/iotivity/iotivity_1.2.0.bb +++ b/recipes-core/iotivity/iotivity_1.2.0.bb @@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=22bf216f3077c279aed7b36b1fa9e6d1" branch_iotivity = "1.2-rel" SRCREV = "1a2e71f9c470c7cc17157f83deb4488ee83050a4" SRC_URI = "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http;" +SRC_URI += "file://0081-yocto-Add-aarch64-for-DragonBoard-410c.patch" url_tinycbor = "git://github.com/01org/tinycbor.git" SRCREV_tinycbor = "31c7f81d45d115d2007b1c881cbbd3a19618465c" -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH v3] Update for IoTivity 1.2.0
Note: build parameters are now aligned to upstream default. Compared to earlier recipe, configuration changes are: - Previous WITH_RD parameter is now replaced by RD_MODE (set to CLIENT by default) - ROOTING was previously set to gateway (GW) while default use EP, which is also used in this version. For more details please check: https://wiki.iotivity.org/yocto Note a workaround was needed to install tinycbor headers needed by iotivity headers (this has been fixed later in 1.2-rel), problem was observed while building iotivity-node. Change-Id: I3296c94baab43ec442994379b2ffaaf9a0146228 Signed-off-by: Philippe Coval --- README | 2 +- recipes-core/iotivity/iotivity_1.2.0.bb | 521 2 files changed, 522 insertions(+), 1 deletion(-) create mode 100644 recipes-core/iotivity/iotivity_1.2.0.bb diff --git a/README b/README index d076963..c6cf1a7 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ meta-oic -This layer contains recipes for the IoTivity Project (v1.1.1) +This layer contains recipes for the IoTivity Project (v1.2.0) , sample applications and related components for any Yocto target. Contents diff --git a/recipes-core/iotivity/iotivity_1.2.0.bb b/recipes-core/iotivity/iotivity_1.2.0.bb new file mode 100644 index 000..dfae54b --- /dev/null +++ b/recipes-core/iotivity/iotivity_1.2.0.bb @@ -0,0 +1,521 @@ +SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." +DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." +HOMEPAGE = "https://www.iotivity.org/"; +DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0" +EXTRANATIVEPATH += "chrpath-native" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=22bf216f3077c279aed7b36b1fa9e6d1" + +branch_iotivity = "1.2-rel" +SRCREV = "1a2e71f9c470c7cc17157f83deb4488ee83050a4" +SRC_URI = "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http;" + +url_tinycbor = "git://github.com/01org/tinycbor.git" +SRCREV_tinycbor = "31c7f81d45d115d2007b1c881cbbd3a19618465c" +SRC_URI += "${url_tinycbor};name=tinycbor;destsuffix=${S}/extlibs/tinycbor/tinycbor;protocol=http" + +url_gtest = "http://pkgs.fedoraproject.org/repo/pkgs/gtest/gtest-1.7.0.zip/2d6ec8ccdf5c46b05ba54a9fd1d130d7/gtest-1.7.0.zip"; +SRC_URI[gtest.md5sum] = "2d6ec8ccdf5c46b05ba54a9fd1d130d7" +SRC_URI[gtest.sha256sum] = "247ca18dd83f53deb1328be17e4b1be31514cedfc1e3424f672bf11fd7e0d60d" +SRC_URI += "${url_gtest};name=gtest;subdir=${BP}/extlibs/gtest" + +url_hippomocks = "git://github.com/dascandy/hippomocks.git" +SRCREV_hippomocks = "dca4725496abb0e41f8b582dec21d124f830a8e5" +SRC_URI += "${url_hippomocks};name=hippomocks;destsuffix=${S}/extlibs/hippomocks-master;protocol=http" +SRC_URI += "file://hippomocks_mips_patch" + +url_sqlite = "http://www.sqlite.org/2015/sqlite-amalgamation-3081101.zip"; +SRC_URI[sqlite3.md5sum] = "94907e831502e2080b76e281cfa24dde" +SRC_URI[sqlite3.sha256sum] = "a3b0c07d1398d60ae9d21c2cc7f9be6b1bc5b0168cd94c321ede9a0fce2b3cd7" +SRC_URI += "${url_sqlite};name=sqlite3;subdir=${BP}/extlibs/sqlite3;unpack=false" + +SRCREV_mbedtls = "85c2a928ed352845793db000e78e2b42c8dcf055" +url_mbedtls="git://github.com/ARMmbed/mbedtls.git" +SRC_URI += "${url_mbedtls};name=mbedtls;destsuffix=${S}/extlibs/mbedtls/mbedtls;protocol=http" + +inherit pkgconfig scons + + +python () { +IOTIVITY_TARGET_ARCH = d.getVar("TARGET_ARCH", True) +d.setVar("IOTIVITY_TARGET_ARCH", IOTIVITY_TARGET_ARCH) +EXTRA_OESCONS = d.getVar("EXTRA_OESCONS", True) +EXTRA_OESCONS += " TARGET_OS=yocto TARGET_ARCH=" + IOTIVITY_TARGET_ARCH + " RELEASE=1" +EXTRA_OESCONS += " VERBOSE=1" +# Aligned to default configuration, but features can be changed here (at your own risk): +# EXTRA_OESCONS += " ROUTING=GW" +# EXTRA_OESCONS += " SECURED=1" +# EXTRA_OESCONS += " TCP=1" +d.setVar("EXTRA_OESCONS", EXTRA_OESCONS) +} + + +IOTIVITY_BIN_DIR = "/opt/${PN}" +IOTIVITY_BIN_DIR_D = "${D}${IOTIVITY_BIN_DIR}" + +do_compile_prepend() { +export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" +export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config" +export LD_FLAGS="${LD_FLAGS}" +} + +make_dir() { +install -d $1 +} + +copy_file() { +install -c -m 444 $1 $2 +} + +copy_exec() { +
[yocto] [meta-oic][PATCH] Update for IoTivity 1.2.0
Note: build parameters are now aligned to upstream default. Compared to earlier recipe, configuration changes are: - Previous WITH_RD parameter is now replaced by RD_MODE (set to CLIENT by default) - ROOTING was previously set to gateway (GW) while default use EP, which is also used in this version. For more details please check: https://wiki.iotivity.org/yocto Change-Id: I3296c94baab43ec442994379b2ffaaf9a0146228 Signed-off-by: Philippe Coval --- README | 2 +- recipes-core/iotivity/iotivity_1.2.0.bb | 521 2 files changed, 522 insertions(+), 1 deletion(-) create mode 100644 recipes-core/iotivity/iotivity_1.2.0.bb diff --git a/README b/README index d076963..c6cf1a7 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ meta-oic -This layer contains recipes for the IoTivity Project (v1.1.1) +This layer contains recipes for the IoTivity Project (v1.2.0) , sample applications and related components for any Yocto target. Contents diff --git a/recipes-core/iotivity/iotivity_1.2.0.bb b/recipes-core/iotivity/iotivity_1.2.0.bb new file mode 100644 index 000..3dacbb7 --- /dev/null +++ b/recipes-core/iotivity/iotivity_1.2.0.bb @@ -0,0 +1,521 @@ +PR = "r1" +SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." +DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." +HOMEPAGE = "https://www.iotivity.org/"; +DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0" +EXTRANATIVEPATH += "chrpath-native" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=22bf216f3077c279aed7b36b1fa9e6d1" + +branch_iotivity = "1.2-rel" +SRCREV = "1a2e71f9c470c7cc17157f83deb4488ee83050a4" +SRC_URI = "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http;" + +url_tinycbor = "git://github.com/01org/tinycbor.git" +SRCREV_tinycbor = "31c7f81d45d115d2007b1c881cbbd3a19618465c" +SRC_URI += "${url_tinycbor};name=tinycbor;destsuffix=${S}/extlibs/tinycbor/tinycbor;protocol=http" + +url_gtest = "http://pkgs.fedoraproject.org/repo/pkgs/gtest/gtest-1.7.0.zip/2d6ec8ccdf5c46b05ba54a9fd1d130d7/gtest-1.7.0.zip"; +SRC_URI[gtest.md5sum] = "2d6ec8ccdf5c46b05ba54a9fd1d130d7" +SRC_URI[gtest.sha256sum] = "247ca18dd83f53deb1328be17e4b1be31514cedfc1e3424f672bf11fd7e0d60d" +SRC_URI += "${url_gtest};name=gtest;subdir=${BP}/extlibs/gtest" + +url_hippomocks = "git://github.com/dascandy/hippomocks.git" +SRCREV_hippomocks = "dca4725496abb0e41f8b582dec21d124f830a8e5" +SRC_URI += "${url_hippomocks};name=hippomocks;destsuffix=${S}/extlibs/hippomocks-master;protocol=http" +SRC_URI += "file://hippomocks_mips_patch" + +url_sqlite = "http://www.sqlite.org/2015/sqlite-amalgamation-3081101.zip"; +SRC_URI[sqlite3.md5sum] = "94907e831502e2080b76e281cfa24dde" +SRC_URI[sqlite3.sha256sum] = "a3b0c07d1398d60ae9d21c2cc7f9be6b1bc5b0168cd94c321ede9a0fce2b3cd7" +SRC_URI += "${url_sqlite};name=sqlite3;subdir=${BP}/extlibs/sqlite3;unpack=false" + +SRCREV_mbedtls = "master" +SRCREV_mbedtls = "85c2a928ed352845793db000e78e2b42c8dcf055" +url_mbedtls="git://github.com/ARMmbed/mbedtls.git" +SRC_URI += "${url_mbedtls};name=mbedtls;destsuffix=${S}/extlibs/mbedtls/mbedtls;protocol=http" + +inherit pkgconfig scons + + +python () { +IOTIVITY_TARGET_ARCH = d.getVar("TARGET_ARCH", True) +d.setVar("IOTIVITY_TARGET_ARCH", IOTIVITY_TARGET_ARCH) +EXTRA_OESCONS = d.getVar("EXTRA_OESCONS", True) +EXTRA_OESCONS += " TARGET_OS=yocto TARGET_ARCH=" + IOTIVITY_TARGET_ARCH + " RELEASE=1" +EXTRA_OESCONS += " VERBOSE=1" +# Aligned to default configuration, but features can be changed here (at your own risk): +# EXTRA_OESCONS += " ROUTING=GW" +# EXTRA_OESCONS += " SECURED=1" +# EXTRA_OESCONS += " TCP=1" +d.setVar("EXTRA_OESCONS", EXTRA_OESCONS) +} + + +IOTIVITY_BIN_DIR = "/opt/${PN}" +IOTIVITY_BIN_DIR_D = "${D}${IOTIVITY_BIN_DIR}" + +do_compile_prepend() { +export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" +export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config" +export LD_FLAGS="${LD_FLAGS}" +} + +make_dir() { +install -d $1 +} + +copy_file() { +install -c -m 444 $1 $2 +} + +copy_exec() { +install -c -m 555 $1 $2 +} + +copy_file_recursive() { +cd $1 && find . -type d -exec in
[yocto] [meta-oic][PATCH 1/3] Set real url in SRCREV
RPM packaging might be lost on older version of yocto It was observed using tizen-distro with raspberrypi BSP layer Change-Id: Ic400c0d92961eabda235fc8314740d9e23851b31 Signed-off-by: Philippe Coval --- recipes-core/iotivity/iotivity_1.1.1.bb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recipes-core/iotivity/iotivity_1.1.1.bb b/recipes-core/iotivity/iotivity_1.1.1.bb index a503c59..5abfb57 100644 --- a/recipes-core/iotivity/iotivity_1.1.1.bb +++ b/recipes-core/iotivity/iotivity_1.1.1.bb @@ -8,10 +8,9 @@ SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://resource/include/OCApi.h;beginline=1;endline=19;md5=fc5a615cf1dc3880967127bc853b3e0c" -url_iotivity = "git://github.com/iotivity/iotivity.git" branch_iotivity = "1.1-rel" SRCREV = "8078b450c9a75b7aecaf6259fd0a8710318fce0f" -SRC_URI = "${url_iotivity};destsuffix=${S};branch=${branch_iotivity};protocol=http;" +SRC_URI = "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http;" url_tinycbor = "git://github.com/01org/tinycbor.git" SRCREV_tinycbor = "358a7e42ab1ed421a68e699d8d8359340bcfacbd" -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH 3/3] Rebase 1.1.1 on 1.1-rel maintenance branch
* stdassert.h is not standard-compliant. Change this to assert.h * linux: Support also armeabi-v7a TARGET_ARCH * minor changes Fix harmless typo in recipe too Change-Id: I99c3742e4b332094e76cdd0af49cf8b7253d246c Signed-off-by: Philippe Coval --- recipes-core/iotivity/iotivity_1.1.1.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-core/iotivity/iotivity_1.1.1.bb b/recipes-core/iotivity/iotivity_1.1.1.bb index 5abfb57..88becb6 100644 --- a/recipes-core/iotivity/iotivity_1.1.1.bb +++ b/recipes-core/iotivity/iotivity_1.1.1.bb @@ -1,4 +1,4 @@ -PR = "r2" +PR = "r3" SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." HOMEPAGE = "https://www.iotivity.org/"; @@ -9,7 +9,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://resource/include/OCApi.h;beginline=1;endline=19;md5=fc5a615cf1dc3880967127bc853b3e0c" branch_iotivity = "1.1-rel" -SRCREV = "8078b450c9a75b7aecaf6259fd0a8710318fce0f" +SRCREV = "5aa4339c5b6e11c062dcddca1372ef3f747cc2cb" SRC_URI = "git://github.com/iotivity/iotivity.git;destsuffix=${S};branch=${branch_iotivity};protocol=http;" url_tinycbor = "git://github.com/01org/tinycbor.git" @@ -377,7 +377,7 @@ do_install() { FILES_${PN}-resource-dev = "\ ${includedir}/iotivity/resource \ -${inclidedir}/iotivity/extlibs" +${includedir}/iotivity/extlibs" FILES_${PN}-resource-thin-staticdev = "\ ${libdir}/libocsrm.a \ -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH 2/3] Add packagegroup iotivity
Signed-off-by: Philippe Coval --- .../packagegroups/packagegroup-iotivity.bb | 24 ++ 1 file changed, 24 insertions(+) create mode 100644 recipes-core/packagegroups/packagegroup-iotivity.bb diff --git a/recipes-core/packagegroups/packagegroup-iotivity.bb b/recipes-core/packagegroups/packagegroup-iotivity.bb new file mode 100644 index 000..f664d83 --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-iotivity.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "IoTivity full package set including examples" +LICENSE = "Apache-2.0" + +inherit packagegroup + +PACKAGES = "\ +packagegroup-iotivity \ +" + +ALLOW_EMPTY_${PN} = "1" + +RDEPENDS_${PN} += "\ +iotivity \ +iotivity-plugins-samples \ +iotivity-resource \ +iotivity-resource-samples \ +iotivity-service \ +iotivity-service-samples \ +iotivity-tests \ +" + +RDEPENDS_${PN} += "\ +iotivity-simple-client \ +" -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH 3/3] Update for IoTivity 1.1.1
* Inspired from Kishen Maloor's iotivity_1.1.0.bb. * Note this version of recipe is using upstream's git repo as source because it's better for upstream/downstream cooperation More details at: https://wiki.iotivity.org/yocto * Update to upstream "1.1-rel" maintenance branch - QA checks are fixed to support Yocto jethro base and later, without it packaging task will fail and report this message : ERROR: QA Issue: No GNU_HASH in the elf binary * Tinycobor is updated to v0.2.1. * Gtest is now statically linked. * Security is still not enabled, but can be easly enabled with "SECURED=1" scons's flag. Change-Id: Ib6f69c24434615d178ccef15cad96142e2b837aa Bug: https://jira.iotivity.org/browse/IOT- Cc: iotivity-...@lists.iotivity.org Cc: yocto@yoctoproject.org Credit-to: Kishen Maloor Origin: https://github.com/tizenteam/meta-oic Signed-off-by: Philippe Coval --- As promised, I commited the needed fixes upstream. I tested this patchset on poky master branch. along generic, intel and artik BSPs. More details to come at: https://wiki.iotivity.org/yocto ChangeLog: * v1: use INSANE_SKIP to workaround QA check https://lists.yoctoproject.org/pipermail/yocto/2016-August/031441.html https://lists.yoctoproject.org/pipermail/yocto/2016-August/031471.html * v2: rebase on upstream 1.1-rel maintenance branch (with fixes) needs also QA fixes on examples (but can be commited in any order) security can be enabled couple of improvements recipes-core/iotivity/iotivity_1.1.1.bb | 503 1 file changed, 503 insertions(+) create mode 100644 recipes-core/iotivity/iotivity_1.1.1.bb diff --git a/recipes-core/iotivity/iotivity_1.1.1.bb b/recipes-core/iotivity/iotivity_1.1.1.bb new file mode 100644 index 000..792411b --- /dev/null +++ b/recipes-core/iotivity/iotivity_1.1.1.bb @@ -0,0 +1,503 @@ +PR = "r1" +SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." +DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." +HOMEPAGE = "https://www.iotivity.org/"; +DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0" +EXTRANATIVEPATH += "chrpath-native" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://resource/include/OCApi.h;beginline=1;endline=19;md5=fc5a615cf1dc3880967127bc853b3e0c" + +url_iotivity = "git://github.com/iotivity/iotivity.git" +branch_iotivity = "1.1-rel" +SRCREV = "972ef41a25624501d7cd13a18a9f49be90b9c2d1" +SRC_URI = "${url_iotivity};destsuffix=${S};branch=${branch_iotivity};protocol=http;" + +url_tinycbor = "git://github.com/01org/tinycbor.git" +SRCREV_tinycbor = "358a7e42ab1ed421a68e699d8d8359340bcfacbd" +SRC_URI += "${url_tinycbor};name=tinycbor;destsuffix=${S}/extlibs/tinycbor/tinycbor;protocol=http" + +url_gtest = "http://pkgs.fedoraproject.org/repo/pkgs/gtest/gtest-1.7.0.zip/2d6ec8ccdf5c46b05ba54a9fd1d130d7/gtest-1.7.0.zip"; +SRC_URI[gtest.md5sum] = "2d6ec8ccdf5c46b05ba54a9fd1d130d7" +SRC_URI[gtest.sha256sum] = "247ca18dd83f53deb1328be17e4b1be31514cedfc1e3424f672bf11fd7e0d60d" +SRC_URI += "${url_gtest};name=gtest;subdir=${BP}/extlibs/gtest" + +url_hippomocks = "git://github.com/dascandy/hippomocks.git" +SRCREV_hippomocks = "dca4725496abb0e41f8b582dec21d124f830a8e5" +SRC_URI += "${url_hippomocks};name=hippomocks;destsuffix=${S}/extlibs/hippomocks-master;protocol=http" + +url_sqlite = "http://www.sqlite.org/2015/sqlite-amalgamation-3081101.zip"; +SRC_URI[sqlite3.md5sum] = "94907e831502e2080b76e281cfa24dde" +SRC_URI[sqlite3.sha256sum] = "a3b0c07d1398d60ae9d21c2cc7f9be6b1bc5b0168cd94c321ede9a0fce2b3cd7" +SRC_URI += "${url_sqlite};name=sqlite3;subdir=${BP}/extlibs/sqlite3;unpack=false" + +inherit scons + + +python () { +IOTIVITY_TARGET_ARCH = d.getVar("TARGET_ARCH", True) +d.setVar("IOTIVITY_TARGET_ARCH", IOTIVITY_TARGET_ARCH) +EXTRA_OESCONS = d.getVar("EXTRA_OESCONS", True) +EXTRA_OESCONS += " TARGET_OS=yocto TARGET_ARCH=" + IOTIVITY_TARGET_ARCH + " RELEASE=1" +EXTRA_OESCONS += " ROUTING=GW" +EXTRA_OESCONS += " VERBOSE=1" +# Enable security here or elsewhere but should be in this "=1" form: +# EXTRA_OESCONS += " SECURED=1" +EXTRA_OESCONS += " WITH_RD=1" +d.setVar("EXTRA_OESCONS", EXTRA_OESCONS) +} + + +IOTIVITY_BIN_DIR = "/opt/${PN}" +IOTIVITY_BIN_DIR_D = "${D}${IOTIVITY_BIN_DIR}" + +do_compile_prepend() { +export PKG_C
[yocto] [meta-oic][PATCH 2/3] iotivity-sensorboard: Use regular LDFLAGS variable and pthread
Without this change and error on linkage is displayed : ld: observer.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5' libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status Also YOCTOLDFLAGS are replaced with regular LDFLAGS, to use quality check. Without this, QA check is failing and this message is reported: do_package_qa: QA Issue: No GNU_HASH in the elf binary: Change-Id: I80e4ab17128b8539a45843611e4aec3650e2ddef Bug: https://jira.iotivity.org/browse/IOT- Cc: iotivity-...@lists.iotivity.org Cc: yocto@yoctoproject.org Origin: https://github.com/tizenteam/meta-oic Signed-off-by: Philippe Coval --- ...DFLAGS-variable-from-env-and-add-pthread-.patch | 50 ++ .../iotivity-sensorboard_1.0.0.bb | 1 + 2 files changed, 51 insertions(+) create mode 100644 recipes-apps/iotivity-sensorboard/files/0001-Build-Use-LDFLAGS-variable-from-env-and-add-pthread-.patch diff --git a/recipes-apps/iotivity-sensorboard/files/0001-Build-Use-LDFLAGS-variable-from-env-and-add-pthread-.patch b/recipes-apps/iotivity-sensorboard/files/0001-Build-Use-LDFLAGS-variable-from-env-and-add-pthread-.patch new file mode 100644 index 000..cb3b16d --- /dev/null +++ b/recipes-apps/iotivity-sensorboard/files/0001-Build-Use-LDFLAGS-variable-from-env-and-add-pthread-.patch @@ -0,0 +1,50 @@ +From c6fc833f4ce28c2a811fa1077f5e0975eadc4a23 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Tue, 13 Sep 2016 18:14:07 +0200 +Subject: [PATCH] Build: Use LDFLAGS variable from env and add -pthread flag + +Without this change and error on linkage is displayed : + + ld: observer.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5' + libpthread.so.0: error adding symbols: DSO missing from command line + collect2: error: ld returned 1 exit status + +Also YOCTOLDFLAGS are replaced with regular LDFLAGS, +to use quality check. + +Without this, QA check is failing and this message is reported: + + do_package_qa: QA Issue: No GNU_HASH in the elf binary: + +Change-Id: I2f73b1c09908be38a9053943a894832519312751 +Bug: https://jira.iotivity.org/browse/IOT- +Origin: https://github.com/TizenTeam/meta-oic +Signed-off-by: Philippe Coval +--- + Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index e78b777..5d09cc1 100644 +--- a/Makefile b/Makefile +@@ -1,6 +1,7 @@ + YOCTOCXXFLAGS=-I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/ -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/stack -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/ocrandom -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/logger -I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/iotivity/resource/oc_logger + + YOCTOLDFLAGS=-loc -loctbstack -loc_logger -lmraa ++YOCTOLDFLAGS+=-pthread + + all: sensorboard + +@@ -12,7 +13,7 @@ endif + $(CXX) -std=c++0x -c -o $@ $< $(YOCTOCXXFLAGS) + + sensorboard: server.o observer.o +- $(CXX) -o sensorboard server.o observer.o $(YOCTOLDFLAGS) ++ $(CXX) -o $@ $^ $(LDFLAGS) $(YOCTOLDFLAGS) + + clean: + rm -rf sensorboard *.o +-- +1.9.1 + diff --git a/recipes-apps/iotivity-sensorboard/iotivity-sensorboard_1.0.0.bb b/recipes-apps/iotivity-sensorboard/iotivity-sensorboard_1.0.0.bb index 71518bd..828c81e 100644 --- a/recipes-apps/iotivity-sensorboard/iotivity-sensorboard_1.0.0.bb +++ b/recipes-apps/iotivity-sensorboard/iotivity-sensorboard_1.0.0.bb @@ -7,6 +7,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://server.cpp;beginline=1;endline=19;md5=a692dd0c72bcfa341a4ba826b37caf15" SRC_URI = "file://iotivity-sensorboard.tar.gz \ +file://0001-Build-Use-LDFLAGS-variable-from-env-and-add-pthread-.patch \ " S = "${WORKDIR}/iotivity-sensorboard" -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [meta-oic][PATCH 1/3] iotivity-simple-client: Use regular LDFLAGS variable
This has been tested with iotivity-1.1.1 but also applies to earlier versions. Without this, QA check is failing and this message is reported: do_package_qa: QA Issue: No GNU_HASH in the elf binary: (...) iotivity-simple-client/simpleclient' [ldflags] Change-Id: Ib77c70331b1aaba193bc32bcd190f939d9456dc4 Bug: https://jira.iotivity.org/browse/IOT- Cc: iotivity-...@lists.iotivity.org Cc: yocto@yoctoproject.org Origin: https://github.com/tizenteam/meta-oic Signed-off-by: Philippe Coval --- .../0001-build-Use-LDFLAGS-variable-from-env.patch | 35 ++ .../iotivity-simple-client_1.1.0.bb| 3 +- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 recipes-apps/iotivity-simple-client/files/0001-build-Use-LDFLAGS-variable-from-env.patch diff --git a/recipes-apps/iotivity-simple-client/files/0001-build-Use-LDFLAGS-variable-from-env.patch b/recipes-apps/iotivity-simple-client/files/0001-build-Use-LDFLAGS-variable-from-env.patch new file mode 100644 index 000..e121ddd --- /dev/null +++ b/recipes-apps/iotivity-simple-client/files/0001-build-Use-LDFLAGS-variable-from-env.patch @@ -0,0 +1,35 @@ +From c513e8e44345d7fff2a38ef5ddb108d513a40ae7 Mon Sep 17 00:00:00 2001 +From: Philippe Coval +Date: Tue, 13 Sep 2016 17:14:03 +0200 +Subject: [PATCH] build: Use LDFLAGS variable from env + +Without this, QA check is failing and this message is reported: + + do_package_qa: QA Issue: No GNU_HASH in the elf binary: + (...) + 'iotivity-simple-client/simpleclient' [ldflags] + +Change-Id: Id22e5358f75b46861cf0dfb7b2af267dbe7d7014 +Bug: https://jira.iotivity.org/browse/IOT- +Origin: https://github.com/TizenTeam/meta-oic +Signed-off-by: Philippe Coval +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 9323169..2389f43 100644 +--- a/Makefile b/Makefile +@@ -12,7 +12,7 @@ endif + $(CXX) -std=c++0x -c -o $@ $< $(YOCTOCXXFLAGS) + + simpleclient: simpleclient.o +- $(CXX) -o simpleclient simpleclient.o $(YOCTOLDFLAGS) ++ $(CXX) -o $@ $^ $(LDFLAGS) $(YOCTOLDFLAGS) + + clean: + rm -rf simpleclient *.o +-- +1.9.1 + diff --git a/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb b/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb index a01f58e..caf02f8 100644 --- a/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb +++ b/recipes-apps/iotivity-simple-client/iotivity-simple-client_1.1.0.bb @@ -7,7 +7,8 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://simpleclient.cpp;beginline=1;endline=19;md5=fc5a615cf1dc3880967127bc853b3e0c" SRC_URI = "file://iotivity-simple-client.tar.bz2 \ - " +file://0001-build-Use-LDFLAGS-variable-from-env.patch \ +" S = "${WORKDIR}/iotivity-simple-client" -- 1.9.1 -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH] Update for IoTivity 1.1.1
* Inspired from iotivity_1.1.0.bb. * Tinycobor is updated to v0.2.1. * Unused libs are dropped. * QA checks are disabled to support Yocto jethro base and later, without it packaging task will fail and report this message : ERROR: QA Issue: No GNU_HASH in the elf binary * Security is still not emabled. * Note this version of recipe is using upstream's git repo as source as it's smarter for upstream/downstream cooperation More at: https://wiki.iotivity.org/yocto . Change-Id: Ib6f69c24434615d178ccef15cad96142e2b837aa Cc: iotivity-...@lists.iotivity.org Cc: yocto@yoctoproject.org Credit-to: Kishen Maloor Origin: https://github.com/tizenteam/meta-oic Signed-off-by: Philippe Coval --- recipes-core/iotivity/iotivity_1.1.1.bb | 503 1 file changed, 503 insertions(+) create mode 100644 recipes-core/iotivity/iotivity_1.1.1.bb diff --git a/recipes-core/iotivity/iotivity_1.1.1.bb b/recipes-core/iotivity/iotivity_1.1.1.bb new file mode 100644 index 000..d47046f --- /dev/null +++ b/recipes-core/iotivity/iotivity_1.1.1.bb @@ -0,0 +1,503 @@ +SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." +DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." +HOMEPAGE = "https://www.iotivity.org/"; +DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0" +EXTRANATIVEPATH += "chrpath-native" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=22bf216f3077c279aed7b36b1fa9e6d1" + +SRCREV = "83801cb90a9b96fef2726de72f48deb7180afef6" +TINYCBOR_SRCREV = "358a7e42ab1ed421a68e699d8d8359340bcfacbd" + +SRC_URI = "git://github.com/iotivity/iotivity.git;protocol=http;nobranch=1;destsuffix=${S} \ + https://github.com/01org/tinycbor/archive/${TINYCBOR_SRCREV}.zip;name=tinycbor;destsuffix=${S} \ + https://googletest.googlecode.com/files/gtest-1.7.0.zip;name=gtest \ + http://www.sqlite.org/2015/sqlite-amalgamation-3081101.zip;name=sqlite3 \ + " +SRC_URI[gtest.md5sum] = "2d6ec8ccdf5c46b05ba54a9fd1d130d7" +SRC_URI[gtest.sha256sum] = "247ca18dd83f53deb1328be17e4b1be31514cedfc1e3424f672bf11fd7e0d60d" + +SRC_URI[tinycbor.md5sum] = "906cd113e90515240d62bd185c714cc6" +SRC_URI[tinycbor.sha256sum] = "b5b002f5540e44c995ee57c62604e85c32525b79fb720dceb422265e80aa9cba" + +SRC_URI[sqlite3.md5sum] = "94907e831502e2080b76e281cfa24dde" +SRC_URI[sqlite3.sha256sum] = "a3b0c07d1398d60ae9d21c2cc7f9be6b1bc5b0168cd94c321ede9a0fce2b3cd7" + +inherit scons + +python () { +IOTIVITY_TARGET_ARCH = d.getVar("TARGET_ARCH", True) +EXTRA_OESCONS = "TARGET_OS=yocto TARGET_ARCH=" + IOTIVITY_TARGET_ARCH + " RELEASE=1 WITH_RD=1 ROUTING=GW" +d.setVar("EXTRA_OESCONS", EXTRA_OESCONS) +d.setVar("IOTIVITY_TARGET_ARCH", IOTIVITY_TARGET_ARCH) +} + +IOTIVITY_BIN_DIR = "/opt/iotivity" +IOTIVITY_BIN_DIR_D = "${D}${IOTIVITY_BIN_DIR}" + +do_compile_prepend() { +if [ ! -f "${S}/extlibs/sqlite3/sqlite3.c" ]; then +cp ${WORKDIR}/sqlite-amalgamation-3081101/sqlite3.c ${S}/extlibs/sqlite3 +cp ${WORKDIR}/sqlite-amalgamation-3081101/sqlite3.h ${S}/extlibs/sqlite3 +fi +if [ ! -d "${S}/extlibs/gtest/gtest-1.7.0/" ]; then +cp -rf ${WORKDIR}/gtest-1.7.0 ${S}/extlibs/gtest/ +fi + +if [ ! -d "${S}/extlibs/tinycbor/tinycbor" ] ; then +cp -rf ${WORKDIR}/tinycbor-* ${S}/extlibs/tinycbor/tinycbor +fi + + +export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" +export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config" +} + +make_dir() { +install -d $1 +} + +copy_file() { +install -c -m 444 $1 $2 +} + +copy_exec() { +install -c -m 555 $1 $2 +} + +copy_file_recursive() { +cd $1 && find . -type d -exec install -d $2/"{}" \; +cd $1 && find . -type f -exec install -c -m 444 "{}" $2/"{}" \; +} + +copy_exec_recursive() { +cd $1 && find . -executable -exec install -c -m 555 "{}" $2/"{}" \; +} + +do_install() { +make_dir ${D}${libdir} +#Resource +#C++ APIs +copy_file ${S}/out/yocto/${IOTIVITY_TARGET_ARCH}/release/liboc.so ${D}${libdir} + +#Logger +copy_file ${S}/out/yocto/${IOTIVITY_TARGET_ARCH}/release/liboc_logger.so ${D}${libdir} +copy_file ${S}/out/yocto/${IOTIVITY_TARGET_ARCH}/release/liboc_logger_core.so ${D}${libdir} + +#CSDK Shared +copy_file ${S}/out/yocto/${IOTIVITY_TARGET_ARCH}/release/liboctbstack.so ${D}${libdir} + +#CSDK Static +copy_fi
[yocto] [meta-oic][PATCH] Update for IoTivity 1.1.1
* Inspired from iotivity_1.1.0.bb. * Tinycobor is updated to v0.2.1. * Unused libs are dropped. * QA checks are disabled to support Yocto jethro base and later, without it packaging task will fail and report this message : ERROR: QA Issue: No GNU_HASH in the elf binary * Security is still not emabled. * Note this version of recipe is using upstream's git repo as source as it's smarter for upstream/downstream cooperation More at: https://wiki.iotivity.org/yocto . Change-Id: Ib6f69c24434615d178ccef15cad96142e2b837aa Cc: yocto@yoctoproject.org Forwarded: http://lists.iotivity.org/pipermail/iotivity-dev/2016-August/005213.html Credit-to: Kishen Maloor Origin: https://github.com/tizenteam/meta-oic Signed-off-by: Philippe Coval --- recipes-core/iotivity/iotivity_1.1.1.bb | 503 1 file changed, 503 insertions(+) create mode 100644 recipes-core/iotivity/iotivity_1.1.1.bb diff --git a/recipes-core/iotivity/iotivity_1.1.1.bb b/recipes-core/iotivity/iotivity_1.1.1.bb new file mode 100644 index 000..d47046f --- /dev/null +++ b/recipes-core/iotivity/iotivity_1.1.1.bb @@ -0,0 +1,503 @@ +SUMMARY = "IoTivity framework and SDK sponsored by the Open Connectivity Foundation." +DESCRIPTION = "IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things." +HOMEPAGE = "https://www.iotivity.org/"; +DEPENDS = "boost virtual/gettext chrpath-replacement-native expat openssl util-linux curl glib-2.0" +EXTRANATIVEPATH += "chrpath-native" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=22bf216f3077c279aed7b36b1fa9e6d1" + +SRCREV = "83801cb90a9b96fef2726de72f48deb7180afef6" +TINYCBOR_SRCREV = "358a7e42ab1ed421a68e699d8d8359340bcfacbd" + +SRC_URI = "git://github.com/iotivity/iotivity.git;protocol=http;nobranch=1;destsuffix=${S} \ + https://github.com/01org/tinycbor/archive/${TINYCBOR_SRCREV}.zip;name=tinycbor;destsuffix=${S} \ + https://googletest.googlecode.com/files/gtest-1.7.0.zip;name=gtest \ + http://www.sqlite.org/2015/sqlite-amalgamation-3081101.zip;name=sqlite3 \ + " +SRC_URI[gtest.md5sum] = "2d6ec8ccdf5c46b05ba54a9fd1d130d7" +SRC_URI[gtest.sha256sum] = "247ca18dd83f53deb1328be17e4b1be31514cedfc1e3424f672bf11fd7e0d60d" + +SRC_URI[tinycbor.md5sum] = "906cd113e90515240d62bd185c714cc6" +SRC_URI[tinycbor.sha256sum] = "b5b002f5540e44c995ee57c62604e85c32525b79fb720dceb422265e80aa9cba" + +SRC_URI[sqlite3.md5sum] = "94907e831502e2080b76e281cfa24dde" +SRC_URI[sqlite3.sha256sum] = "a3b0c07d1398d60ae9d21c2cc7f9be6b1bc5b0168cd94c321ede9a0fce2b3cd7" + +inherit scons + +python () { +IOTIVITY_TARGET_ARCH = d.getVar("TARGET_ARCH", True) +EXTRA_OESCONS = "TARGET_OS=yocto TARGET_ARCH=" + IOTIVITY_TARGET_ARCH + " RELEASE=1 WITH_RD=1 ROUTING=GW" +d.setVar("EXTRA_OESCONS", EXTRA_OESCONS) +d.setVar("IOTIVITY_TARGET_ARCH", IOTIVITY_TARGET_ARCH) +} + +IOTIVITY_BIN_DIR = "/opt/iotivity" +IOTIVITY_BIN_DIR_D = "${D}${IOTIVITY_BIN_DIR}" + +do_compile_prepend() { +if [ ! -f "${S}/extlibs/sqlite3/sqlite3.c" ]; then +cp ${WORKDIR}/sqlite-amalgamation-3081101/sqlite3.c ${S}/extlibs/sqlite3 +cp ${WORKDIR}/sqlite-amalgamation-3081101/sqlite3.h ${S}/extlibs/sqlite3 +fi +if [ ! -d "${S}/extlibs/gtest/gtest-1.7.0/" ]; then +cp -rf ${WORKDIR}/gtest-1.7.0 ${S}/extlibs/gtest/ +fi + +if [ ! -d "${S}/extlibs/tinycbor/tinycbor" ] ; then +cp -rf ${WORKDIR}/tinycbor-* ${S}/extlibs/tinycbor/tinycbor +fi + + +export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" +export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config" +} + +make_dir() { +install -d $1 +} + +copy_file() { +install -c -m 444 $1 $2 +} + +copy_exec() { +install -c -m 555 $1 $2 +} + +copy_file_recursive() { +cd $1 && find . -type d -exec install -d $2/"{}" \; +cd $1 && find . -type f -exec install -c -m 444 "{}" $2/"{}" \; +} + +copy_exec_recursive() { +cd $1 && find . -executable -exec install -c -m 555 "{}" $2/"{}" \; +} + +do_install() { +make_dir ${D}${libdir} +#Resource +#C++ APIs +copy_file ${S}/out/yocto/${IOTIVITY_TARGET_ARCH}/release/liboc.so ${D}${libdir} + +#Logger +copy_file ${S}/out/yocto/${IOTIVITY_TARGET_ARCH}/release/liboc_logger.so ${D}${libdir} +copy_file ${S}/out/yocto/${IOTIVITY_TARGET_ARCH}/release/liboc_logger_core.so ${D}${libdir} + +#CSDK Shared +copy_file ${S}/out/yocto/${IOTIVITY_TARGET_ARCH}/release/liboctbstack.so