Merge branch 'master' into feature/KASM-2117_watermark
						commit
						ec810a2abe
					
				@ -0,0 +1,17 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
. builder/os_ver_cli.sh
 | 
			
		||||
 | 
			
		||||
cd "$(dirname "$0")/.."
 | 
			
		||||
 | 
			
		||||
docker build -t kasmvnc_apkbuilder_${os}:${os_codename} -f \
 | 
			
		||||
  builder/dockerfile.${os}_${os_codename}.apk.build .
 | 
			
		||||
 | 
			
		||||
source_dir=$(echo $PWD)
 | 
			
		||||
L_UID=$(id -u)
 | 
			
		||||
L_GID=$(id -g)
 | 
			
		||||
docker run --rm -v "$source_dir":/src --user $L_UID:$L_GID \
 | 
			
		||||
  kasmvnc_apkbuilder_${os}:${os_codename} /bin/bash -c \
 | 
			
		||||
  '/src/builder/build-apk-inside-docker'
 | 
			
		||||
@ -0,0 +1,11 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
os=alpine
 | 
			
		||||
os_codename=$(cat /etc/os-release | awk '/VERSION_ID/' | grep -o '[[:digit:]]' | tr -d '\n' | head -c 3)
 | 
			
		||||
 | 
			
		||||
mkdir -p /src/builder/build/${os}_${os_codename}
 | 
			
		||||
mv \
 | 
			
		||||
  /src/builder/build/kasmvnc.${os}_${os_codename}.tar.gz \
 | 
			
		||||
  /src/builder/build/${os}_${os_codename}/kasmvnc.${os}_${os_codename}_$(uname -m).tgz
 | 
			
		||||
@ -0,0 +1,7 @@
 | 
			
		||||
FROM alpine:3.17
 | 
			
		||||
 | 
			
		||||
RUN apk add shadow bash
 | 
			
		||||
 | 
			
		||||
RUN useradd -m docker && echo "docker:docker" | chpasswd
 | 
			
		||||
 | 
			
		||||
USER docker
 | 
			
		||||
@ -0,0 +1,76 @@
 | 
			
		||||
FROM alpine:3.17
 | 
			
		||||
 | 
			
		||||
ENV KASMVNC_BUILD_OS alpine
 | 
			
		||||
ENV KASMVNC_BUILD_OS_CODENAME 317
 | 
			
		||||
ENV XORG_VER 1.20.7
 | 
			
		||||
 | 
			
		||||
RUN \
 | 
			
		||||
  echo "**** install build deps ****" && \
 | 
			
		||||
  apk add \
 | 
			
		||||
    alpine-release \
 | 
			
		||||
    alpine-sdk \
 | 
			
		||||
    autoconf \
 | 
			
		||||
    automake \
 | 
			
		||||
    bash \
 | 
			
		||||
    ca-certificates \
 | 
			
		||||
    cmake \
 | 
			
		||||
    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 \
 | 
			
		||||
    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-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
 | 
			
		||||
 | 
			
		||||
RUN useradd -m docker && echo "docker:docker" | chpasswd
 | 
			
		||||
 | 
			
		||||
COPY --chown=docker:docker . /src/
 | 
			
		||||
 | 
			
		||||
USER docker
 | 
			
		||||
ENTRYPOINT ["/src/builder/build.sh"]
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
FROM fedora:33
 | 
			
		||||
FROM fedora:37
 | 
			
		||||
 | 
			
		||||
ENV STARTUPDIR=/dockerstartup
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,65 @@
 | 
			
		||||
FROM fedora:37
 | 
			
		||||
 | 
			
		||||
ENV KASMVNC_BUILD_OS fedora
 | 
			
		||||
ENV KASMVNC_BUILD_OS_CODENAME thirtyseven
 | 
			
		||||
ENV XORG_VER 1.20.7
 | 
			
		||||
 | 
			
		||||
