-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathDockerfile
86 lines (75 loc) · 2.92 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# Originally from https://github.com/M0E-lnx/ubuntu-32bit with thanks,
# and then https://github.com/matthew-brett/trusty/blob/32/Dockerfile
FROM scratch
ADD debian-bullseye-i386.tgz /
# a few minor docker-specific tweaks
# see https://github.com/docker/docker/blob/master/contrib/mkimage/debootstrap
RUN echo '#!/bin/sh' > /usr/sbin/policy-rc.d \
&& echo 'exit 101' >> /usr/sbin/policy-rc.d \
&& chmod +x /usr/sbin/policy-rc.d \
\
&& dpkg-divert --local --rename --add /sbin/initctl \
&& cp -a /usr/sbin/policy-rc.d /sbin/initctl \
&& sed -i 's/^exit.*/exit 0/' /sbin/initctl \
\
&& echo 'force-unsafe-io' > /etc/dpkg/dpkg.cfg.d/docker-apt-speedup \
\
&& echo 'DPkg::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' > /etc/apt/apt.conf.d/docker-clean \
&& echo 'APT::Update::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' >> /etc/apt/apt.conf.d/docker-clean \
&& echo 'Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";' >> /etc/apt/apt.conf.d/docker-clean \
\
&& echo 'Acquire::Languages "none";' > /etc/apt/apt.conf.d/docker-no-languages \
\
&& echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' > /etc/apt/apt.conf.d/docker-gzip-indexes
# && echo 'deb http://archive.ubuntu.com/ubuntu/ trusty universe' >> /etc/apt/sources.list \
# && echo 'deb http://archive.ubuntu.com/ubuntu/ trusty-updates universe' >> /etc/apt/sources.list
#
# Pillow customization
#
RUN apt-get -qq update && DEBIAN_FRONTEND=noninteractive apt-get -y install \
cmake \
curl \
ghostscript \
git \
libffi-dev \
libfreetype6-dev \
libfribidi-dev \
libharfbuzz-dev \
libjpeg-turbo-progs \
libjpeg62-turbo-dev \
liblcms2-dev \
libopenjp2-7-dev \
libtiff5-dev \
libwebp-dev \
libssl-dev \
meson \
netpbm \
python3-dev \
python3-numpy \
python3-pyqt5 \
python3-setuptools \
python3-tk \
sudo \
tcl8.6-dev \
tk8.6-dev \
virtualenv \
wget \
xvfb \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-host=i686-unknown-linux-gnu
ENV PATH="/root/.cargo/bin:${PATH}"
RUN useradd pillow \
&& addgroup pillow sudo \
&& mkdir /home/pillow \
&& chown pillow:pillow /home/pillow
RUN virtualenv -p /usr/bin/python3.9 --system-site-packages /vpy3 \
&& /vpy3/bin/pip install --no-cache-dir --upgrade pip \
&& /vpy3/bin/pip install --no-cache-dir cffi olefile pytest pytest-cov pytest-timeout \
&& chown -R pillow:pillow /vpy3
ADD depends /depends
RUN cd /depends && ./install_imagequant.sh && ./install_raqm.sh
USER pillow
ENTRYPOINT ["linux32"]
CMD ["depends/test.sh"]
#docker run -v $GITHUB_WORKSPACE:/Pillow pythonpillow/debian-11-bullseye-x86