* [meta-oe][PATCH v2] minifi: Add recipe for c++ version
@ 2020-07-23 5:21 wonjong.lee
2020-07-23 14:34 ` [oe] " Khem Raj
0 siblings, 1 reply; 3+ messages in thread
From: wonjong.lee @ 2020-07-23 5:21 UTC (permalink / raw)
To: openembedded-devel; +Cc: Junhwa.Rhee, jeff.kim, andy.kang, wonjong.lee
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>
---
.../files/fix-OSSPUUID-cross-compile.patch | 70 +++++++++++++++++++
.../files/fix-build-issue-in-yocto.patch | 62 ++++++++++++++++
.../minifi-cpp/files/minifi.service | 13 ++++
.../minifi-cpp/minifi-cpp_0.7.0.bb | 64 +++++++++++++++++
4 files changed, 209 insertions(+)
create mode 100644 meta-oe/recipes-extended/minifi-cpp/files/fix-OSSPUUID-cross-compile.patch
create mode 100644 meta-oe/recipes-extended/minifi-cpp/files/fix-build-issue-in-yocto.patch
create mode 100644 meta-oe/recipes-extended/minifi-cpp/files/minifi.service
create mode 100644 meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
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 000000000..6af47cafb
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/files/fix-OSSPUUID-cross-compile.patch
@@ -0,0 +1,70 @@
+diff -urN orig/cmake/BundledOSSPUUID.cmake patched/cmake/BundledOSSPUUID.cmake
+--- orig/cmake/BundledOSSPUUID.cmake 2020-01-07 22:55:55.000000000 +0900
++++ patched/cmake/BundledOSSPUUID.cmake 2020-07-14 11:32:28.221092406 +0900
+@@ -22,7 +22,8 @@
+
+ # Define patch step
+ find_package(Patch REQUIRED)
+- set(PC "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-mac-fix.patch")
++ set(PATCH1 "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-mac-fix.patch")
++ set(PATCH2 "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/cross-compile-fix.patch")
+
+ # Define byproducts
+ set(BYPRODUCTS "lib/libuuid.a"
+@@ -35,7 +36,9 @@
+ ENDFOREACH(BYPRODUCT)
+
+ # Build project
+- set(CONFIGURE_COMMAND ./configure "CFLAGS=-fPIC" "CXXFLAGS=-fPIC" --with-cxx --without-perl --without-php --without-pgsql "--prefix=${BINARY_DIR}/thirdparty/ossp-uuid-install")
++ set(CONFIGURE_COMMAND ac_cv_va_copy=C99 ./configure CFLAGS=-fPIC CXXFLAGS=-fPIC --host=${HOST_SYS}
++ --with-cxx --without-perl --without-php --without-pgsql
++ --prefix=${BINARY_DIR}/thirdparty/ossp-uuid-install)
+ string(TOLOWER "${CMAKE_BUILD_TYPE}" build_type)
+ if(NOT build_type MATCHES debug)
+ list(APPEND CONFIGURE_COMMAND --enable-debug=yes)
+@@ -52,8 +55,8 @@
+ UPDATE_COMMAND ""
+ INSTALL_COMMAND make install
+ BUILD_BYPRODUCTS ${OSSPUUID_LIBRARIES_LIST}
+- CONFIGURE_COMMAND ""
+- PATCH_COMMAND ${PC} && ${CONFIGURE_COMMAND}
++ CONFIGURE_COMMAND ${CONFIGURE_COMMAND}
++ PATCH_COMMAND ${PATCH1} && ${PATCH2}
+ STEP_TARGETS build
+ EXCLUDE_FROM_ALL TRUE
+ )
+diff -urN orig/thirdparty/ossp-uuid/cross-compile-fix.patch patched/thirdparty/ossp-uuid/cross-compile-fix.patch
+--- orig/thirdparty/ossp-uuid/cross-compile-fix.patch 1970-01-01 09:00:00.000000000 +0900
++++ patched/thirdparty/ossp-uuid/cross-compile-fix.patch 2020-07-14 11:48:13.781090409 +0900
+@@ -0,0 +1,31 @@
++diff -urN orig/config.sub patched/config.sub
++--- orig/config.sub 2008-07-05 06:43:08.000000000 +0900
+++++ patched/config.sub 2020-07-14 11:46:47.249090591 +0900
++@@ -238,6 +238,7 @@
++ # Some are omitted here because they have special meanings below.
++ 1750a | 580 \
++ | a29k \
+++ | aarch64 | aarch64_be \
++ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
++ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
++ | am33_2.0 \
++@@ -314,6 +315,7 @@
++ # Recognize the basic CPU types with company name.
++ 580-* \
++ | a29k-* \
+++ | aarch64-* | aarch64_be-* \
++ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
++ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
++ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
++diff -urN orig/shtool patched/shtool
++--- orig/shtool 2008-07-05 06:43:08.000000000 +0900
+++++ patched/shtool 2020-07-13 19:35:49.557213657 +0900
++@@ -1400,7 +1400,7 @@
++ if [ ".$opt_t" = .yes ]; then
++ echo "strip $dsttmp" 1>&2
++ fi
++- strip $dsttmp || shtool_exit $?
+++ $STRIP $dsttmp || shtool_exit $?
++ fi
++ if [ ".$opt_o" != . ]; then
++ if [ ".$opt_t" = .yes ]; then
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-build-issue-in-yocto.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-build-issue-in-yocto.patch
new file mode 100644
index 000000000..a7232c025
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/files/fix-build-issue-in-yocto.patch
@@ -0,0 +1,62 @@
+diff -urN orig/cmake/LibreSSL.cmake patched/cmake/LibreSSL.cmake
+--- orig/cmake/LibreSSL.cmake 2020-01-07 22:55:55.000000000 +0900
++++ patched/cmake/LibreSSL.cmake 2020-07-14 12:01:28.321088730 +0900
+@@ -27,6 +27,17 @@
+ set(BYPRODUCT_PREFIX "" CACHE STRING "" FORCE)
+ set(BUILD_ARGS " -GVisual Studio 15 2017")
+ endif(WIN32)
++
++ set(BYPRODUCTS
++ "lib/${BYPRODUCT_PREFIX}crypto${BYPRODUCT_SUFFIX}"
++ "lib/${BYPRODUCT_PREFIX}ssl${BYPRODUCT_SUFFIX}"
++ "lib/${BYPRODUCT_PREFIX}tls${BYPRODUCT_SUFFIX}"
++ )
++ set(LIBRESSL_INSTALL_DIR "${BINARY_DIR}/thirdparty/libressl-install" CACHE STRING "" FORCE)
++ FOREACH(BYPRODUCT ${BYPRODUCTS})
++ LIST(APPEND LIBRESSL_LIBRARIES_LIST "${LIBRESSL_INSTALL_DIR}/${BYPRODUCT}")
++ ENDFOREACH(BYPRODUCT)
++
+ ExternalProject_Add(
+ libressl-portable
+ 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
+@@ -37,6 +48,7 @@
+ "-DLIBRESSL_APPS=OFF"
+ "-DLIBRESSL_TESTS=OFF"
+ "${BUILD_ARGS}"
++ BUILD_BYPRODUCTS ${LIBRESSL_LIBRARIES_LIST}
+ )
+
+ add_library(crypto STATIC IMPORTED)
+diff -urN orig/CMakeLists.txt patched/CMakeLists.txt
+--- orig/CMakeLists.txt 2020-01-07 22:55:55.000000000 +0900
++++ patched/CMakeLists.txt 2020-07-14 16:25:51.581055220 +0900
+@@ -120,12 +120,12 @@
+ endif()
+
+ # Use ccache if present
+-find_program(CCACHE_FOUND ccache)
+-if(CCACHE_FOUND)
+- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
+- set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
+- message("-- Found ccache: ${CCACHE_FOUND}")
+-endif(CCACHE_FOUND)
++#find_program(CCACHE_FOUND ccache)
++#if(CCACHE_FOUND)
++# set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
++# set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
++# message("-- Found ccache: ${CCACHE_FOUND}")
++#endif(CCACHE_FOUND)
+
+ if (UNIX AND USE_GOLD_LINKER AND NOT APPLE )
+ execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE ld_version)
+@@ -303,8 +303,10 @@
+ GIT_TAG "f3294d9d86e6a7915a967efff2842089b8b0d071" # Version 7.64.0
+ SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/thirdparty/curl-src"
+ LIST_SEPARATOR % # This is needed for passing semicolon-separated lists
++ TLS_VERIFY OFF
+ CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
+ "-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/thirdparty/curl-install"
++ "-DCMAKE_INSTALL_LIBDIR=lib${LIBSUFFIX}"
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ -DBUILD_CURL_EXE=OFF
+ -DBUILD_TESTING=OFF
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 000000000..c0e419c67
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/files/minifi.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=MiNiFi Service
+After=network.target
+RequiresMountsFor=/var
+
+[Service]
+Type=simple
+Environment=MINIFI_HOME=/etc/minifi
+ExecStartPre=@BASE_BINDIR@/mkdir -p /var/lib/minifi /var/log/minifi
+ExecStart=@BINDIR@/minifi
+
+[Install]
+WantedBy=multi-user.target
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 000000000..b7e6c26fd
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
@@ -0,0 +1,64 @@
+SUMMARY = "A subproject of Apache NiFi to collect data where it originates."
+DESCRIPTION = "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."
+HOMEPAGE = "https://nifi.apache.org/minifi/index.html"
+SECTION = "console/network"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f9534eb5f4ab800b573a37bffc62f3a7"
+
+DEPENDS = "libxcrypt bzip2 expat flex zlib python3 bison-native"
+RDEPENDS_${PN} = "python3-core"
+
+SRCREV = "aa42957a2e227df41510047cece3cd606dc1cb6a"
+SRC_URI = "git://github.com/apache/nifi-minifi-cpp.git \
+ file://fix-build-issue-in-yocto.patch \
+ file://fix-OSSPUUID-cross-compile.patch \
+ file://minifi.service \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig cmake systemd
+
+SYSTEMD_PACKAGES = "minifi-cpp"
+SYSTEMD_SERVICE_${PN} = "minifi.service"
+
+EXTRA_OECMAKE += " \
+ -DHOST_SYS=${HOST_SYS} -DBUILD_SYS=${BUILD_SYS} \
+ -DSKIP_TESTS=ON \
+ "
+
+OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
+
+
+do_install() {
+ DESTDIR='${B}/minifi-install' cmake_runcmake_build --target ${OECMAKE_TARGET_INSTALL}
+
+ CONF_DIR=${D}${base_prefix}/etc/minifi/conf
+ install -d ${D}${base_prefix}/usr/bin
+ install -d ${CONF_DIR}
+ cp -a ${B}/minifi-install/usr/bin/* ${D}${base_prefix}/usr/bin/
+ cp -a ${B}/minifi-install/usr/conf/* ${CONF_DIR}/
+ sed -i 's|#appender.rolling.directory=.*|appender.rolling.directory=/var/log/minifi|g' \
+ ${CONF_DIR}/minifi-log.properties
+ sed -i 's|nifi.provenance.repository.directory.default=.*|nifi.provenance.repository.directory.default=/var/lib/minifi/provenance_repository|g' \
+ ${CONF_DIR}/minifi.properties
+ sed -i 's|nifi.flowfile.repository.directory.default=.*|nifi.flowfile.repository.directory.default=/var/lib/minifi/flowfile_repository|g' \
+ ${CONF_DIR}/minifi.properties
+ sed -i 's|nifi.database.content.repository.directory.default=.*|nifi.database.content.repository.directory.default=/var/lib/minifi/content_repository|g' \
+ ${CONF_DIR}/minifi.properties
+ sed -i 's|nifi.flow.configuration.file=.*|nifi.flow.configuration.file=/etc/minifi/conf/config.yml|g' \
+ ${CONF_DIR}/minifi.properties
+
+ install -m 0755 -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/minifi.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's|@BASE_BINDIR@|${base_bindir}|g' ${D}${systemd_unitdir}/system/minifi.service
+ sed -i -e 's|@BINDIR@|${bindir}|g' ${D}${systemd_unitdir}/system/minifi.service
+}
+
+FILES_${PN} = " \
+ /usr/bin/* \
+ /etc/minifi/* \
+ ${systemd_unitdir}/system/minifi.service \
+ "
--
2.27.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [oe] [meta-oe][PATCH v2] minifi: Add recipe for c++ version
2020-07-23 5:21 [meta-oe][PATCH v2] minifi: Add recipe for c++ version wonjong.lee
@ 2020-07-23 14:34 ` Khem Raj
2020-07-30 11:24 ` wonjong.lee
0 siblings, 1 reply; 3+ messages in thread
From: Khem Raj @ 2020-07-23 14:34 UTC (permalink / raw)
To: wonjong.lee, openembedded-devel; +Cc: Junhwa.Rhee, jeff.kim, andy.kang
[-- Attachment #1.1: Type: text/plain, Size: 12311 bytes --]
On 7/22/20 10:21 PM, wonjong.lee wrote:
> 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.
>
fails to build on mips
https://errors.yoctoproject.org/Errors/Details/423802/
> Signed-off-by: wonjong.lee <wonjong.lee@windriver.com>
> ---
> .../files/fix-OSSPUUID-cross-compile.patch | 70 +++++++++++++++++++
> .../files/fix-build-issue-in-yocto.patch | 62 ++++++++++++++++
> .../minifi-cpp/files/minifi.service | 13 ++++
> .../minifi-cpp/minifi-cpp_0.7.0.bb | 64 +++++++++++++++++
> 4 files changed, 209 insertions(+)
> create mode 100644 meta-oe/recipes-extended/minifi-cpp/files/fix-OSSPUUID-cross-compile.patch
> create mode 100644 meta-oe/recipes-extended/minifi-cpp/files/fix-build-issue-in-yocto.patch
> create mode 100644 meta-oe/recipes-extended/minifi-cpp/files/minifi.service
> create mode 100644 meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
>
> 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 000000000..6af47cafb
> --- /dev/null
> +++ b/meta-oe/recipes-extended/minifi-cpp/files/fix-OSSPUUID-cross-compile.patch
> @@ -0,0 +1,70 @@
> +diff -urN orig/cmake/BundledOSSPUUID.cmake patched/cmake/BundledOSSPUUID.cmake
> +--- orig/cmake/BundledOSSPUUID.cmake 2020-01-07 22:55:55.000000000 +0900
> ++++ patched/cmake/BundledOSSPUUID.cmake 2020-07-14 11:32:28.221092406 +0900
> +@@ -22,7 +22,8 @@
> +
> + # Define patch step
> + find_package(Patch REQUIRED)
> +- set(PC "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-mac-fix.patch")
> ++ set(PATCH1 "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-mac-fix.patch")
> ++ set(PATCH2 "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/cross-compile-fix.patch")
> +
> + # Define byproducts
> + set(BYPRODUCTS "lib/libuuid.a"
> +@@ -35,7 +36,9 @@
> + ENDFOREACH(BYPRODUCT)
> +
> + # Build project
> +- set(CONFIGURE_COMMAND ./configure "CFLAGS=-fPIC" "CXXFLAGS=-fPIC" --with-cxx --without-perl --without-php --without-pgsql "--prefix=${BINARY_DIR}/thirdparty/ossp-uuid-install")
> ++ set(CONFIGURE_COMMAND ac_cv_va_copy=C99 ./configure CFLAGS=-fPIC CXXFLAGS=-fPIC --host=${HOST_SYS}
> ++ --with-cxx --without-perl --without-php --without-pgsql
> ++ --prefix=${BINARY_DIR}/thirdparty/ossp-uuid-install)
> + string(TOLOWER "${CMAKE_BUILD_TYPE}" build_type)
> + if(NOT build_type MATCHES debug)
> + list(APPEND CONFIGURE_COMMAND --enable-debug=yes)
> +@@ -52,8 +55,8 @@
> + UPDATE_COMMAND ""
> + INSTALL_COMMAND make install
> + BUILD_BYPRODUCTS ${OSSPUUID_LIBRARIES_LIST}
> +- CONFIGURE_COMMAND ""
> +- PATCH_COMMAND ${PC} && ${CONFIGURE_COMMAND}
> ++ CONFIGURE_COMMAND ${CONFIGURE_COMMAND}
> ++ PATCH_COMMAND ${PATCH1} && ${PATCH2}
> + STEP_TARGETS build
> + EXCLUDE_FROM_ALL TRUE
> + )
> +diff -urN orig/thirdparty/ossp-uuid/cross-compile-fix.patch patched/thirdparty/ossp-uuid/cross-compile-fix.patch
> +--- orig/thirdparty/ossp-uuid/cross-compile-fix.patch 1970-01-01 09:00:00.000000000 +0900
> ++++ patched/thirdparty/ossp-uuid/cross-compile-fix.patch 2020-07-14 11:48:13.781090409 +0900
> +@@ -0,0 +1,31 @@
> ++diff -urN orig/config.sub patched/config.sub
> ++--- orig/config.sub 2008-07-05 06:43:08.000000000 +0900
> +++++ patched/config.sub 2020-07-14 11:46:47.249090591 +0900
> ++@@ -238,6 +238,7 @@
> ++ # Some are omitted here because they have special meanings below.
> ++ 1750a | 580 \
> ++ | a29k \
> +++ | aarch64 | aarch64_be \
> ++ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
> ++ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
> ++ | am33_2.0 \
> ++@@ -314,6 +315,7 @@
> ++ # Recognize the basic CPU types with company name.
> ++ 580-* \
> ++ | a29k-* \
> +++ | aarch64-* | aarch64_be-* \
> ++ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
> ++ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
> ++ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
> ++diff -urN orig/shtool patched/shtool
> ++--- orig/shtool 2008-07-05 06:43:08.000000000 +0900
> +++++ patched/shtool 2020-07-13 19:35:49.557213657 +0900
> ++@@ -1400,7 +1400,7 @@
> ++ if [ ".$opt_t" = .yes ]; then
> ++ echo "strip $dsttmp" 1>&2
> ++ fi
> ++- strip $dsttmp || shtool_exit $?
> +++ $STRIP $dsttmp || shtool_exit $?
> ++ fi
> ++ if [ ".$opt_o" != . ]; then
> ++ if [ ".$opt_t" = .yes ]; then
> diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-build-issue-in-yocto.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-build-issue-in-yocto.patch
> new file mode 100644
> index 000000000..a7232c025
> --- /dev/null
> +++ b/meta-oe/recipes-extended/minifi-cpp/files/fix-build-issue-in-yocto.patch
> @@ -0,0 +1,62 @@
> +diff -urN orig/cmake/LibreSSL.cmake patched/cmake/LibreSSL.cmake
> +--- orig/cmake/LibreSSL.cmake 2020-01-07 22:55:55.000000000 +0900
> ++++ patched/cmake/LibreSSL.cmake 2020-07-14 12:01:28.321088730 +0900
> +@@ -27,6 +27,17 @@
> + set(BYPRODUCT_PREFIX "" CACHE STRING "" FORCE)
> + set(BUILD_ARGS " -GVisual Studio 15 2017")
> + endif(WIN32)
> ++
> ++ set(BYPRODUCTS
> ++ "lib/${BYPRODUCT_PREFIX}crypto${BYPRODUCT_SUFFIX}"
> ++ "lib/${BYPRODUCT_PREFIX}ssl${BYPRODUCT_SUFFIX}"
> ++ "lib/${BYPRODUCT_PREFIX}tls${BYPRODUCT_SUFFIX}"
> ++ )
> ++ set(LIBRESSL_INSTALL_DIR "${BINARY_DIR}/thirdparty/libressl-install" CACHE STRING "" FORCE)
> ++ FOREACH(BYPRODUCT ${BYPRODUCTS})
> ++ LIST(APPEND LIBRESSL_LIBRARIES_LIST "${LIBRESSL_INSTALL_DIR}/${BYPRODUCT}")
> ++ ENDFOREACH(BYPRODUCT)
> ++
> + ExternalProject_Add(
> + libressl-portable
> + 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
> +@@ -37,6 +48,7 @@
> + "-DLIBRESSL_APPS=OFF"
> + "-DLIBRESSL_TESTS=OFF"
> + "${BUILD_ARGS}"
> ++ BUILD_BYPRODUCTS ${LIBRESSL_LIBRARIES_LIST}
> + )
> +
> + add_library(crypto STATIC IMPORTED)
> +diff -urN orig/CMakeLists.txt patched/CMakeLists.txt
> +--- orig/CMakeLists.txt 2020-01-07 22:55:55.000000000 +0900
> ++++ patched/CMakeLists.txt 2020-07-14 16:25:51.581055220 +0900
> +@@ -120,12 +120,12 @@
> + endif()
> +
> + # Use ccache if present
> +-find_program(CCACHE_FOUND ccache)
> +-if(CCACHE_FOUND)
> +- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
> +- set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
> +- message("-- Found ccache: ${CCACHE_FOUND}")
> +-endif(CCACHE_FOUND)
> ++#find_program(CCACHE_FOUND ccache)
> ++#if(CCACHE_FOUND)
> ++# set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
> ++# set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
> ++# message("-- Found ccache: ${CCACHE_FOUND}")
> ++#endif(CCACHE_FOUND)
> +
> + if (UNIX AND USE_GOLD_LINKER AND NOT APPLE )
> + execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE ld_version)
> +@@ -303,8 +303,10 @@
> + GIT_TAG "f3294d9d86e6a7915a967efff2842089b8b0d071" # Version 7.64.0
> + SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/thirdparty/curl-src"
> + LIST_SEPARATOR % # This is needed for passing semicolon-separated lists
> ++ TLS_VERIFY OFF
> + CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
> + "-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/thirdparty/curl-install"
> ++ "-DCMAKE_INSTALL_LIBDIR=lib${LIBSUFFIX}"
> + -DCMAKE_POSITION_INDEPENDENT_CODE=ON
> + -DBUILD_CURL_EXE=OFF
> + -DBUILD_TESTING=OFF
> 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 000000000..c0e419c67
> --- /dev/null
> +++ b/meta-oe/recipes-extended/minifi-cpp/files/minifi.service
> @@ -0,0 +1,13 @@
> +[Unit]
> +Description=MiNiFi Service
> +After=network.target
> +RequiresMountsFor=/var
> +
> +[Service]
> +Type=simple
> +Environment=MINIFI_HOME=/etc/minifi
> +ExecStartPre=@BASE_BINDIR@/mkdir -p /var/lib/minifi /var/log/minifi
> +ExecStart=@BINDIR@/minifi
> +
> +[Install]
> +WantedBy=multi-user.target
> 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 000000000..b7e6c26fd
> --- /dev/null
> +++ b/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
> @@ -0,0 +1,64 @@
> +SUMMARY = "A subproject of Apache NiFi to collect data where it originates."
> +DESCRIPTION = "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."
> +HOMEPAGE = "https://nifi.apache.org/minifi/index.html"
> +SECTION = "console/network"
> +LICENSE = "Apache-2.0"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=f9534eb5f4ab800b573a37bffc62f3a7"
> +
> +DEPENDS = "libxcrypt bzip2 expat flex zlib python3 bison-native"
> +RDEPENDS_${PN} = "python3-core"
> +
> +SRCREV = "aa42957a2e227df41510047cece3cd606dc1cb6a"
> +SRC_URI = "git://github.com/apache/nifi-minifi-cpp.git \
> + file://fix-build-issue-in-yocto.patch \
> + file://fix-OSSPUUID-cross-compile.patch \
> + file://minifi.service \
> + "
> +
> +S = "${WORKDIR}/git"
> +
> +inherit pkgconfig cmake systemd
> +
> +SYSTEMD_PACKAGES = "minifi-cpp"
> +SYSTEMD_SERVICE_${PN} = "minifi.service"
> +
> +EXTRA_OECMAKE += " \
> + -DHOST_SYS=${HOST_SYS} -DBUILD_SYS=${BUILD_SYS} \
> + -DSKIP_TESTS=ON \
> + "
> +
> +OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
> +
> +
> +do_install() {
> + DESTDIR='${B}/minifi-install' cmake_runcmake_build --target ${OECMAKE_TARGET_INSTALL}
> +
> + CONF_DIR=${D}${base_prefix}/etc/minifi/conf
> + install -d ${D}${base_prefix}/usr/bin
> + install -d ${CONF_DIR}
> + cp -a ${B}/minifi-install/usr/bin/* ${D}${base_prefix}/usr/bin/
> + cp -a ${B}/minifi-install/usr/conf/* ${CONF_DIR}/
> + sed -i 's|#appender.rolling.directory=.*|appender.rolling.directory=/var/log/minifi|g' \
> + ${CONF_DIR}/minifi-log.properties
> + sed -i 's|nifi.provenance.repository.directory.default=.*|nifi.provenance.repository.directory.default=/var/lib/minifi/provenance_repository|g' \
> + ${CONF_DIR}/minifi.properties
> + sed -i 's|nifi.flowfile.repository.directory.default=.*|nifi.flowfile.repository.directory.default=/var/lib/minifi/flowfile_repository|g' \
> + ${CONF_DIR}/minifi.properties
> + sed -i 's|nifi.database.content.repository.directory.default=.*|nifi.database.content.repository.directory.default=/var/lib/minifi/content_repository|g' \
> + ${CONF_DIR}/minifi.properties
> + sed -i 's|nifi.flow.configuration.file=.*|nifi.flow.configuration.file=/etc/minifi/conf/config.yml|g' \
> + ${CONF_DIR}/minifi.properties
> +
> + install -m 0755 -d ${D}${systemd_unitdir}/system
> + install -m 0644 ${WORKDIR}/minifi.service ${D}${systemd_unitdir}/system/
> + sed -i -e 's|@BASE_BINDIR@|${base_bindir}|g' ${D}${systemd_unitdir}/system/minifi.service
> + sed -i -e 's|@BINDIR@|${bindir}|g' ${D}${systemd_unitdir}/system/minifi.service
> +}
> +
> +FILES_${PN} = " \
> + /usr/bin/* \
> + /etc/minifi/* \
> + ${systemd_unitdir}/system/minifi.service \
> + "
>
>
>
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [meta-oe][PATCH v2] minifi: Add recipe for c++ version
2020-07-23 14:34 ` [oe] " Khem Raj
@ 2020-07-30 11:24 ` wonjong.lee
0 siblings, 0 replies; 3+ messages in thread
From: wonjong.lee @ 2020-07-30 11:24 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 448 bytes --]
I fixed build issues for mips and ppc machine.
But there is runtime issue on mips and ppc machine.
The nifi cannot receive data from the minifi, when the minifi is running at mips or ppc, and the nifi is running at x86.
So I'd like to block build for both machines and post a patch like below.
Would it be okay?
COMPATIBLE_MACHINE_mips = "(!.*mips).*"
COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
[-- Attachment #2: Type: text/html, Size: 507 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-07-30 11:24 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-23 5:21 [meta-oe][PATCH v2] minifi: Add recipe for c++ version wonjong.lee
2020-07-23 14:34 ` [oe] " Khem Raj
2020-07-30 11:24 ` wonjong.lee
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.