RUN \
 | 
			
		||||
  echo "**** install build deps ****" && \
 | 
			
		||||
  dnf install -y \
 | 
			
		||||
    autoconf \
 | 
			
		||||
    automake \
 | 
			
		||||
    bzip2 \
 | 
			
		||||
    cmake \
 | 
			
		||||
    gcc \
 | 
			
		||||
    gcc-c++ \
 | 
			
		||||
    git \
 | 
			
		||||
    libdrm-devel \
 | 
			
		||||
    libepoxy-devel \
 | 
			
		||||
    libjpeg-turbo-devel \
 | 
			
		||||
    libjpeg-turbo-static \
 | 
			
		||||
    libpciaccess-devel \
 | 
			
		||||
    libtool \
 | 
			
		||||
    libwebp-devel \
 | 
			
		||||
    libX11-devel \
 | 
			
		||||
    libXau-devel \
 | 
			
		||||
    libxcb-devel \
 | 
			
		||||
    libXcursor-devel \
 | 
			
		||||
    libxcvt-devel \
 | 
			
		||||
    libXdmcp-devel \
 | 
			
		||||
    libXext-devel \
 | 
			
		||||
    libXfont2-devel \
 | 
			
		||||
    libxkbfile-devel \
 | 
			
		||||
    libXrandr-devel \
 | 
			
		||||
    libxshmfence-devel \
 | 
			
		||||
    libXtst-devel \
 | 
			
		||||
    mesa-libEGL-devel \
 | 
			
		||||
    mesa-libGL-devel \
 | 
			
		||||
    meson \
 | 
			
		||||
    nettle-devel \
 | 
			
		||||
    openssl-devel \
 | 
			
		||||
    patch \
 | 
			
		||||
    pixman-devel \
 | 
			
		||||
    wayland-devel \
 | 
			
		||||
    wget \
 | 
			
		||||
    xcb-util-devel \
 | 
			
		||||
    xcb-util-image-devel \
 | 
			
		||||
    xcb-util-keysyms-devel \
 | 
			
		||||
    xcb-util-renderutil-devel \
 | 
			
		||||
    xcb-util-wm-devel \
 | 
			
		||||
    xinit \
 | 
			
		||||
    xkbcomp \
 | 
			
		||||
    xkbcomp-devel \
 | 
			
		||||
    xkeyboard-config \
 | 
			
		||||
    xorg-x11-font-utils \
 | 
			
		||||
    xorg-x11-proto-devel \
 | 
			
		||||
    xorg-x11-server-common \
 | 
			
		||||
    xorg-x11-server-devel \
 | 
			
		||||
    xorg-x11-xtrans-devel
 | 
			
		||||
 | 
			
		||||
RUN useradd -m docker && echo "docker:docker" | chpasswd
 | 
			
		||||
 | 
			
		||||
COPY --chown=docker:docker . /src/
 | 
			
		||||
 | 
			
		||||
USER docker
 | 
			
		||||
ENTRYPOINT ["/src/builder/build.sh"]
 | 
			
		||||
@ -1,11 +1,11 @@
 | 
			
		||||
FROM fedora:33
 | 
			
		||||
FROM fedora:37
 | 
			
		||||
 | 
			
		||||
RUN dnf install -y fedora-packager fedora-review
 | 
			
		||||
RUN dnf install -y tree vim less
 | 
			
		||||
RUN dnf install -y redhat-lsb-core
 | 
			
		||||
RUN dnf install -y dnf-plugins-core
 | 
			
		||||
 | 
			
		||||
