Sfoglia il codice sorgente

linux docker build

Grant Limberg 4 anni fa
parent
commit
6cb4c58d9a
3 ha cambiato i file con 14 aggiunte e 4 eliminazioni
  1. 2 2
      controller/PostgreSQL.cpp
  2. 11 1
      ext/central-controller-docker/Dockerfile
  3. 1 1
      make-linux.mk

+ 2 - 2
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,

+ 11 - 1
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
 

+ 1 - 1
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