|
7 | 7 | RUN \
|
8 | 8 | apk update && \
|
9 | 9 | apk upgrade && \
|
10 |
| - apk add --no-cache ca-certificates 'curl>7.61.0' git go libc-dev memcached minio openrc postgresql sqlite-dev yarn && \ |
| 10 | + apk add --no-cache ca-certificates 'curl>7.61.0' file git go libc-dev make memcached minio openrc openssl openssl-dev postgresql yarn && \ |
11 | 11 | apk add rabbitmq-server --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ && \
|
12 | 12 | rc-update add memcached default && \
|
13 | 13 | rc-update add minio default && \
|
@@ -75,19 +75,39 @@ RUN echo "echo 127.0.0.1 docker-dev.dbhub.io docker-dev >> /etc/hosts" >> /usr/l
|
75 | 75 | echo "done" >> /usr/local/bin/start.sh && \
|
76 | 76 | chmod +x /usr/local/bin/start.sh
|
77 | 77 |
|
| 78 | +# Compile our own customised version of SQLite |
| 79 | +RUN echo "Downloading SQLite source code" && \ |
| 80 | + mkdir /sqlite && \ |
| 81 | + cd /sqlite && \ |
| 82 | + TARBALL=$(curl -s https://sqlite.org/download.html | awk '/<!--/,/-->/ {print}' | grep 'sqlite-autoconf' | cut -d ',' -f 3) && \ |
| 83 | + SHA3=$(curl -s https://sqlite.org/download.html | awk '/<!--/,/-->/ {print}' | grep 'sqlite-autoconf' | cut -d ',' -f 5) && \ |
| 84 | + curl -LsS -o sqlite.tar.gz https://sqlite.org/${TARBALL} && \ |
| 85 | + VERIFY=$(openssl dgst -sha3-256 sqlite.tar.gz | cut -d ' ' -f 2) && \ |
| 86 | + if [ "$SHA3" != "$VERIFY" ]; then exit 1 ; fi && \ |
| 87 | + if [ ! -f sqlite.tar.gz ]; then echo "Downloading the SQLite source code did not work" ; exit 3 ; fi && \ |
| 88 | + echo "Compiling local SQLite" && \ |
| 89 | + tar xfz sqlite.tar.gz && \ |
| 90 | + cd sqlite-autoconf-* || exit 4 && \ |
| 91 | + CPPFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_MAX_VARIABLE_NUMBER=250000 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_STAT4=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_MATH_FUNCTIONS=1 -DSQLITE_MAX_ATTACHED=125 -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 -DSQLITE_ENABLE_SNAPSHOT=1" ./configure --prefix=/sqlite --enable-dynamic-extensions=no && \ |
| 92 | + make -j9 && \ |
| 93 | + make install && \ |
| 94 | + cd .. && \ |
| 95 | + rm -rf sqlite-autoconf-* && \ |
| 96 | + echo "/sqlite/lib:/lib:/usr/local/lib:/usr/lib" > /etc/ld-musl-x86_64.path |
| 97 | + |
78 | 98 | # Create script to compile DBHub.io daemons
|
79 | 99 | RUN echo "cd ${DBHUB_SOURCE}" >> /usr/local/bin/compile.sh && \
|
80 | 100 | echo "yarn" >> /usr/local/bin/compile.sh && \
|
81 | 101 | echo "yarn run babel ${DBHUB_SOURCE}/webui/jsx --out-dir ${DBHUB_SOURCE}/webui/js --presets babel-preset-react-app/prod" >> /usr/local/bin/compile.sh && \
|
82 | 102 | echo "yarn run webpack -c ${DBHUB_SOURCE}/webui/webpack.config.js" >> /usr/local/bin/compile.sh && \
|
83 | 103 | echo "cd ${DBHUB_SOURCE}/api" >> /usr/local/bin/compile.sh && \
|
84 |
| - echo "go build -gcflags \"all=-N -l\" -buildvcs=false -o /usr/local/bin/dbhub-api ." >> /usr/local/bin/compile.sh && \ |
| 104 | + echo "PKG_CONFIG_PATH=/sqlite/lib/pkgconfig go build -gcflags \"all=-N -l\" -buildvcs=false -o /usr/local/bin/dbhub-api ." >> /usr/local/bin/compile.sh && \ |
85 | 105 | echo "cd ${DBHUB_SOURCE}/db4s" >> /usr/local/bin/compile.sh && \
|
86 |
| - echo "go build -gcflags \"all=-N -l\" -buildvcs=false -o /usr/local/bin/dbhub-db4s ." >> /usr/local/bin/compile.sh && \ |
| 106 | + echo "PKG_CONFIG_PATH=/sqlite/lib/pkgconfig go build -gcflags \"all=-N -l\" -buildvcs=false -o /usr/local/bin/dbhub-db4s ." >> /usr/local/bin/compile.sh && \ |
87 | 107 | echo "cd ${DBHUB_SOURCE}/live" >> /usr/local/bin/compile.sh && \
|
88 |
| - echo "go build -gcflags \"all=-N -l\" -buildvcs=false -o /usr/local/bin/dbhub-live ." >> /usr/local/bin/compile.sh && \ |
| 108 | + echo "PKG_CONFIG_PATH=/sqlite/lib/pkgconfig go build -gcflags \"all=-N -l\" -buildvcs=false -o /usr/local/bin/dbhub-live ." >> /usr/local/bin/compile.sh && \ |
89 | 109 | echo "cd ${DBHUB_SOURCE}/webui" >> /usr/local/bin/compile.sh && \
|
90 |
| - echo "go build -gcflags \"all=-N -l\" -buildvcs=false -o /usr/local/bin/dbhub-webui ." >> /usr/local/bin/compile.sh && \ |
| 110 | + echo "PKG_CONFIG_PATH=/sqlite/lib/pkgconfig go build -gcflags \"all=-N -l\" -buildvcs=false -o /usr/local/bin/dbhub-webui ." >> /usr/local/bin/compile.sh && \ |
91 | 111 | echo "/usr/local/bin/restart.sh" >> /usr/local/bin/compile.sh && \
|
92 | 112 | chmod +x /usr/local/bin/compile.sh
|
93 | 113 |
|
|
0 commit comments