summaryrefslogtreecommitdiffstats
path: root/external/meta-iot-cloud/recipes-aws
diff options
context:
space:
mode:
Diffstat (limited to 'external/meta-iot-cloud/recipes-aws')
-rw-r--r--external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/aws-iot-device-sdk-cpp_1.3.0.bb96
-rw-r--r--external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Add-C-as-a-build-language.patch110
-rw-r--r--external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Add-build-options-for-tests-and-samples.patch57
-rw-r--r--external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Fix-CLI-includes.patch26
-rw-r--r--external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Packaging-fixes.patch67
-rw-r--r--external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Skip-building-RapidJSON.patch111
-rw-r--r--external/meta-iot-cloud/recipes-aws/python/python-awscli.inc29
-rw-r--r--external/meta-iot-cloud/recipes-aws/python/python-boto3.inc18
-rw-r--r--external/meta-iot-cloud/recipes-aws/python/python-botocore.inc33
-rw-r--r--external/meta-iot-cloud/recipes-aws/python/python-botocore/Allow-python-dateutil-2.8.1.patch36
-rw-r--r--external/meta-iot-cloud/recipes-aws/python/python-gg-group-setup.inc25
-rw-r--r--external/meta-iot-cloud/recipes-aws/python/python-s3transfer.inc10
-rw-r--r--external/meta-iot-cloud/recipes-aws/python/python3-awscli_1.16.278.bb22
-rw-r--r--external/meta-iot-cloud/recipes-aws/python/python3-boto3_1.10.25.bb2
-rw-r--r--external/meta-iot-cloud/recipes-aws/python/python3-botocore_1.13.26.bb2
-rw-r--r--external/meta-iot-cloud/recipes-aws/python/python3-gg-group-setup_0.5.3.bb10
-rw-r--r--external/meta-iot-cloud/recipes-aws/python/python3-s3transfer_0.2.1.bb8
17 files changed, 662 insertions, 0 deletions
diff --git a/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/aws-iot-device-sdk-cpp_1.3.0.bb b/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/aws-iot-device-sdk-cpp_1.3.0.bb
new file mode 100644
index 00000000..726f5c65
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/aws-iot-device-sdk-cpp_1.3.0.bb
@@ -0,0 +1,96 @@
+DESCRIPTION = "SDK for connecting to AWS IoT from a device using C++"
+AUTHOR = "Amazon"
+HOMEPAGE = "https://github.com/aws/aws-iot-device-sdk-cpp"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=218aad61fa604dacf420e699fc7d8679"
+
+DEPENDS = "\
+ rapidjson \
+ openssl \
+"
+
+RDEPENDS_${PN} += "openssl"
+
+RDEPENDS_${PN}-dev += "\
+ rapidjson-dev \
+ openssl-dev \
+"
+
+inherit cmake pkgconfig
+
+SRC_URI = "\
+ git://github.com/aws/${BPN}.git;branch=master \
+ file://Add-C-as-a-build-language.patch \
+ file://Add-build-options-for-tests-and-samples.patch \
+ file://Fix-CLI-includes.patch \
+ file://Packaging-fixes.patch \
+ file://Skip-building-RapidJSON.patch \
+"
+
+SRCREV = "bf20603154eeda78f52d69eaf9c79189f0b603ea"
+
+PACKAGES += "${PN}-samples ${PN}-samples-src"
+
+PR = "r0"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+EXTRA_OECMAKE += "-DTHREADS_PTHREAD_ARG=OFF -DBUILD_SHARED_LIBRARY=ON -DBUILD_SAMPLES=ON -DRapidJSON_DIR=${STAGING_LIBDIR}/cmake/RapidJSON"
+
+do_install_append() {
+ # Includes
+ install -m 0644 ${S}/common/*.hpp ${D}${includedir}/awsiotsdk
+ install -m 0644 ${S}/network/OpenSSL/*.hpp ${D}${includedir}/awsiotsdk
+
+ # Samples
+ install -d ${D}${datadir}/awsiotsdk/samples/cpp
+ install -d ${D}${datadir}/awsiotsdk/samples/cpp/config
+ install -d ${D}${datadir}/awsiotsdk/samples/cpp/certs
+ install -m 0644 ${B}/bin/certs/* ${D}${datadir}/awsiotsdk/samples/cpp/certs/
+ install -m 0644 ${B}/bin/config/SampleConfig.json ${D}${datadir}/awsiotsdk/samples/cpp/config/
+ install -m 0644 ${B}/bin/CliConfig.json ${D}${datadir}/awsiotsdk/samples/cpp/
+ install -m 0755 ${B}/bin/shadow-delta-sample ${D}${datadir}/awsiotsdk/samples/cpp/
+ install -m 0755 ${B}/bin/pub-sub-sample ${D}${datadir}/awsiotsdk/samples/cpp/
+ install -m 0755 ${B}/bin/aws-iot ${D}${datadir}/awsiotsdk/samples/cpp/
+
+ # Samples Source
+ install -d ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/certs
+ install -d ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/config
+ install -d ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/common
+ install -d ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/Discovery
+ install -d ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/PubSub
+ install -d ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/ShadowDelta
+ install -d ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/StoryRobotArm
+ install -d ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/StorySwitch
+ install -m 0644 ${S}/common/*.json ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/config/
+ install -m 0644 ${S}/certs/* ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/certs/
+ install -m 0644 ${S}/common/*.cpp ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/common/
+ install -m 0644 ${S}/samples/Discovery/*.cpp ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/Discovery/
+ install -m 0644 ${S}/samples/Discovery/*.hpp ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/Discovery/
+ install -m 0644 ${S}/samples/PubSub/*.cpp ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/PubSub/
+ install -m 0644 ${S}/samples/PubSub/*.hpp ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/PubSub/
+ install -m 0644 ${S}/samples/ShadowDelta/*.cpp ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/ShadowDelta/
+ install -m 0644 ${S}/samples/ShadowDelta/*.hpp ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/ShadowDelta/
+ install -m 0644 ${S}/samples/StoryRobotArm/*.cpp ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/StoryRobotArm/
+ install -m 0644 ${S}/samples/StoryRobotArm/*.hpp ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/StoryRobotArm/
+ install -m 0644 ${S}/samples/StorySwitch/*.cpp ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/StorySwitch/
+ install -m 0644 ${S}/samples/StorySwitch/*.hpp ${D}${exec_prefix}/src/awsiotsdk/samples/cpp/StorySwitch/
+}
+
+FILES_${PN}-dbg += "\
+ ${exec_prefix}/src/debug \
+ ${datadir}/awsiotsdk/samples/cpp/.debug \
+"
+
+FILES_${PN}-samples = "\
+ ${datadir}/awsiotsdk/samples/cpp \
+"
+
+FILES_${PN}-samples-src = "\
+ ${exec_prefix}/src/awsiotsdk/samples/cpp \
+"
+
+INSANE_SKIP_${PN}-samples += "rpaths"
+
+RRECOMMENDS_aws-iot-device-sdk-cpp-dev[nodeprrecs] = "1"
diff --git a/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Add-C-as-a-build-language.patch b/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Add-C-as-a-build-language.patch
new file mode 100644
index 00000000..7cf150f6
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Add-C-as-a-build-language.patch
@@ -0,0 +1,110 @@
+From ec1e8828ce3067d6902c04a75952a3535292040c Mon Sep 17 00:00:00 2001
+From: Scott Ware <scott.r.ware@intel.com>
+Date: Fri, 8 Dec 2017 10:41:10 +0000
+Subject: [PATCH 1/5] Add C as a build language
+
+Signed-off-by: Scott Ware <scott.r.ware@intel.com>
+---
+ CMakeLists.txt | 2 +-
+ cli/CMakeLists.txt | 2 +-
+ samples/Discovery/CMakeLists.txt | 2 +-
+ samples/PubSub/CMakeLists.txt | 2 +-
+ samples/ShadowDelta/CMakeLists.txt | 2 +-
+ samples/StoryRobotArm/CMakeLists.txt | 4 ++--
+ samples/StorySwitch/CMakeLists.txt | 4 ++--
+ 7 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ad8a4e1..9df255f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
+-project(aws-iot-sdk-cpp CXX)
++project(aws-iot-sdk-cpp C CXX)
+ option(BUILD_SHARED_LIBRARY "Build the library as a shared object, will build it as a static library otherwise" NO)
+
+ ######################################
+diff --git a/cli/CMakeLists.txt b/cli/CMakeLists.txt
+index da4f25d..dfa5040 100644
+--- a/cli/CMakeLists.txt
++++ b/cli/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
+-project(aws-iot-cli CXX)
++project(aws-iot-cli C CXX)
+
+ ######################################
+ # Section : Disable in-source builds #
+diff --git a/samples/Discovery/CMakeLists.txt b/samples/Discovery/CMakeLists.txt
+index 8df8d35..3147841 100644
+--- a/samples/Discovery/CMakeLists.txt
++++ b/samples/Discovery/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
+-project(aws-iot-cpp-samples CXX)
++project(aws-iot-cpp-samples C CXX)
+
+ ######################################
+ # Section : Disable in-source builds #
+diff --git a/samples/PubSub/CMakeLists.txt b/samples/PubSub/CMakeLists.txt
+index 62ffd05..33531d0 100644
+--- a/samples/PubSub/CMakeLists.txt
++++ b/samples/PubSub/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
+-project(aws-iot-cpp-samples CXX)
++project(aws-iot-cpp-samples C CXX)
+
+ ######################################
+ # Section : Disable in-source builds #
+diff --git a/samples/ShadowDelta/CMakeLists.txt b/samples/ShadowDelta/CMakeLists.txt
+index 98aa3b9..1ebabed 100644
+--- a/samples/ShadowDelta/CMakeLists.txt
++++ b/samples/ShadowDelta/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
+-project(aws-iot-cpp-samples CXX)
++project(aws-iot-cpp-samples C CXX)
+
+ ######################################
+ # Section : Disable in-source builds #
+diff --git a/samples/StoryRobotArm/CMakeLists.txt b/samples/StoryRobotArm/CMakeLists.txt
+index 215df18..13dd16f 100644
+--- a/samples/StoryRobotArm/CMakeLists.txt
++++ b/samples/StoryRobotArm/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
+-project(aws-iot-cpp-samples CXX)
++project(aws-iot-cpp-samples C CXX)
+
+ ######################################
+ # Section : Disable in-source builds #
+@@ -84,4 +84,4 @@ endif ()
+ #########################
+
+ set(NETWORK_WRAPPER_DEST_TARGET ${ROBOT_ARM_SAMPLE_TARGET_NAME})
+-include(${PROJECT_SOURCE_DIR}/../../network/CMakeLists.txt.in)
+\ No newline at end of file
++include(${PROJECT_SOURCE_DIR}/../../network/CMakeLists.txt.in)
+diff --git a/samples/StorySwitch/CMakeLists.txt b/samples/StorySwitch/CMakeLists.txt
+index e612567..0096bad 100644
+--- a/samples/StorySwitch/CMakeLists.txt
++++ b/samples/StorySwitch/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
+-project(aws-iot-cpp-samples CXX)
++project(aws-iot-cpp-samples C CXX)
+
+ ######################################
+ # Section : Disable in-source builds #
+@@ -84,4 +84,4 @@ endif ()
+ #########################
+
+ set(NETWORK_WRAPPER_DEST_TARGET ${SWITCH_SAMPLE_TARGET_NAME})
+-include(${PROJECT_SOURCE_DIR}/../../network/CMakeLists.txt.in)
+\ No newline at end of file
++include(${PROJECT_SOURCE_DIR}/../../network/CMakeLists.txt.in)
+--
+1.9.1
+
diff --git a/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Add-build-options-for-tests-and-samples.patch b/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Add-build-options-for-tests-and-samples.patch
new file mode 100644
index 00000000..59f61891
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Add-build-options-for-tests-and-samples.patch
@@ -0,0 +1,57 @@
+From b14988149080ab9d5f1883c1e881b548be1cd7aa Mon Sep 17 00:00:00 2001
+From: Scott Ware <scott.r.ware@intel.com>
+Date: Fri, 8 Dec 2017 10:44:46 +0000
+Subject: [PATCH 2/5] Add build options for tests and samples
+
+Signed-off-by: Scott Ware <scott.r.ware@intel.com>
+---
+ CMakeLists.txt | 25 +++++++++++++------------
+ 1 file changed, 13 insertions(+), 12 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9df255f..cb0ad9d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,6 +11,8 @@ if(${PROJECT_SOURCE_DIR} STREQUAL ${PROJECT_BINARY_DIR})
+ endif()
+
+ option(BUILD_DOCS "Create HTML based API documentation (requires Doxygen)" OFF)
++option(BUILD_SAMPLES "Build samples" OFF)
++option(RUN_TESTS "Run unit and integration tests" OFF)
+
+ ########################################
+ # Section : Common SDK Build setttings #
+@@ -155,19 +157,18 @@ if(UNIX)
+ add_subdirectory(cli)
+ endif()
+
+-add_subdirectory(tests/integration)
+-
+-add_subdirectory(tests/unit)
+-
+-add_subdirectory(samples/PubSub)
+-
+-add_subdirectory(samples/ShadowDelta)
+-
+-add_subdirectory(samples/Discovery EXCLUDE_FROM_ALL)
+-
+-add_subdirectory(samples/StoryRobotArm EXCLUDE_FROM_ALL)
++if(RUN_TESTS)
++ add_subdirectory(tests/integration)
++ add_subdirectory(tests/unit)
++endif()
+
+-add_subdirectory(samples/StorySwitch EXCLUDE_FROM_ALL)
++if(BUILD_SAMPLES)
++ add_subdirectory(samples/PubSub)
++ add_subdirectory(samples/ShadowDelta)
++ add_subdirectory(samples/Discovery EXCLUDE_FROM_ALL)
++ add_subdirectory(samples/StoryRobotArm EXCLUDE_FROM_ALL)
++ add_subdirectory(samples/StorySwitch EXCLUDE_FROM_ALL)
++endif()
+
+ ##################################
+ # Section: Define Install Target #
+--
+1.9.1
+
diff --git a/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Fix-CLI-includes.patch b/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Fix-CLI-includes.patch
new file mode 100644
index 00000000..8605f6d0
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Fix-CLI-includes.patch
@@ -0,0 +1,26 @@
+From 96f31a4d9b0c5ba156dfb6263f8bed3b12884c8a Mon Sep 17 00:00:00 2001
+From: Scott Ware <scott.r.ware@intel.com>
+Date: Fri, 8 Dec 2017 10:45:45 +0000
+Subject: [PATCH 3/5] Fix CLI includes
+
+Signed-off-by: Scott Ware <scott.r.ware@intel.com>
+---
+ cli/cli.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cli/cli.hpp b/cli/cli.hpp
+index 4f3634c..f0f1ee2 100644
+--- a/cli/cli.hpp
++++ b/cli/cli.hpp
+@@ -26,7 +26,7 @@
+ #include <direct.h>
+ #define getcwd _getcwd // avoid MSFT "deprecation" warning
+ #else
+-#include <limits>
++#include <linux/limits.h>
+ #define MAX_PATH_LENGTH_ PATH_MAX
+ #endif
+
+--
+1.9.1
+
diff --git a/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Packaging-fixes.patch b/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Packaging-fixes.patch
new file mode 100644
index 00000000..32c880e6
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Packaging-fixes.patch
@@ -0,0 +1,67 @@
+From 3db20a53f35f9d0413c312b46815f6b16fe0afa4 Mon Sep 17 00:00:00 2001
+From: Scott Ware <scott.r.ware@intel.com>
+Date: Fri, 8 Dec 2017 10:52:20 +0000
+Subject: [PATCH 4/5] Packaging fixes
+
+Signed-off-by: Scott Ware <scott.r.ware@intel.com>
+---
+ CMakeLists.txt | 12 ++++++++----
+ awsiotsdk-cpp.pc.in | 11 +++++++++++
+ 2 files changed, 19 insertions(+), 4 deletions(-)
+ create mode 100644 awsiotsdk-cpp.pc.in
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cb0ad9d..fa98c30 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,7 +1,9 @@
+ cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
+-project(aws-iot-sdk-cpp C CXX)
++project(aws-iot-sdk-cpp VERSION 1.3.0 LANGUAGES C CXX)
+ option(BUILD_SHARED_LIBRARY "Build the library as a shared object, will build it as a static library otherwise" NO)
+
++include(GNUInstallDirs)
++
+ ######################################
+ # Section : Disable in-source builds #
+ ######################################
+@@ -51,7 +53,7 @@ add_definitions(-DSDK_VERSION_STRING="1.3.0")
+ set(SDK_TARGET_NAME aws-iot-sdk-cpp)
+ if (BUILD_SHARED_LIBRARY)
+ add_library(${SDK_TARGET_NAME} SHARED "")
+- set_target_properties(${SDK_TARGET_NAME} PROPERTIES SUFFIX ".so")
++ set_target_properties(${SDK_TARGET_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR} VERSION ${PROJECT_VERSION})
+ else()
+ add_library(${SDK_TARGET_NAME} "")
+ endif()
+@@ -174,6 +176,8 @@ endif()
+ # Section: Define Install Target #
+ ##################################
+ if(NOT MSVC)
+- install(TARGETS aws-iot-sdk-cpp DESTINATION lib)
+- install(DIRECTORY include/ DESTINATION include)
++ install(TARGETS aws-iot-sdk-cpp DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/awsiotsdk)
++ configure_file (awsiotsdk-cpp.pc.in ${CMAKE_CURRENT_BINARY_DIR}/awsiotsdk-cpp.pc @ONLY)
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/awsiotsdk-cpp.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ endif()
+diff --git a/awsiotsdk-cpp.pc.in b/awsiotsdk-cpp.pc.in
+new file mode 100644
+index 0000000..0828942
+--- /dev/null
++++ b/awsiotsdk-cpp.pc.in
+@@ -0,0 +1,11 @@
++prefix=@CMAKE_INSTALL_PREFIX@
++exec_prefix=@CMAKE_INSTALL_PREFIX@
++libdir=@CMAKE_INSTALL_LIBDIR@
++includedir=@CMAKE_INSTALL_INCLUDEDIR@/awsiotsdk
++
++Name: awsiotsdk-cpp
++Description: SDK for connecting to AWS IoT from a device using C++
++Version: @PROJECT_VERSION@
++
++Libs: -L${libdir} -laws-iot-sdk-cpp
++Cflags: -I${includedir}
+--
+1.9.1
+
diff --git a/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Skip-building-RapidJSON.patch b/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Skip-building-RapidJSON.patch
new file mode 100644
index 00000000..699f2be8
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/aws-iot-device-sdk-cpp/files/Skip-building-RapidJSON.patch
@@ -0,0 +1,111 @@
+From 589e2395d189209aa509c31b844dd3a34b907b55 Mon Sep 17 00:00:00 2001
+From: Scott Ware <scott.r.ware@intel.com>
+Date: Fri, 8 Dec 2017 10:55:57 +0000
+Subject: [PATCH 5/5] Skip building RapidJSON
+
+Signed-off-by: Scott Ware <scott.r.ware@intel.com>
+---
+ CMakeLists.txt | 9 ++-------
+ cli/CMakeLists.txt | 1 -
+ samples/Discovery/CMakeLists.txt | 1 -
+ samples/PubSub/CMakeLists.txt | 1 -
+ samples/ShadowDelta/CMakeLists.txt | 1 -
+ samples/StoryRobotArm/CMakeLists.txt | 1 -
+ samples/StorySwitch/CMakeLists.txt | 1 -
+ 7 files changed, 2 insertions(+), 13 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fa98c30..128cb46 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -58,13 +58,8 @@ else()
+ add_library(${SDK_TARGET_NAME} "")
+ endif()
+
+-# Download and include rapidjson, not optional
+-configure_file(CMakeLists-rapidjson.txt.in ${CMAKE_BINARY_DIR}/${DEPENDENCY_DIR}/rapidjson/download/CMakeLists.txt)
+-execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${DEPENDENCY_DIR}/rapidjson/download)
+-execute_process(COMMAND ${CMAKE_COMMAND} --build .
+- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${DEPENDENCY_DIR}/rapidjson/download)
+-target_include_directories(${SDK_TARGET_NAME} PRIVATE ${CMAKE_BINARY_DIR}/${DEPENDENCY_DIR}/rapidjson/src/include)
++# Include rapidjson, not optional
++find_package(RapidJSON REQUIRED)
+
+ # Download sanitizers, optional
+ if (SANITIZE_THREAD OR SANITIZE_ADDRESS OR SANITIZE_MEMORY OR SANITIZE_UNDEFINED)
+diff --git a/cli/CMakeLists.txt b/cli/CMakeLists.txt
+index dfa5040..d8c4308 100644
+--- a/cli/CMakeLists.txt
++++ b/cli/CMakeLists.txt
+@@ -48,7 +48,6 @@ target_include_directories(${CLI_TARGET_NAME} PUBLIC ${PROJECT_SOURCE_DIR}/../cl
+ find_package(Threads REQUIRED)
+
+ # Add SDK includes
+-target_include_directories(${CLI_TARGET_NAME} PUBLIC ${CMAKE_BINARY_DIR}/third_party/rapidjson/src/include)
+ target_include_directories(${CLI_TARGET_NAME} PUBLIC ${PROJECT_SOURCE_DIR}/../include)
+
+ target_link_libraries(${CLI_TARGET_NAME} PUBLIC "Threads::Threads")
+diff --git a/samples/Discovery/CMakeLists.txt b/samples/Discovery/CMakeLists.txt
+index 3147841..cbeac4a 100644
+--- a/samples/Discovery/CMakeLists.txt
++++ b/samples/Discovery/CMakeLists.txt
+@@ -52,7 +52,6 @@ target_include_directories(${DISCOVERY_SAMPLE_TARGET_NAME} PUBLIC ${PROJECT_SOUR
+ find_package(Threads REQUIRED)
+
+ # Add SDK includes
+-target_include_directories(${DISCOVERY_SAMPLE_TARGET_NAME} PUBLIC ${CMAKE_BINARY_DIR}/${DEPENDENCY_DIR}/rapidjson/src/include)
+ target_include_directories(${DISCOVERY_SAMPLE_TARGET_NAME} PUBLIC ${PROJECT_SOURCE_DIR}/../../include)
+
+ target_link_libraries(${DISCOVERY_SAMPLE_TARGET_NAME} PUBLIC "Threads::Threads")
+diff --git a/samples/PubSub/CMakeLists.txt b/samples/PubSub/CMakeLists.txt
+index 33531d0..8a806b1 100644
+--- a/samples/PubSub/CMakeLists.txt
++++ b/samples/PubSub/CMakeLists.txt
+@@ -47,7 +47,6 @@ target_include_directories(${PUB_SUB_SAMPLE_TARGET_NAME} PUBLIC ${PROJECT_SOURCE
+ find_package(Threads REQUIRED)
+
+ # Add SDK includes
+-target_include_directories(${PUB_SUB_SAMPLE_TARGET_NAME} PUBLIC ${CMAKE_BINARY_DIR}/${DEPENDENCY_DIR}/rapidjson/src/include)
+ target_include_directories(${PUB_SUB_SAMPLE_TARGET_NAME} PUBLIC ${PROJECT_SOURCE_DIR}/../../include)
+
+ target_link_libraries(${PUB_SUB_SAMPLE_TARGET_NAME} PUBLIC "Threads::Threads")
+diff --git a/samples/ShadowDelta/CMakeLists.txt b/samples/ShadowDelta/CMakeLists.txt
+index 1ebabed..7b941b3 100644
+--- a/samples/ShadowDelta/CMakeLists.txt
++++ b/samples/ShadowDelta/CMakeLists.txt
+@@ -47,7 +47,6 @@ target_include_directories(${SHADOW_DELTA_SAMPLE_TARGET_NAME} PUBLIC ${PROJECT_S
+ find_package(Threads REQUIRED)
+
+ # Add SDK includes
+-target_include_directories(${SHADOW_DELTA_SAMPLE_TARGET_NAME} PUBLIC ${CMAKE_BINARY_DIR}/${DEPENDENCY_DIR}/rapidjson/src/include)
+ target_include_directories(${SHADOW_DELTA_SAMPLE_TARGET_NAME} PUBLIC ${PROJECT_SOURCE_DIR}/../../include)
+
+ target_link_libraries(${SHADOW_DELTA_SAMPLE_TARGET_NAME} PUBLIC "Threads::Threads")
+diff --git a/samples/StoryRobotArm/CMakeLists.txt b/samples/StoryRobotArm/CMakeLists.txt
+index 13dd16f..ee9d6a5 100644
+--- a/samples/StoryRobotArm/CMakeLists.txt
++++ b/samples/StoryRobotArm/CMakeLists.txt
+@@ -52,7 +52,6 @@ target_include_directories(${ROBOT_ARM_SAMPLE_TARGET_NAME} PUBLIC ${PROJECT_SOUR
+ find_package(Threads REQUIRED)
+
+ # Add SDK includes
+-target_include_directories(${ROBOT_ARM_SAMPLE_TARGET_NAME} PUBLIC ${CMAKE_BINARY_DIR}/${DEPENDENCY_DIR}/rapidjson/src/include)
+ target_include_directories(${ROBOT_ARM_SAMPLE_TARGET_NAME} PUBLIC ${PROJECT_SOURCE_DIR}/../../include)
+
+ target_link_libraries(${ROBOT_ARM_SAMPLE_TARGET_NAME} PUBLIC "Threads::Threads")
+diff --git a/samples/StorySwitch/CMakeLists.txt b/samples/StorySwitch/CMakeLists.txt
+index 0096bad..2613c20 100644
+--- a/samples/StorySwitch/CMakeLists.txt
++++ b/samples/StorySwitch/CMakeLists.txt
+@@ -52,7 +52,6 @@ target_include_directories(${SWITCH_SAMPLE_TARGET_NAME} PUBLIC ${PROJECT_SOURCE_
+ find_package(Threads REQUIRED)
+
+ # Add SDK includes
+-target_include_directories(${SWITCH_SAMPLE_TARGET_NAME} PUBLIC ${CMAKE_BINARY_DIR}/${DEPENDENCY_DIR}/rapidjson/src/include)
+ target_include_directories(${SWITCH_SAMPLE_TARGET_NAME} PUBLIC ${PROJECT_SOURCE_DIR}/../../include)
+
+ target_link_libraries(${SWITCH_SAMPLE_TARGET_NAME} PUBLIC "Threads::Threads")
+--
+1.9.1
+
diff --git a/external/meta-iot-cloud/recipes-aws/python/python-awscli.inc b/external/meta-iot-cloud/recipes-aws/python/python-awscli.inc
new file mode 100644
index 00000000..d882092b
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/python/python-awscli.inc
@@ -0,0 +1,29 @@
+DESCRIPTION = "This package provides a unified command line interface to Amazon Web Services."
+HOMEPAGE = "https://github.com/aws/aws-cli"
+AUTHOR = "Amazon Web Services"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=71a3e14f29ac5c23e1b5b934ca4ddfc9"
+
+RDEPENDS_${PN} += "\
+ groff \
+ less \
+ ${PYTHON_PN}-botocore \
+ ${PYTHON_PN}-colorama \
+ ${PYTHON_PN}-ctypes \
+ ${PYTHON_PN}-difflib \
+ ${PYTHON_PN}-docutils \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-pyyaml \
+ ${PYTHON_PN}-rsa \
+ ${PYTHON_PN}-s3transfer \
+ ${PYTHON_PN}-unixadmin \
+"
+
+PR = "r0"
+
+SRC_NAME = "aws-cli"
+
+SRC_URI = "git://github.com/aws/${SRC_NAME}.git"
+SRCREV = "59338c88372e5e15b57b438061d007dfeb0fbc3f"
+
+S = "${WORKDIR}/git"
diff --git a/external/meta-iot-cloud/recipes-aws/python/python-boto3.inc b/external/meta-iot-cloud/recipes-aws/python/python-boto3.inc
new file mode 100644
index 00000000..a3eafbe2
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/python/python-boto3.inc
@@ -0,0 +1,18 @@
+DESCRIPTION = "The AWS SDK for Python"
+HOMEPAGE = "https://aws.amazon.com/sdk-for-python/"
+AUTHOR = "Amazon Web Services"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
+
+SRC_URI[md5sum] = "a18e37ff05d0dd0a59e43e7bcfd79469"
+SRC_URI[sha256sum] = "b9c930982891229fe32c670c940835e4d5afcb52f60a5e512de8e5cba409900b"
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-botocore \
+ ${PYTHON_PN}-jmespath \
+ ${PYTHON_PN}-s3transfer \
+"
+
+inherit pypi
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-iot-cloud/recipes-aws/python/python-botocore.inc b/external/meta-iot-cloud/recipes-aws/python/python-botocore.inc
new file mode 100644
index 00000000..38b5081e
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/python/python-botocore.inc
@@ -0,0 +1,33 @@
+DESCRIPTION = "Low-level, data-driven core of boto 3."
+HOMEPAGE = "https://github.com/boto/botocore"
+AUTHOR = "Amazon Web Services"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
+
+SRC_URI[md5sum] = "c7cb165153055aa16168dd3700adb032"
+SRC_URI[sha256sum] = "ee55ce128056c5120680d25c8e8dfa3a08dbe7ac3445dc16997daaa68ae4060e"
+
+inherit pypi
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-botocore:"
+
+SRC_URI += "\
+ file://Allow-python-dateutil-2.8.1.patch \
+"
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-jmespath \
+ ${PYTHON_PN}-dateutil \
+ ${PYTHON_PN}-docutils \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-email \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-html \
+ ${PYTHON_PN}-urllib3 \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-unixadmin \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-iot-cloud/recipes-aws/python/python-botocore/Allow-python-dateutil-2.8.1.patch b/external/meta-iot-cloud/recipes-aws/python/python-botocore/Allow-python-dateutil-2.8.1.patch
new file mode 100644
index 00000000..3ab6e915
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/python/python-botocore/Allow-python-dateutil-2.8.1.patch
@@ -0,0 +1,36 @@
+From d6c1ab03920d553c6022016dba3a5816c2390043 Mon Sep 17 00:00:00 2001
+From: Alex Kiernan <alex.kiernan@gmail.com>
+Date: Sat, 23 Nov 2019 05:44:58 +0000
+Subject: [PATCH] setup: Allow python-dateutil 2.8.1
+
+Upstream-Status: Inappropriate [https://github.com/boto/botocore/issues/1872#issuecomment-549612354]
+---
+ botocore.egg-info/requires.txt | 2 +-
+ setup.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/botocore.egg-info/requires.txt b/botocore.egg-info/requires.txt
+index a1eadc8d0abc..5080ea4500f0 100644
+--- a/botocore.egg-info/requires.txt
++++ b/botocore.egg-info/requires.txt
+@@ -1,6 +1,6 @@
+ jmespath<1.0.0,>=0.7.1
+ docutils<0.16,>=0.10
+-python-dateutil<2.8.1,>=2.1
++python-dateutil<=2.8.1,>=2.1
+ urllib3<1.26,>=1.20
+
+ [:python_version=="2.6"]
+diff --git a/setup.py b/setup.py
+index c62ab875fc1a..a4bfd3d04892 100644
+--- a/setup.py
++++ b/setup.py
+@@ -40,7 +40,7 @@ if sys.version_info[:2] == (2, 6):
+ requires.append('simplejson==3.3.0')
+ requires.append('python-dateutil>=2.1,<2.7.0')
+ else:
+- requires.append('python-dateutil>=2.1,<2.8.1')
++ requires.append('python-dateutil>=2.1,<=2.8.1')
+
+ if sys.version_info[:2] == (2, 6):
+ requires.append('urllib3>=1.20,<1.24')
diff --git a/external/meta-iot-cloud/recipes-aws/python/python-gg-group-setup.inc b/external/meta-iot-cloud/recipes-aws/python/python-gg-group-setup.inc
new file mode 100644
index 00000000..03132d1b
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/python/python-gg-group-setup.inc
@@ -0,0 +1,25 @@
+SUMMARY = "A file-driven approach to the creation of an entire AWS Greengrass group"
+AUTHOR = "Brett Francis <brettf@amazon.com>"
+HOMEPAGE = "https://github.com/awslabs/aws-greengrass-group-setup"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+PYPI_PACKAGE = "gg_group_setup"
+
+SRC_URI[md5sum] = "afc38bf424421634bea65fe32f2a32dd"
+SRC_URI[sha256sum] = "5d68dc5007a1bf24e8d1415db93e4f2b4dde42ffd98b868778bb3f6522d4d89d"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-setuptools \
+ ${PYTHON_PN}-boto3 \
+ ${PYTHON_PN}-fire \
+ ${PYTHON_PN}-misc \
+"
+
+do_configure_prepend() {
+ sed -i \
+ -e 's:from gg_group_setup import __version__:__version__ = "${PV}":' \
+ ${S}/setup.py
+}
+
+inherit pypi
diff --git a/external/meta-iot-cloud/recipes-aws/python/python-s3transfer.inc b/external/meta-iot-cloud/recipes-aws/python/python-s3transfer.inc
new file mode 100644
index 00000000..ebd9c404
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/python/python-s3transfer.inc
@@ -0,0 +1,10 @@
+DESCRIPTION = "An Amazon S3 Transfer Manager"
+HOMEPAGE = "https://github.com/boto/s3transfer/"
+AUTHOR = "Amazon Web Services"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b1e01b26bacfc2232046c90a330332b3"
+
+SRC_URI[md5sum] = "8ca74015d9dc58af26c68276a8867eca"
+SRC_URI[sha256sum] = "6efc926738a3cd576c2a79725fed9afde92378aa5c6a957e3af010cb019fac9d"
+
+inherit pypi
diff --git a/external/meta-iot-cloud/recipes-aws/python/python3-awscli_1.16.278.bb b/external/meta-iot-cloud/recipes-aws/python/python3-awscli_1.16.278.bb
new file mode 100644
index 00000000..b3942614
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/python/python3-awscli_1.16.278.bb
@@ -0,0 +1,22 @@
+inherit setuptools3 update-alternatives
+require python-awscli.inc
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-asyncio \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-threading \
+"
+
+do_install_append() {
+ sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' ${D}${bindir}/aws
+}
+
+ALTERNATIVE_${PN} = "\
+ aws \
+ aws_completer \
+"
+
+ALTERNATIVE_LINK_NAME[aws] = "${bindir}/aws"
+ALTERNATIVE_LINK_NAME[aws_completer] = "${bindir}/aws_completer"
+
+ALTERNATIVE_PRIORITY = "30"
diff --git a/external/meta-iot-cloud/recipes-aws/python/python3-boto3_1.10.25.bb b/external/meta-iot-cloud/recipes-aws/python/python3-boto3_1.10.25.bb
new file mode 100644
index 00000000..be16373c
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/python/python3-boto3_1.10.25.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-boto3.inc
diff --git a/external/meta-iot-cloud/recipes-aws/python/python3-botocore_1.13.26.bb b/external/meta-iot-cloud/recipes-aws/python/python3-botocore_1.13.26.bb
new file mode 100644
index 00000000..82c9d387
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/python/python3-botocore_1.13.26.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-botocore.inc
diff --git a/external/meta-iot-cloud/recipes-aws/python/python3-gg-group-setup_0.5.3.bb b/external/meta-iot-cloud/recipes-aws/python/python3-gg-group-setup_0.5.3.bb
new file mode 100644
index 00000000..f26a4987
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/python/python3-gg-group-setup_0.5.3.bb
@@ -0,0 +1,10 @@
+inherit setuptools3 update-alternatives
+require python-gg-group-setup.inc
+
+ALTERNATIVE_${PN} = "\
+ gg_group_setup \
+"
+
+ALTERNATIVE_LINK_NAME[gg_group_setup] = "${bindir}/gg_group_setup"
+
+ALTERNATIVE_PRIORITY = "30"
diff --git a/external/meta-iot-cloud/recipes-aws/python/python3-s3transfer_0.2.1.bb b/external/meta-iot-cloud/recipes-aws/python/python3-s3transfer_0.2.1.bb
new file mode 100644
index 00000000..d74a5916
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-aws/python/python3-s3transfer_0.2.1.bb
@@ -0,0 +1,8 @@
+inherit setuptools3
+require python-s3transfer.inc
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-multiprocessing \
+"
+
+BBCLASSEXTEND = "native nativesdk"