VNC-284 Opensuse 16.0 and 15.6 builds

This commit is contained in:
Dmitry Maksyoma 2026-01-13 11:58:58 +00:00 committed by Matthew McClaskey
parent bdb91b1279
commit 9a66cada57
15 changed files with 378 additions and 32 deletions

View file

@ -5,6 +5,7 @@ set -e
prepare_build_env() {
rpmdev-setuptree
copy_spec_and_tar_with_binaries
copy_rpmlintrc
}
copy_spec_and_tar_with_binaries() {
@ -13,11 +14,27 @@ copy_spec_and_tar_with_binaries() {
~/rpmbuild/SOURCES/
}
copy_rpmlintrc() {
cp /src/builder/rpmlintrc ~/.rpmlintrc
}
is_rpmlint_toml_config() {
rpmlint --version | grep -qF 2.
}
copy_rpm_to_build_dir() {
cd /src/builder && \
mkdir -p "$os_dir" && cp ~/rpmbuild/RPMS/*/*.rpm ${os_dir}
}
rpmlint_with_config_loaded() {
rpmlint -c ~/.rpmlintrc "$os_dir"/*.rpm
}
rpmlint_without_config_loaded() {
rpmlint "$os_dir"/*.rpm
}
cd "$(dirname "$0")/.."
if [ -z ${KASMVNC_BUILD_OS_CODENAME+x} ]; then
@ -32,4 +49,9 @@ os_dir="build/${os}_${os_codename}"
prepare_build_env
rpmbuild -ba ~/rpmbuild/SPECS/*.spec
copy_rpm_to_build_dir
rpmlint "$os_dir"/*.rpm || true
if is_rpmlint_toml_config; then
rpmlint_with_config_loaded || true
else
rpmlint_without_config_loaded || true
fi

View file

@ -2,10 +2,21 @@
set -e
detect_quilt() {
if which quilt 1>/dev/null; then
QUILT_PRESENT=1
export QUILT_PATCHES=debian/patches
debian_patches_dir="debian/patches"
is_debian_patches_present() {
[[ -d "$debian_patches_dir" ]]
}
is_debian() {
[[ -f /usr/bin/dpkg ]]
}
apply_debian_patches() {
if is_debian_patches_present; then
export QUILT_PATCHES="$debian_patches_dir"
quilt push -a
echo 'Patches applied!'
fi
}
@ -148,10 +159,8 @@ else
fi
cd /src
detect_quilt
if [ -n "$QUILT_PRESENT" ]; then
quilt push -a
echo 'Patches applied!'
if is_debian; then
apply_debian_patches
fi
make servertarball

View file

@ -1,4 +1,4 @@
FROM opensuse/leap:15.5
FROM opensuse/leap:15.6
ENV STARTUPDIR=/dockerstartup

View file

@ -1,4 +1,4 @@
FROM opensuse/leap:15.5
FROM opensuse/leap:15.6
ENV KASMVNC_BUILD_OS opensuse
ENV KASMVNC_BUILD_OS_CODENAME 15

View file

@ -1,4 +1,4 @@
FROM opensuse/leap:15.5
FROM opensuse/leap:15.6
ENV KASMVNC_BUILD_OS opensuse
ENV KASMVNC_BUILD_OS_CODENAME 15
@ -16,7 +16,7 @@ RUN zypper -n install -y \
# Cache repo updates, so that spec changes don't trigger it on every build.
RUN zypper refresh
COPY opensuse/*.spec /tmp
COPY opensuse/kasmvncserver.spec /tmp
RUN zypper -n install $(grep BuildRequires /tmp/*.spec | cut -d' ' -f2 | xargs)

View file

@ -0,0 +1,24 @@
FROM opensuse/leap:16.0
ENV STARTUPDIR=/dockerstartup
# base tools
ARG RUN_TEST
RUN [ "$RUN_TEST" = 1 ] || zypper -n install -y \
less \
vim \
xterm
# Cache repo updates, so that package changes don't trigger it on every build.
RUN zypper refresh
ARG KASMVNC_PACKAGE_DIR
COPY $KASMVNC_PACKAGE_DIR/*.rpm /tmp
RUN zypper install -y --allow-unsigned-rpm /tmp/*.rpm
RUN mkdir -p $STARTUPDIR
COPY builder/startup/vnc_startup_barebones.sh $STARTUPDIR
RUN useradd -m foo
USER foo:kasmvnc-cert
ENTRYPOINT "/$STARTUPDIR/vnc_startup_barebones.sh"

View file

@ -0,0 +1,67 @@
FROM opensuse/leap:16.0
ENV KASMVNC_BUILD_OS opensuse
ENV KASMVNC_BUILD_OS_CODENAME 16
ENV XORG_VER 21.1.15
# Install depends
RUN zypper install -ny \
bdftopcf \
ninja \
nasm \
curl \
ffmpeg-4-libavcodec-devel \
ffmpeg-4-libswscale-devel \
ffmpeg-4-libavformat-devel \
fonttosfnt \
font-util \
gcc15 \
gcc15-c++ \
cmake \
giflib-devel \
git \
gzip \
libbz2-devel \
libgbm-devel \
libgnutls-devel \
libopenssl-devel \
libpng16-devel \
libpnglite0 \
png++-devel \
libtiff-devel \
libXfont2-devel \
libxkbcommon-x11-devel \
libxshmfence-devel \
make \
Mesa-dri \
Mesa-libglapi-devel \
Mesa-libGL-devel \
mkfontscale \
patch \
tigervnc \
wget \
libXcursor-devel \
libXrandr-devel \
libXtst-devel \
libX11-devel \
xorgproto-devel \
xorg-x11-util-devel \
xorg-x11-server-sdk \
xorg-x11-util-devel \
zlib-devel
RUN useradd -u 1000 docker && \
usermod -a -G docker docker
ENV SCRIPTS_DIR=/tmp/scripts
ENV CC=/usr/bin/gcc-15
ENV CXX=/usr/bin/g++-15
ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig
COPY builder/scripts $SCRIPTS_DIR
RUN $SCRIPTS_DIR/build-deps.sh
COPY --chown=docker:docker . /src/
USER docker
ENTRYPOINT ["bash", "-l", "-c", "/src/builder/build.sh"]

View file

@ -0,0 +1,26 @@
FROM opensuse/leap:16.0
ENV KASMVNC_BUILD_OS opensuse
ENV KASMVNC_BUILD_OS_CODENAME 16
RUN zypper -n install -y \
gpg* \
less \
lsb-release \
rng-tools \
rpm-build \
rpmdevtools \
rpmlint \
tree \
vim
# Cache repo updates, so that spec changes don't trigger it on every build.
RUN zypper refresh
COPY opensuse/kasmvncserver16.spec /tmp
RUN zypper -n install $(grep BuildRequires /tmp/*.spec | cut -d' ' -f2 | xargs)
RUN useradd -u 1000 -m -d /home/docker docker && \
usermod -a -G docker docker
USER docker

4
builder/rpmlintrc Normal file
View file

@ -0,0 +1,4 @@
[Filters]
# Locale JSON files are intentionally duplicated per language/region.
files-duplicate = true
files-duplicated-waste = true