Преглед на файлове

C++/ffead remove TE dependencies (as well as tfb base) (#3570)

* C++/ffead-cpp remove TE dependencies

* C++/ffead-cpp remove TE dependencies

* [ci fw-only C++/ffead-cpp]
Nate преди 7 години
родител
ревизия
65b1dd132f

+ 45 - 1
frameworks/C++/ffead-cpp/ffead-cpp-apache-mongo.dockerfile

@@ -1,4 +1,48 @@
-FROM techempower/ffead-cpp-httpd:0.1
+FROM buildpack-deps:xenial
+
+ENV IROOT=/installs
+ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-2.0
+ENV PATH=${FFEAD_CPP_PATH}:${PATH}
+
+RUN mkdir /installs
+
+RUN apt update -yqq && apt install -yqq unzip uuid-dev odbc-postgresql unixodbc unixodbc-dev
+
+WORKDIR $IROOT
+
+# libmyodbc has been removed from apt
+
+RUN wget -q http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN tar xf mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN mkdir -p /usr/lib/x86_64-linux-gnu/odbc
+RUN mv mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
+RUN mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;"
+
+# mongocdriver also used in all tests
+
+RUN wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
+RUN tar xf mongo-c-driver-1.4.0.tar.gz
+RUN cd mongo-c-driver-1.4.0/ && \
+    ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup && \
+    make && make install
+
+WORKDIR /
+
+COPY te-benchmark/ te-benchmark/
+COPY ffead-cpp-framework.sh ./
+COPY server.sh ./
+
+RUN chmod 755 *.sh
+
+RUN ./ffead-cpp-framework.sh
+
+COPY ffead-cpp-httpd.sh ./
+
+RUN chmod 755 *.sh
+
+RUN ./ffead-cpp-httpd.sh
+
+ENV PATH=${IROOT}/httpd/bin:${PATH}
 
 WORKDIR ${IROOT}/ffead-cpp-src/
 

+ 45 - 1
frameworks/C++/ffead-cpp/ffead-cpp-apache-mysql.dockerfile

@@ -1,4 +1,48 @@
-FROM techempower/ffead-cpp-httpd:0.1
+FROM buildpack-deps:xenial
+
+ENV IROOT=/installs
+ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-2.0
+ENV PATH=${FFEAD_CPP_PATH}:${PATH}
+
+RUN mkdir /installs
+
+RUN apt update -yqq && apt install -yqq unzip uuid-dev odbc-postgresql unixodbc unixodbc-dev
+
+WORKDIR $IROOT
+
+# libmyodbc has been removed from apt
+
+RUN wget -q http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN tar xf mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN mkdir -p /usr/lib/x86_64-linux-gnu/odbc
+RUN mv mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
+RUN mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;"
+
+# mongocdriver also used in all tests
+
+RUN wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
+RUN tar xf mongo-c-driver-1.4.0.tar.gz
+RUN cd mongo-c-driver-1.4.0/ && \
+    ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup && \
+    make && make install
+
+WORKDIR /
+
+COPY te-benchmark/ te-benchmark/
+COPY ffead-cpp-framework.sh ./
+COPY server.sh ./
+
+RUN chmod 755 *.sh
+
+RUN ./ffead-cpp-framework.sh
+
+COPY ffead-cpp-httpd.sh ./
+
+RUN chmod 755 *.sh
+
+RUN ./ffead-cpp-httpd.sh
+
+ENV PATH=${IROOT}/httpd/bin:${PATH}
 
 WORKDIR ${IROOT}/ffead-cpp-src/
 

+ 45 - 1
frameworks/C++/ffead-cpp/ffead-cpp-apache-postgresql.dockerfile

@@ -1,4 +1,48 @@
-FROM techempower/ffead-cpp-httpd:0.1
+FROM buildpack-deps:xenial
+
+ENV IROOT=/installs
+ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-2.0
+ENV PATH=${FFEAD_CPP_PATH}:${PATH}
+
+RUN mkdir /installs
+
+RUN apt update -yqq && apt install -yqq unzip uuid-dev odbc-postgresql unixodbc unixodbc-dev
+
+WORKDIR $IROOT
+
+# libmyodbc has been removed from apt
+
+RUN wget -q http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN tar xf mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN mkdir -p /usr/lib/x86_64-linux-gnu/odbc
+RUN mv mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
+RUN mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;"
+
+# mongocdriver also used in all tests
+
+RUN wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
+RUN tar xf mongo-c-driver-1.4.0.tar.gz
+RUN cd mongo-c-driver-1.4.0/ && \
+    ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup && \
+    make && make install
+
+WORKDIR /
+
+COPY te-benchmark/ te-benchmark/
+COPY ffead-cpp-framework.sh ./
+COPY server.sh ./
+
+RUN chmod 755 *.sh
+
+RUN ./ffead-cpp-framework.sh
+
+COPY ffead-cpp-httpd.sh ./
+
+RUN chmod 755 *.sh
+
+RUN ./ffead-cpp-httpd.sh
+
+ENV PATH=${IROOT}/httpd/bin:${PATH}
 
 WORKDIR ${IROOT}/ffead-cpp-src/
 

+ 0 - 37
frameworks/C++/ffead-cpp/ffead-cpp-base.dockerfile

@@ -1,37 +0,0 @@
-FROM techempower/base:0.1
-
-ENV IROOT=/installs
-ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-2.0
-ENV PATH=${FFEAD_CPP_PATH}:${PATH}
-
-RUN mkdir /installs
-
-RUN apt install -yqq autoconf uuid-dev odbc-postgresql unixodbc unixodbc-dev
-
-WORKDIR $IROOT
-
-# libmyodbc has been removed from apt
-
-RUN wget -q http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
-RUN tar xf mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
-RUN mkdir -p /usr/lib/x86_64-linux-gnu/odbc
-RUN mv mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
-RUN mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;"
-
-# mongocdriver also used in all tests
-
-RUN wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
-RUN tar xf mongo-c-driver-1.4.0.tar.gz
-RUN cd mongo-c-driver-1.4.0/ && \
-    ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup && \
-    make && make install
-
-WORKDIR /
-
-COPY te-benchmark/ te-benchmark/
-COPY ffead-cpp-framework.sh ./
-COPY server.sh ./
-
-RUN chmod 755 *.sh
-
-RUN ./ffead-cpp-framework.sh

+ 0 - 20
frameworks/C++/ffead-cpp/ffead-cpp-emb-base.dockerfile

@@ -1,20 +0,0 @@
-FROM techempower/ffead-cpp-base:0.1
-
-WORKDIR ${IROOT}/ffead-cpp-src/
-
-RUN cp -f web/te-benchmark/sql-src/TeBkWorldmongo.h web/te-benchmark/include/TeBkWorld.h
-RUN cp -f web/te-benchmark/sql-src/TeBkWorldmongo.cpp web/te-benchmark/src/TeBkWorld.cpp
-RUN cp -f web/te-benchmark/config/sdormmongo.xml web/te-benchmark/config/sdorm.xml
-RUN rm -rf ffead-cpp-2.0-bin
-RUN make build-apps
-RUN rm -rf ${IROOT}/ffead-cpp-2.0
-RUN cp -rf ffead-cpp-2.0-bin ${IROOT}/ffead-cpp-2.0
-
-WORKDIR ${IROOT}/ffead-cpp-2.0
-
-RUN rm -rf web/default web/oauthApp web/flexApp web/markers
-RUN chmod 755 *.sh resources/*.sh rtdcf/autotools/*.sh
-
-RUN chmod 755 $FFEAD_CPP_PATH/*.sh
-RUN rm -f $FFEAD_CPP_PATH/*.cntrl
-RUN rm -f $FFEAD_CPP_PATH/tmp/*.sess

+ 7 - 11
frameworks/C++/ffead-cpp/ffead-cpp-framework.sh

@@ -1,11 +1,7 @@
 #!/bin/bash
 
 #From https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/C%2B%2B/ulib/setup_json.sh
-if [ "$TRAVIS" != "true" ]; then
 MAX_THREADS=$(( 3 * nproc / 2 ))
-else
-MAX_THREADS=$(( 2 * nproc ))
-fi
 
 WRIT_THREADS=$(( $MAX_THREADS / 3 ))
 SERV_THREADS=$(( $MAX_THREADS - $WRIT_THREADS ))
@@ -41,19 +37,19 @@ cp -rf ${TROOT}/te-benchmark web/
 sed -i 's|THRD_PSIZ=6|THRD_PSIZ='${SERV_THREADS}'|g' resources/server.prop
 sed -i 's|W_THRD_PSIZ=2|W_THRD_PSIZ='${WRIT_THREADS}'|g' resources/server.prop
 sed -i 's|LOGGING_ENABLED=true|LOGGING_ENABLED=false|g' resources/server.prop
-sed -i 's|localhost|'${DBHOST}'|g' resources/server.prop
+sed -i 's|localhost|tfb-database|g' resources/server.prop
 ./autogen.sh
 ./configure --enable-apachemod=yes --enable-mod_sdormmongo=yes --enable-mod_sdormsql=yes CPPFLAGS="$CPPFLAGS -I${IROOT}/include/libmongoc-1.0 -I${IROOT}/include/libbson-1.0 -I${IROOT}/include/" LDFLAGS="$LDFLAGS -L${IROOT}"
 make install
 rm -rf ${IROOT}/ffead-cpp-2.0
 cp -rf ffead-cpp-2.0-bin ${IROOT}/ffead-cpp-2.0
 
-sed -i 's|localhost|'${DBHOST}'|g' web/te-benchmark/config/sdorm.xml
-sed -i 's|localhost|'${DBHOST}'|g' web/te-benchmark/config/sdormmongo.xml
-sed -i 's|localhost|'${DBHOST}'|g' web/te-benchmark/config/sdormmysql.xml
-sed -i 's|localhost|'${DBHOST}'|g' web/te-benchmark/config/sdormpostgresql.xml
-sed -i 's|localhost|'${DBHOST}'|g' resources/sample-odbcinst.ini
-sed -i 's|localhost|'${DBHOST}'|g' resources/sample-odbc.ini
+sed -i 's|localhost|tfb-database|g' web/te-benchmark/config/sdorm.xml
+sed -i 's|localhost|tfb-database|g' web/te-benchmark/config/sdormmongo.xml
+sed -i 's|localhost|tfb-database|g' web/te-benchmark/config/sdormmysql.xml
+sed -i 's|localhost|tfb-database|g' web/te-benchmark/config/sdormpostgresql.xml
+sed -i 's|localhost|tfb-database|g' resources/sample-odbcinst.ini
+sed -i 's|localhost|tfb-database|g' resources/sample-odbc.ini
 
 cp resources/sample-odbcinst.ini ${IROOT}/odbcinst.ini
 cp resources/sample-odbc.ini ${IROOT}/odbc.ini

+ 37 - 1
frameworks/C++/ffead-cpp/ffead-cpp-httpd.dockerfile

@@ -1,4 +1,40 @@
-FROM techempower/ffead-cpp-base:0.1
+FROM buildpack-deps:xenial
+
+ENV IROOT=/installs
+ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-2.0
+ENV PATH=${FFEAD_CPP_PATH}:${PATH}
+
+RUN mkdir /installs
+
+RUN apt update -yqq && apt install -yqq unzip uuid-dev odbc-postgresql unixodbc unixodbc-dev
+
+WORKDIR $IROOT
+
+# libmyodbc has been removed from apt
+
+RUN wget -q http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN tar xf mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN mkdir -p /usr/lib/x86_64-linux-gnu/odbc
+RUN mv mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
+RUN mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;"
+
+# mongocdriver also used in all tests
+
+RUN wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
+RUN tar xf mongo-c-driver-1.4.0.tar.gz
+RUN cd mongo-c-driver-1.4.0/ && \
+    ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup && \
+    make && make install
+
+WORKDIR /
+
+COPY te-benchmark/ te-benchmark/
+COPY ffead-cpp-framework.sh ./
+COPY server.sh ./
+
+RUN chmod 755 *.sh
+
+RUN ./ffead-cpp-framework.sh
 
 COPY ffead-cpp-httpd.sh ./
 

+ 37 - 1
frameworks/C++/ffead-cpp/ffead-cpp-mysql.dockerfile

@@ -1,4 +1,40 @@
-FROM techempower/ffead-cpp-base:0.1
+FROM buildpack-deps:xenial
+
+ENV IROOT=/installs
+ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-2.0
+ENV PATH=${FFEAD_CPP_PATH}:${PATH}
+
+RUN mkdir /installs
+
+RUN apt update -yqq && apt install -yqq unzip uuid-dev odbc-postgresql unixodbc unixodbc-dev
+
+WORKDIR $IROOT
+
+# libmyodbc has been removed from apt
+
+RUN wget -q http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN tar xf mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN mkdir -p /usr/lib/x86_64-linux-gnu/odbc
+RUN mv mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
+RUN mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;"
+
+# mongocdriver also used in all tests
+
+RUN wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
+RUN tar xf mongo-c-driver-1.4.0.tar.gz
+RUN cd mongo-c-driver-1.4.0/ && \
+    ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup && \
+    make && make install
+
+WORKDIR /
+
+COPY te-benchmark/ te-benchmark/
+COPY ffead-cpp-framework.sh ./
+COPY server.sh ./
+
+RUN chmod 755 *.sh
+
+RUN ./ffead-cpp-framework.sh
 
 WORKDIR ${IROOT}/ffead-cpp-src/
 

+ 57 - 1
frameworks/C++/ffead-cpp/ffead-cpp-nginx-mongo.dockerfile

@@ -1,4 +1,60 @@
-FROM techempower/ffead-cpp-nginx:0.1
+FROM buildpack-deps:xenial
+
+ENV IROOT=/installs
+ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-2.0
+ENV PATH=${FFEAD_CPP_PATH}:${PATH}
+
+RUN mkdir /installs
+
+RUN apt update -yqq && apt install -yqq unzip uuid-dev odbc-postgresql unixodbc unixodbc-dev
+
+WORKDIR $IROOT
+
+# libmyodbc has been removed from apt
+
+RUN wget -q http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN tar xf mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN mkdir -p /usr/lib/x86_64-linux-gnu/odbc
+RUN mv mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
+RUN mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;"
+
+# mongocdriver also used in all tests
+
+RUN wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
+RUN tar xf mongo-c-driver-1.4.0.tar.gz
+RUN cd mongo-c-driver-1.4.0/ && \
+    ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup && \
+    make && make install
+
+WORKDIR /
+
+COPY te-benchmark/ te-benchmark/
+COPY ffead-cpp-framework.sh ./
+COPY server.sh ./
+
+RUN chmod 755 *.sh
+
+RUN ./ffead-cpp-framework.sh
+
+WORKDIR $IROOT
+
+RUN wget -q http://nginx.org/download/nginx-1.13.1.tar.gz
+RUN tar xf nginx-1.13.1.tar.gz
+
+WORKDIR $IROOT/nginx-1.13.1
+
+RUN ./configure \
+    --prefix=${IROOT}/nginxfc \
+    --with-ld-opt="-lstdc++ -L${IROOT}/ffead-cpp-2.0/lib -L${IROOT}" \
+    --add-module="${IROOT}/ffead-cpp-src/modules/nginx_mod_ffeadcpp" \
+    --with-cc-opt="-I${IROOT}/ffead-cpp-2.0/include -I${IROOT}/include/libmongoc-1.0 -I${IROOT}/include/libbson-1.0 -w -fpermissive"
+RUN make
+RUN make install
+
+RUN cp ${IROOT}/ffead-cpp-src/modules/nginx_mod_ffeadcpp/nginx.conf ${IROOT}/nginxfc/conf/
+RUN sed -i 's|FFEAD_PATH|'${IROOT}/ffead-cpp-2.0'|g' ${IROOT}/nginxfc/conf/nginx.conf
+
+ENV PATH=${IROOT}/nginxfc/sbin:${PATH}
 
 WORKDIR ${IROOT}/ffead-cpp-src/
 

+ 57 - 1
frameworks/C++/ffead-cpp/ffead-cpp-nginx-mysql.dockerfile

@@ -1,4 +1,60 @@
-FROM techempower/ffead-cpp-nginx:0.1
+FROM buildpack-deps:xenial
+
+ENV IROOT=/installs
+ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-2.0
+ENV PATH=${FFEAD_CPP_PATH}:${PATH}
+
+RUN mkdir /installs
+
+RUN apt update -yqq && apt install -yqq unzip uuid-dev odbc-postgresql unixodbc unixodbc-dev
+
+WORKDIR $IROOT
+
+# libmyodbc has been removed from apt
+
+RUN wget -q http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN tar xf mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN mkdir -p /usr/lib/x86_64-linux-gnu/odbc
+RUN mv mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
+RUN mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;"
+
+# mongocdriver also used in all tests
+
+RUN wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
+RUN tar xf mongo-c-driver-1.4.0.tar.gz
+RUN cd mongo-c-driver-1.4.0/ && \
+    ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup && \
+    make && make install
+
+WORKDIR /
+
+COPY te-benchmark/ te-benchmark/
+COPY ffead-cpp-framework.sh ./
+COPY server.sh ./
+
+RUN chmod 755 *.sh
+
+RUN ./ffead-cpp-framework.sh
+
+WORKDIR $IROOT
+
+RUN wget -q http://nginx.org/download/nginx-1.13.1.tar.gz
+RUN tar xf nginx-1.13.1.tar.gz
+
+WORKDIR $IROOT/nginx-1.13.1
+
+RUN ./configure \
+    --prefix=${IROOT}/nginxfc \
+    --with-ld-opt="-lstdc++ -L${IROOT}/ffead-cpp-2.0/lib -L${IROOT}" \
+    --add-module="${IROOT}/ffead-cpp-src/modules/nginx_mod_ffeadcpp" \
+    --with-cc-opt="-I${IROOT}/ffead-cpp-2.0/include -I${IROOT}/include/libmongoc-1.0 -I${IROOT}/include/libbson-1.0 -w -fpermissive"
+RUN make
+RUN make install
+
+RUN cp ${IROOT}/ffead-cpp-src/modules/nginx_mod_ffeadcpp/nginx.conf ${IROOT}/nginxfc/conf/
+RUN sed -i 's|FFEAD_PATH|'${IROOT}/ffead-cpp-2.0'|g' ${IROOT}/nginxfc/conf/nginx.conf
+
+ENV PATH=${IROOT}/nginxfc/sbin:${PATH}
 
 WORKDIR ${IROOT}/ffead-cpp-src/
 

+ 57 - 1
frameworks/C++/ffead-cpp/ffead-cpp-nginx-postgresql.dockerfile

@@ -1,4 +1,60 @@
-FROM techempower/ffead-cpp-nginx:0.1
+FROM buildpack-deps:xenial
+
+ENV IROOT=/installs
+ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-2.0
+ENV PATH=${FFEAD_CPP_PATH}:${PATH}
+
+RUN mkdir /installs
+
+RUN apt update -yqq && apt install -yqq unzip uuid-dev odbc-postgresql unixodbc unixodbc-dev
+
+WORKDIR $IROOT
+
+# libmyodbc has been removed from apt
+
+RUN wget -q http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN tar xf mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN mkdir -p /usr/lib/x86_64-linux-gnu/odbc
+RUN mv mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
+RUN mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;"
+
+# mongocdriver also used in all tests
+
+RUN wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
+RUN tar xf mongo-c-driver-1.4.0.tar.gz
+RUN cd mongo-c-driver-1.4.0/ && \
+    ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup && \
+    make && make install
+
+WORKDIR /
+
+COPY te-benchmark/ te-benchmark/
+COPY ffead-cpp-framework.sh ./
+COPY server.sh ./
+
+RUN chmod 755 *.sh
+
+RUN ./ffead-cpp-framework.sh
+
+WORKDIR $IROOT
+
+RUN wget -q http://nginx.org/download/nginx-1.13.1.tar.gz
+RUN tar xf nginx-1.13.1.tar.gz
+
+WORKDIR $IROOT/nginx-1.13.1
+
+RUN ./configure \
+    --prefix=${IROOT}/nginxfc \
+    --with-ld-opt="-lstdc++ -L${IROOT}/ffead-cpp-2.0/lib -L${IROOT}" \
+    --add-module="${IROOT}/ffead-cpp-src/modules/nginx_mod_ffeadcpp" \
+    --with-cc-opt="-I${IROOT}/ffead-cpp-2.0/include -I${IROOT}/include/libmongoc-1.0 -I${IROOT}/include/libbson-1.0 -w -fpermissive"
+RUN make
+RUN make install
+
+RUN cp ${IROOT}/ffead-cpp-src/modules/nginx_mod_ffeadcpp/nginx.conf ${IROOT}/nginxfc/conf/
+RUN sed -i 's|FFEAD_PATH|'${IROOT}/ffead-cpp-2.0'|g' ${IROOT}/nginxfc/conf/nginx.conf
+
+ENV PATH=${IROOT}/nginxfc/sbin:${PATH}
 
 WORKDIR ${IROOT}/ffead-cpp-src/
 

+ 0 - 21
frameworks/C++/ffead-cpp/ffead-cpp-nginx.dockerfile

@@ -1,21 +0,0 @@
-FROM techempower/ffead-cpp-base:0.1
-
-WORKDIR $IROOT
-
-RUN wget -q http://nginx.org/download/nginx-1.13.1.tar.gz
-RUN tar xf nginx-1.13.1.tar.gz
-
-WORKDIR $IROOT/nginx-1.13.1
-
-RUN ./configure \
-    --prefix=${IROOT}/nginxfc \
-    --with-ld-opt="-lstdc++ -L${IROOT}/ffead-cpp-2.0/lib -L${IROOT}" \
-    --add-module="${IROOT}/ffead-cpp-src/modules/nginx_mod_ffeadcpp" \
-    --with-cc-opt="-I${IROOT}/ffead-cpp-2.0/include -I${IROOT}/include/libmongoc-1.0 -I${IROOT}/include/libbson-1.0 -w -fpermissive"
-RUN make
-RUN make install
-
-RUN cp ${IROOT}/ffead-cpp-src/modules/nginx_mod_ffeadcpp/nginx.conf ${IROOT}/nginxfc/conf/
-RUN sed -i 's|FFEAD_PATH|'${IROOT}/ffead-cpp-2.0'|g' ${IROOT}/nginxfc/conf/nginx.conf
-
-ENV PATH=${IROOT}/nginxfc/sbin:${PATH}

+ 36 - 1
frameworks/C++/ffead-cpp/ffead-cpp-postgresql.dockerfile

@@ -1,5 +1,40 @@
-FROM techempower/ffead-cpp-base:0.1
+FROM buildpack-deps:xenial
 
+ENV IROOT=/installs
+ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-2.0
+ENV PATH=${FFEAD_CPP_PATH}:${PATH}
+
+RUN mkdir /installs
+
+RUN apt update -yqq && apt install -yqq unzip uuid-dev odbc-postgresql unixodbc unixodbc-dev
+
+WORKDIR $IROOT
+
+# libmyodbc has been removed from apt
+
+RUN wget -q http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN tar xf mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN mkdir -p /usr/lib/x86_64-linux-gnu/odbc
+RUN mv mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
+RUN mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;"
+
+# mongocdriver also used in all tests
+
+RUN wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
+RUN tar xf mongo-c-driver-1.4.0.tar.gz
+RUN cd mongo-c-driver-1.4.0/ && \
+    ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup && \
+    make && make install
+
+WORKDIR /
+
+COPY te-benchmark/ te-benchmark/
+COPY ffead-cpp-framework.sh ./
+COPY server.sh ./
+
+RUN chmod 755 *.sh
+
+RUN ./ffead-cpp-framework.sh
 WORKDIR ${IROOT}/ffead-cpp-src/
 
 RUN cp -f web/te-benchmark/sql-src/TeBkWorldsql.h web/te-benchmark/include/TeBkWorld.h

+ 37 - 1
frameworks/C++/ffead-cpp/ffead-cpp.dockerfile

@@ -1,4 +1,40 @@
-FROM techempower/ffead-cpp-base:0.1
+FROM buildpack-deps:xenial
+
+ENV IROOT=/installs
+ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-2.0
+ENV PATH=${FFEAD_CPP_PATH}:${PATH}
+
+RUN mkdir /installs
+
+RUN apt update -yqq && apt install -yqq unzip uuid-dev odbc-postgresql unixodbc unixodbc-dev
+
+WORKDIR $IROOT
+
+# libmyodbc has been removed from apt
+
+RUN wget -q http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN tar xf mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz
+RUN mkdir -p /usr/lib/x86_64-linux-gnu/odbc
+RUN mv mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
+RUN mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;"
+
+# mongocdriver also used in all tests
+
+RUN wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
+RUN tar xf mongo-c-driver-1.4.0.tar.gz
+RUN cd mongo-c-driver-1.4.0/ && \
+    ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup && \
+    make && make install
+
+WORKDIR /
+
+COPY te-benchmark/ te-benchmark/
+COPY ffead-cpp-framework.sh ./
+COPY server.sh ./
+
+RUN chmod 755 *.sh
+
+RUN ./ffead-cpp-framework.sh
 
 WORKDIR ${IROOT}/ffead-cpp-src/
 

+ 0 - 1
frameworks/C++/ffead-cpp/server.sh

@@ -23,7 +23,6 @@ chmod 700 $FFEAD_CPP_PATH/CHS*
 chmod 700 $FFEAD_CPP_PATH/resources/*.sh
 chmod 700 $FFEAD_CPP_PATH/tests/*
 chmod 700 $FFEAD_CPP_PATH/rtdcf/*
-#chmod 700 $FFEAD_CPP_PATH/rtdcf/autotools/*
 #/usr/sbin/setenforce 0
 
 ./CHS $FFEAD_CPP_PATH

+ 0 - 30
toolset/setup/docker/base.dockerfile

@@ -1,30 +0,0 @@
-FROM ubuntu:16.04
-
-RUN apt-get update
-
-# Install some common development tools
-RUN apt-get install -y software-properties-common build-essential curl locales wget unzip git \
-    libmysqlclient-dev libpq-dev \
-    libpcre3 libpcre3-dev \
-    libssl-dev libcurl4-openssl-dev \
-    zlib1g-dev \
-    libreadline6-dev \
-    libbz2-dev \
-    libxslt-dev libgdbm-dev ncurses-dev  \
-    libffi-dev libtool bison libevent-dev \
-    libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
-    liborc-0.4-0 libgnutls-dev \
-    libjson0-dev libmcrypt-dev libicu-dev \
-    re2c libnuma-dev
-
-RUN locale-gen en_US.UTF-8
-ENV LANG en_US.UTF-8  
-ENV LANGUAGE en_US:en  
-ENV LC_ALL en_US.UTF-8 
-ENV DEBIAN_FRONTEND noninteractive
-
-ARG MAX_CONCURRENCY
-ARG TFB_DATABASE
-
-ENV MAX_CONCURRENCY=$MAX_CONCURRENCY
-ENV DBHOST=$TFB_DATABASE

+ 0 - 6
toolset/setup/docker/systools/gcc-4.9.dockerfile

@@ -1,6 +0,0 @@
-FROM techempower/base:0.1
-
-RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test
-RUN apt update -y
-RUN apt install -y g++-4.9
-RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 50

+ 0 - 5
toolset/setup/docker/systools/gcc-6.dockerfile

@@ -1,5 +0,0 @@
-FROM techempower/base:0.1
-
-RUN add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
-    apt-get -yq update && \
-    apt-get install -qqy gcc-6 g++-6

+ 0 - 17
toolset/setup/docker/webservers/nginx.dockerfile

@@ -1,17 +0,0 @@
-FROM techempower/base:0.1
-
-RUN apt install -yqq libpcre3 libpcre3-dev zlib1g-dev
-
-ENV NGINX_HOME="/nginx"
-ENV NGINX_VERSION="1.12.2"
-
-RUN wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \
-    tar xf nginx-${NGINX_VERSION}.tar.gz && \
-    cd nginx-${NGINX_VERSION} && \
-    echo "Configuring nginx..." && \
-    ./configure --prefix=/nginx && \
-    echo "Compiling and installing nginx..." && \
-    make --quiet && \
-    make --quiet install
-
-ENV PATH=/nginx/sbin:${PATH}