COPY centos/*.spec /tmp
 | 
			
		||||
COPY fedora/*.spec /tmp
 | 
			
		||||
RUN dnf builddep -y /tmp/*.spec
 | 
			
		||||
 | 
			
		||||
RUN useradd -m docker && echo "docker:docker" | chpasswd
 | 
			
		||||
@ -1,38 +0,0 @@
 | 
			
		||||
FROM fedora:33
 | 
			
		||||
 | 
			
		||||
ENV KASMVNC_BUILD_OS fedora
 | 
			
		||||
ENV KASMVNC_BUILD_OS_CODENAME thirtythree
 | 
			
		||||
ENV XORG_VER 1.20.10
 | 
			
		||||
 | 
			
		||||
# RUN dnf install -y build-dep xorg-server libxfont-dev sudo
 | 
			
		||||
RUN dnf install -y gcc cmake git gnutls-devel vim wget
 | 
			
		||||
#tightvncserver
 | 
			
		||||
RUN dnf install -y libjpeg-turbo-devel libpng-devel libtiff-devel giflib-devel openssl-devel
 | 
			
		||||
 | 
			
		||||
#libavcodec-dev
 | 
			
		||||
RUN dnf -y install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
 | 
			
		||||
RUN dnf -y install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
 | 
			
		||||
RUN dnf -y install ffmpeg-devel
 | 
			
		||||
 | 
			
		||||
RUN dnf install -y make
 | 
			
		||||
RUN dnf group install -y "Development Tools"
 | 
			
		||||
RUN dnf install -y xorg-x11-server-devel zlib-devel libjpeg-turbo-devel
 | 
			
		||||
RUN dnf install -y libxkbfile-devel libXfont2-devel xorg-x11-font-utils \
 | 
			
		||||
  xorg-x11-xtrans-devel xorg-x11-xkb-utils-devel libXrandr-devel libXtst-devel \
 | 
			
		||||
  libXcursor-devel
 | 
			
		||||
RUN dnf install -y mesa-dri-drivers
 | 
			
		||||
RUN dnf install -y bzip2 redhat-lsb-core
 | 
			
		||||
 | 
			
		||||
# Additions for webp
 | 
			
		||||
RUN cd /tmp && wget https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.2.tar.gz
 | 
			
		||||
RUN cd /tmp && tar -xzf /tmp/libwebp-*
 | 
			
		||||
RUN cd /tmp/libwebp-1.0.2 && \
 | 
			
		||||
    ./configure --enable-static --disable-shared && \
 | 
			
		||||
    make && make install
 | 
			
		||||
 | 
			
		||||
RUN useradd -m docker && echo "docker:docker" | chpasswd
 | 
			
		||||
 | 
			
		||||
COPY --chown=docker:docker . /src/
 | 
			
		||||
 | 
			
		||||
USER docker
 | 
			
		||||
ENTRYPOINT ["/src/builder/build.sh"]
 | 
			
		||||
@ -0,0 +1,23 @@
 | 
			
		||||
FROM oraclelinux:9
 | 
			
		||||
 | 
			
		||||
ENV STARTUPDIR=/dockerstartup
 | 
			
		||||
 | 
			
		||||
RUN dnf install -y \
 | 
			
		||||
  less \
 | 
			
		||||
  redhat-lsb-core \
 | 
			
		||||
  vim \
 | 
			
		||||
  xterm
 | 
			
		||||
RUN dnf config-manager --set-enabled ol9_codeready_builder
 | 
			
		||||
RUN dnf install -y oracle-epel-release-el9
 | 
			
		||||
 | 
			
		||||
ARG KASMVNC_PACKAGE_DIR
 | 
			
		||||
COPY $KASMVNC_PACKAGE_DIR/*.rpm /tmp
 | 
			
		||||
RUN dnf localinstall -y /tmp/*.rpm
 | 
			
		||||
 | 
			
		||||
RUN mkdir -p $STARTUPDIR
 | 
			
		||||
COPY startup/vnc_startup_barebones.sh $STARTUPDIR
 | 
			
		||||
 | 
			
		||||
RUN useradd -m foo
 | 
			
		||||
USER foo:kasmvnc-cert
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT "/$STARTUPDIR/vnc_startup_barebones.sh"
 | 
			
		||||
@ -0,0 +1,61 @@
 | 
			
		||||
FROM oraclelinux:9
 | 
			
		||||
 | 
			
		||||
ENV KASMVNC_BUILD_OS oracle
 | 
			
		||||
ENV KASMVNC_BUILD_OS_CODENAME 9
 | 
			
		||||
ENV XORG_VER 1.20.10
 | 
			
		||||
 | 
			
		||||
# Install from stock repos
 | 
			
		||||
RUN dnf config-manager --set-enabled ol9_distro_builder
 | 
			
		||||
RUN dnf install -y \
 | 
			
		||||
  bzip2-devel \
 | 
			
		||||
  ca-certificates \
 | 
			
		||||
  cmake \
 | 
			
		||||
  dnf-plugins-core \
 | 
			
		||||
  gcc \
 | 
			
		||||
  gcc-c++ \
 | 
			
		||||
  git \
 | 
			
		||||
  gnutls-devel \
 | 
			
		||||
  libjpeg-turbo-devel \
 | 
			
		||||
  libpng-devel \
 | 
			
		||||
  libtiff-devel \
 | 
			
		||||
  make \
 | 
			
		||||
  mesa-dri-drivers \
 | 
			
		||||
  mesa-libGL-devel \
 | 
			
		||||
  openssl-devel \
 | 
			
		||||
  openssl-devel \
 | 
			
		||||
  patch \
 | 
			
		||||
  tigervnc-server \
 | 
			
		||||
  wget \
 | 
			
		||||
  xorg-x11-font-utils \
 | 
			
		||||
  zlib-devel
 | 
			
		||||
 | 
			
		||||
# Enable additional repos (epel, powertools, and fusion)
 | 
			
		||||
RUN dnf config-manager --set-enabled ol9_codeready_builder
 | 
			
		||||
RUN dnf install -y oracle-epel-release-el9
 | 
			
		||||
RUN dnf install -y --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm
 | 
			
		||||
 | 
			
		||||
# Install from new repos
 | 
			
		||||
RUN dnf install -y \
 | 
			
		||||
  giflib-devel \
 | 
			
		||||
  lbzip2 \
 | 
			
		||||
  libXfont2-devel \
 | 
			
		||||
  libxkbfile-devel \
 | 
			
		||||
  xorg-x11-server-devel \
 | 
			
		||||
  xorg-x11-xtrans-devel \
 | 
			
		||||
  libXrandr-devel \
 | 
			
		||||
  libXtst-devel \
 | 
			
		||||
  libXcursor-devel
 | 
			
		||||
 | 
			
		||||
# Additions for webp
 | 
			
		||||
RUN cd /tmp && wget https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.2.tar.gz
 | 
			
		||||
RUN cd /tmp && tar -xzf /tmp/libwebp-*
 | 
			
		||||
RUN cd /tmp/libwebp-1.0.2 && \
 | 
			
		||||
    ./configure --enable-static --disable-shared && \
 | 
			
		||||
    make && make install
 | 
			
		||||
 | 
			
		||||
RUN useradd -m docker && echo "docker:docker" | chpasswd
 | 
			
		||||
 | 
			
		||||
COPY --chown=docker:docker . /src/
 | 
			
		||||
 | 
			
		||||
USER docker
 | 
			
		||||
ENTRYPOINT ["/src/builder/build.sh"]
 | 
			
		||||
@ -0,0 +1,23 @@
 | 
			
		||||
FROM oraclelinux:9
 | 
			
		||||
 | 
			
		||||
ENV KASMVNC_BUILD_OS oracle
 | 
			
		||||
ENV KASMVNC_BUILD_OS_CODENAME 9
 | 
			
		||||
 | 
			
		||||
RUN dnf config-manager --set-enabled ol9_codeready_builder
 | 
			
		||||
RUN dnf config-manager --set-enabled ol9_distro_builder
 | 
			
		||||
RUN dnf install -y \
 | 
			
		||||
  gpg* \
 | 
			
		||||
  less \
 | 
			
		||||
  redhat-lsb-core \
 | 
			
		||||
  rng-tools \
 | 
			
		||||
  rpm* \
 | 
			
		||||
  rpmlint \
 | 
			
		||||
  rsync \
 | 
			
		||||
  tree \
 | 
			
		||||
  vim
 | 
			
		||||
 | 
			
		||||
COPY oracle/kasmvncserver9.spec /tmp
 | 
			
		||||
 | 
			
		||||
RUN useradd -m docker && echo "docker:docker" | chpasswd
 | 
			
		||||
 | 
			
		||||
USER docker
 | 
			
		||||
@ -0,0 +1,124 @@
 | 
			
		||||
Name:           kasmvncserver
 | 
			
		||||
Version:        1.0.0
 | 
			
		||||
Release:        1%{?dist}
 | 
			
		||||
Summary:        VNC server accessible from a web browser
 | 
			
		||||
 | 
			
		||||
License: GPLv2+
 | 
			
		||||
URL: https://github.com/kasmtech/KasmVNC
 | 
			
		||||
 | 
			
		||||
BuildRequires: rsync
 | 
			
		||||
Requires: xorg-x11-xauth, xkeyboard-config, openssl, perl, perl-Switch, perl-YAML-Tiny, perl-Hash-Merge-Simple, perl-Scalar-List-Utils, perl-List-MoreUtils, perl-Try-Tiny
 | 
			
		||||
Conflicts: tigervnc-server, tigervnc-server-minimal
 | 
			
		||||
 | 
			
		||||
%description
 | 
			
		||||
KasmVNC provides remote web-based access to a Desktop or application. 
 | 
			
		||||
While VNC is in the name, KasmVNC differs from other VNC variants such 
 | 
			
		||||
as TigerVNC, RealVNC, and TurboVNC. KasmVNC has broken from the RFB 
 | 
			
		||||
specification which defines VNC, in order to support modern technologies 
 | 
			
		||||
and increase security. KasmVNC is accessed by users from any modern 
 | 
			
		||||
browser and does not support legacy VNC viewer applications. KasmVNC 
 | 
			
		||||
uses a modern YAML based configuration at the server and user level, 
 | 
			
		||||
allowing for ease of management. KasmVNC is maintained by Kasm 
 | 
			
		||||
Technologies Corp, www.kasmweb.com.
 | 
			
		||||
 | 
			
		||||
WARNING: this package requires EPEL.
 | 
			
		||||
 | 
			
		||||
%prep
 | 
			
		||||
 | 
			
		||||
%install
 | 
			
		||||
rm -rf $RPM_BUILD_ROOT
 | 
			
		||||
 | 
			
		||||
TARGET_OS=$(lsb_release -is | tr '[:upper:]' '[:lower:]')
 | 
			
		||||
TARGET_OS_CODENAME=$(lsb_release -cs | tr '[:upper:]' '[:lower:]')
 | 
			
		||||
TARBALL=$RPM_SOURCE_DIR/kasmvnc.${TARGET_OS}_${TARGET_OS_CODENAME}.tar.gz
 | 
			
		||||
TAR_DATA=$(mktemp -d)
 | 
			
		||||
tar -xzf "$TARBALL" -C "$TAR_DATA"
 | 
			
		||||
 | 
			
		||||
SRC=$TAR_DATA/usr/local
 | 
			
		||||
SRC_BIN=$SRC/bin
 | 
			
		||||
DESTDIR=$RPM_BUILD_ROOT
 | 
			
		||||
DST_MAN=$DESTDIR/usr/share/man/man1
 | 
			
		||||
 | 
			
		||||
mkdir -p $DESTDIR/usr/bin $DESTDIR/usr/share/man/man1 \
 | 
			
		||||
  $DESTDIR/usr/share/doc/kasmvncserver $DESTDIR/usr/lib \
 | 
			
		||||
  $DESTDIR/usr/share/perl5 $DESTDIR/etc/kasmvnc
 | 
			
		||||
 | 
			
		||||
cp $SRC_BIN/Xvnc $DESTDIR/usr/bin;
 | 
			
		||||
cp $SRC_BIN/vncserver $DESTDIR/usr/bin;
 | 
			
		||||
cp -a $SRC_BIN/KasmVNC $DESTDIR/usr/share/perl5/
 | 
			
		||||
cp $SRC_BIN/vncconfig $DESTDIR/usr/bin;
 | 
			
		||||
cp $SRC_BIN/kasmvncpasswd $DESTDIR/usr/bin;
 | 
			
		||||
cp $SRC_BIN/kasmxproxy $DESTDIR/usr/bin;
 | 
			
		||||
cp -r $SRC/lib/kasmvnc/ $DESTDIR/usr/lib/kasmvncserver
 | 
			
		||||
cd $DESTDIR/usr/bin && ln -s kasmvncpasswd vncpasswd;
 | 
			
		||||
cp -r $SRC/share/doc/kasmvnc*/* $DESTDIR/usr/share/doc/kasmvncserver/
 | 
			
		||||
