docker/ubuntu/22.04: Fetch RocksDB source as needed without persisting into image.

Thanks to Giovanni Bottaro.
This commit is contained in:
Jason Volk 2023-03-24 17:43:44 -07:00
parent 7046010ff9
commit 999ef88b7f
3 changed files with 19 additions and 10 deletions

View File

@ -28,8 +28,6 @@ libzstd1 \
ENV packages_rocksdb_dev="\
build-essential \
cmake \
curl \
git \
libjemalloc-dev \
liblz4-dev \
libzstd-dev \
@ -83,6 +81,17 @@ ENV do_clean true \
&& rm -rf /var/lib/apt/lists/* \
&& true
ENV do_fetch_rocksdb true \
&& eval ${do_install} curl \
&& cd /usr/src \
&& curl -sL ${rocksdb_url} -o rocksdb-${rocksdb_version}.tar.gz \
&& tar xfvz rocksdb-${rocksdb_version}.tar.gz \
&& rm rocksdb-${rocksdb_version}.tar.gz \
&& mv /usr/src/rocksdb-${rocksdb_version} /usr/src/rocksdb \
&& cd - \
&& eval ${do_purge} curl \
&& true
RUN true \
&& eval ${do_install} ${packages} \
&& update-ca-certificates \
@ -96,19 +105,15 @@ RUN true \
exit 0; \
fi \
&& eval ${do_install} ${packages_rocksdb_dev} \
&& cd /usr/src \
&& curl -sL ${rocksdb_url} -o rocksdb-${rocksdb_version}.tar.gz \
&& tar xfvz rocksdb-${rocksdb_version}.tar.gz \
&& rm rocksdb-${rocksdb_version}.tar.gz \
&& ln -s /usr/src/rocksdb-${rocksdb_version} /usr/src/rocksdb \
&& cd /usr/src/rocksdb-${rocksdb_version} \
&& eval ${do_fetch_rocksdb} \
&& cd /usr/src/rocksdb \
&& \
CFLAGS="-g0 -ftls-model=initial-exec" \
LDFLAGS="-Wl,--strip-all" \
cmake -H. -Bbuild ${rocksdb_cmake} \
&& cmake --build build --target install --parallel `nproc` \
&& rm -rf build \
&& rm -rf /usr/lib/$(uname -m)-linux-gnu/librocksdb.a \
&& rm -rf /usr/src/rocksdb \
&& eval ${do_purge} ${packages_rocksdb_dev} \
&& eval ${do_clean} \
&& true

View File

@ -22,6 +22,7 @@ autoconf-archive \
autoconf2.13 \
automake \
autotools-dev \
git \
libtool \
shtool \
${extra_packages_dev} \
@ -31,5 +32,6 @@ ${extra_packages_dev2} \
RUN true \
&& eval ${do_install} ${packages_dev} \
&& eval ${do_fetch_rocksdb} \
&& eval ${do_clean} \
&& true

View File

@ -22,6 +22,7 @@ autoconf-archive \
autoconf2.13 \
automake \
autotools-dev \
git \
libtool \
shtool \
${extra_packages_dev} \
@ -31,6 +32,7 @@ ${extra_packages_dev2} \
RUN true \
&& eval ${do_install} ${packages_dev} \
&& eval ${do_fetch_rocksdb} \
&& git clone ${ctor_url} construct \
&& cd construct \
&& rmdir -v deps/rocksdb \
@ -41,7 +43,7 @@ RUN true \
&& make install \
&& cd .. \
&& rm -rf construct \
&& rm -rf /usr/src/rocksdb* \
&& rm -rf /usr/src/rocksdb \
&& eval ${do_purge} ${packages_dev} \
&& eval ${do_clean} \
&& true