From 9c4f1b9287d21b31bebd66a0fb17c57a76d97fd7 Mon Sep 17 00:00:00 2001
From: Sergey Yakubov <sergey.yakubov@desy.de>
Date: Wed, 9 Dec 2020 19:28:40 +0100
Subject: [PATCH] centos 8 build, cmake - do not build python by default

---
 consumer/api/python/CMakeLists_Linux.cmake    |  3 +--
 .../python/source_dist_linux/CMakeLists.txt   | 11 +++++-----
 deploy/build_env/Ubuntu16.04/build.sh         |  4 ++--
 deploy/build_env/Ubuntu16.04/build_image.sh   |  2 +-
 deploy/build_env/centos/Dockerfile.8.3.2011   | 22 +++++++++++++++++++
 deploy/build_env/centos/build.sh              |  5 +++--
 .../centos/{build_image.sh => build_el7.sh}   |  0
 deploy/build_env/centos/build_el8.sh          |  2 ++
 deploy/build_env/manylinux2010/build.sh       | 20 ++++++++---------
 producer/api/python/CMakeLists_Linux.cmake    |  2 +-
 .../python/source_dist_linux/CMakeLists.txt   | 10 +++++----
 tests/automatic/asapo_fabric/timeout_test.cpp |  8 +++----
 12 files changed, 58 insertions(+), 31 deletions(-)
 create mode 100644 deploy/build_env/centos/Dockerfile.8.3.2011
 rename deploy/build_env/centos/{build_image.sh => build_el7.sh} (100%)
 create mode 100755 deploy/build_env/centos/build_el8.sh

diff --git a/consumer/api/python/CMakeLists_Linux.cmake b/consumer/api/python/CMakeLists_Linux.cmake
index 22888994e..e0bbd7af0 100644
--- a/consumer/api/python/CMakeLists_Linux.cmake
+++ b/consumer/api/python/CMakeLists_Linux.cmake
@@ -19,8 +19,7 @@ set (ASAPO_CONSUMER_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../cpp/include)
 
 configure_files(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} @ONLY)
 
-ADD_CUSTOM_TARGET(python-lib ALL
-        COMMAND ${Python_EXECUTABLE} setup.py build_ext --inplace --force)
+ADD_CUSTOM_TARGET(python-lib COMMAND ${Python_EXECUTABLE} setup.py build_ext --inplace --force)
 
 ADD_DEPENDENCIES(python-lib asapo-consumer)
 
diff --git a/consumer/api/python/source_dist_linux/CMakeLists.txt b/consumer/api/python/source_dist_linux/CMakeLists.txt
index 99d58f4cd..9c8c2d41b 100644
--- a/consumer/api/python/source_dist_linux/CMakeLists.txt
+++ b/consumer/api/python/source_dist_linux/CMakeLists.txt
@@ -1,22 +1,21 @@
 configure_file(setup.py.in setup.py @ONLY)
 configure_file(MANIFEST.in MANIFEST.in @ONLY)
 