rsync -r --exclude '.git*' --exclude po2js --exclude xgettext-html \
 | 
			
		||||
  --exclude www/utils/ --exclude .eslintrc --exclude configure \
 | 
			
		||||
  $SRC/share/kasmvnc $DESTDIR/usr/share
 | 
			
		||||
 | 
			
		||||
sed -i -e 's!pem_certificate: .\+$!pem_certificate: /etc/pki/tls/private/kasmvnc.pem!' \
 | 
			
		||||
    $DESTDIR/usr/share/kasmvnc/kasmvnc_defaults.yaml
 | 
			
		||||
sed -i -e 's!pem_key: .\+$!pem_key: /etc/pki/tls/private/kasmvnc.pem!' \
 | 
			
		||||
    $DESTDIR/usr/share/kasmvnc/kasmvnc_defaults.yaml
 | 
			
		||||
sed -e 's/^\([^#]\)/# \1/' $DESTDIR/usr/share/kasmvnc/kasmvnc_defaults.yaml > \
 | 
			
		||||
  $DESTDIR/etc/kasmvnc/kasmvnc.yaml
 | 
			
		||||
cp $SRC/man/man1/Xvnc.1 $DESTDIR/usr/share/man/man1/;
 | 
			
		||||
cp $SRC/share/man/man1/vncserver.1 $DST_MAN;
 | 
			
		||||
