mirror of
https://github.com/kasmtech/KasmVNC.git
synced 2026-07-17 16:36:49 +00:00
Merge branch 'feature/VNC-322-build-alpine-3.22-and-3.23' into 'master'
Revert "VNC-151 Add CMake 3.22 installer in Dockerfile" Closes VNC-322 See merge request kasm-technologies/internal/KasmVNC!233
This commit is contained in:
commit
d9b4772680
14 changed files with 73 additions and 153 deletions
|
|
@ -80,14 +80,12 @@ stages:
|
|||
GROUP: 11
|
||||
- DISTRO: 'fedora 43'
|
||||
GROUP: 12
|
||||
- DISTRO: 'alpine 318'
|
||||
GROUP: 13
|
||||
- DISTRO: 'alpine 319'
|
||||
GROUP: 14
|
||||
- DISTRO: 'alpine 320'
|
||||
GROUP: 15
|
||||
- DISTRO: 'alpine 321'
|
||||
GROUP: 16
|
||||
GROUP: 13
|
||||
- DISTRO: 'alpine 322'
|
||||
GROUP: 14
|
||||
- DISTRO: 'alpine 323'
|
||||
GROUP: 15
|
||||
|
||||
default:
|
||||
retry: 2
|
||||
|
|
|
|||
|
|
@ -23,6 +23,41 @@ builder/build-package kali kali-rolling
|
|||
builder/build-package fedora thirtythree
|
||||
```
|
||||
|
||||
# Build an apk package
|
||||
|
||||
## Requirements
|
||||
Building an apk package requires a signing key to be present in environment.
|
||||
|
||||
For example:
|
||||
```sh
|
||||
KASMVNC_ALPINE_PRIVATE_KEY=$(cat <<EOF
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
...
|
||||
-----END PRIVATE KEY-----
|
||||
EOF
|
||||
)
|
||||
|
||||
KASMVNC_ALPINE_PUBLIC_KEY=$(cat <<EOF
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
...
|
||||
-----END PUBLIC KEY-----
|
||||
EOF
|
||||
)
|
||||
|
||||
export KASMVNC_ALPINE_PRIVATE_KEY
|
||||
export KASMVNC_ALPINE_PUBLIC_KEY
|
||||
```
|
||||
|
||||
You can create a signing key by using:
|
||||
```sh
|
||||
apk add abuild
|
||||
abuild-keygen -a
|
||||
```
|
||||
## Building
|
||||
```sh
|
||||
builder/build-package alpine 321
|
||||
```
|
||||
|
||||
# Build and test a package
|
||||
```
|
||||
builder/build-and-test-deb ubuntu focal
|
||||
|
|
|
|||
|
|
@ -154,6 +154,8 @@ elif [ -d /usr/lib/arm-linux-gnueabihf/dri ]; then
|
|||
ln -sfn /usr/lib/arm-linux-gnueabihf/dri dri
|
||||
elif [ -d /usr/lib/xorg/modules/dri ]; then
|
||||
ln -sfn /usr/lib/xorg/modules/dri dri
|
||||
elif [ -d /usr/lib/dri ]; then
|
||||
ln -sfn /usr/lib/dri dri
|
||||
else
|
||||
ln -sfn /usr/lib64/dri dri
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -1,89 +0,0 @@
|
|||
FROM alpine:3.18
|
||||
|
||||
ENV KASMVNC_BUILD_OS alpine
|
||||
ENV KASMVNC_BUILD_OS_CODENAME 318
|
||||
ENV XORG_VER 21.1.10
|
||||
|
||||
RUN \
|
||||
echo "**** install build deps ****" && \
|
||||
apk add --no-cache \
|
||||
alpine-release \
|
||||
alpine-sdk \
|
||||
autoconf \
|
||||
automake \
|
||||
bash \
|
||||
ca-certificates \
|
||||
cmake \
|
||||
nasm \
|
||||
coreutils \
|
||||
curl \
|
||||
eudev-dev \
|
||||
font-cursor-misc \
|
||||
font-misc-misc \
|
||||
font-util-dev \
|
||||
git \
|
||||
grep \
|
||||
jq \
|
||||
libdrm-dev \
|
||||
libepoxy-dev \
|
||||
libjpeg-turbo-dev \
|
||||
libjpeg-turbo-static \
|
||||
libpciaccess-dev \
|
||||
libtool \
|
||||
libva-dev \
|
||||
libwebp-dev \
|
||||
libx11-dev \
|
||||
libxau-dev \
|
||||
libxcb-dev \
|
||||
libxcursor-dev \
|
||||
libxcvt-dev \
|
||||
libxdmcp-dev \
|
||||
libxext-dev \
|
||||
libxfont2-dev \
|
||||
libxkbfile-dev \
|
||||
libxrandr-dev \
|
||||
libxshmfence-dev \
|
||||
libxtst-dev \
|
||||
mesa-dev \
|
||||
mesa-va-gallium \
|
||||
mesa-dri-gallium \
|
||||
meson \
|
||||
nettle-dev \
|
||||
openssl-dev \
|
||||
pixman-dev \
|
||||
procps \
|
||||
shadow \
|
||||
tar \
|
||||
tzdata \
|
||||
wayland-dev \
|
||||
wayland-protocols \
|
||||
xcb-util-dev \
|
||||
xcb-util-image-dev \
|
||||
xcb-util-keysyms-dev \
|
||||
xcb-util-renderutil-dev \
|
||||
xcb-util-wm-dev \
|
||||
xinit \
|
||||
xkbcomp \
|
||||
xkbcomp-dev \
|
||||
xkeyboard-config \
|
||||
xorgproto \
|
||||
xorg-server-common \
|
||||
xorg-server-dev \
|
||||
xtrans \
|
||||
ffmpeg-dev \
|
||||
libdrm-dev
|
||||
|
||||
RUN if [ "$(uname -m)" = "x86_64" ]; then \
|
||||
apk add --no-cache intel-media-driver; \
|
||||
fi
|
||||
|
||||
ENV SCRIPTS_DIR=/tmp/scripts
|
||||
COPY builder/scripts $SCRIPTS_DIR
|
||||
RUN $SCRIPTS_DIR/build-deps.sh
|
||||
|
||||
RUN useradd -m docker && echo "docker:docker" | chpasswd
|
||||
|
||||
COPY --chown=docker:docker . /src/
|
||||
|
||||
USER docker
|
||||
ENTRYPOINT ["/src/builder/build.sh"]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
FROM alpine:3.19
|
||||
|
||||
RUN apk add shadow bash
|
||||
RUN apk add abuild sudo less
|
||||
|
||||
ENV HOME /src/alpine
|
||||
WORKDIR $HOME/kasmvncserver
|
||||
|
||||
ARG KASMVNC_ALPINE_PRIVATE_KEY
|
||||
ARG KASMVNC_ALPINE_PUBLIC_KEY
|
||||
|
||||
ENV SCRIPTS_DIR=/tmp/scripts
|
||||
COPY builder/scripts $SCRIPTS_DIR
|
||||
RUN $SCRIPTS_DIR/install_alpine_signing_keys
|
||||
|
||||
RUN useradd -m docker && echo "docker:docker" | chpasswd
|
||||
RUN echo 'docker ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
|
||||
|
||||
USER docker
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
FROM alpine:3.20
|
||||
|
||||
RUN apk add shadow bash
|
||||
RUN apk add abuild sudo less
|
||||
|
||||
ENV HOME /src/alpine
|
||||
WORKDIR $HOME/kasmvncserver
|
||||
|
||||
ARG KASMVNC_ALPINE_PRIVATE_KEY
|
||||
ARG KASMVNC_ALPINE_PUBLIC_KEY
|
||||
|
||||
ENV SCRIPTS_DIR=/tmp/scripts
|
||||
COPY builder/scripts $SCRIPTS_DIR
|
||||
RUN $SCRIPTS_DIR/install_alpine_signing_keys
|
||||
|
||||
RUN useradd -m docker && echo "docker:docker" | chpasswd
|
||||
RUN echo 'docker ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
|
||||
|
||||
USER docker
|
||||
|
|
@ -1 +0,0 @@
|
|||
dockerfile.alpine.barebones.apk.test
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
FROM alpine:3.17
|
||||
FROM alpine:3.22
|
||||
|
||||
RUN apk add shadow bash
|
||||
RUN apk add abuild sudo less
|
||||
RUN apk add abuild sudo less ffmpeg-dev
|
||||
|
||||
ENV HOME /src/alpine
|
||||
WORKDIR $HOME/kasmvncserver
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
FROM alpine:3.19
|
||||
FROM alpine:3.22
|
||||
|
||||
ENV KASMVNC_BUILD_OS alpine
|
||||
ENV KASMVNC_BUILD_OS_CODENAME 319
|
||||
ENV XORG_VER 21.1.12
|
||||
ENV KASMVNC_BUILD_OS_CODENAME 322
|
||||
ENV XORG_VER 21.1.19
|
||||
|
||||
RUN \
|
||||
echo "**** install build deps ****" && \
|
||||
|
|
@ -43,7 +43,6 @@ RUN \
|
|||
libxrandr-dev \
|
||||
libxshmfence-dev \
|
||||
libxtst-dev \
|
||||
libva-dev \
|
||||
mesa-dev \
|
||||
mesa-dri-gallium \
|
||||
mesa-va-gallium \
|
||||
|
|
@ -71,7 +70,7 @@ RUN \
|
|||
xorg-server-dev \
|
||||
xtrans \
|
||||
ffmpeg-dev \
|
||||
libdrm-dev
|
||||
libva-dev
|
||||
|
||||
RUN if [ "$(uname -m)" = "x86_64" ]; then \
|
||||
apk add --no-cache intel-media-driver; \
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
FROM alpine:3.18
|
||||
FROM alpine:3.23
|
||||
|
||||
RUN apk add shadow bash
|
||||
RUN apk add abuild sudo less
|
||||
RUN apk add abuild sudo less ffmpeg-dev
|
||||
|
||||
ENV HOME /src/alpine
|
||||
WORKDIR $HOME/kasmvncserver
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
FROM alpine:3.20
|
||||
FROM alpine:3.23
|
||||
|
||||
ENV KASMVNC_BUILD_OS alpine
|
||||
ENV KASMVNC_BUILD_OS_CODENAME 320
|
||||
ENV XORG_VER 21.1.14
|
||||
ENV KASMVNC_BUILD_OS_CODENAME 323
|
||||
ENV XORG_VER 21.1.21
|
||||
|
||||
RUN \
|
||||
echo "**** install build deps ****" && \
|
||||
|
|
@ -13,7 +13,6 @@ RUN \
|
|||
automake \
|
||||
bash \
|
||||
ca-certificates \
|
||||
cmake \
|
||||
nasm \
|
||||
coreutils \
|
||||
curl \
|
||||
|
|
@ -43,7 +42,6 @@ RUN \
|
|||
libxrandr-dev \
|
||||
libxshmfence-dev \
|
||||
libxtst-dev \
|
||||
libva-dev \
|
||||
mesa-dev \
|
||||
mesa-dri-gallium \
|
||||
mesa-va-gallium \
|
||||
|
|
@ -71,12 +69,15 @@ RUN \
|
|||
xorg-server-dev \
|
||||
xtrans \
|
||||
ffmpeg-dev \
|
||||
libdrm-dev
|
||||
libva-dev
|
||||
|
||||
RUN if [ "$(uname -m)" = "x86_64" ]; then \
|
||||
apk add --no-cache intel-media-driver; \
|
||||
fi
|
||||
|
||||
RUN apk add python3 py3-pip
|
||||
RUN pip install --break-system-packages cmake==3.22.6
|
||||
|
||||
ENV SCRIPTS_DIR=/tmp/scripts
|
||||
COPY builder/scripts $SCRIPTS_DIR
|
||||
RUN $SCRIPTS_DIR/build-deps.sh
|
||||
|
|
@ -15,15 +15,28 @@ RUN apt-get update && \
|
|||
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata
|
||||
RUN apt-get update && apt-get -y build-dep xorg-server libxfont-dev
|
||||
RUN apt-get update && apt-get -y install gcc g++ curl
|
||||
RUN apt-get update && apt-get -y install ninja-build cmake nasm git libgnutls28-dev vim wget tightvncserver
|
||||
RUN apt-get update && apt-get -y install ninja-build nasm git libgnutls28-dev vim wget tightvncserver
|
||||
RUN apt-get update && apt-get -y install libpng-dev libtiff-dev libgif-dev libavcodec-dev libssl-dev libxrandr-dev \
|
||||
libxcursor-dev libavformat-dev libswscale-dev libva-dev
|
||||
libxcursor-dev libavformat-dev libswscale-dev libva-dev libcrypt-dev
|
||||
|
||||
ENV SCRIPTS_DIR=/tmp/scripts
|
||||
COPY builder/scripts $SCRIPTS_DIR
|
||||
RUN ARCH=$(arch) && \
|
||||
CMAKE_URL="https://cmake.org/files/v3.22/cmake-3.22.0" && \
|
||||
if [ "$ARCH" = "x86_64" ]; then \
|
||||
CMAKE_URL="${CMAKE_URL}-linux-x86_64.sh"; \
|
||||
elif [ "$ARCH" = "aarch64" ]; then \
|
||||
CMAKE_URL="${CMAKE_URL}-linux-aarch64.sh"; \
|
||||
else \
|
||||
echo "Unsupported architecture: $ARCH" && exit 1; \
|
||||
fi && \
|
||||
curl -fsSL $CMAKE_URL -o cmake.sh && \
|
||||
(echo y; echo n) | bash cmake.sh --prefix=/usr/local --skip-license && \
|
||||
rm cmake.sh
|
||||
|
||||
RUN $SCRIPTS_DIR/build-deps.sh
|
||||
|
||||
RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo
|
||||
RUN useradd -m docker && echo "docker:docker" | chpasswd && usermod -aG sudo docker
|
||||
|
||||
COPY --chown=docker:docker . /src/
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue