Skip to content

Commit f6d0be5

Browse files
committed
Prebuild fw2tar python deps
1 parent f63fd9e commit f6d0be5

File tree

1 file changed

+24
-31
lines changed

1 file changed

+24
-31
lines changed

Dockerfile

Lines changed: 24 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ ARG PANDA_VERSION
238238

239239
ENV PYTHONDONTWRITEBYTECODE 1
240240
ENV PYTHONUNBUFFERED 1
241-
RUN apt-get update && apt-get install -y python3-pip git
241+
RUN apt-get update && apt-get install -y python3-pip git liblzo2-dev
242242
RUN --mount=type=cache,target=/root/.cache/pip \
243243
pip wheel --no-cache-dir --wheel-dir /app/wheels \
244244
angr \
@@ -264,8 +264,23 @@ RUN --mount=type=cache,target=/root/.cache/pip \
264264
sqlalchemy \
265265
yamlcore \
266266
junit-xml \
267-
jc
268-
267+
jc \
268+
git+http://github.com/jrspruitt/ubi_reader.git@v0.8.5-master \
269+
git+https://github.com/rehosting/binwalk.git \
270+
git+https://github.com/ahupp/python-magic \
271+
git+https://github.com/devttys0/yaffshiv.git \
272+
git+https://github.com/marin-m/vmlinux-to-elf \
273+
jefferson \
274+
gnupg \
275+
poetry \
276+
psycopg2-binary \
277+
pycryptodome \
278+
pylzma \
279+
setuptools \
280+
sqlalchemy \
281+
telnetlib3 \
282+
tk \
283+
zstandard
269284

270285
FROM python_builder AS version_generator
271286
ARG OVERRIDE_VERSION=""
@@ -391,42 +406,20 @@ RUN apt-get update && apt-get install -y \
391406
apt install -yy -f /tmp/pandare.deb -f /tmp/glow.deb -f /tmp/gum.deb && \
392407
rm -rf /var/lib/apt/lists/* /tmp/*.deb
393408

394-
395-
# fw2tar python deps
396-
# XXX: Should we be prebuilding these?
397-
RUN pip install --upgrade pip && \
398-
python3 -m pip install \
399-
git+http://github.com/jrspruitt/ubi_reader.git@v0.8.5-master \
400-
git+https://github.com/rehosting/binwalk.git \
401-
git+https://github.com/ahupp/python-magic \
402-
git+https://github.com/devttys0/yaffshiv.git \
403-
git+https://github.com/marin-m/vmlinux-to-elf \
404-
jefferson \
405-
gnupg \
406-
poetry \
407-
psycopg2-binary \
408-
pycryptodome \
409-
pylzma \
410-
pyyaml \
411-
setuptools \
412-
sqlalchemy \
413-
telnetlib3 \
414-
tk \
415-
lz4 \
416-
zstandard \
417-
pyelftools \
418-
lief && \
419-
python3 -m pip install python-lzo==1.14 && \
420-
poetry config virtualenvs.create false
421-
422409
# If we want to run in a venv, we can use this. System site packages means
423410
# we can still access the apt-installed python packages (e.g. guestfs) in our venv
424411
#RUN python3 -m venv --system-site-packages /venv
425412
#ENV PATH="/venv/bin:$PATH"
426413
# install prebuilt python packages
427414
COPY --from=python_builder /app/wheels /wheels
415+
416+
# Remove python_lzo 1.0 to resolve depdency collision with vmlinux-to-elf
417+
RUN rm /wheels/python_lzo*
418+
428419
RUN pip install --no-cache /wheels/*
429420

421+
RUN poetry config virtualenvs.create false
422+
430423
# ZAP setup
431424
#COPY --from=downloader /zap /zap
432425
#RUN /zap/zap.sh -cmd -silent -addonupdate -addoninstallall && \

0 commit comments

Comments
 (0)