cp $SRC/share/man/man1/vncconfig.1 $DST_MAN;
 | 
			
		||||
cp $SRC/share/man/man1/vncpasswd.1 $DST_MAN;
 | 
			
		||||
cp $SRC/share/man/man1/kasmxproxy.1 $DST_MAN;
 | 
			
		||||
cd $DST_MAN && ln -s vncpasswd.1 kasmvncpasswd.1;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%files
 | 
			
		||||
%config(noreplace) /etc/kasmvnc
 | 
			
		||||
 | 
			
		||||
/usr/bin/*
 | 
			
		||||
/usr/lib/kasmvncserver
 | 
			
		||||
/usr/share/man/man1/*
 | 
			
		||||
/usr/share/perl5/KasmVNC
 | 
			
		||||
/usr/share/kasmvnc
 | 
			
		||||
 | 
			
		||||
%license /usr/share/doc/kasmvncserver/LICENSE.TXT
 | 
			
		||||
%doc /usr/share/doc/kasmvncserver/README.md
 | 
			
		||||
 | 
			
		||||
%changelog
 | 
			
		||||
* Tue Nov 29 2022 KasmTech <info@kasmweb.com> - 1.0.0-1
 | 
			
		||||
- WebRTC UDP transit support with support of STUN servers
 | 
			
		||||
- Lossless compression using multi-threaded WASM QOI decoder client side
 | 
			
		||||
- New yaml based configuration
 | 
			
		||||
- Significantly improved FPS through both client-side and server-side improvements.
 | 
			
		||||
- Support for the admin to define arbitrary http response headers for the built in web server
 | 
			
		||||
- Support for additional mouse buttons
 | 
			
		||||
- Refinement of vncserver checks and user prompts
 | 
			
		||||
- Added send_full_frame to developer API, forces full frame to be sent to all connected users that have at least read permission.
 | 
			
		||||
* Tue Mar 22 2022 KasmTech <info@kasmweb.com> - 0.9.3~beta-1
 | 
			
		||||
* Fri Feb 12 2021 KasmTech <info@kasmweb.com> - 0.9.1~beta-1
 | 
			
		||||
- Initial release of the rpm package.
 | 
			
		||||
 | 
			
		||||
%post
 | 
			
		||||
  kasmvnc_group="kasmvnc-cert"
 | 
			
		||||
 | 
			
		||||
  create_kasmvnc_group() {
 | 
			
		||||
    if ! getent group "$kasmvnc_group" >/dev/null; then
 | 
			
		||||
	    groupadd --system "$kasmvnc_group"
 | 
			
		||||
    fi
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  make_self_signed_certificate() {
 | 
			
		||||
    local cert_file=/etc/pki/tls/private/kasmvnc.pem
 | 
			
		||||
    [ -f "$cert_file" ] && return 0
 | 
			
		||||
 | 
			
		||||
    openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
 | 
			
		||||
      -keyout "$cert_file" \
 | 
			
		||||
      -out "$cert_file" -subj \
 | 
			
		||||
      "/C=US/ST=VA/L=None/O=None/OU=DoFu/CN=kasm/emailAddress=none@none.none"
 | 
			
		||||
    chgrp "$kasmvnc_group" "$cert_file"
 | 
			
		||||
    chmod 640 "$cert_file"
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  create_kasmvnc_group
 | 
			
		||||
  make_self_signed_certificate
 | 
			
		||||
 | 
			
		||||
%postun
 | 
			
		||||
  rm -f /etc/pki/tls/private/kasmvnc.pem
 | 
			
		||||
@ -0,0 +1,123 @@
 | 
			
		||||
Name:           kasmvncserver
 | 
			
		||||
Version:        1.0.0
 | 
			
		||||
Release:        1%{?dist}
 | 
			
		||||
Summary:        VNC server accessible from a web browser
 | 
			
		||||
 | 
			
		||||
License: GPLv2+
 | 
			
		||||
URL: https://github.com/kasmtech/KasmVNC
 | 
			
		||||
 | 
			
		||||
BuildRequires: rsync
 | 
			
		||||
Requires: xorg-x11-xauth, xkeyboard-config, xorg-x11-server-utils, openssl, perl, perl-Switch, perl-YAML-Tiny, perl-Hash-Merge-Simple, perl-Scalar-List-Utils, perl-List-MoreUtils, perl-Try-Tiny, hostname
 | 
			
		||||
Conflicts: tigervnc-server, tigervnc-server-minimal
 | 
			
		||||
 | 
			
		||||
%description
 | 
			
		||||
KasmVNC provides remote web-based access to a Desktop or application. 
 | 
			
		||||
While VNC is in the name, KasmVNC differs from other VNC variants such 
 | 
			
		||||
as TigerVNC, RealVNC, and TurboVNC. KasmVNC has broken from the RFB 
 | 
			
		||||
specification which defines VNC, in order to support modern technologies 
 | 
			
		||||
and increase security. KasmVNC is accessed by users from any modern 
 | 
			
		||||
browser and does not support legacy VNC viewer applications. KasmVNC 
 | 
			
		||||
uses a modern YAML based configuration at the server and user level, 
 | 
			
		||||
allowing for ease of management. KasmVNC is maintained by Kasm 
 | 
			
		||||
Technologies Corp, www.kasmweb.com.
 | 
			
		||||
 | 
			
		||||
WARNING: this package requires EPEL and CodeReady builder.
 | 
			
		||||
 | 
			
		||||
%prep
 | 
			
		||||
 | 
			
		||||
%install
 | 
			
		||||
rm -rf $RPM_BUILD_ROOT
 | 
			
		||||
 | 
			
		||||
TARGET_OS=$KASMVNC_BUILD_OS
 | 
			
		||||
TARGET_OS_CODENAME=$KASMVNC_BUILD_OS_CODENAME
 | 
			
		||||
TARBALL=$RPM_SOURCE_DIR/kasmvnc.${TARGET_OS}_${TARGET_OS_CODENAME}.tar.gz
 | 
			
		||||
TAR_DATA=$(mktemp -d)
 | 
			
		||||
tar -xzf "$TARBALL" -C "$TAR_DATA"
 | 
			
		||||
 | 
			
		||||
SRC=$TAR_DATA/usr/local
 | 
			
		||||
SRC_BIN=$SRC/bin
 | 
			
		||||
DESTDIR=$RPM_BUILD_ROOT
 | 
			
		||||
DST_MAN=$DESTDIR/usr/share/man/man1
 | 
			
		||||
 | 
			
		||||
mkdir -p $DESTDIR/usr/bin $DESTDIR/usr/share/man/man1 \
 | 
			
		||||
  $DESTDIR/usr/share/doc/kasmvncserver $DESTDIR/usr/lib \
 | 
			
		||||
  $DESTDIR/usr/share/perl5 $DESTDIR/etc/kasmvnc
 | 
			
		||||
cp $SRC_BIN/Xvnc $DESTDIR/usr/bin;
 | 
			
		||||
cp $SRC_BIN/vncserver $DESTDIR/usr/bin;
 | 
			
		||||
cp -a $SRC_BIN/KasmVNC $DESTDIR/usr/share/perl5
 | 
			
		||||
cp $SRC_BIN/vncconfig $DESTDIR/usr/bin;
 | 
			
		||||
cp $SRC_BIN/kasmvncpasswd $DESTDIR/usr/bin;
 | 
			
		||||
cp $SRC_BIN/kasmxproxy $DESTDIR/usr/bin;
 | 
			
		||||
cp -r $SRC/lib/kasmvnc/ $DESTDIR/usr/lib/kasmvncserver
 | 
			
		||||
cd $DESTDIR/usr/bin && ln -s kasmvncpasswd vncpasswd;
 | 
			
		||||
cp -r $SRC/share/doc/kasmvnc*/* $DESTDIR/usr/share/doc/kasmvncserver/
 | 
			
		||||
