Skip to content

Commit

Permalink
build apkeep with openssl 1.1.1w as workaround
Browse files Browse the repository at this point in the history
see #598
  • Loading branch information
codeurimpulsif committed Jan 10, 2024
1 parent 3da52f8 commit 51e842c
Showing 1 changed file with 42 additions and 10 deletions.
52 changes: 42 additions & 10 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,26 +1,58 @@
FROM alpine:3.18 AS apkeep-download
FROM rust:1.75.0-slim-bookworm AS apkeep-build

ENV APKEEP_VERSION=0.15.0
ENV OPENSSL_VERSION=1.1.1w

RUN wget https://github.com/EFForg/apkeep/releases/download/${APKEEP_VERSION}/apkeep-x86_64-unknown-linux-gnu -q -O /tmp/apkeep \
&& chmod +x /tmp/apkeep
# Workaround to build Apkeep (see https://github.com/Exodus-Privacy/exodus/issues/598)

FROM python:3.9-slim-bullseye
RUN apt-get update && apt-get install --no-install-recommends -y \
build-essential=12.* \
ca-certificates=202* \
curl=7.* \
pkg-config=1.* \
wget=1.* \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

## Build OpenSSL

RUN wget https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz -q -O /tmp/openssl-${OPENSSL_VERSION}.tar.gz \
&& tar xfvz /tmp/openssl-${OPENSSL_VERSION}.tar.gz --directory /tmp/
WORKDIR /tmp/openssl-${OPENSSL_VERSION}/
RUN ./config --prefix=/opt/openssl --openssldir=/opt/openssl \
&& make \
&& make test \
&& make install_sw

## Build Apkeep

RUN wget https://github.com/EFForg/apkeep/archive/refs/tags/${APKEEP_VERSION}.tar.gz -q -O /tmp/apkeep-${APKEEP_VERSION}.tar.gz \
&& tar -xzf /tmp/apkeep-${APKEEP_VERSION}.tar.gz -C /tmp/ \
&& rm /tmp/apkeep-${APKEEP_VERSION}.tar.gz
WORKDIR /tmp/apkeep-${APKEEP_VERSION}
RUN PATH=/opt/openssl/bin:$PATH LD_LIBRARY_PATH=/opt/openssl/lib OPENSSL_STATIC=1 OPENSSL_INCLUDE_DIR=/opt/openssl/include/ OPENSSL_LIB_DIR=/opt/openssl/lib/ OPENSSL_DIR=/opt/openssl/ cargo build --release \
&& chmod +x target/release/apkeep \
&& mv target/release/apkeep /opt/apkeep

FROM python:3.11-slim-bookworm
LABEL maintainer="Codimp"

RUN apt-get update && apt-get install --no-install-recommends -y \
dexdump=10.0.0* \
postgresql-client-13=13* \
libpq-dev=13.* \
gcc=4:10.2.* \
dexdump=11.0.0* \
postgresql-client-15=15* \
libpq-dev=15.* \
gcc=4:12.2.* \
musl-dev=1.2.* \
libc6-dev=2.* \
gettext=0.* \
pipenv=11.* \
pipenv=2022.12.* \
libssl3=3.* \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

COPY --from=apkeep-download /tmp/apkeep /usr/local/bin/apkeep
COPY --from=apkeep-build /opt/openssl /opt/openssl
COPY --from=apkeep-build /opt/apkeep /usr/local/bin/apkeep
RUN ln -s /usr/lib/ssl/certs /opt/openssl/certs

WORKDIR /opt

Expand Down

0 comments on commit 51e842c

Please sign in to comment.