diff options
Diffstat (limited to 'external/meta-iot-cloud/recipes-aws')
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" |