From 6cb4c58d9a07855f14b0c18de4fa023486db7d2d Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 3 Jun 2021 18:30:32 -0700 Subject: [PATCH] linux docker build --- controller/PostgreSQL.cpp | 4 ++-- ext/central-controller-docker/Dockerfile | 12 +++++++++++- make-linux.mk | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/controller/PostgreSQL.cpp b/controller/PostgreSQL.cpp index ebcdd7303..e132a7d0b 100644 --- a/controller/PostgreSQL.cpp +++ b/controller/PostgreSQL.cpp @@ -991,7 +991,7 @@ void PostgreSQL::commitThread() (bool)(*config)["activeBridge"], (bool)(*config)["authorized"], OSUtils::jsonDump((*config)["capabilities"], -1), - (std::string)(*config)["identity"], + OSUtils::jsonString((*config)["identity"], ""), (uint64_t)(*config)["lastAuthorizedTime"], (uint64_t)(*config)["lastDeauthorizedTime"], (bool)(*config)["noAutoAssignIps"], @@ -1097,7 +1097,7 @@ void PostgreSQL::commitThread() OSUtils::now(), (int)(*config)["mtu"], (int)(*config)["multicastLimit"], - (std::string)(*config)["name"], + OSUtils::jsonString((*config)["name"],""), (bool)(*config)["private"], (int)(*config)["remoteTraceLevel"], remoteTraceTarget, diff --git a/ext/central-controller-docker/Dockerfile b/ext/central-controller-docker/Dockerfile index 904a6c459..818449ea4 100644 --- a/ext/central-controller-docker/Dockerfile +++ b/ext/central-controller-docker/Dockerfile @@ -9,7 +9,15 @@ RUN yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x RUN dnf -qy module disable postgresql RUN yum -y install epel-release && yum -y update && yum clean all RUN yum groupinstall -y "Development Tools" -RUN yum install -y bash postgresql10 postgresql10-devel libpqxx-devel clang jemalloc jemalloc-devel +RUN yum install -y bash cmake postgresql10 postgresql10-devel clang jemalloc jemalloc-devel +RUN curl -sL https://github.com/jtv/libpqxx/archive/refs/tags/6.4.5.tar.gz -o libpqxx.tar.gz +RUN tar -xzf libpqxx.tar.gz && \ + pushd libpqxx-6.4.5/ && \ + mkdir build && pushd build/ && \ + cmake .. && \ + make install && \ + popd && popd + # RUN git clone http://git.int.zerotier.com/zerotier/ZeroTierOne.git # RUN if [ "$git_branch" != "master" ]; then cd ZeroTierOne && git checkout -b $git_branch origin/$git_branch; fi @@ -22,6 +30,8 @@ RUN dnf -qy module disable postgresql RUN yum -y install epel-release && yum -y update && yum clean all RUN yum install -y jemalloc jemalloc-devel postgresql10 +COPY --from=builder /usr/local/lib64/libpqxx.so /usr/local/lib64/libpqxx.so +COPY --from=builder /usr/local/lib64/libpqxx.a /usr/local/lib64/libpqxx.a COPY --from=builder /ZeroTierOne/zerotier-one /usr/local/bin/zerotier-one RUN chmod a+x /usr/local/bin/zerotier-one diff --git a/make-linux.mk b/make-linux.mk index a33894aec..42cfb5abb 100644 --- a/make-linux.mk +++ b/make-linux.mk @@ -266,7 +266,7 @@ ifeq ($(ZT_OFFICIAL),1) endif ifeq ($(ZT_CONTROLLER),1) - override LDLIBS+=-L/usr/pgsql-10/lib/ -lpq ext/hiredis-0.14.1/lib/centos8/libhiredis.a ext/redis-plus-plus-1.1.1/install/centos8/lib/libredis++.a + override LDLIBS+=-L/usr/pgsql-10/lib/ -lpqxx -lpq ext/hiredis-0.14.1/lib/centos8/libhiredis.a ext/redis-plus-plus-1.1.1/install/centos8/lib/libredis++.a override DEFS+=-DZT_CONTROLLER_USE_LIBPQ override INCLUDES+=-I/usr/pgsql-10/include -Iext/hiredis-0.14.1/include/ -Iext/redis-plus-plus-1.1.1/install/centos8/include/sw/ endif