rsync -r --exclude '.git*' --exclude po2js --exclude xgettext-html \
 | 
			
		||||
  --exclude www/utils/ --exclude .eslintrc --exclude configure \
 | 
			
		||||
  $SRC/share/kasmvnc $DESTDIR/usr/share
 | 
			
		||||
 | 
			
		||||
sed -i -e 's!pem_certificate: .\+$!pem_certificate: /etc/pki/tls/private/kasmvnc.pem!' \
 | 
			
		||||
    $DESTDIR/usr/share/kasmvnc/kasmvnc_defaults.yaml
 | 
			
		||||
sed -i -e 's!pem_key: .\+$!pem_key: /etc/pki/tls/private/kasmvnc.pem!' \
 | 
			
		||||
    $DESTDIR/usr/share/kasmvnc/kasmvnc_defaults.yaml
 | 
			
		||||
sed -e 's/^\([^#]\)/# \1/' $DESTDIR/usr/share/kasmvnc/kasmvnc_defaults.yaml > \
 | 
			
		||||
  $DESTDIR/etc/kasmvnc/kasmvnc.yaml
 | 
			
		||||
cp $SRC/man/man1/Xvnc.1 $DESTDIR/usr/share/man/man1/;
 | 
			
		||||
cp $SRC/share/man/man1/vncserver.1 $DST_MAN;
 | 
			
		||||
