This is an automated email from the ASF dual-hosted git repository.
aldrin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
The following commit(s) were added to refs/heads/master by this push:
new 520a1b8 MINIFICPP-764: Add docker builds for different systems
520a1b8 is described below
commit 520a1b84a8be633de651e88c40f7a6e0797d74a8
Author: Marc Parisi <[email protected]>
AuthorDate: Thu Mar 14 17:46:42 2019 -0400
MINIFICPP-764: Add docker builds for different systems
This closes #511.
Signed-off-by: Aldrin Piri <[email protected]>
---
.gitignore | 5 ++++
README.md | 15 ++++++++++
aptitude.sh | 2 +-
cmake/DockerConfig.cmake | 29 ++++++++++++++++++
debian.sh | 2 +-
docker/ContainerBuild.sh | 63 ++++++++++++++++++++++++++++++++++++++++
docker/bionic/Dockerfile | 56 +++++++++++++++++++++++++++++++++++
docker/centos/Dockerfile | 57 ++++++++++++++++++++++++++++++++++++
docker/debian/Dockerfile | 55 +++++++++++++++++++++++++++++++++++
docker/fedora/Dockerfile | 57 ++++++++++++++++++++++++++++++++++++
docker/xenial/Dockerfile | 56 +++++++++++++++++++++++++++++++++++
extensions/script/CMakeLists.txt | 5 +++-
fedora.sh | 6 ++--
13 files changed, 403 insertions(+), 5 deletions(-)
diff --git a/.gitignore b/.gitignore
index a7345ef..26d8bfe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -57,6 +57,11 @@ thirdparty/apache-rat/apache-rat*
# Ignore source files that have been placed in the docker directory during
build
docker/minificppsource
+docker/xenial/minificppsource
+docker/bionic/minificppsource
+docker/debian/minificppsource
+docker/centos/minificppsource
+docker/fedora/minificppsource
.vs/**
*.swp
.cache
diff --git a/README.md b/README.md
index 5a2a7a4..e43195a 100644
--- a/README.md
+++ b/README.md
@@ -24,6 +24,7 @@ MiNiFi is a child project effort of Apache NiFi. This
repository is for a nativ
- [Getting Started](#getting-started)
- [System Requirements](#system-requirements)
- [Bootstrapping](#bootstrapping)
+ - [Building For Other Distros](#building-for-other-distros)
- [Cleaning](#cleaning)
- [Configuring](#configuring)
- [Running](#running)
@@ -458,6 +459,20 @@ Built target docker
$ make docker-verify
```
+### Building For Other Distros
+If you have docker installed on your machine you can build for CentOS 7,
Fedoera 29, Ubuntu 16, Ubuntu 18, and Debian 9 via our make docker commands.
The following table
+provides the command to build your distro and the output file in your build
directoiry. Since the versions are limited ( except for Ubuntu ) we output the
archive based on the distros name.
+
+
+| Distro | command | Output File |
+| ------------- |:-------------| :-----|
+| CentOS 7 | make centos | nifi-minifi-cpp-centos-$VERSION-bin.tar.gz
+| Debian 9 | make debian | nifi-minifi-cpp-debian-$VERSION-bin.tar.gz
+| Fedora 29 | make fedora | nifi-minifi-cpp-fedora-$VERSION-bin.tar.gz
+| Ubuntu 16 | make u16 | nifi-minifi-cpp-xenial-$VERSION-bin.tar.gz
+| Ubuntu 16 | make u18 | nifi-minifi-cpp-bionic-$VERSION-bin.tar.gz
+
+
### Cleaning
Remove the build directory created above.
```
diff --git a/aptitude.sh b/aptitude.sh
index e5969da..a2765f2 100644
--- a/aptitude.sh
+++ b/aptitude.sh
@@ -66,7 +66,7 @@ build_deps(){
elif [ "$FOUND_VALUE" = "libtool" ]; then
INSTALLED+=("libtool")
elif [ "$FOUND_VALUE" = "python" ]; then
- INSTALLED+=("libpython3-dev")
+ INSTALLED+=("libpython3.5-dev")
elif [ "$FOUND_VALUE" = "lua" ]; then
INSTALLED+=("liblua5.1-0-dev")
elif [ "$FOUND_VALUE" = "gpsd" ]; then
diff --git a/cmake/DockerConfig.cmake b/cmake/DockerConfig.cmake
index 57270e4..ab12f1b 100644
--- a/cmake/DockerConfig.cmake
+++ b/cmake/DockerConfig.cmake
@@ -20,6 +20,35 @@ add_custom_target(
docker
COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
minificppsource ${CMAKE_SOURCE_DIR}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
+
+
+add_custom_target(
+ centos
+ COMMAND ${CMAKE_SOURCE_DIR}/docker/ContainerBuild.sh 1000 1000
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
minificppsource ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} centos
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/centos/)
+
+add_custom_target(
+ debian
+ COMMAND ${CMAKE_SOURCE_DIR}/docker/ContainerBuild.sh 1000 1000
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
minificppsource ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} debian
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/debian/)
+
+add_custom_target(
+ fedora
+ COMMAND ${CMAKE_SOURCE_DIR}/docker/ContainerBuild.sh 1000 1000
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
minificppsource ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} fedora
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/fedora/)
+
+
+add_custom_target(
+ u18
+ COMMAND ${CMAKE_SOURCE_DIR}/docker/ContainerBuild.sh 1000 1000
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
minificppsource ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} bionic
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/bionic/)
+
+
+add_custom_target(
+ u16
+ COMMAND ${CMAKE_SOURCE_DIR}/docker/ContainerBuild.sh 1000 1000
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
minificppsource ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} xenial
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/xenial/)
+
add_custom_target(
docker-verify
diff --git a/debian.sh b/debian.sh
index 12ba3a9..d3223c9 100644
--- a/debian.sh
+++ b/debian.sh
@@ -68,7 +68,7 @@ build_deps(){
elif [ "$FOUND_VALUE" = "libtool" ]; then
INSTALLED+=("libtool")
elif [ "$FOUND_VALUE" = "python" ]; then
- INSTALLED+=("libpython3-dev")
+ INSTALLED+=("libpython3.5-dev")
elif [ "$FOUND_VALUE" = "lua" ]; then
INSTALLED+=("liblua5.1-0-dev")
elif [ "$FOUND_VALUE" = "automake" ]; then
diff --git a/docker/ContainerBuild.sh b/docker/ContainerBuild.sh
new file mode 100755
index 0000000..4e736e2
--- /dev/null
+++ b/docker/ContainerBuild.sh
@@ -0,0 +1,63 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+#!/bin/bash
+
+# Set env vars.
+UID_ARG=$1
+GID_ARG=$2
+MINIFI_VERSION=$3
+MINIFI_SOURCE_CODE=$4
+CMAKE_SOURCE_DIR=$5
+DUMP_LOCATION=$6
+DISTRO_NAME=$7
+
+echo "NiFi-MiNiFi-CPP Version: $MINIFI_VERSION"
+echo "Current Working Directory: $(pwd)"
+echo "CMake Source Directory: $CMAKE_SOURCE_DIR"
+echo "MiNiFi Package: $MINIFI_SOURCE_CODE"
+
+# Copy the MiNiFi source tree to the Docker working directory before building
+mkdir -p $CMAKE_SOURCE_DIR/docker/${DISTRO_NAME}/minificppsource
+rsync -avr \
+ --exclude '/*build*' \
+ --exclude '/docker' \
+ --exclude '.git' \
+ --exclude '/extensions/expression-language/Parser.cpp' \
+ --exclude '/extensions/expression-language/Parser.hpp' \
+ --exclude '/extensions/expression-language/Scanner.cpp' \
+ --exclude '/extensions/expression-language/location.hh' \
+ --exclude '/extensions/expression-language/position.hh' \
+ --exclude '/extensions/expression-language/stack.hh' \
+ --delete \
+ $CMAKE_SOURCE_DIR/ \
+ $CMAKE_SOURCE_DIR/docker/${DISTRO_NAME}/minificppsource/
+
+DOCKER_COMMAND="docker build --build-arg UID=$UID_ARG \
+ --build-arg GID=$GID_ARG \
+ --build-arg MINIFI_VERSION=$MINIFI_VERSION \
+ --build-arg
MINIFI_SOURCE_CODE=$MINIFI_SOURCE_CODE \
+ --build-arg DUMP_LOCATION=$DUMP_LOCATION \
+ -t \
+ apacheminificpp:${DISTRO_NAME}-$MINIFI_VERSION ."
+echo "Docker Command: '$DOCKER_COMMAND'"
+${DOCKER_COMMAND}
+
+docker run --rm --entrypoint cat
apacheminificpp:${DISTRO_NAME}-$MINIFI_VERSION
/opt/minifi/build/nifi-minifi-cpp-$MINIFI_VERSION-bin.tar.gz >
${DUMP_LOCATION}/nifi-minifi-cpp-${DISTRO_NAME}-$MINIFI_VERSION-bin.tar.gz
+
+rm -rf $CMAKE_SOURCE_DIR/docker/${DISTRO_NAME}/minificppsource/
diff --git a/docker/bionic/Dockerfile b/docker/bionic/Dockerfile
new file mode 100644
index 0000000..6b3ab55
--- /dev/null
+++ b/docker/bionic/Dockerfile
@@ -0,0 +1,56 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# First stage: the build environment
+# Edge required for rocksdb
+FROM ubuntu:bionic AS builder
+MAINTAINER Apache NiFi <[email protected]>
+
+ARG UID
+ARG GID
+ARG MINIFI_VERSION
+ARG MINIFI_SOURCE_CODE
+ARG DUMP_LOCATION
+
+# Install the system dependencies needed for a build
+
+ENV USER root
+ENV MINIFI_BASE_DIR /opt/minifi
+RUN mkdir -p $MINIFI_BASE_DIR
+USER $USER
+
+RUN apt-get update && apt-get install -y openjdk-8-jdk openjdk-8-source sudo
git maven
+
+
+ADD $MINIFI_SOURCE_CODE $MINIFI_BASE_DIR
+
+ENV MINIFI_HOME $MINIFI_BASE_DIR/nifi-minifi-cpp-$MINIFI_VERSION
+
+# Setup minificpp user
+RUN mkdir -p $MINIFI_BASE_DIR
+ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
+
+
+# Perform the build
+RUN cd $MINIFI_BASE_DIR \
+ && ./bootstrap.sh -e -t \
+ && rm -rf build \
+ && mkdir build \
+ && cd build \
+ && cmake -DUSE_SHARED_LIBS= -DENABLE_LIBRDKAFKA=ON -DPORTABLE=ON
-DENABLE_COAP=ON -DCMAKE_BUILD_TYPE=Release -DSKIP_TESTS=true -DENABLE_JNI=ON
.. \
+ && make -j8 package
\ No newline at end of file
diff --git a/docker/centos/Dockerfile b/docker/centos/Dockerfile
new file mode 100644
index 0000000..e02cf56
--- /dev/null
+++ b/docker/centos/Dockerfile
@@ -0,0 +1,57 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# First stage: the build environment
+# Edge required for rocksdb
+FROM centos:latest AS builder
+MAINTAINER Apache NiFi <[email protected]>
+
+ARG UID
+ARG GID
+ARG MINIFI_VERSION
+ARG MINIFI_SOURCE_CODE
+ARG DUMP_LOCATION
+
+# Install the system dependencies needed for a build
+
+ENV USER root
+ENV MINIFI_BASE_DIR /opt/minifi
+RUN mkdir -p $MINIFI_BASE_DIR
+USER $USER
+
+RUN yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel sudo git which
maven
+
+
+ADD $MINIFI_SOURCE_CODE $MINIFI_BASE_DIR
+
+ENV MINIFI_HOME $MINIFI_BASE_DIR/nifi-minifi-cpp-$MINIFI_VERSION
+
+# Setup minificpp user
+RUN mkdir -p $MINIFI_BASE_DIR
+
+
+# Perform the build
+RUN cd $MINIFI_BASE_DIR \
+ && ./bootstrap.sh -e -t \
+ && rm -rf build \
+ && mkdir build \
+ && cd build \
+ && cmake3 -DUSE_SHARED_LIBS= -DENABLE_LIBRDKAFKA=ON -DPORTABLE=ON
-DENABLE_COAP=ON -DCMAKE_BUILD_TYPE=Release -DSKIP_TESTS=true -DENABLE_JNI=ON
.. \
+ && make -j8 package
+
+#COPY $MINIFI_BASE_DIR/build/nifi-minifi-cpp-$MINIFI_VERSION-bin.tar.gz
$DUMP_LOCATION/nifi-minifi-cpp-centos7-$MINIFI_VERSION-bin.tar.gz
\ No newline at end of file
diff --git a/docker/debian/Dockerfile b/docker/debian/Dockerfile
new file mode 100644
index 0000000..ec9391c
--- /dev/null
+++ b/docker/debian/Dockerfile
@@ -0,0 +1,55 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# First stage: the build environment
+# Edge required for rocksdb
+FROM debian:stretch AS builder
+MAINTAINER Apache NiFi <[email protected]>
+
+ARG UID
+ARG GID
+ARG MINIFI_VERSION
+ARG MINIFI_SOURCE_CODE
+ARG DUMP_LOCATION
+
+# Install the system dependencies needed for a build
+
+ENV USER root
+ENV MINIFI_BASE_DIR /opt/minifi
+RUN mkdir -p $MINIFI_BASE_DIR
+USER $USER
+
+RUN apt-get update && apt-get install -y openjdk-8-jdk libpython3.5-dev
openjdk-8-source sudo git maven
+
+
+ADD $MINIFI_SOURCE_CODE $MINIFI_BASE_DIR
+
+ENV MINIFI_HOME $MINIFI_BASE_DIR/nifi-minifi-cpp-$MINIFI_VERSION
+
+# Setup minificpp user
+RUN mkdir -p $MINIFI_BASE_DIR
+ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
+
+# Perform the build
+RUN cd $MINIFI_BASE_DIR \
+ && ./bootstrap.sh -e -t \
+ && rm -rf build \
+ && mkdir build \
+ && cd build \
+ && cmake -DUSE_SHARED_LIBS= -DENABLE_LIBRDKAFKA=ON -DPORTABLE=ON
-DENABLE_COAP=ON -DCMAKE_BUILD_TYPE=Release -DSKIP_TESTS=true -DENABLE_JNI=ON
.. \
+ && make -j8 package
\ No newline at end of file
diff --git a/docker/fedora/Dockerfile b/docker/fedora/Dockerfile
new file mode 100644
index 0000000..46022d5
--- /dev/null
+++ b/docker/fedora/Dockerfile
@@ -0,0 +1,57 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# First stage: the build environment
+# Edge required for rocksdb
+FROM fedora:29 AS builder
+MAINTAINER Apache NiFi <[email protected]>
+
+ARG UID
+ARG GID
+ARG MINIFI_VERSION
+ARG MINIFI_SOURCE_CODE
+ARG DUMP_LOCATION
+
+# Install the system dependencies needed for a build
+
+ENV USER root
+ENV MINIFI_BASE_DIR /opt/minifi
+RUN mkdir -p $MINIFI_BASE_DIR
+USER $USER
+
+RUN yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel flex bison make
patch sudo git which maven
+
+
+ADD $MINIFI_SOURCE_CODE $MINIFI_BASE_DIR
+
+ENV MINIFI_HOME $MINIFI_BASE_DIR/nifi-minifi-cpp-$MINIFI_VERSION
+
+# Setup minificpp user
+RUN mkdir -p $MINIFI_BASE_DIR
+#ENV JAVA_HOME /usr/lib/jvm/default-jvm
+#ENV PATH $PATH:/usr/lib/jvm/default-jvm/bin
+
+
+# Perform the build
+RUN cd $MINIFI_BASE_DIR \
+ && ./bootstrap.sh -e \
+ && rm -rf build \
+ && mkdir build \
+ && cd build \
+ && cmake3 -DUSE_SHARED_LIBS= -DFAIL_ON_WARNINGS=OFF
-DENABLE_LIBRDKAFKA=ON -DPORTABLE=ON -DENABLE_COAP=ON
-DCMAKE_BUILD_TYPE=Release -DSKIP_TESTS=true -DENABLE_JNI=ON .. \
+ && make -j8 package
diff --git a/docker/xenial/Dockerfile b/docker/xenial/Dockerfile
new file mode 100644
index 0000000..9922977
--- /dev/null
+++ b/docker/xenial/Dockerfile
@@ -0,0 +1,56 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# First stage: the build environment
+# Edge required for rocksdb
+FROM ubuntu:xenial AS builder
+MAINTAINER Apache NiFi <[email protected]>
+
+ARG UID
+ARG GID
+ARG MINIFI_VERSION
+ARG MINIFI_SOURCE_CODE
+ARG DUMP_LOCATION
+# Install the system dependencies needed for a build
+
+ENV USER root
+ENV MINIFI_BASE_DIR /opt/minifi
+RUN mkdir -p $MINIFI_BASE_DIR
+USER $USER
+
+RUN apt-get update && apt-get install -y openjdk-8-jdk openjdk-8-source sudo
git maven
+
+
+ADD $MINIFI_SOURCE_CODE $MINIFI_BASE_DIR
+
+ENV MINIFI_HOME $MINIFI_BASE_DIR/nifi-minifi-cpp-$MINIFI_VERSION
+
+# Setup minificpp user
+RUN mkdir -p $MINIFI_BASE_DIR
+ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
+#ENV PATH $PATH:/usr/lib/jvm/default-jvm/bin
+
+
+# Perform the build
+RUN cd $MINIFI_BASE_DIR \
+ && ./bootstrap.sh -e -t \
+ && rm -rf build \
+ && mkdir build \
+ && cd build \
+ && cmake -DUSE_SHARED_LIBS= -DENABLE_LIBRDKAFKA=ON -DPORTABLE=ON
-DENABLE_COAP=ON -DCMAKE_BUILD_TYPE=Release -DSKIP_TESTS=true -DENABLE_JNI=ON
.. \
+ && make -j8 package
\ No newline at end of file
diff --git a/extensions/script/CMakeLists.txt b/extensions/script/CMakeLists.txt
index beb3273..d410471 100644
--- a/extensions/script/CMakeLists.txt
+++ b/extensions/script/CMakeLists.txt
@@ -59,7 +59,10 @@ include_directories(${OPENSSL_INCLUDE_DIR})
target_link_libraries(minifi-script-extensions ${CMAKE_DL_LIBS})
if (NOT DISABLE_PYTHON_SCRIPTING)
- find_package(PythonLibs REQUIRED)
+ find_package(PythonLibs 3.5)
+ if (NOT PYTHONLIBS_FOUND)
+ find_package(PythonLibs 3.0 REQUIRED)
+ endif()
include_directories(${PYTHON_INCLUDE_DIR})
include_directories(../../thirdparty/pybind11/include)
diff --git a/fedora.sh b/fedora.sh
index b06a409..7fdaaac 100644
--- a/fedora.sh
+++ b/fedora.sh
@@ -36,7 +36,7 @@ build_deps(){
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install epel-release-latest-7.noarch.rpm
- COMMAND="sudo yum -y install gcc gcc-c++ libuuid libuuid-devel"
+ COMMAND="sudo yum -y install gcc gcc-c++ libuuid libuuid-devel patch"
INSTALLED=()
INSTALLED+=("bzip2-devel")
for option in "${OPTIONS[@]}" ; do
@@ -49,6 +49,7 @@ build_deps(){
VALUE=${cmake_opt#*:}
if [ "$KEY" = "$option" ]; then
FOUND_VALUE="$VALUE"
+ echo $FOUND_VALUE
if [ "$FOUND_VALUE" = "libcurl" ]; then
INSTALLED+=("libcurl-devel")
elif [ "$FOUND_VALUE" = "libpcap" ]; then
@@ -64,6 +65,7 @@ build_deps(){
INSTALLED+=("bison")
elif [ "$FOUND_VALUE" = "flex" ]; then
INSTALLED+=("flex")
+ echo "add flex"
elif [ "$FOUND_VALUE" = "python" ]; then
INSTALLED+=("python3-devel")
elif [ "$FOUND_VALUE" = "lua" ]; then
@@ -88,7 +90,7 @@ build_deps(){
for option in "${INSTALLED[@]}" ; do
COMMAND="${COMMAND} $option"
done
-
+echo "Installing ${COMMAND}"
${COMMAND}
}