diff options
| author | wonjong.lee <wonjong.lee@windriver.com> | 2020-08-10 19:02:31 +0900 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2020-08-10 11:04:21 -0700 |
| commit | 02608610043b200764b7ec743acfe3af71a7024d (patch) | |
| tree | 04990929f7b4731551fd752102beaba0083e74c1 | |
| parent | b3d6f4f85f0c0b27aa12bcbe6c981f78706a716a (diff) | |
| download | meta-openembedded-02608610043b200764b7ec743acfe3af71a7024d.tar.gz | |
minifi: Add recipe for c++ version
MiNiFi--a subproject of Apache NiFi--is a complementary data
collection approach that supplements the core tenets of NiFi
in dataflow management, focusing on the collection of data at
the source of its creation. The C++ implementation is an
additional implementation to the one in Java with the aim of
an even smaller resource footprint.
Signed-off-by: wonjong.lee <wonjong.lee@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
11 files changed, 380 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-avoid-BSWAP-assembly-for-ARM-v6.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-avoid-BSWAP-assembly-for-ARM-v6.patch new file mode 100644 index 0000000000..d0febfd534 --- /dev/null +++ b/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-avoid-BSWAP-assembly-for-ARM-v6.patch | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | diff -urN -x .git orig/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch patched/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch | ||
| 2 | --- orig/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch 1970-01-01 09:00:00.000000000 +0900 | ||
| 3 | +++ patched/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch 2020-08-07 23:14:46.196764271 +0900 | ||
| 4 | @@ -0,0 +1,30 @@ | ||
| 5 | +This patch was imported from the libressl potable. | ||
| 6 | +https://github.com/libressl-portable/portable/commit/a9332ccecfce63bf54924e70c11f420edd3ae312 | ||
| 7 | + | ||
| 8 | +From a9332ccecfce63bf54924e70c11f420edd3ae312 Mon Sep 17 00:00:00 2001 | ||
| 9 | +From: Brent Cook <bcook@openbsd.org> | ||
| 10 | +Date: Sun, 17 Jul 2016 18:12:23 -0500 | ||
| 11 | +Subject: [PATCH] avoid BSWAP assembly for ARM <= v6 | ||
| 12 | + | ||
| 13 | +diff -urN orig/crypto/modes/modes_lcl.h patched/crypto/modes/modes_lcl.h | ||
| 14 | +--- orig/crypto/modes/modes_lcl.h 2018-11-18 21:27:10.000000000 +0900 | ||
| 15 | ++++ patched/crypto/modes/modes_lcl.h 2020-08-07 23:11:01.960764745 +0900 | ||
| 16 | +@@ -45,14 +45,16 @@ | ||
| 17 | + asm ("bswapl %0" \ | ||
| 18 | + : "+r"(ret)); ret; }) | ||
| 19 | + # elif (defined(__arm__) || defined(__arm)) && !defined(__STRICT_ALIGNMENT) | ||
| 20 | +-# define BSWAP8(x) ({ u32 lo=(u64)(x)>>32,hi=(x); \ | ||
| 21 | ++# if (__ARM_ARCH >= 6) | ||
| 22 | ++# define BSWAP8(x) ({ u32 lo=(u64)(x)>>32,hi=(x); \ | ||
| 23 | + asm ("rev %0,%0; rev %1,%1" \ | ||
| 24 | + : "+r"(hi),"+r"(lo)); \ | ||
| 25 | + (u64)hi<<32|lo; }) | ||
| 26 | +-# define BSWAP4(x) ({ u32 ret; \ | ||
| 27 | ++# define BSWAP4(x) ({ u32 ret; \ | ||
| 28 | + asm ("rev %0,%1" \ | ||
| 29 | + : "=r"(ret) : "r"((u32)(x))); \ | ||
| 30 | + ret; }) | ||
| 31 | ++# endif | ||
| 32 | + # endif | ||
| 33 | + #endif | ||
| 34 | + #endif | ||
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-compile.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-compile.patch new file mode 100644 index 0000000000..84b8c8cb0e --- /dev/null +++ b/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-compile.patch | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | diff -urN -x .git orig/cmake/LibreSSL.cmake patched/cmake/LibreSSL.cmake | ||
| 2 | --- orig/cmake/LibreSSL.cmake 2020-08-07 21:58:34.660773928 +0900 | ||
| 3 | +++ patched/cmake/LibreSSL.cmake 2020-08-07 22:51:18.620767245 +0900 | ||
| 4 | @@ -18,6 +18,9 @@ | ||
| 5 | function(use_libre_ssl SOURCE_DIR BINARY_DIR) | ||
| 6 | message("Using bundled LibreSSL from release") | ||
| 7 | |||
| 8 | + find_package(Patch REQUIRED) | ||
| 9 | + set(PATCH "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch") | ||
| 10 | + | ||
| 11 | set(BYPRODUCT_PREFIX "lib" CACHE STRING "" FORCE) | ||
| 12 | set(BYPRODUCT_SUFFIX ".a" CACHE STRING "" FORCE) | ||
| 13 | |||
| 14 | @@ -27,16 +30,29 @@ | ||
| 15 | set(BYPRODUCT_PREFIX "" CACHE STRING "" FORCE) | ||
| 16 | set(BUILD_ARGS " -GVisual Studio 15 2017") | ||
| 17 | endif(WIN32) | ||
| 18 | + | ||
| 19 | + set(BYPRODUCTS | ||
| 20 | + "lib/${BYPRODUCT_PREFIX}crypto${BYPRODUCT_SUFFIX}" | ||
| 21 | + "lib/${BYPRODUCT_PREFIX}ssl${BYPRODUCT_SUFFIX}" | ||
| 22 | + "lib/${BYPRODUCT_PREFIX}tls${BYPRODUCT_SUFFIX}" | ||
| 23 | + ) | ||
| 24 | + set(LIBRESSL_INSTALL_DIR "${BINARY_DIR}/thirdparty/libressl-install" CACHE STRING "" FORCE) | ||
| 25 | + FOREACH(BYPRODUCT ${BYPRODUCTS}) | ||
| 26 | + LIST(APPEND LIBRESSL_LIBRARIES_LIST "${LIBRESSL_INSTALL_DIR}/${BYPRODUCT}") | ||
| 27 | + ENDFOREACH(BYPRODUCT) | ||
| 28 | + | ||
| 29 | ExternalProject_Add( | ||
| 30 | libressl-portable | ||
| 31 | URL https://cdn.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.8.3.tar.gz https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.8.3.tar.gz https://gentoo.osuosl.org/distfiles/libressl-2.8.3.tar.gz | ||
| 32 | URL_HASH "SHA256=9b640b13047182761a99ce3e4f000be9687566e0828b4a72709e9e6a3ef98477" | ||
| 33 | SOURCE_DIR "${BINARY_DIR}/thirdparty/libressl-src" | ||
| 34 | + PATCH_COMMAND ${PATCH} | ||
| 35 | CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS} | ||
| 36 | "-DCMAKE_INSTALL_PREFIX=${BINARY_DIR}/thirdparty/libressl-install" | ||
| 37 | "-DLIBRESSL_APPS=OFF" | ||
| 38 | "-DLIBRESSL_TESTS=OFF" | ||
| 39 | "${BUILD_ARGS}" | ||
| 40 | + BUILD_BYPRODUCTS ${LIBRESSL_LIBRARIES_LIST} | ||
| 41 | ) | ||
| 42 | |||
| 43 | add_library(crypto STATIC IMPORTED) | ||
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-minifi-compile.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-minifi-compile.patch new file mode 100644 index 0000000000..9653ba3426 --- /dev/null +++ b/meta-oe/recipes-extended/minifi-cpp/files/fix-minifi-compile.patch | |||
| @@ -0,0 +1,60 @@ | |||
| 1 | diff -urN -x .git orig/CMakeLists.txt patched/CMakeLists.txt | ||
| 2 | --- orig/CMakeLists.txt 2020-08-07 21:58:34.656773928 +0900 | ||
| 3 | +++ patched/CMakeLists.txt 2020-08-10 15:08:31.800278357 +0900 | ||
| 4 | @@ -119,13 +119,28 @@ | ||
| 5 | endif() | ||
| 6 | endif() | ||
| 7 | |||
| 8 | +include(CheckCXXSourceCompiles) | ||
| 9 | +CHECK_CXX_SOURCE_COMPILES(" | ||
| 10 | + #include <atomic> | ||
| 11 | + int main(int argc, char **argv) { | ||
| 12 | + uint8_t m; | ||
| 13 | + __atomic_load_8(&m, 0); | ||
| 14 | + __atomic_fetch_add_1(&m , 0, 0); | ||
| 15 | + return 0; | ||
| 16 | + }" | ||
| 17 | + HAVE_ATOMIC | ||
| 18 | +) | ||
| 19 | +if(NOT HAVE_ATOMIC) | ||
| 20 | + set(LIB_ATOMIC atomic) | ||
| 21 | +endif() | ||
| 22 | + | ||
| 23 | # Use ccache if present | ||
| 24 | -find_program(CCACHE_FOUND ccache) | ||
| 25 | -if(CCACHE_FOUND) | ||
| 26 | - set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) | ||
| 27 | - set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) | ||
| 28 | - message("-- Found ccache: ${CCACHE_FOUND}") | ||
| 29 | -endif(CCACHE_FOUND) | ||
| 30 | +#find_program(CCACHE_FOUND ccache) | ||
| 31 | +#if(CCACHE_FOUND) | ||
| 32 | +# set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) | ||
| 33 | +# set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) | ||
| 34 | +# message("-- Found ccache: ${CCACHE_FOUND}") | ||
| 35 | +#endif(CCACHE_FOUND) | ||
| 36 | |||
| 37 | if (UNIX AND USE_GOLD_LINKER AND NOT APPLE ) | ||
| 38 | execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE ld_version) | ||
| 39 | @@ -303,8 +318,10 @@ | ||
| 40 | GIT_TAG "f3294d9d86e6a7915a967efff2842089b8b0d071" # Version 7.64.0 | ||
| 41 | SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/thirdparty/curl-src" | ||
| 42 | LIST_SEPARATOR % # This is needed for passing semicolon-separated lists | ||
| 43 | + TLS_VERIFY OFF | ||
| 44 | CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS} | ||
| 45 | "-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/thirdparty/curl-install" | ||
| 46 | + "-DCMAKE_INSTALL_LIBDIR=lib${LIBSUFFIX}" | ||
| 47 | -DCMAKE_POSITION_INDEPENDENT_CODE=ON | ||
| 48 | -DBUILD_CURL_EXE=OFF | ||
| 49 | -DBUILD_TESTING=OFF | ||
| 50 | diff -urN -x .git orig/libminifi/CMakeLists.txt patched/libminifi/CMakeLists.txt | ||
| 51 | --- orig/libminifi/CMakeLists.txt 2020-08-07 21:58:34.676773928 +0900 | ||
| 52 | +++ patched/libminifi/CMakeLists.txt 2020-08-10 15:06:17.124278642 +0900 | ||
| 53 | @@ -108,6 +108,7 @@ | ||
| 54 | add_library(spdlog STATIC ${SPD_SOURCES}) | ||
| 55 | add_library(core-minifi STATIC ${SOURCES}) | ||
| 56 | target_link_libraries(core-minifi ${CMAKE_DL_LIBS} yaml-cpp) | ||
| 57 | +target_link_libraries(core-minifi ${LIB_ATOMIC}) | ||
| 58 | |||
| 59 | #target_link_libraries(core-minifi PRIVATE bsdiff ) | ||
| 60 | |||
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-compile.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-compile.patch new file mode 100644 index 0000000000..42e1e583c3 --- /dev/null +++ b/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-compile.patch | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | diff -urN -x .git orig/cmake/BundledOSSPUUID.cmake patched/cmake/BundledOSSPUUID.cmake | ||
| 2 | --- orig/cmake/BundledOSSPUUID.cmake 2020-08-07 21:58:34.660773928 +0900 | ||
| 3 | +++ patched/cmake/BundledOSSPUUID.cmake 2020-08-07 22:05:57.404772993 +0900 | ||
| 4 | @@ -22,7 +22,9 @@ | ||
| 5 | |||
| 6 | # Define patch step | ||
| 7 | find_package(Patch REQUIRED) | ||
| 8 | - set(PC "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-mac-fix.patch") | ||
| 9 | + set(PATCH1 "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-mac-fix.patch") | ||
| 10 | + set(PATCH2 "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch") | ||
| 11 | + set(PATCH3 "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch") | ||
| 12 | |||
| 13 | # Define byproducts | ||
| 14 | set(BYPRODUCTS "lib/libuuid.a" | ||
| 15 | @@ -35,7 +37,9 @@ | ||
| 16 | ENDFOREACH(BYPRODUCT) | ||
| 17 | |||
| 18 | # Build project | ||
| 19 | - set(CONFIGURE_COMMAND ./configure "CFLAGS=-fPIC" "CXXFLAGS=-fPIC" --with-cxx --without-perl --without-php --without-pgsql "--prefix=${BINARY_DIR}/thirdparty/ossp-uuid-install") | ||
| 20 | + set(CONFIGURE_COMMAND ac_cv_va_copy=C99 ./configure CFLAGS=-fPIC CXXFLAGS=-fPIC --host=${HOST_SYS} | ||
| 21 | + --with-cxx --without-perl --without-php --without-pgsql | ||
| 22 | + --prefix=${BINARY_DIR}/thirdparty/ossp-uuid-install) | ||
| 23 | string(TOLOWER "${CMAKE_BUILD_TYPE}" build_type) | ||
| 24 | if(NOT build_type MATCHES debug) | ||
| 25 | list(APPEND CONFIGURE_COMMAND --enable-debug=yes) | ||
| 26 | @@ -52,8 +56,8 @@ | ||
| 27 | UPDATE_COMMAND "" | ||
| 28 | INSTALL_COMMAND make install | ||
| 29 | BUILD_BYPRODUCTS ${OSSPUUID_LIBRARIES_LIST} | ||
| 30 | - CONFIGURE_COMMAND "" | ||
| 31 | - PATCH_COMMAND ${PC} && ${CONFIGURE_COMMAND} | ||
| 32 | + CONFIGURE_COMMAND ${CONFIGURE_COMMAND} | ||
| 33 | + PATCH_COMMAND ${PATCH1} && ${PATCH2} && ${PATCH3} | ||
| 34 | STEP_TARGETS build | ||
| 35 | EXCLUDE_FROM_ALL TRUE | ||
| 36 | ) | ||
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-cross-compile.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-cross-compile.patch new file mode 100644 index 0000000000..dc354d9ac7 --- /dev/null +++ b/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-cross-compile.patch | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | diff -urN -x .git orig/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch patched/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch | ||
| 2 | --- orig/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch 1970-01-01 09:00:00.000000000 +0900 | ||
| 3 | +++ patched/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch 2020-08-07 22:28:04.396770190 +0900 | ||
| 4 | @@ -0,0 +1,33 @@ | ||
| 5 | +diff -urN orig/config.sub patched/config.sub | ||
| 6 | +--- orig/config.sub 2008-07-05 06:43:08.000000000 +0900 | ||
| 7 | ++++ patched/config.sub 2020-08-07 22:23:48.412770731 +0900 | ||
| 8 | +@@ -238,6 +238,8 @@ | ||
| 9 | + # Some are omitted here because they have special meanings below. | ||
| 10 | + 1750a | 580 \ | ||
| 11 | + | a29k \ | ||
| 12 | ++ | aarch64 | aarch64_be \ | ||
| 13 | ++ | riscv32 | riscv64 \ | ||
| 14 | + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | ||
| 15 | + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | ||
| 16 | + | am33_2.0 \ | ||
| 17 | +@@ -314,6 +316,8 @@ | ||
| 18 | + # Recognize the basic CPU types with company name. | ||
| 19 | + 580-* \ | ||
| 20 | + | a29k-* \ | ||
| 21 | ++ | aarch64-* | aarch64_be-* \ | ||
| 22 | ++ | riscv32-* | riscv64-* \ | ||
| 23 | + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | ||
| 24 | + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | ||
| 25 | + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | ||
| 26 | +diff -urN orig/shtool patched/shtool | ||
| 27 | +--- orig/shtool 2008-07-05 06:43:08.000000000 +0900 | ||
| 28 | ++++ patched/shtool 2020-08-07 22:21:23.192771037 +0900 | ||
| 29 | +@@ -1400,7 +1400,7 @@ | ||
| 30 | + if [ ".$opt_t" = .yes ]; then | ||
| 31 | + echo "strip $dsttmp" 1>&2 | ||
| 32 | + fi | ||
| 33 | +- strip $dsttmp || shtool_exit $? | ||
| 34 | ++ $STRIP $dsttmp || shtool_exit $? | ||
| 35 | + fi | ||
| 36 | + if [ ".$opt_o" != . ]; then | ||
| 37 | + if [ ".$opt_t" = .yes ]; then | ||
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-musl-compile.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-musl-compile.patch new file mode 100644 index 0000000000..7caf848eb5 --- /dev/null +++ b/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-musl-compile.patch | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | diff -urN -x .git orig/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch patched/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch | ||
| 2 | --- orig/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch 1970-01-01 09:00:00.000000000 +0900 | ||
| 3 | +++ patched/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch 2020-08-07 11:22:49.344854508 +0900 | ||
| 4 | @@ -0,0 +1,21 @@ | ||
| 5 | +diff -urN orig/config.sub patched/config.sub | ||
| 6 | +--- orig/config.sub 2008-07-05 06:43:08.000000000 +0900 | ||
| 7 | ++++ patched/config.sub 2020-08-07 11:19:25.948854937 +0900 | ||
| 8 | +@@ -120,7 +120,7 @@ | ||
| 9 | + # Here we must recognize all the valid KERNEL-OS combinations. | ||
| 10 | + maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` | ||
| 11 | + case $maybe_os in | ||
| 12 | +- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ | ||
| 13 | ++ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | linux-musl* | \ | ||
| 14 | + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ | ||
| 15 | + storm-chaos* | os2-emx* | rtmk-nova*) | ||
| 16 | + os=-$maybe_os | ||
| 17 | +@@ -1250,7 +1250,7 @@ | ||
| 18 | + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | ||
| 19 | + | -chorusos* | -chorusrdb* \ | ||
| 20 | + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | ||
| 21 | +- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | ||
| 22 | ++ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* | -linux-musl* \ | ||
| 23 | + | -uxpv* | -beos* | -mpeix* | -udk* \ | ||
| 24 | + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | ||
| 25 | + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | ||
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-rocksdb-cross-compile.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-rocksdb-cross-compile.patch new file mode 100644 index 0000000000..8c5db7c9e3 --- /dev/null +++ b/meta-oe/recipes-extended/minifi-cpp/files/fix-rocksdb-cross-compile.patch | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | diff -urN orig/thirdparty/rocksdb/CMakeLists.txt patched/thirdparty/rocksdb/CMakeLists.txt | ||
| 2 | --- orig/thirdparty/rocksdb/CMakeLists.txt 2020-07-28 11:39:40.254677515 +0900 | ||
| 3 | +++ patched/thirdparty/rocksdb/CMakeLists.txt 2020-07-28 11:51:11.898676054 +0900 | ||
| 4 | @@ -618,6 +618,7 @@ | ||
| 5 | add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES}) | ||
| 6 | target_link_libraries(${ROCKSDB_STATIC_LIB} | ||
| 7 | ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) | ||
| 8 | +target_link_libraries(${ROCKSDB_STATIC_LIB} ${LIB_ATOMIC}) | ||
| 9 | |||
| 10 | if(WIN32) | ||
| 11 | # add_library(${ROCKSDB_IMPORT_LIB} SHARED ${SOURCES}) | ||
| 12 | |||
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/minifi.service b/meta-oe/recipes-extended/minifi-cpp/files/minifi.service new file mode 100644 index 0000000000..5802a7b2fd --- /dev/null +++ b/meta-oe/recipes-extended/minifi-cpp/files/minifi.service | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | [Unit] | ||
| 2 | Description=MiNiFi Service | ||
| 3 | After=network.target | ||
| 4 | RequiresMountsFor=/var | ||
| 5 | |||
| 6 | [Service] | ||
| 7 | Type=simple | ||
| 8 | WorkingDirectory=@LOCALSTATEDIR@/run/minifi | ||
| 9 | Environment=MINIFI_HOME=@SYSCONFDIR@/minifi | ||
| 10 | ExecStart=@BINDIR@/minifi | ||
| 11 | |||
| 12 | [Install] | ||
| 13 | WantedBy=multi-user.target | ||
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/systemd-volatile.conf b/meta-oe/recipes-extended/minifi-cpp/files/systemd-volatile.conf new file mode 100644 index 0000000000..c828b49fa3 --- /dev/null +++ b/meta-oe/recipes-extended/minifi-cpp/files/systemd-volatile.conf | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | d @MINIFI_RUN@ 0755 root root - | ||
| 2 | d @MINIFI_LOG@ 0755 root root - | ||
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/sysvinit-volatile.conf b/meta-oe/recipes-extended/minifi-cpp/files/sysvinit-volatile.conf new file mode 100644 index 0000000000..2ad14e677b --- /dev/null +++ b/meta-oe/recipes-extended/minifi-cpp/files/sysvinit-volatile.conf | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | d root root 0755 @MINIFI_RUN@ none | ||
| 2 | d root root 0755 @MINIFI_LOG@ none | ||
diff --git a/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb b/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb new file mode 100644 index 0000000000..150d1fa53c --- /dev/null +++ b/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb | |||
| @@ -0,0 +1,116 @@ | |||
| 1 | SUMMARY = "A subproject of Apache NiFi to collect data where it originates." | ||
| 2 | DESCRIPTION = "MiNiFi--a subproject of Apache NiFi--is a complementary \ | ||
| 3 | data collection approach that supplements the core tenets of NiFi in dataflow \ | ||
| 4 | management, focusing on the collection of data at the source of its creation." | ||
| 5 | HOMEPAGE = "https://nifi.apache.org/minifi/index.html" | ||
| 6 | SECTION = "console/network" | ||
| 7 | LICENSE = "Apache-2.0" | ||
| 8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=f9534eb5f4ab800b573a37bffc62f3a7" | ||
| 9 | |||
| 10 | DEPENDS = "virtual/crypt expat flex python3 bison-native" | ||
| 11 | RDEPENDS_${PN} = "python3-core" | ||
| 12 | |||
| 13 | SRCREV = "aa42957a2e227df41510047cece3cd606dc1cb6a" | ||
| 14 | SRC_URI = "git://github.com/apache/nifi-minifi-cpp.git \ | ||
| 15 | file://fix-minifi-compile.patch \ | ||
| 16 | file://fix-libressl-compile.patch \ | ||
| 17 | file://fix-libressl-avoid-BSWAP-assembly-for-ARM-v6.patch \ | ||
| 18 | file://fix-osspuuid-compile.patch \ | ||
| 19 | file://fix-osspuuid-cross-compile.patch \ | ||
| 20 | file://fix-osspuuid-musl-compile.patch \ | ||
| 21 | file://fix-rocksdb-cross-compile.patch \ | ||
| 22 | file://minifi.service \ | ||
| 23 | file://systemd-volatile.conf \ | ||
| 24 | file://sysvinit-volatile.conf \ | ||
| 25 | " | ||
| 26 | S = "${WORKDIR}/git" | ||
| 27 | |||
| 28 | inherit pkgconfig cmake systemd | ||
| 29 | |||
| 30 | SYSTEMD_PACKAGES = "minifi-cpp" | ||
| 31 | SYSTEMD_SERVICE_${PN} = "minifi.service" | ||
| 32 | SYSTEMD_AUTO_ENABLE = "disable" | ||
| 33 | |||
| 34 | OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" | ||
| 35 | |||
| 36 | EXTRA_OECMAKE += " \ | ||
| 37 | -DHOST_SYS=${HOST_SYS} -DBUILD_SYS=${BUILD_SYS} \ | ||
| 38 | -DSKIP_TESTS=ON \ | ||
| 39 | " | ||
| 40 | |||
| 41 | # There are endian issues when communicating with the x86 nifi on the the mips and the ppc machines. | ||
| 42 | COMPATIBLE_MACHINE_mips = "(!.*mips).*" | ||
| 43 | COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*" | ||
| 44 | COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*" | ||
| 45 | |||
| 46 | TARGET_CFLAGS_append_riscv32 += "-fpic" | ||
| 47 | TARGET_CXXFLAGS_append_riscv32 += "-fpic" | ||
| 48 | TARGET_CFLAGS_append_riscv64 += "-fpic" | ||
| 49 | TARGET_CXXFLAGS_append_riscv64 += "-fpic" | ||
| 50 | |||
| 51 | |||
| 52 | do_install() { | ||
| 53 | DESTDIR='${B}/minifi-install' cmake_runcmake_build --target ${OECMAKE_TARGET_INSTALL} | ||
| 54 | |||
| 55 | MINIFI_BIN=${base_prefix}${bindir} | ||
| 56 | MINIFI_HOME=${base_prefix}${sysconfdir}/minifi | ||
| 57 | MINIFI_RUN=${base_prefix}${localstatedir}/run/minifi | ||
| 58 | MINIFI_LOG=${base_prefix}${localstatedir}/log/minifi | ||
| 59 | |||
| 60 | install -d ${D}${MINIFI_BIN} | ||
| 61 | install -d ${D}${MINIFI_HOME}/conf | ||
| 62 | cp -a ${B}/minifi-install/usr/bin/* ${D}${MINIFI_BIN}/ | ||
| 63 | cp -a ${B}/minifi-install/usr/conf/* ${D}${MINIFI_HOME}/conf/ | ||
| 64 | |||
| 65 | sed -i 's|#appender.rolling.directory=.*|appender.rolling.directory='${MINIFI_LOG}'|g' \ | ||
| 66 | ${D}${MINIFI_HOME}/conf/minifi-log.properties | ||
| 67 | sed -i 's|nifi.provenance.repository.directory.default=.*|nifi.provenance.repository.directory.default='${MINIFI_RUN}'/provenance_repository|g' \ | ||
| 68 | ${D}${MINIFI_HOME}/conf/minifi.properties | ||
| 69 | sed -i 's|nifi.flowfile.repository.directory.default=.*|nifi.flowfile.repository.directory.default='${MINIFI_RUN}'/flowfile_repository|g' \ | ||
| 70 | ${D}${MINIFI_HOME}/conf/minifi.properties | ||
| 71 | sed -i 's|nifi.database.content.repository.directory.default=.*|nifi.database.content.repository.directory.default='${MINIFI_RUN}'/content_repository|g' \ | ||
| 72 | ${D}${MINIFI_HOME}/conf/minifi.properties | ||
| 73 | sed -i 's|nifi.flow.configuration.file=.*|nifi.flow.configuration.file='${MINIFI_HOME}'/conf/config.yml|g' \ | ||
| 74 | ${D}${MINIFI_HOME}/conf/minifi.properties | ||
| 75 | |||
| 76 | sed -i 's|export MINIFI_HOME=.*|export MINIFI_HOME='${MINIFI_HOME}'|g' ${D}${MINIFI_BIN}/minifi.sh | ||
| 77 | sed -i 's|bin_dir=${MINIFI_HOME}/bin|bin_dir='${MINIFI_BIN}'|g' ${D}${MINIFI_BIN}/minifi.sh | ||
| 78 | sed -i 's|pid_file=${bin_dir}|pid_file='${MINIFI_RUN}'|g' ${D}${MINIFI_BIN}/minifi.sh | ||
| 79 | |||
| 80 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then | ||
| 81 | install -d ${D}${sysconfdir}/tmpfiles.d/ | ||
| 82 | install -m 0644 ${WORKDIR}/systemd-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ | ||
| 83 | install -m 0755 -d ${D}${systemd_unitdir}/system | ||
| 84 | install -m 0644 ${WORKDIR}/minifi.service ${D}${systemd_unitdir}/system/ | ||
| 85 | |||
| 86 | sed -i 's|@LOCALSTATEDIR@|${localstatedir}|g' ${D}${systemd_unitdir}/system/minifi.service | ||
| 87 | sed -i 's|@SYSCONFDIR@|${sysconfdir}|g' ${D}${systemd_unitdir}/system/minifi.service | ||
| 88 | sed -i 's|@BINDIR@|${bindir}|g' ${D}${systemd_unitdir}/system/minifi.service | ||
| 89 | |||
| 90 | sed -i 's|@MINIFI_RUN@|'${MINIFI_RUN}'|g' ${D}${sysconfdir}/tmpfiles.d/systemd-volatile.conf | ||
| 91 | sed -i 's|@MINIFI_LOG@|'${MINIFI_LOG}'|g' ${D}${sysconfdir}/tmpfiles.d/systemd-volatile.conf | ||
| 92 | |||
| 93 | elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | ||
| 94 | install -d ${D}${sysconfdir}/default/volatiles | ||
| 95 | install -m 0644 ${WORKDIR}/sysvinit-volatile.conf ${D}${sysconfdir}/default/volatiles/99_minifi | ||
| 96 | |||
| 97 | sed -i 's|@MINIFI_RUN@|'${MINIFI_RUN}'|g' ${D}${sysconfdir}/default/volatiles/99_minifi | ||
| 98 | sed -i 's|@MINIFI_LOG@|'${MINIFI_LOG}'|g' ${D}${sysconfdir}/default/volatiles/99_minifi | ||
| 99 | fi | ||
| 100 | } | ||
| 101 | |||
| 102 | pkg_postinst_${PN}() { | ||
| 103 | if [ -z "$D" ]; then | ||
| 104 | if type systemd-tmpfiles >/dev/null; then | ||
| 105 | systemd-tmpfiles --create | ||
| 106 | elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then | ||
| 107 | ${sysconfdir}/init.d/populate-volatile.sh update | ||
| 108 | fi | ||
| 109 | fi | ||
| 110 | } | ||
| 111 | |||
| 112 | FILES_${PN} = " \ | ||
| 113 | ${bindir} \ | ||
| 114 | ${sysconfdir} \ | ||
| 115 | ${systemd_unitdir} \ | ||
| 116 | " | ||
