diff --git a/Bigdata/mesos/1.11.0/24.03-lts-sp2/Dockerfile b/Bigdata/mesos/1.11.0/24.03-lts-sp2/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..a0f9c9cc3076c72b1730d2b6cd11a53cfc4ee60d --- /dev/null +++ b/Bigdata/mesos/1.11.0/24.03-lts-sp2/Dockerfile @@ -0,0 +1,54 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp2 +FROM ${BASE} + +ARG VERSION=1.11.0 +ARG TARGETARCH +ARG BUILDARCH + +WORKDIR / + +RUN yum install -y \ + wget maven \ + python-six python-virtualenv \ + java-devel zlib-devel libcurl-devel \ + cyrus-sasl-devel cyrus-sasl-md5 \ + apr-devel subversion-devel apr-util-devel \ + gcc make libtool libsysfs \ + patch g++ net-tools && \ + yum clean all + +RUN wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2k.tar.gz && \ + tar -zxvf openssl-1.0.2k.tar.gz && \ + cd openssl-1.0.2k && \ + ./config shared --prefix=/usr/local/openssl-1.0.2k && \ + make -j$(nproc) && make install + +COPY pysetup.patch / +RUN wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz && \ + tar -zxvf Python-2.7.18.tgz && \ + cd Python-2.7.18 && \ + patch Modules/Setup.dist < /pysetup.patch && \ + ./configure \ + --prefix=/usr/local/python-2.7 \ + --enable-unicode=ucs4 \ + --enable-shared \ + LDFLAGS="-L/usr/local/openssl-1.0.2k/lib" \ + CPPFLAGS="-I/usr/local/openssl-1.0.2k/include" \ + LD_LIBRARY_PATH=/usr/local/openssl-1.0.2k/lib && \ + make -j$(nproc) && make install && \ + ln -s /usr/local/python-2.7/bin/python /usr/bin/python2 + +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/python-2.7/lib/:/usr/local/openssl-1.0.2k/lib +RUN wget https://downloads.apache.org/mesos/${VERSION}/mesos-${VERSION}.tar.gz && \ + tar -zxf mesos-${VERSION}.tar.gz +COPY grpc-1.10.0.patch /mesos-${VERSION}/3rdparty/grpc-1.10.0.patch +COPY entrypoint.sh / +RUN cd /mesos-${VERSION} && \ + CXXFLAGS="-Wno-nonnull -Wno-deprecated-declarations -Wno-parentheses" ./configure && \ + make -j 2 && make install && \ + chmod +x /entrypoint.sh + +ENV PATH $PATH:/mesos/bin + +EXPOSE 5050 5051 +ENTRYPOINT ["/entrypoint.sh"] diff --git a/Bigdata/mesos/1.11.0/24.03-lts-sp2/entrypoint.sh b/Bigdata/mesos/1.11.0/24.03-lts-sp2/entrypoint.sh new file mode 100644 index 0000000000000000000000000000000000000000..e8428f5f47e3f480ebe597acb586619824db72ec --- /dev/null +++ b/Bigdata/mesos/1.11.0/24.03-lts-sp2/entrypoint.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +set -euo pipefail +[ -n "${DEBUG:-}" ] && set -x + +if [ $# -gt 0 ]; then + exec "$@" +else + # This only runs a master + #/usr/bin/mesos-local + echo "Starting Mesos Master:" + mesos master --work_dir=/var/lib/mesos --log_dir=/tmp/mesos-master-logs --cluster=myCluster & + sleep 2 + echo "Starting Mesos Worker:" + set +eo pipefail + ip_address="$(ifconfig | awk '/inet /{print $2; exit}' | sed 's/.*://')" + if [ -z "$ip_address" ]; then + echo "FAILED to find IP Address, cannot launch worker as will get expected master mismatch" + exit 1 + fi + set -eo pipefail + mesos slave --master="$ip_address:5050" --work_dir=/var/lib/mesos --log_dir=/tmp/mesos-slave-logs --no-systemd_enable_support --launcher=posix & + sleep 1 + echo "=================" + cat /tmp/mesos-master-logs/* || : + cat /tmp/mesos-slave-logs/* || : + tail -f /dev/null /tmp/mesos-master-logs/* /tmp/mesos-slave-logs/* +fi \ No newline at end of file diff --git a/Bigdata/mesos/1.11.0/24.03-lts-sp2/grpc-1.10.0.patch b/Bigdata/mesos/1.11.0/24.03-lts-sp2/grpc-1.10.0.patch new file mode 100644 index 0000000000000000000000000000000000000000..7f03145a8603844a4fe12c1c91cde66859141b44 --- /dev/null +++ b/Bigdata/mesos/1.11.0/24.03-lts-sp2/grpc-1.10.0.patch @@ -0,0 +1,112 @@ +From 90869cffbd0cd05ee663e1b81cda169dd40cdf22 Mon Sep 17 00:00:00 2001 +From: Chun-Hung Hsiao +Date: Thu, 19 Apr 2018 14:15:10 -0700 +Subject: [PATCH] Fixed undefined `_WIN32_WINNT` for Windows compilation. + + +diff --git a/include/grpc/impl/codegen/port_platform.h b/include/grpc/impl/codegen/port_platform.h +index 819d17ce2a..77b587dac3 100644 +--- a/include/grpc/impl/codegen/port_platform.h ++++ b/include/grpc/impl/codegen/port_platform.h +@@ -39,6 +39,8 @@ + #define NOMINMAX + #endif /* NOMINMAX */ + ++#include ++ + #ifndef _WIN32_WINNT + #error \ + "Please compile grpc with _WIN32_WINNT of at least 0x600 (aka Windows Vista)" +@@ -49,8 +51,6 @@ + #endif /* _WIN32_WINNT < 0x0600 */ + #endif /* defined(_WIN32_WINNT) */ + +-#include +- + #ifdef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED + #undef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED + #undef WIN32_LEAN_AND_MEAN +-- +2.17.2 (Apple Git-113) + + +From 6531532de6a35ed8e00e24d3b60e88fd90d01335 Mon Sep 17 00:00:00 2001 +From: Chun-Hung Hsiao +Date: Fri, 10 Aug 2018 14:00:03 -0700 +Subject: [PATCH] Removed unnecessary dependencies of `codegen_init.o` for + unsecure build. + +`codegen_init.cc` is listed in `LIBGRPC++_UNSECURE_SRC`, which are +compiled without SSL, but in `Makefile` lists SSL-required libraries as +its dependencies. Since the file itself does not use any bits from those +libraries, it is safe to remove those dependencies. + +diff --git a/Makefile b/Makefile +index 8bab9c3afd..9f8261f0a4 100644 +--- a/Makefile ++++ b/Makefile +@@ -15461,8 +15461,6 @@ $(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/stats.o: $(LIBDIR)/$(CONFIG)/libgrpc + + $(OBJDIR)/$(CONFIG)/test/cpp/codegen/codegen_test_minimal.o: $(LIBDIR)/$(CONFIG)/libgrpc++_core_stats.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a + +-$(OBJDIR)/$(CONFIG)/src/cpp/codegen/codegen_init.o: $(LIBDIR)/$(CONFIG)/libgrpc++_core_stats.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +- + deps_codegen_test_minimal: $(CODEGEN_TEST_MINIMAL_OBJS:.o=.dep) + + ifneq ($(NO_SECURE),true) +-- +2.17.2 (Apple Git-113) + + +From 5c13ad2a3df1108184c716379818eab6fc0ba72d Mon Sep 17 00:00:00 2001 +From: Chun-Hung Hsiao +Date: Thu, 10 Jan 2019 14:26:11 -0800 +Subject: [PATCH] CMake: Automatic fallbacking on system's OpenSSL if it only + has NPN. + +Since ALPN is not supported on some old systems that come with OpenSSL +version 1.0.1 or older, gRPC needs to fall back to NPN when being built +with these systems' OpenSSL. + +diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake +index 83f642a675..8e2253fb39 100644 +--- a/cmake/ssl.cmake ++++ b/cmake/ssl.cmake +@@ -36,6 +36,10 @@ elseif("${gRPC_SSL_PROVIDER}" STREQUAL "package") + # project itself does not provide installation support in its CMakeLists.txt + # See https://cmake.org/cmake/help/v3.6/module/FindOpenSSL.html + find_package(OpenSSL REQUIRED) ++ ++ if (OPENSSL_VERSION VERSION_LESS "1.0.2") ++ add_definitions(-DTSI_OPENSSL_ALPN_SUPPORT=0) ++ endif() + + if(TARGET OpenSSL::SSL) + set(_gRPC_SSL_LIBRARIES OpenSSL::SSL OpenSSL::Crypto) +-- +2.17.2 (Apple Git-113) + +diff --git a/src/core/lib/gpr/log_linux.cc b/src/core/lib/gpr/log_linux.cc +index d743eedf38..9980d4893d 100644 +--- a/src/core/lib/gpr/log_linux.cc ++++ b/src/core/lib/gpr/log_linux.cc +@@ -39,7 +39,7 @@ + #include + #include + +-static long gettid(void) { return syscall(__NR_gettid); } ++static long sy_gettid(void) { return syscall(__NR_gettid); } + + void gpr_log(const char* file, int line, gpr_log_severity severity, + const char* format, ...) { +@@ -65,7 +65,7 @@ void gpr_default_log(gpr_log_func_args* args) { + gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME); + struct tm tm; + static __thread long tid = 0; +- if (tid == 0) tid = gettid(); ++ if (tid == 0) tid = sy_gettid(); + + timer = static_cast(now.tv_sec); + final_slash = strrchr(args->file, '/'); +-- +2.17.2 (Apple Git-113) \ No newline at end of file diff --git a/Bigdata/mesos/1.11.0/24.03-lts-sp2/pysetup.patch b/Bigdata/mesos/1.11.0/24.03-lts-sp2/pysetup.patch new file mode 100644 index 0000000000000000000000000000000000000000..90f715b8171185c77a42c2c02fec4df2f4016f70 --- /dev/null +++ b/Bigdata/mesos/1.11.0/24.03-lts-sp2/pysetup.patch @@ -0,0 +1,17 @@ +--- a/Setup.dist 2025-03-26 15:31:41 ++++ b/Setup.dist 2025-03-26 15:32:39 +@@ -215,10 +215,10 @@ + + # Socket module helper for SSL support; you must comment out the other + # socket line above, and possibly edit the SSL variable: +-#SSL=/usr/local/ssl +-#_ssl _ssl.c \ +-# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ +-# -L$(SSL)/lib -lssl -lcrypto ++SSL=/usr/local/ssl ++_ssl _ssl.c \ ++ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ ++ -L$(SSL)/lib -lssl -lcrypto + + # The crypt module is now disabled by default because it breaks builds + # on many systems (where -lcrypt is needed), e.g. Linux (I believe). diff --git a/Bigdata/mesos/meta.yml b/Bigdata/mesos/meta.yml index 28bcd150a14ff50f24f811895a8a48d697840c77..3cdf5c483dd0e41aa920acc2de2f096d0b250be3 100644 --- a/Bigdata/mesos/meta.yml +++ b/Bigdata/mesos/meta.yml @@ -1,2 +1,4 @@ 1.11.0-oe2403sp1: - path: 1.11.0/24.03-lts-sp1/Dockerfile \ No newline at end of file + path: 1.11.0/24.03-lts-sp1/Dockerfile +1.11.0-oe2403sp2: + path: 1.11.0/24.03-lts-sp2/Dockerfile \ No newline at end of file