blob: f516eb95fc9e0bd7b1b3adf3858fc98bb23a5ea7 (
plain)
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
87
88
89
90
91
|
FROM archlinux/archlinux:base-devel
RUN mkdir -p /etc/pacman.d/hooks \
&& ln -s /dev/null /etc/pacman.d/hooks/30-systemd-tmpfiles.hook
RUN echo "Server = http://mirror.yandex.ru/archlinux/\$repo/os/\$arch" > /etc/pacman.d/mirrorlist
RUN pacman -Syu --noconfirm \
&& pacman -S --needed --noconfirm \
autoconf-archive \
help2man \
m4 \
vim \
git \
libjpeg \
libevent \
libutil-linux \
libbsd \
python \
python-pip \
python-tox \
python-mako \
python-yaml \
python-aiohttp \
python-aiofiles \
python-passlib \
python-pyserial \
python-setproctitle \
python-psutil \
python-systemd \
python-dbus \
python-pygments \
python-pam \
python-pillow \
python-xlib \
python-hidapi \
freetype2 \
nginx-mainline \
ipmitool \
socat \
eslint \
npm \
&& (pacman -Sc --noconfirm || true) \
&& rm -rf /var/cache/pacman/pkg/*
COPY testenv/requirements.txt requirements.txt
RUN pip install -r requirements.txt
# https://stackoverflow.com/questions/57534295
WORKDIR /root
RUN npm install htmlhint -g \
&& npm install pug \
&& npm install pug-cli -g \
&& npm install @babel/eslint-parser -g
WORKDIR /
ARG LIBGPIOD_VERSION
ENV LIBGPIOD_PKG libgpiod-$LIBGPIOD_VERSION
RUN curl \
-o $LIBGPIOD_PKG.tar.gz \
https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/$LIBGPIOD_PKG.tar.gz \
&& tar -xzvf $LIBGPIOD_PKG.tar.gz \
&& cd $LIBGPIOD_PKG \
&& ./autogen.sh --prefix=/usr --enable-tools=yes --enable-bindings-python \
&& make PREFIX=/usr install \
&& cd - \
&& rm -rf $LIBGPIOD_PKG{,.tar.gz}
ARG USTREAMER_MIN_VERSION
ENV USTREAMER_MIN_VERSION $USTREAMER_MIN_VERSION
RUN echo $USTREAMER_MIN_VERSION
RUN git clone https://github.com/pikvm/ustreamer \
&& cd ustreamer \
&& make WITH_PYTHON=1 PREFIX=/usr DESTDIR=/ install \
&& cd - \
&& rm -rf ustreamer
RUN mkdir -p \
/etc/kvmd/{nginx,vnc} \
/var/lib/kvmd/msd/{images,meta} \
/opt/vc/bin \
/fake_sysfs/sys/kernel/config/usb_gadget/kvmd/functions/mass_storage.usb0/lun.0 \
/fake_sysfs/sys/class/thermal/thermal_zone0 \
/fake_procfs/proc/device-tree
COPY testenv/fakes/vcgencmd /opt/vc/bin/
COPY testenv/fakes/msd/* /fake_sysfs/sys/kernel/config/usb_gadget/kvmd/functions/mass_storage.usb0/lun.0/
COPY testenv/fakes/cpu_temp /fake_sysfs/sys/class/thermal/thermal_zone0/temp
COPY testenv/fakes/dt_model /fake_procfs/proc/device-tree/model
CMD /bin/bash
|