-
-ADD_CUSTOM_TARGET(python-dist ALL
+ADD_CUSTOM_TARGET(python-dist
         COMMAND ${Python_EXECUTABLE} setup.py sdist
         )
 
 ADD_CUSTOM_TARGET(python-rpm-consumer
-        COMMAND PACKAGE_PREFIX=python- python setup.py bdist_rpm --release=${PACKAGE_RELEASE_SUFFIX} --requires=numpy
+        COMMAND PACKAGE_PREFIX=python- python setup.py bdist_rpm --release=1.${PACKAGE_RELEASE_SUFFIX} --requires=numpy
         )
 
 ADD_CUSTOM_TARGET(python3-rpm-consumer
-        COMMAND PACKAGE_PREFIX=python3- python3 setup.py bdist_rpm --release=${PACKAGE_RELEASE_SUFFIX} --requires=python3-numpy
+        COMMAND PACKAGE_PREFIX=python3- python3 setup.py bdist_rpm --release=1.${PACKAGE_RELEASE_SUFFIX} --requires=python3-numpy
         )
 
 #get_property(ASAPO_CONSUMER_LIB TARGET asapo-consumer PROPERTY LOCATION)
 
-ADD_CUSTOM_TARGET(copy_python_dist ALL
+ADD_CUSTOM_TARGET(copy_python_dist
         COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/../asapo_wrappers.h ${CMAKE_CURRENT_BINARY_DIR}/.
         COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/../asapo_consumer.cpp ${CMAKE_CURRENT_BINARY_DIR}/.
         COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/consumer/api/cpp/include ${CMAKE_CURRENT_BINARY_DIR}/include
@@ -33,3 +32,5 @@ ADD_CUSTOM_TARGET(copy_python_dist ALL
 ADD_DEPENDENCIES(copy_python_dist python-lib)
 
 ADD_DEPENDENCIES(python-dist copy_python_dist)
+ADD_DEPENDENCIES(python-rpm-consumer python-dist)
+ADD_DEPENDENCIES(python3-rpm-consumer python-dist)
diff --git a/deploy/build_env/Ubuntu16.04/build.sh b/deploy/build_env/Ubuntu16.04/build.sh
index 6cc5e5b95..54678561c 100755
--- a/deploy/build_env/Ubuntu16.04/build.sh
+++ b/deploy/build_env/Ubuntu16.04/build.sh
@@ -10,7 +10,7 @@ cmake \
     -DBUILD_PYTHON_DOCS=ON \
     -DBUILD_EVENT_MONITOR_PRODUCER=ON \
     ..
-cd consumer && make
-cd ../producer && make
+cd consumer/api/python/source_dist_linux && make python-dist
+cd ../producer/api/python/source_dist_linux && make python-dist-producer
 cd ../docs/sphinx && make
 
diff --git a/deploy/build_env/Ubuntu16.04/build_image.sh b/deploy/build_env/Ubuntu16.04/build_image.sh
index df1c4b6ce..415b215af 100755
--- a/deploy/build_env/Ubuntu16.04/build_image.sh
+++ b/deploy/build_env/Ubuntu16.04/build_image.sh
@@ -1,4 +1,4 @@
 #!/usr/bin/env bash
 set -e
 docker build -t yakser/asapo-env:ubuntu16.04 .
-#docker push yakser/asapo-env:ubuntu16.04
+docker push yakser/asapo-env:ubuntu16.04
diff --git a/deploy/build_env/centos/Dockerfile.8.3.2011 b/deploy/build_env/centos/Dockerfile.8.3.2011
new file mode 100644
index 000000000..0b7037a13
--- /dev/null
+++ b/deploy/build_env/centos/Dockerfile.8.3.2011
@@ -0,0 +1,22 @@
+from centos:8.3.2011
+
+RUN yum update -y
+RUN yum -y groupinstall "Development Tools"
+RUN yum config-manager --set-enabled powertools
+RUN yum -y install wget rpm-build zlib-devel python3-devel python3-numpy libibverbs librdmacm librdmacm-devel mc
+RUN yum -y install cmake glibc-static libstdc++-static
+RUN pip3 install cython
+RUN ln -s /usr/bin/python3 /usr/bin/python
+
+ADD install_curl.sh install_curl.sh
+RUN ./install_curl.sh /curl
+
+ADD install_libfabric.sh install_libfabric.sh
+RUN ./install_libfabric.sh
+
+ENV GOPATH /tmp
+ENV OS el8
+ADD build.sh /bin/build.sh
+
+
+
diff --git a/deploy/build_env/centos/build.sh b/deploy/build_env/centos/build.sh
index 8f01bd363..dbcfc1ccc 100755
--- a/deploy/build_env/centos/build.sh
+++ b/deploy/build_env/centos/build.sh
@@ -10,8 +10,9 @@ cmake \
     -DNUMPY_VERSION=0   \
     -DLIBCURL_DIR=/curl \
     ..
+make
 make package
-cd consumer/api/python/source_dist_linux && make python-rpm-consumer && make python3-rpm-consumer && cd -
-cd producer/api/python/source_dist_linux && make python-rpm-producer && make python3-rpm-producer
+cd consumer/api/python/source_dist_linux && make python-rpm-consumer python3-rpm-consumer && cd -
+cd producer/api/python/source_dist_linux && make python-rpm-producer python3-rpm-producer
 
 
diff --git a/deploy/build_env/centos/build_image.sh b/deploy/build_env/centos/build_el7.sh
similarity index 100%
rename from deploy/build_env/centos/build_image.sh
rename to deploy/build_env/centos/build_el7.sh
diff --git a/deploy/build_env/centos/build_el8.sh b/deploy/build_env/centos/build_el8.sh
new file mode 100755
index 000000000..44d5e7dcf
--- /dev/null
+++ b/deploy/build_env/centos/build_el8.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+docker build -t yakser/asapo-env:centos8.3.2011 -f Dockerfile.8.3.2011 .
diff --git a/deploy/build_env/manylinux2010/build.sh b/deploy/build_env/manylinux2010/build.sh
index 647c7c4d1..586cd0486 100755
--- a/deploy/build_env/manylinux2010/build.sh
+++ b/deploy/build_env/manylinux2010/build.sh
@@ -19,22 +19,22 @@ for python_path in /opt/python/cp{27,35,36,37,38}*; do
 
     cd /asapo/build
     cmake -DENABLE_LIBFABRIC=on -DCMAKE_BUILD_TYPE="Release" -DLIBCURL_DIR=/curl -DPython_EXECUTABLE=$python -DNUMPY_VERSION=$numpy_version ..
-    cd consumer \
-        && $pip install -r api/python/dev-requirements.txt\
-        && make \
-        && $pip wheel api/python/source_dist_linux/dist/*.tar.gz -w wheelhouse --no-deps
-    cd ../producer \
-        && $pip install -r api/python/dev-requirements.txt \
-        && make \
-        && $pip wheel api/python/source_dist_linux/dist/*.tar.gz -w wheelhouse --no-deps
+    cd /asapo/build/consumer/api/python/source_dist_linux \
+        && $pip install -r ../dev-requirements.txt \
+        && make python-dist \
+        && $pip wheel dist/*.tar.gz -w /asapo/build/consumer/wheelhouse --no-deps
+    cd  /asapo/build/producer/api/python/source_dist_linux \
+        && $pip install -r ../dev-requirements.txt \
+        && make python-dist-producer \
+        && $pip wheel dist/*.tar.gz -w /asapo/build/producer/wheelhouse --no-deps
 done
 
-cd ../consumer \
+cd /asapo/build/consumer \
     && for wheel in wheelhouse/asapo_consumer*.whl; do
         auditwheel repair $wheel --plat manylinux2010_x86_64 -w /asapo/build/wheelhouse
     done
 
-cd ../producer \
+cd /asapo/build/producer \
     && for wheel in wheelhouse/asapo_producer*.whl; do
         auditwheel repair $wheel --plat manylinux2010_x86_64 -w /asapo/build/wheelhouse
     done
\ No newline at end of file
diff --git a/producer/api/python/CMakeLists_Linux.cmake b/producer/api/python/CMakeLists_Linux.cmake
index 0a8ca96ac..47bee3561 100644
--- a/producer/api/python/CMakeLists_Linux.cmake
+++ b/producer/api/python/CMakeLists_Linux.cmake
@@ -15,7 +15,7 @@ configure_files(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} @ONLY)
 file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/setup.py INPUT ${CMAKE_CURRENT_BINARY_DIR}/setup.py)
 
 
-ADD_CUSTOM_TARGET(python-lib-producer ALL
+ADD_CUSTOM_TARGET(python-lib-producer
         COMMAND ${Python_EXECUTABLE} setup.py build_ext --inplace --force)
 
 ADD_DEPENDENCIES(python-lib-producer asapo-producer)
diff --git a/producer/api/python/source_dist_linux/CMakeLists.txt b/producer/api/python/source_dist_linux/CMakeLists.txt
index ff359b363..1ee0b4ff1 100644
--- a/producer/api/python/source_dist_linux/CMakeLists.txt
+++ b/producer/api/python/source_dist_linux/CMakeLists.txt
@@ -4,18 +4,18 @@ configure_file(MANIFEST.in MANIFEST.in @ONLY)
 file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/setup.py INPUT ${CMAKE_CURRENT_BINARY_DIR}/setup.py)
 
 ADD_CUSTOM_TARGET(python-rpm-producer
-		COMMAND PACKAGE_PREFIX=python- python setup.py bdist_rpm --release=${PACKAGE_RELEASE_SUFFIX} --requires=numpy
+		COMMAND PACKAGE_PREFIX=python- python setup.py bdist_rpm --release=1.${PACKAGE_RELEASE_SUFFIX} --requires=numpy
 		)
 
 ADD_CUSTOM_TARGET(python3-rpm-producer
-		COMMAND PACKAGE_PREFIX=python3- python3 setup.py bdist_rpm --release=${PACKAGE_RELEASE_SUFFIX} --requires=python3-numpy
+		COMMAND PACKAGE_PREFIX=python3- python3 setup.py bdist_rpm --release=1.${PACKAGE_RELEASE_SUFFIX} --requires=python3-numpy
 		)
 
-ADD_CUSTOM_TARGET(python-dist-producer ALL
+ADD_CUSTOM_TARGET(python-dist-producer
         COMMAND ${Python_EXECUTABLE} setup.py sdist
         )
 
-ADD_CUSTOM_TARGET(copy_python_dist-producer ALL
+ADD_CUSTOM_TARGET(copy_python_dist-producer
         COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/../asapo_wrappers.h ${CMAKE_CURRENT_BINARY_DIR}/.
         COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/../asapo_producer.cpp ${CMAKE_CURRENT_BINARY_DIR}/.
         COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/producer/api/cpp/include ${CMAKE_CURRENT_BINARY_DIR}/include
@@ -35,3 +35,5 @@ ELSE()
 ENDIF()
 
 ADD_DEPENDENCIES(python-dist-producer copy_python_dist-producer)
+ADD_DEPENDENCIES(python3-rpm-producer copy_python_dist-producer)
+ADD_DEPENDENCIES(python-rpm-producer copy_python_dist-producer)
diff --git a/tests/automatic/asapo_fabric/timeout_test.cpp b/tests/automatic/asapo_fabric/timeout_test.cpp
index 22621d49c..f752af6ef 100644
--- a/tests/automatic/asapo_fabric/timeout_test.cpp
+++ b/tests/automatic/asapo_fabric/timeout_test.cpp
@@ -1,10 +1,10 @@
 #include <iostream>
 #include <future>
-#include <asapo/common/error.h>
-#include <logger/logger.h>
+#include "asapo/common/error.h"
+#include "asapo/logger/logger.h"
 #include <testing.h>
-#include <asapo/asapo_fabric/asapo_fabric.h>
-#include <asapo/common/io_error.h>
+#include "asapo/asapo_fabric/asapo_fabric.h"
+#include "asapo/common/io_error.h"
 
 using namespace asapo;
 using namespace fabric;
-- 
GitLab