diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6dd1bf6..93d2610 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,7 +7,7 @@ variables: GITLAB_SHARED_DIND_DIR: /builds/$CI_PROJECT_PATH/shared GIT_SUBMODULE_STRATEGY: normal GIT_FETCH_EXTRA_FLAGS: --tags --force - # E.g. BUILD_JOBS: build_debian_buster,build_ubuntu_bionic. This will include + # E.g. BUILD_JOBS: build_debian_buster,build_ubuntu_focal. This will include # arm builds, because build_debian_buster_arm matches build_debian_buster. # "BUILD_JOBS: none" won't build any build jobs, nor www. BUILD_JOBS: all @@ -66,44 +66,6 @@ build_www: paths: - output/ -build_ubuntu_bionic: - stage: build - allow_failure: true - tags: - - oci-fixed-amd - before_script: - - *prepare_build - - *prepare_www - after_script: - - *prepare_artfacts - script: - - bash builder/build-package ubuntu bionic - only: - variables: - - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME - artifacts: - paths: - - output/ - -build_ubuntu_bionic_arm: - stage: build - allow_failure: false - tags: - - oci-fixed-arm - before_script: - - *prepare_build - - *prepare_www - after_script: - - *prepare_artfacts - script: - - bash builder/build-package ubuntu bionic - only: - variables: - - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME - artifacts: - paths: - - output/ - build_ubuntu_focal: stage: build allow_failure: true @@ -198,7 +160,7 @@ build_ubuntu_noble: artifacts: paths: - output/ - + build_ubuntu_noble_arm: stage: build allow_failure: true @@ -209,7 +171,7 @@ build_ubuntu_noble_arm: - *prepare_www after_script: - *prepare_artfacts - script: + script: - bash builder/build-package ubuntu noble; only: variables: @@ -218,44 +180,6 @@ build_ubuntu_noble_arm: paths: - output/ -build_debian_buster: - stage: build - allow_failure: true - tags: - - oci-fixed-amd - before_script: - - *prepare_build - - *prepare_www - after_script: - - *prepare_artfacts - script: - - bash builder/build-package debian buster; - only: - variables: - - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME - artifacts: - paths: - - output/ - -build_debian_buster_arm: - stage: build - allow_failure: true - tags: - - oci-fixed-arm - before_script: - - *prepare_build - - *prepare_www - after_script: - - *prepare_artfacts - script: - - bash builder/build-package debian buster; - only: - variables: - - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME - artifacts: - paths: - - output/ - build_debian_bullseye: stage: build allow_failure: true @@ -485,82 +409,6 @@ build_opensuse_15_arm: paths: - output/ -build_fedora_thirtyseven: - stage: build - allow_failure: true - tags: - - oci-fixed-amd - before_script: - - *prepare_build - - *prepare_www - after_script: - - *prepare_artfacts - script: - - bash builder/build-package fedora thirtyseven; - only: - variables: - - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME - artifacts: - paths: - - output/ - -build_fedora_thirtyseven_arm: - stage: build - allow_failure: true - tags: - - oci-fixed-arm - before_script: - - *prepare_build - - *prepare_www - after_script: - - *prepare_artfacts - script: - - bash builder/build-package fedora thirtyseven; - only: - variables: - - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME - artifacts: - paths: - - output/ - -build_fedora_thirtyeight: - stage: build - allow_failure: true - tags: - - oci-fixed-amd - before_script: - - *prepare_build - - *prepare_www - after_script: - - *prepare_artfacts - script: - - bash builder/build-package fedora thirtyeight; - only: - variables: - - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME - artifacts: - paths: - - output/ - -build_fedora_thirtyeight_arm: - stage: build - allow_failure: true - tags: - - oci-fixed-arm - before_script: - - *prepare_build - - *prepare_www - after_script: - - *prepare_artfacts - script: - - bash builder/build-package fedora thirtyeight; - only: - variables: - - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME - artifacts: - paths: - - output/ - build_fedora_thirtynine: stage: build allow_failure: true @@ -617,13 +465,13 @@ build_fedora_forty: artifacts: paths: - output/ - + build_fedora_forty_arm: stage: build allow_failure: true tags: - oci-fixed-arm - before_script: + before_script: - *prepare_build - *prepare_www after_script: @@ -655,18 +503,18 @@ build_fedora_fortyone: artifacts: paths: - output/ - + build_fedora_fortyone_arm: stage: build allow_failure: true tags: - oci-fixed-arm - before_script: + before_script: - *prepare_build - *prepare_www after_script: - *prepare_artfacts - script: + script: - bash builder/build-package fedora fortyone; only: variables: @@ -675,43 +523,6 @@ build_fedora_fortyone_arm: paths: - output/ -build_alpine_317: - stage: build - allow_failure: true - tags: - - oci-fixed-amd - before_script: - - *prepare_build - - *prepare_www - after_script: - - *prepare_artfacts - script: - - bash builder/build-package alpine 317; - only: - variables: - - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME - artifacts: - paths: - - output/ - -build_alpine_317_arm: - stage: build - allow_failure: true - tags: - - oci-fixed-arm - before_script: - - *prepare_build - - *prepare_www - after_script: - - *prepare_artfacts - script: - - bash builder/build-package alpine 317; - only: - variables: - - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME - artifacts: - paths: - - output/ test: stage: test diff --git a/BUILDING.txt b/BUILDING.txt index 85918e5..4bfaa3f 100644 --- a/BUILDING.txt +++ b/BUILDING.txt @@ -48,7 +48,7 @@ Build Requirements (Windows) You also need the Inno Setup Preprocessor, which is available in the Inno Setup QuickStart Pack. - Add the directory containing iscc.exe (for instance, + Add the directory containing iscc.exe (for instance, C:\Program Files\Inno Setup 5) to the system or user PATH environment variable prior to building KasmVNC. @@ -123,7 +123,7 @@ but the general outline is as follows. > cp -R {xorg_source}/* unix/xserver/ (NOTE: {xorg_source} is the directory containing the Xorg source for the machine on which you are building KasmVNC. The most recent versions of - Red Hat/CentOS/Fedora, for instance, provide an RPM called + Red Hat/Fedora, for instance, provide an RPM called "xorg-x11-server-source", which installs the Xorg source under /usr/share/xorg-x11-server-source.) @@ -146,8 +146,8 @@ but the general outline is as follows. --with-serverconfig-path=/usr/lib[64]/xorg \ --with-dri-driver-path=/usr/lib[64]/dri \ {additional configure options} - (NOTE: This is merely an example that works with Red Hat Enterprise/CentOS - 6 and recent Fedora releases. You should customize it for your particular + (NOTE: This is merely an example that works with Red Hat Enterprise + and recent Fedora releases. You should customize it for your particular system. In particular, it will be necessary to customize the font, XKB, and DRI directories.) @@ -220,7 +220,7 @@ Building TLS Support ====================================== TLS requires GnuTLS, which is supplied with most Linux distributions and -with MinGW for Windows and can be built from source on OS X and other +with MinGW for Windows and can be built from source on OS X and other Unix variants. However, GnuTLS versions > 2.12.x && < 3.3.x should be avoided because of potential incompatibilities during initial handshaking. @@ -347,7 +347,7 @@ X server source (for instance, --host=i686-pc-linux-gnu). Add -DCMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.5.sdk \ - -DCMAKE_OSX_DEPLOYMENT_TARGET=10.5 + -DCMAKE_OSX_DEPLOYMENT_TARGET=10.5 to the CMake command line. The OS X 10.5 SDK must be installed. @@ -439,7 +439,7 @@ Distribution-Specific Packaging =============================== -RPM Packages for RHEL / CentOS +RPM Packages for RHEL ------------------------------ The RPM spec files and patches used to create the nightly builds diff --git a/README.md b/README.md index 5efc230..ccc0f50 100644 --- a/README.md +++ b/README.md @@ -46,22 +46,6 @@ sudo dnf localinstall ./kasmvncserver_*.rpm sudo usermod -a -G kasmvnc-cert $USER ``` -### CentOS 7 - -```sh -# Please choose the package for your distro here (under Assets): -# https://github.com/kasmtech/KasmVNC/releases -wget - -# Ensure KasmVNC dependencies are available -sudo yum install epel-release - -sudo yum install ./kasmvncserver_*.rpm - -# Add your user to the kasmvnc-cert group -sudo usermod -a -G kasmvnc-cert $USER -``` - ## Getting Started The following examples provide basic usage of KasmVNC with the tools provided. For full documentation on all the utilities and the runtime environment, see our [KasmVNC Documentation](https://www.kasmweb.com/kasmvnc/docs/latest/index.html) @@ -250,7 +234,7 @@ command_line: - Keyboard input rate limit - Screen region selection - Deb packages for Debian, Ubuntu, and Kali Linux included in release. - - RPM packages for CentOS, Oracle, OpenSUSE, Fedora. RPM packages are currently not updatable and not released, though you can build and install them. See build documentation. + - RPM packages for Oracle, OpenSUSE, Fedora. RPM packages are currently not updatable and not released, though you can build and install them. See build documentation. - Web [API](https://github.com/kasmtech/KasmVNC/wiki/API) added for remotely controlling and getting information from KasmVNC - Multi-User support with permissions that can be changed via the API - Web UI uses a webpack for faster load times. diff --git a/builder/README.md b/builder/README.md index ea05cc1..64b8513 100644 --- a/builder/README.md +++ b/builder/README.md @@ -7,7 +7,7 @@ Docker CE # os_codename is what "lsb_release -c" outputs, e.g. buster, focal. # # build_tag allows building multiple versions of deb package (rpm not supported) -# targeting a single distro release (e.g. Ubuntu Bionic). If build_tag is given, +# targeting a single distro release (e.g. Ubuntu Focal). If build_tag is given, # the package name will include build_tag as part of Debian revision. For # example: # * with build_tag: kasmvncserver_0.9.1~beta-1+libjpeg-turbo-latest_amd64.deb @@ -16,19 +16,17 @@ Docker CE # # Packages will be placed under builder/build/ -builder/build-package ubuntu bionic builder/build-package ubuntu focal builder/build-package debian buster builder/build-package debian bullseye builder/build-package kali kali-rolling -builder/build-package centos core # CentOS 7 builder/build-package fedora thirtythree ``` # Build and test a package ``` builder/build-and-test-deb ubuntu focal -builder/build-and-test-rpm centos core +builder/build-and-test-rpm oracle 8 ``` Open browser and point to https://localhost:443/ or https://\:443/ @@ -118,7 +116,7 @@ locally by doing stuff like this: ``` bash -c ' . .ci/upload.sh; -prepare_upload_filename "bionic/kasmvncserver_0.9.1~beta-1+libjpeg-turbo-latest_amd64.deb"; +prepare_upload_filename "focal/kasmvncserver_0.9.1~beta-1+libjpeg-turbo-latest_amd64.deb"; echo $upload_filename;' ``` @@ -178,7 +176,7 @@ These instructions assume KasmVNC has been cloned at $HOME and ```kasm_www.tar.g cd ~ tar -zxf kasm_www.tar.gz -C KasmVNC/builder/ cd KasmVNC -sudo builder/build-package ubuntu bionic +sudo builder/build-package ubuntu focal ``` -The resulting deb package can be found under ~/KasmVNC/builder/build/bionic -Replace ```bionic``` with ```focal``` to build for Ubuntu 20.04LTS. At this time, only Ubuntu Bionic has been tested, however, other Debian based builds we support should also work. +The resulting deb package can be found under ~/KasmVNC/builder/build/focal +Replace ```focal``` with ```noble``` to build for Ubuntu 24.04LTS. diff --git a/builder/build.sh b/builder/build.sh index cb0541b..be9d899 100755 --- a/builder/build.sh +++ b/builder/build.sh @@ -9,13 +9,6 @@ detect_quilt() { fi } -ensure_crashpad_can_fetch_line_number_by_address() { - if [ ! -f /etc/centos-release ]; then - export LDFLAGS="$LDFLAGS -no-pie" - fi -} - - fail_on_gcc_12() { if [[ -n "$CC" && -n "$CXX" ]]; then return; @@ -89,11 +82,6 @@ autoreconf -i # The distro paths start after prefix and end with the font path, # everything after that is based on BUILDING.txt to remove unneeded # components. -ensure_crashpad_can_fetch_line_number_by_address -# Centos7 is too old for dri3 -if [ ! "${KASMVNC_BUILD_OS}" == "centos" ]; then - CONFIG_OPTIONS="--enable-dri3" -fi # remove gl check for opensuse if [ "${KASMVNC_BUILD_OS}" == "opensuse" ] || ([ "${KASMVNC_BUILD_OS}" == "oracle" ] && [ "${KASMVNC_BUILD_OS_CODENAME}" == 9 ]); then sed -i 's/LIBGL="gl >= 7.1.0"/LIBGL="gl >= 1.1"/g' configure diff --git a/builder/bump-package-version-rpm b/builder/bump-package-version-rpm index fe3fc4d..2ef427d 100755 --- a/builder/bump-package-version-rpm +++ b/builder/bump-package-version-rpm @@ -3,7 +3,7 @@ set -eo pipefail new_version="$1" -spec_dirs=(centos oracle opensuse fedora) +spec_dirs=(oracle opensuse fedora) spec_files() { for d in "${spec_dirs[@]}"; do diff --git a/builder/dockerfile.alpine_317.apk.build b/builder/dockerfile.alpine_317.apk.build deleted file mode 100644 index 732f5f0..0000000 --- a/builder/dockerfile.alpine_317.apk.build +++ /dev/null @@ -1,7 +0,0 @@ -FROM alpine:3.17 - -RUN apk add shadow bash - -RUN useradd -m docker && echo "docker:docker" | chpasswd - -USER docker diff --git a/builder/dockerfile.alpine_317.build b/builder/dockerfile.alpine_317.build deleted file mode 100644 index 0b23bcb..0000000 --- a/builder/dockerfile.alpine_317.build +++ /dev/null @@ -1,82 +0,0 @@ -FROM alpine:3.17 - -ENV KASMVNC_BUILD_OS alpine -ENV KASMVNC_BUILD_OS_CODENAME 317 -ENV XORG_VER 21.1.8 - -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 - - -ENV SCRIPTS_DIR=/tmp/scripts -COPY builder/scripts $SCRIPTS_DIR -RUN $SCRIPTS_DIR/build-webp -RUN $SCRIPTS_DIR/build-libjpeg-turbo - -RUN useradd -m docker && echo "docker:docker" | chpasswd - -COPY --chown=docker:docker . /src/ - -USER docker -ENTRYPOINT ["/src/builder/build.sh"] diff --git a/builder/dockerfile.centos_core.barebones.rpm.test b/builder/dockerfile.centos_core.barebones.rpm.test deleted file mode 100644 index 84dcd08..0000000 --- a/builder/dockerfile.centos_core.barebones.rpm.test +++ /dev/null @@ -1,20 +0,0 @@ -FROM centos:centos7 - -ENV STARTUPDIR=/dockerstartup - -RUN yum install -y xterm -RUN yum install -y vim less -RUN yum install -y redhat-lsb-core -RUN yum install -y epel-release - -ARG KASMVNC_PACKAGE_DIR -COPY $KASMVNC_PACKAGE_DIR/*.rpm /tmp/ -RUN yum 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" diff --git a/builder/dockerfile.centos_core.build b/builder/dockerfile.centos_core.build deleted file mode 100644 index cb6d4fa..0000000 --- a/builder/dockerfile.centos_core.build +++ /dev/null @@ -1,35 +0,0 @@ -FROM centos:centos7 - -ENV KASMVNC_BUILD_OS centos -ENV KASMVNC_BUILD_OS_CODENAME core - -RUN yum install -y ca-certificates -RUN yum install -y build-dep xorg-server libxfont-dev sudo -RUN yum install -y gcc cmake git libgnutls28-dev vim wget tightvncserver -RUN yum install -y libpng-dev libtiff-dev libgif-dev libavcodec-dev openssl-devel -RUN yum install -y make -RUN yum group install -y "Development Tools" -RUN yum install -y xorg-x11-server-devel zlib-devel -RUN yum install -y libxkbfile-devel libXfont2-devel xorg-x11-font-utils \ - xorg-x11-xtrans-devel xorg-x11-xkb-utils-devel libXrandr-devel pam-devel \ - gnutls-devel libX11-devel libXtst-devel libXcursor-devel -RUN yum install -y mesa-dri-drivers -RUN yum install -y ca-certificates - -# 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 - -ENV SCRIPTS_DIR=/tmp/scripts -COPY builder/scripts $SCRIPTS_DIR -RUN $SCRIPTS_DIR/build-libjpeg-turbo - -RUN useradd -m docker && echo "docker:docker" | chpasswd - -COPY --chown=docker:docker . /src/ - -USER docker -ENTRYPOINT ["/src/builder/build.sh"] diff --git a/builder/dockerfile.centos_core.rpm.build b/builder/dockerfile.centos_core.rpm.build deleted file mode 100644 index 7a4e208..0000000 --- a/builder/dockerfile.centos_core.rpm.build +++ /dev/null @@ -1,12 +0,0 @@ -FROM centos:centos7 - -RUN yum install -y rpm* gpg* rng-tools rpmlint -RUN yum install -y tree vim less -RUN yum install -y redhat-lsb-core - -COPY centos/*.spec /tmp -RUN yum-builddep -y /tmp/*.spec - -RUN useradd -m docker && echo "docker:docker" | chpasswd - -USER docker diff --git a/builder/dockerfile.centos_core.rpm.test b/builder/dockerfile.centos_core.rpm.test deleted file mode 100644 index 4ae4377..0000000 --- a/builder/dockerfile.centos_core.rpm.test +++ /dev/null @@ -1,64 +0,0 @@ -FROM centos:centos7 - -ENV DISPLAY=:1 \ - VNC_PORT=8443 \ - VNC_RESOLUTION=1280x720 \ - MAX_FRAME_RATE=24 \ - VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7" \ - HOME=/home/user \ - TERM=xterm \ - STARTUPDIR=/dockerstartup \ - INST_SCRIPTS=/dockerstartup/install \ - KASM_RX_HOME=/dockerstartup/kasmrx \ - DEBIAN_FRONTEND=noninteractive \ - VNC_COL_DEPTH=24 \ - VNC_RESOLUTION=1280x1024 \ - VNC_PW=vncpassword \ - VNC_USER=user \ - VNC_VIEW_ONLY_PW=vncviewonlypassword \ - LD_LIBRARY_PATH=/usr/local/lib/ \ - OMP_WAIT_POLICY=PASSIVE \ - SHELL=/bin/bash \ - SINGLE_APPLICATION=0 \ - KASMVNC_BUILD_OS=centos \ - KASMVNC_BUILD_OS_CODENAME=core - -EXPOSE $VNC_PORT - -WORKDIR $HOME - -### REQUIRED STUFF ### - -RUN yum install -y openssl xterm gettext wget -RUN yum install -y centos-release-scl-rh && yum install -y nss_wrapper -RUN yum install -y xorg-x11-server xorg-x11-xauth xorg-x11-xkb-utils \ - xkeyboard-config xorg-x11-server-utils -RUN yum install -y epel-release && yum groupinstall xfce -y -RUN yum erase -y pm-utils xscreensaver* -RUN yum install -y redhat-lsb-core -RUN yum install -y vim less - -RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc - -RUN mkdir -p $STARTUPDIR -COPY builder/startup/ $STARTUPDIR - -### START CUSTOM STUFF #### - -COPY ./builder/scripts/ /tmp/scripts/ -COPY ./centos/kasmvncserver.spec /tmp - -ARG KASMVNC_PACKAGE_DIR -COPY $KASMVNC_PACKAGE_DIR/*.rpm /tmp/ -RUN /tmp/scripts/install_kasmvncserver_package - -### END CUSTOM STUFF ### - -RUN chown -R 1000:0 $HOME -USER 1000:kasmvnc-cert -WORKDIR $HOME - -RUN mkdir ~/.vnc && echo '/usr/bin/xfce4-session &' >> ~/.vnc/xstartup && \ - chmod +x ~/.vnc/xstartup - -ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ] diff --git a/builder/dockerfile.fedora_thirtyeight.barebones.rpm.test b/builder/dockerfile.fedora_thirtyeight.barebones.rpm.test deleted file mode 100644 index 4252609..0000000 --- a/builder/dockerfile.fedora_thirtyeight.barebones.rpm.test +++ /dev/null @@ -1,19 +0,0 @@ -FROM fedora:38 - -ENV STARTUPDIR=/dockerstartup - -RUN dnf install -y xterm -RUN dnf install -y vim less -RUN yum install -y redhat-lsb-core - -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" diff --git a/builder/dockerfile.fedora_thirtyeight.build b/builder/dockerfile.fedora_thirtyeight.build deleted file mode 100644 index dbfae34..0000000 --- a/builder/dockerfile.fedora_thirtyeight.build +++ /dev/null @@ -1,86 +0,0 @@ -FROM fedora:38 - -ENV KASMVNC_BUILD_OS fedora -ENV KASMVNC_BUILD_OS_CODENAME thirtyeight -ENV XORG_VER 1.20.14 - -RUN \ - echo "**** install build deps ****" && \ - dnf group install -y \ - "C Development Tools and Libraries" \ - "Development Tools" && \ - dnf install -y \ - autoconf \ - automake \ - bison \ - byacc \ - bzip2 \ - cmake \ - diffutils \ - doxygen \ - file \ - flex \ - fop \ - gcc \ - gcc-c++ \ - git \ - glibc-devel \ - libdrm-devel \ - libepoxy-devel \ - libmd-devel \ - 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-libgbm-devel \ - mesa-libGL-devel \ - meson \ - mingw64-binutils \ - mt-st \ - nettle-devel \ - openssl-devel \ - patch \ - pixman-devel \ - wayland-devel \ - wget \ - which \ - 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 \ - xmlto \ - xorg-x11-font-utils \ - xorg-x11-proto-devel \ - xorg-x11-server-common \ - xorg-x11-server-devel \ - xorg-x11-xtrans-devel \ - xsltproc - -ENV SCRIPTS_DIR=/tmp/scripts -COPY builder/scripts $SCRIPTS_DIR -RUN $SCRIPTS_DIR/build-webp -RUN $SCRIPTS_DIR/build-libjpeg-turbo - -RUN useradd -m docker && echo "docker:docker" | chpasswd - -COPY --chown=docker:docker . /src/ - -USER docker -ENTRYPOINT ["/src/builder/build.sh"] diff --git a/builder/dockerfile.fedora_thirtyeight.rpm.build b/builder/dockerfile.fedora_thirtyeight.rpm.build deleted file mode 100644 index 8fc556f..0000000 --- a/builder/dockerfile.fedora_thirtyeight.rpm.build +++ /dev/null @@ -1,13 +0,0 @@ -FROM fedora:38 - -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 fedora/*.spec /tmp -RUN dnf builddep -y /tmp/*.spec - -RUN useradd -m docker && echo "docker:docker" | chpasswd - -USER docker diff --git a/builder/dockerfile.fedora_thirtyeight.rpm.test b/builder/dockerfile.fedora_thirtyeight.rpm.test deleted file mode 100644 index 16975a0..0000000 --- a/builder/dockerfile.fedora_thirtyeight.rpm.test +++ /dev/null @@ -1,62 +0,0 @@ -FROM fedora:38 - -ENV DISPLAY=:1 \ - VNC_PORT=8443 \ - VNC_RESOLUTION=1280x720 \ - MAX_FRAME_RATE=24 \ - VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7" \ - HOME=/home/user \ - TERM=xterm \ - STARTUPDIR=/dockerstartup \ - INST_SCRIPTS=/dockerstartup/install \ - KASM_RX_HOME=/dockerstartup/kasmrx \ - DEBIAN_FRONTEND=noninteractive \ - VNC_COL_DEPTH=24 \ - VNC_RESOLUTION=1280x1024 \ - VNC_PW=vncpassword \ - VNC_USER=user \ - VNC_VIEW_ONLY_PW=vncviewonlypassword \ - LD_LIBRARY_PATH=/usr/local/lib/ \ - OMP_WAIT_POLICY=PASSIVE \ - SHELL=/bin/bash \ - SINGLE_APPLICATION=0 \ - KASMVNC_BUILD_OS=fedora \ - KASMVNC_BUILD_OS_CODENAME=thirtythree - -EXPOSE $VNC_PORT - -WORKDIR $HOME - -### REQUIRED STUFF ### - -RUN dnf install -y openssl xterm gettext wget -RUN dnf install -y nss_wrapper -RUN dnf install -y xorg-x11-xauth xkeyboard-config -# xorg-x11-server-Xorg -# RUN dnf install -y @xfce-desktop-environment -RUN dnf erase -y pm-utils xscreensaver* -RUN dnf install -y redhat-lsb-core -RUN dnf install -y vim less -RUN dnf install -y @xfce-desktop-environment - -RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc - -RUN mkdir -p $STARTUPDIR -COPY builder/startup/ $STARTUPDIR - -### START CUSTOM STUFF #### -COPY ./builder/scripts/ /tmp/scripts/ -COPY ./fedora/kasmvncserver.spec /tmp - -ARG KASMVNC_PACKAGE_DIR -COPY $KASMVNC_PACKAGE_DIR/*.rpm /tmp/ -# RUN dnf remove -y tigervnc-server-minimal -RUN /tmp/scripts/install_kasmvncserver_package - -### END CUSTOM STUFF ### - -RUN chown -R 1000:0 $HOME -USER 1000:kasmvnc-cert -WORKDIR $HOME - -ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ] diff --git a/builder/dockerfile.fedora_thirtyseven.barebones.rpm.test b/builder/dockerfile.fedora_thirtyseven.barebones.rpm.test deleted file mode 100644 index ba97bf8..0000000 --- a/builder/dockerfile.fedora_thirtyseven.barebones.rpm.test +++ /dev/null @@ -1,19 +0,0 @@ -FROM fedora:37 - -ENV STARTUPDIR=/dockerstartup - -RUN dnf install -y xterm -RUN dnf install -y vim less -RUN yum install -y redhat-lsb-core - -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" diff --git a/builder/dockerfile.fedora_thirtyseven.build b/builder/dockerfile.fedora_thirtyseven.build deleted file mode 100644 index 4557431..0000000 --- a/builder/dockerfile.fedora_thirtyseven.build +++ /dev/null @@ -1,86 +0,0 @@ -FROM fedora:37 - -ENV KASMVNC_BUILD_OS fedora -ENV KASMVNC_BUILD_OS_CODENAME thirtyseven -ENV XORG_VER 1.20.14 - -RUN \ - echo "**** install build deps ****" && \ - dnf group install -y \ - "C Development Tools and Libraries" \ - "Development Tools" && \ - dnf install -y \ - autoconf \ - automake \ - bison \ - byacc \ - bzip2 \ - cmake \ - diffutils \ - doxygen \ - file \ - flex \ - fop \ - gcc \ - gcc-c++ \ - git \ - glibc-devel \ - libdrm-devel \ - libepoxy-devel \ - libmd-devel \ - 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-libgbm-devel \ - mesa-libGL-devel \ - meson \ - mingw64-binutils \ - mt-st \ - nettle-devel \ - openssl-devel \ - patch \ - pixman-devel \ - wayland-devel \ - wget \ - which \ - 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 \ - xmlto \ - xorg-x11-font-utils \ - xorg-x11-proto-devel \ - xorg-x11-server-common \ - xorg-x11-server-devel \ - xorg-x11-xtrans-devel \ - xsltproc - -ENV SCRIPTS_DIR=/tmp/scripts -COPY builder/scripts $SCRIPTS_DIR -RUN $SCRIPTS_DIR/build-webp -RUN $SCRIPTS_DIR/build-libjpeg-turbo - -RUN useradd -m docker && echo "docker:docker" | chpasswd - -COPY --chown=docker:docker . /src/ - -USER docker -ENTRYPOINT ["/src/builder/build.sh"] diff --git a/builder/dockerfile.fedora_thirtyseven.rpm.build b/builder/dockerfile.fedora_thirtyseven.rpm.build deleted file mode 100644 index 8384b10..0000000 --- a/builder/dockerfile.fedora_thirtyseven.rpm.build +++ /dev/null @@ -1,13 +0,0 @@ -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 fedora/*.spec /tmp -RUN dnf builddep -y /tmp/*.spec - -RUN useradd -m docker && echo "docker:docker" | chpasswd - -USER docker diff --git a/builder/dockerfile.fedora_thirtyseven.rpm.test b/builder/dockerfile.fedora_thirtyseven.rpm.test deleted file mode 100644 index 5c7dea3..0000000 --- a/builder/dockerfile.fedora_thirtyseven.rpm.test +++ /dev/null @@ -1,62 +0,0 @@ -FROM fedora:37 - -ENV DISPLAY=:1 \ - VNC_PORT=8443 \ - VNC_RESOLUTION=1280x720 \ - MAX_FRAME_RATE=24 \ - VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7" \ - HOME=/home/user \ - TERM=xterm \ - STARTUPDIR=/dockerstartup \ - INST_SCRIPTS=/dockerstartup/install \ - KASM_RX_HOME=/dockerstartup/kasmrx \ - DEBIAN_FRONTEND=noninteractive \ - VNC_COL_DEPTH=24 \ - VNC_RESOLUTION=1280x1024 \ - VNC_PW=vncpassword \ - VNC_USER=user \ - VNC_VIEW_ONLY_PW=vncviewonlypassword \ - LD_LIBRARY_PATH=/usr/local/lib/ \ - OMP_WAIT_POLICY=PASSIVE \ - SHELL=/bin/bash \ - SINGLE_APPLICATION=0 \ - KASMVNC_BUILD_OS=fedora \ - KASMVNC_BUILD_OS_CODENAME=thirtythree - -EXPOSE $VNC_PORT - -WORKDIR $HOME - -### REQUIRED STUFF ### - -RUN dnf install -y openssl xterm gettext wget -RUN dnf install -y nss_wrapper -RUN dnf install -y xorg-x11-xauth xkeyboard-config -# xorg-x11-server-Xorg -# RUN dnf install -y @xfce-desktop-environment -RUN dnf erase -y pm-utils xscreensaver* -RUN dnf install -y redhat-lsb-core -RUN dnf install -y vim less -RUN dnf install -y @xfce-desktop-environment - -RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc - -RUN mkdir -p $STARTUPDIR -COPY builder/startup/ $STARTUPDIR - -### START CUSTOM STUFF #### -COPY ./builder/scripts/ /tmp/scripts/ -COPY ./fedora/kasmvncserver.spec /tmp - -ARG KASMVNC_PACKAGE_DIR -COPY $KASMVNC_PACKAGE_DIR/*.rpm /tmp/ -# RUN dnf remove -y tigervnc-server-minimal -RUN /tmp/scripts/install_kasmvncserver_package - -### END CUSTOM STUFF ### - -RUN chown -R 1000:0 $HOME -USER 1000:kasmvnc-cert -WORKDIR $HOME - -ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ] diff --git a/builder/dockerfile.ubuntu_bionic.build b/builder/dockerfile.ubuntu_bionic.build deleted file mode 100644 index c76b4eb..0000000 --- a/builder/dockerfile.ubuntu_bionic.build +++ /dev/null @@ -1,32 +0,0 @@ -FROM ubuntu:18.04 - -ENV KASMVNC_BUILD_OS ubuntu -ENV KASMVNC_BUILD_OS_CODENAME bionic -ENV XORG_VER 1.20.10 - -RUN sed -i 's$# deb-src$deb-src$' /etc/apt/sources.list - -RUN apt-get update && \ - apt-get -y install sudo - -RUN apt-get update && apt-get -y build-dep xorg-server libxfont-dev -RUN apt-get update && apt-get -y install cmake git libgnutls28-dev vim wget tightvncserver curl -RUN apt-get update && apt-get -y install libpng-dev libtiff-dev libgif-dev libavcodec-dev libssl-dev libxrandr-dev libxcursor-dev - -ENV SCRIPTS_DIR=/tmp/scripts -COPY builder/scripts $SCRIPTS_DIR -RUN $SCRIPTS_DIR/build-webp -RUN $SCRIPTS_DIR/build-libjpeg-turbo - -# Fix for older required libs -#RUN cd /tmp && wget http://launchpadlibrarian.net/347526424/libxfont1-dev_1.5.2-4ubuntu2_amd64.deb && \ -# wget http://launchpadlibrarian.net/347526425/libxfont1_1.5.2-4ubuntu2_amd64.deb && \ -# dpkg -i libxfont1_1.5.2-4ubuntu2_amd64.deb && \ -# dpkg -i libxfont1-dev_1.5.2-4ubuntu2_amd64.deb - -RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo - -COPY --chown=docker:docker . /src/ - -USER docker -ENTRYPOINT ["/src/builder/build.sh"] diff --git a/builder/dockerfile.ubuntu_bionic.deb.build b/builder/dockerfile.ubuntu_bionic.deb.build deleted file mode 100644 index a554ecb..0000000 --- a/builder/dockerfile.ubuntu_bionic.deb.build +++ /dev/null @@ -1,17 +0,0 @@ -FROM ubuntu:bionic - -RUN apt-get update && \ - apt-get -y install vim build-essential devscripts equivs - -# Install build-deps for the package. -COPY ./debian/control /tmp -RUN apt-get update && echo YYY | mk-build-deps --install --remove /tmp/control - -ARG L_UID -RUN if [ "$L_UID" -eq 0 ]; then \ - useradd -m docker; \ - else \ - useradd -m docker -u $L_UID;\ - fi - -USER docker diff --git a/builder/dockerfile.ubuntu_bionic.deb.test b/builder/dockerfile.ubuntu_bionic.deb.test deleted file mode 100644 index 8d68055..0000000 --- a/builder/dockerfile.ubuntu_bionic.deb.test +++ /dev/null @@ -1,57 +0,0 @@ -FROM ubuntu:bionic - -ENV DISPLAY=:1 \ - VNC_PORT=8443 \ - VNC_RESOLUTION=1280x720 \ - MAX_FRAME_RATE=24 \ - VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7" \ - HOME=/home/user \ - TERM=xterm \ - STARTUPDIR=/dockerstartup \ - INST_SCRIPTS=/dockerstartup/install \ - KASM_RX_HOME=/dockerstartup/kasmrx \ - DEBIAN_FRONTEND=noninteractive \ - VNC_COL_DEPTH=24 \ - VNC_RESOLUTION=1280x1024 \ - VNC_PW=vncpassword \ - VNC_USER=user \ - VNC_VIEW_ONLY_PW=vncviewonlypassword \ - LD_LIBRARY_PATH=/usr/local/lib/ \ - OMP_WAIT_POLICY=PASSIVE \ - SHELL=/bin/bash \ - SINGLE_APPLICATION=0 \ - KASMVNC_BUILD_OS=ubuntu \ - KASMVNC_BUILD_OS_CODENAME=bionic - -EXPOSE $VNC_PORT - -WORKDIR $HOME - -### REQUIRED STUFF ### - -RUN apt-get update && apt-get install -y supervisor xfce4 xfce4-terminal xterm libnss-wrapper gettext wget -RUN apt-get purge -y pm-utils xscreensaver* -RUN apt-get update && apt-get install -y vim less -RUN apt-get update && apt-get -y install lsb-release - -RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc - -RUN mkdir -p $STARTUPDIR -COPY builder/startup/ $STARTUPDIR - -### START CUSTOM STUFF #### - -COPY ./builder/scripts/ /tmp/scripts/ -COPY ./debian/changelog /tmp - -ARG KASMVNC_PACKAGE_DIR -COPY $KASMVNC_PACKAGE_DIR/kasmvncserver_*.deb /tmp/ -RUN /tmp/scripts/install_kasmvncserver_package - -### END CUSTOM STUFF ### - -RUN chown -R 1000:0 $HOME -USER 1000:ssl-cert -WORKDIR $HOME - -ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ] diff --git a/builder/dockerfile.ubuntu_bionic.test b/builder/dockerfile.ubuntu_bionic.test deleted file mode 100644 index a9c2049..0000000 --- a/builder/dockerfile.ubuntu_bionic.test +++ /dev/null @@ -1,51 +0,0 @@ -FROM ubuntu:18.04 - -ENV DISPLAY=:1 \ - VNC_PORT=8443 \ - VNC_RESOLUTION=1280x720 \ - MAX_FRAME_RATE=24 \ - VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7" \ - HOME=/home/user \ - TERM=xterm \ - STARTUPDIR=/dockerstartup \ - INST_SCRIPTS=/dockerstartup/install \ - KASM_RX_HOME=/dockerstartup/kasmrx \ - DEBIAN_FRONTEND=noninteractive \ - VNC_COL_DEPTH=24 \ - VNC_RESOLUTION=1280x1024 \ - VNC_PW=vncpassword \ - VNC_USER=user \ - VNC_VIEW_ONLY_PW=vncviewonlypassword \ - LD_LIBRARY_PATH=/usr/local/lib/ \ - OMP_WAIT_POLICY=PASSIVE \ - SHELL=/bin/bash \ - SINGLE_APPLICATION=0 \ - KASMVNC_BUILD_OS=ubuntu \ - KASMVNC_BUILD_OS_CODENAME=bionic - -EXPOSE $VNC_PORT - -WORKDIR $HOME - -### REQUIRED STUFF ### - -RUN apt-get update && apt-get install -y supervisor xfce4 xfce4-terminal xterm libnss-wrapper gettext wget -RUN apt-get purge -y pm-utils xscreensaver* - -RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc - -RUN mkdir -p $STARTUPDIR -COPY builder/startup/ $STARTUPDIR - -### START CUSTOM STUFF #### - -COPY build/kasmvnc.${KASMVNC_BUILD_OS}_${KASMVNC_BUILD_OS_CODENAME}.tar.gz /tmp/ -RUN tar -xzvf /tmp/kasmvnc.${KASMVNC_BUILD_OS}_${KASMVNC_BUILD_OS_CODENAME}.tar.gz --strip 1 -C / - -### END CUSTOM STUFF ### - -RUN chown -R 1000:0 $HOME -USER 1000 -WORKDIR $HOME - -ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ] diff --git a/builder/dockerfile.ubuntu_focal.deb.test b/builder/dockerfile.ubuntu_focal.deb.test index 16cd8a0..1ee3ad0 100644 --- a/builder/dockerfile.ubuntu_focal.deb.test +++ b/builder/dockerfile.ubuntu_focal.deb.test @@ -21,7 +21,7 @@ ENV DISPLAY=:1 \ SHELL=/bin/bash \ SINGLE_APPLICATION=0 \ KASMVNC_BUILD_OS=ubuntu \ - KASMVNC_BUILD_OS_CODENAME=bionic + KASMVNC_BUILD_OS_CODENAME=focal EXPOSE $VNC_PORT diff --git a/builder/dockerfile.ubuntu_jammy.deb.test b/builder/dockerfile.ubuntu_jammy.deb.test index 4e5f0dd..831a7c8 100644 --- a/builder/dockerfile.ubuntu_jammy.deb.test +++ b/builder/dockerfile.ubuntu_jammy.deb.test @@ -21,7 +21,7 @@ ENV DISPLAY=:1 \ SHELL=/bin/bash \ SINGLE_APPLICATION=0 \ KASMVNC_BUILD_OS=ubuntu \ - KASMVNC_BUILD_OS_CODENAME=bionic + KASMVNC_BUILD_OS_CODENAME=jammy EXPOSE $VNC_PORT diff --git a/builder/os_ver_cli.sh b/builder/os_ver_cli.sh index 534810d..cc19427 100644 --- a/builder/os_ver_cli.sh +++ b/builder/os_ver_cli.sh @@ -1,7 +1,7 @@ #!/bin/bash default_os=${default_os:-ubuntu} -default_os_codename=${default_os_codename:-bionic} +default_os_codename=${default_os_codename:-noble} os=${1:-$default_os} os_codename=${2:-$default_os_codename} diff --git a/builder/scripts/common.sh b/builder/scripts/common.sh index 4440b66..e22deef 100644 --- a/builder/scripts/common.sh +++ b/builder/scripts/common.sh @@ -1,9 +1,7 @@ #!/bin/bash detect_distro() { - if [ -f /etc/centos-release ]; then - DISTRO=centos - elif [ -f /etc/oracle-release ]; then + if [ -f /etc/oracle-release ]; then DISTRO=oracle elif [ -f /etc/fedora-release ]; then DISTRO=fedora @@ -20,7 +18,6 @@ install_packages() { local install_cmd=no-command-defined case "$DISTRO" in - centos) install_cmd="yum install -y" ;; oracle) install_cmd="dnf install -y" ;; fedora) install_cmd="dnf install -y" ;; opensuse) install_cmd="zypper install -y" ;; diff --git a/builder/test-rpm-barebones b/builder/test-rpm-barebones index 6318bda..ea4cae6 100755 --- a/builder/test-rpm-barebones +++ b/builder/test-rpm-barebones @@ -5,8 +5,8 @@ set -e cd "$(dirname "$0")" . ./process_test_options.sh . ./common.sh -os="${1:-centos}" -os_codename="${2:-core}" +os="${1:-oracle}" +os_codename="${2:-8}" docker build --build-arg KASMVNC_PACKAGE_DIR="build/${os}_${os_codename}" \ -t kasmvnctester_barebones_${os}:$os_codename \ diff --git a/centos/kasmvncserver.spec b/centos/kasmvncserver.spec deleted file mode 100644 index b860978..0000000 --- a/centos/kasmvncserver.spec +++ /dev/null @@ -1,158 +0,0 @@ -Name: kasmvncserver -Version: 1.3.3 -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, xorg-x11-xkb-utils, 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, perl-DateTime-TimeZone -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 --links --safe-links --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 -* Fri Oct 25 2024 KasmTech - 1.3.3-1 -- Allow disabling IP blacklist -- Downloads API for detailed file downloads information -* Tue Sep 24 2024 KasmTech - 1.3.2-1 -- Disable seamless clipboard on Firefox by default, due to the Firefox overlaying a Paste menu over the canvas. -- Fixed CVE-2024-38449, directory traversal bug in built-in web server. -- Allow for larger header sizes, up to 16k. Provide better logging and handling for requests that contain HTTP headers that are larger than the 16k limit. -- Fixed memory leak in kasmproxy. -- Fixed mime types of downloads to ensure the browser interprets them as downloads. -* Tue Mar 12 2024 KasmTech - 1.3.1-1 -- Fix exception thrown on Firefox 124 and higher -- Fix artifacts on high resolution secondary screens -- Fixes for touch support on primary and secondary screens -- Fix for Oculus keyboard input -* Mon Feb 05 2024 KasmTech - 1.3.0-1 -- Multi-monitor support. -- Increased performance with watermark enabled. -- Added support for Fedora 39 and Alpine 319. -- Allow special characters in usernames. -- Better logging of client settings when client connects or changes settings. -- Add support for rotation of text-based watermark. -* Fri Aug 25 2023 KasmTech - 1.2.0-1 -- Add support for Unix relays for bidirectional communication between noVNC - and containerized applications. -- Text based watermark overlays with date and time support. -- New builds for Bookworm, Alpine 3.18, and Fedora 38. -- Multi-language support. -- Add support for rendering pixmaps via DRI3 GPU acceleration allowing - compositing and other 3d accelerated workloads in a KasmVNC session. -- Fix crash that can occur. -- Fixed tearing when compositing is enabled with DRI3 hardware acceleration. -- Fix stuck command key on MacOS clients. -* Wed Apr 05 2023 KasmTech - 1.1.0-1 -- Upstream release -* Tue Nov 29 2022 KasmTech - 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 - 0.9.3~beta-1 -* Fri Feb 12 2021 KasmTech - 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