Skip to content

Commit 954bdde

Browse files
authored
Merge pull request #570 from cimnine/FixCRC32
Build and install libcrc32c
2 parents a0a32b9 + 9255afd commit 954bdde

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

Dockerfile

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,18 @@ RUN apk add --no-cache \
66
build-base \
77
cargo \
88
ca-certificates \
9+
cmake \
910
cyrus-sasl-dev \
11+
git \
1012
graphviz \
1113
jpeg-dev \
1214
libevent-dev \
1315
libffi-dev \
14-
openssl-dev \
1516
libxslt-dev \
17+
make \
1618
musl-dev \
1719
openldap-dev \
20+
openssl-dev \
1821
postgresql-dev \
1922
py3-pip \
2023
python3-dev \
@@ -24,6 +27,20 @@ RUN apk add --no-cache \
2427
setuptools \
2528
wheel
2629

30+
# Build libcrc32c for google-crc32c python module
31+
RUN git clone https://github.com/google/crc32c \
32+
&& cd crc32c \
33+
&& git submodule update --init --recursive \
34+
&& mkdir build \
35+
&& cd build \
36+
&& cmake \
37+
-DCMAKE_BUILD_TYPE=Release \
38+
-DCRC32C_BUILD_TESTS=no \
39+
-DCRC32C_BUILD_BENCHMARKS=no \
40+
-DBUILD_SHARED_LIBS=yes \
41+
.. \
42+
&& make all install
43+
2744
ARG NETBOX_PATH
2845
COPY ${NETBOX_PATH}/requirements.txt requirements-container.txt /
2946
RUN /opt/netbox/venv/bin/pip install \
@@ -55,6 +72,9 @@ RUN apk add --no-cache \
5572

5673
WORKDIR /opt
5774

75+
COPY --from=builder /usr/local/lib/libcrc32c.* /usr/local/lib/
76+
COPY --from=builder /usr/local/include/crc32c /usr/local/include
77+
COPY --from=builder /usr/local/lib/cmake/Crc32c /usr/local/lib/cmake/
5878
COPY --from=builder /opt/netbox/venv /opt/netbox/venv
5979

6080
ARG NETBOX_PATH

requirements-container.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
napalm==3.3.1
22
ruamel.yaml==0.17.16
33
django-auth-ldap==3.0.0
4-
google-crc32c==1.1.2
4+
google-crc32c==1.1.4
55
django-storages[azure,boto3,dropbox,google,libcloud,sftp]==1.11.1

0 commit comments

Comments
 (0)