diff --git a/Dockerfile b/Dockerfile index c636a04..005d919 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,15 +6,18 @@ RUN apk add --no-cache \ build-base \ cargo \ ca-certificates \ + cmake \ cyrus-sasl-dev \ + git \ graphviz \ jpeg-dev \ libevent-dev \ libffi-dev \ - openssl-dev \ libxslt-dev \ + make \ musl-dev \ openldap-dev \ + openssl-dev \ postgresql-dev \ py3-pip \ python3-dev \ @@ -24,6 +27,20 @@ RUN apk add --no-cache \ setuptools \ wheel +# Build libcrc32c for google-crc32c python module +RUN git clone https://github.com/google/crc32c \ + && cd crc32c \ + && git submodule update --init --recursive \ + && mkdir build \ + && cd build \ + && cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCRC32C_BUILD_TESTS=no \ + -DCRC32C_BUILD_BENCHMARKS=no \ + -DBUILD_SHARED_LIBS=yes \ + .. \ + && make all install + ARG NETBOX_PATH COPY ${NETBOX_PATH}/requirements.txt requirements-container.txt / RUN /opt/netbox/venv/bin/pip install \ @@ -55,6 +72,9 @@ RUN apk add --no-cache \ WORKDIR /opt +COPY --from=builder /usr/local/lib/libcrc32c.* /usr/local/lib/ +COPY --from=builder /usr/local/include/crc32c /usr/local/include +COPY --from=builder /usr/local/lib/cmake/Crc32c /usr/local/lib/cmake/ COPY --from=builder /opt/netbox/venv /opt/netbox/venv ARG NETBOX_PATH diff --git a/requirements-container.txt b/requirements-container.txt index 7896eb3..e50d461 100644 --- a/requirements-container.txt +++ b/requirements-container.txt @@ -1,5 +1,5 @@ napalm==3.3.1 ruamel.yaml==0.17.16 django-auth-ldap==3.0.0 -google-crc32c==1.1.2 +google-crc32c==1.1.4 django-storages[azure,boto3,dropbox,google,libcloud,sftp]==1.11.1