cp $SRC/share/man/man1/vncconfig.1 $DST_MAN;
 | 
			
		||||
cp $SRC/share/man/man1/vncpasswd.1 $DST_MAN;
 | 
			
		||||
cp $SRC/share/man/man1/kasmxproxy.1 $DST_MAN;
 | 
			
		||||
cd $DST_MAN && ln -s vncpasswd.1 kasmvncpasswd.1;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%files
 | 
			
		||||
%config(noreplace) /etc/kasmvnc
 | 
			
		||||
 | 
			
		||||
/usr/bin/*
 | 
			
		||||
/usr/lib/kasmvncserver
 | 
			
		||||
/usr/share/man/man1/*
 | 
			
		||||
/usr/share/perl5/KasmVNC
 | 
			
		||||
/usr/share/kasmvnc
 | 
			
		||||
 | 
			
		||||
%license /usr/share/doc/kasmvncserver/LICENSE.TXT
 | 
			
		||||
%doc /usr/share/doc/kasmvncserver/README.md
 | 
			
		||||
 | 
			
		||||
%changelog
 | 
			
		||||
* Tue Nov 29 2022 KasmTech <info@kasmweb.com> - 1.0.0-1
 | 
			
		||||
- WebRTC UDP transit support with support of STUN servers
 | 
			
		||||
- Lossless compression using multi-threaded WASM QOI decoder client side
 | 
			
		||||
- New yaml based configuration
 | 
			
		||||
- Significantly improved FPS through both client-side and server-side improvements.
 | 
			
		||||
- Support for the admin to define arbitrary http response headers for the built in web server
 | 
			
		||||
- Support for additional mouse buttons
 | 
			
		||||
- Refinement of vncserver checks and user prompts
 | 
			
		||||
- Added send_full_frame to developer API, forces full frame to be sent to all connected users that have at least read permission.
 | 
			
		||||
* Tue Mar 22 2022 KasmTech <info@kasmweb.com> - 0.9.3~beta-1
 | 
			
		||||
* Fri Feb 12 2021 KasmTech <info@kasmweb.com> - 0.9.1~beta-1
 | 
			
		||||
- Initial release of the rpm package.
 | 
			
		||||
 | 
			
		||||
%post
 | 
			
		||||
  kasmvnc_group="kasmvnc-cert"
 | 
			
		||||
 | 
			
		||||
  create_kasmvnc_group() {
 | 
			
		||||
    if ! getent group "$kasmvnc_group" >/dev/null; then
 | 
			
		||||
	    groupadd --system "$kasmvnc_group"
 | 
			
		||||
    fi
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  make_self_signed_certificate() {
 | 
			
		||||
    local cert_file=/etc/pki/tls/private/kasmvnc.pem
 | 
			
		||||
    [ -f "$cert_file" ] && return 0
 | 
			
		||||
 | 
			
		||||
    openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
 | 
			
		||||
      -keyout "$cert_file" \
 | 
			
		||||
      -out "$cert_file" -subj \
 | 
			
		||||
      "/C=US/ST=VA/L=None/O=None/OU=DoFu/CN=kasm/emailAddress=none@none.none"
 | 
			
		||||
    chgrp "$kasmvnc_group" "$cert_file"
 | 
			
		||||
    chmod 640 "$cert_file"
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  create_kasmvnc_group
 | 
			
		||||
  make_self_signed_certificate
 | 
			
		||||
 | 
			
		||||
%postun
 | 
			
		||||
  rm -f /etc/pki/tls/private/kasmvnc.pem
 | 
			
		||||
					Loading…
					
					
				
		Reference in New Issue