docker/ubuntu/22.04: Fetch RocksDB source as needed without persisting into image.
Thanks to Giovanni Bottaro.
This commit is contained in:
parent
7046010ff9
commit
999ef88b7f
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue