feat: merge upstream master - version 4.94

Merge upstream PiKVM master branch updates:

- Bump version from 4.93 to 4.94
- HID: improved jiggler pattern for better compatibility
- Streamer: major refactoring for improved performance and maintainability
- Prometheus: tidying GPIO channel name formatting
- Web: added __gpio-label class for custom styling
- HID: customizable /api/hid/print delay configuration
- ATX: independent power/reset regions for better control
- OLED: added --fill option for display testing
- Web: improved keyboard handling in modal dialogs
- Web: enhanced login error messages
- Switch: added heartbeat functionality
- Web: mouse touch code simplification and refactoring
- Configs: use systemd-networkd-wait-online --any by default
- PKGBUILD: use cp -r to install systemd units properly
- Various bug fixes and performance improvements
This commit is contained in:
mofeng-git
2025-08-21 11:21:41 +08:00
205 changed files with 9359 additions and 4653 deletions

View File

@@ -7,23 +7,24 @@ RUN echo 'Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
&& pacman-key --init \
&& pacman-key --populate archlinux
RUN pacman --noconfirm --ask=4 -Syy \
&& pacman --needed --noconfirm --ask=4 -S \
RUN \
--mount=type=cache,id=kvmd-pacman-pkg,target=/var/cache/pacman/pkg \
--mount=type=cache,id=kvmd-pacman-db,target=/var/lib/pacman/sync \
PACMAN="pacman --noconfirm --ask=4 --needed" \
&& $PACMAN -Syy \
archlinux-keyring \
&& pacman --needed --noconfirm --ask=4 -S \
&& $PACMAN -S \
glibc \
pacman \
openssl \
openssl-1.1 \
&& pacman-db-upgrade \
&& pacman --noconfirm --ask=4 -Syu \
&& pacman --needed --noconfirm --ask=4 -S \
&& $PACMAN -Syu \
p11-kit \
ca-certificates \
ca-certificates-mozilla \
ca-certificates-utils \
&& pacman -Syu --noconfirm --ask=4 \
&& pacman -S --needed --noconfirm --ask=4 \
&& $PACMAN -Syu \
base-devel \
autoconf-archive \
help2man \
@@ -46,10 +47,13 @@ RUN pacman --noconfirm --ask=4 -Syy \
python-aiofiles \
python-async-lru \
python-passlib \
python-bcrypt \
python-pyotp \
python-qrcode \
python-pyserial \
python-pyusb \
python-pyudev \
python-evdev \
python-setproctitle \
python-psutil \
python-netifaces \
@@ -76,8 +80,7 @@ RUN pacman --noconfirm --ask=4 -Syy \
eslint \
npm \
shellcheck \
&& (pacman -Sc --noconfirm || true) \
&& rm -rf /var/cache/pacman/pkg/*
&& :
COPY testenv/requirements.txt requirements.txt
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple \
@@ -97,11 +100,12 @@ WORKDIR /
ARG USTREAMER_MIN_VERSION
ENV USTREAMER_MIN_VERSION $USTREAMER_MIN_VERSION
RUN echo $USTREAMER_MIN_VERSION
RUN git clone https://github.com/pikvm/ustreamer \
RUN \
--mount=type=tmpfs,target=/tmp \
cd /tmp \
&& git clone --depth=1 https://github.com/pikvm/ustreamer \
&& cd ustreamer \
&& make WITH_PYTHON=1 PREFIX=/usr DESTDIR=/ install \
&& cd - \
&& rm -rf ustreamer
&& make WITH_PYTHON=1 PREFIX=/usr DESTDIR=/ install
RUN mkdir -p \
/etc/kvmd/{nginx,vnc} \
@@ -114,4 +118,4 @@ COPY testenv/fakes/sys /fake_sysfs/sys
COPY testenv/fakes/proc /fake_procfs/proc
COPY testenv/fakes/etc /fake_etc/etc
CMD /bin/bash
CMD ["/bin/bash"]