From 9050c6d011873da60bf15155a93a3d89f3df84ce Mon Sep 17 00:00:00 2001 From: matt Date: Tue, 23 Nov 2021 14:58:58 +0000 Subject: [PATCH] KASM-2119 libjpegt build for 20.04 --- ...le.ubuntu_focal+libjpeg-turbo_latest.build | 34 +++++++++++ ...buntu_focal+libjpeg-turbo_latest.deb.build | 25 ++++++++ ...ubuntu_focal+libjpeg-turbo_latest.deb.test | 58 +++++++++++++++++++ 3 files changed, 117 insertions(+) create mode 100644 builder/dockerfile.ubuntu_focal+libjpeg-turbo_latest.build create mode 100644 builder/dockerfile.ubuntu_focal+libjpeg-turbo_latest.deb.build create mode 100644 builder/dockerfile.ubuntu_focal+libjpeg-turbo_latest.deb.test diff --git a/builder/dockerfile.ubuntu_focal+libjpeg-turbo_latest.build b/builder/dockerfile.ubuntu_focal+libjpeg-turbo_latest.build new file mode 100644 index 0000000..1c4f60f --- /dev/null +++ b/builder/dockerfile.ubuntu_focal+libjpeg-turbo_latest.build @@ -0,0 +1,34 @@ +FROM ubuntu:20.04 + +ENV KASMVNC_BUILD_OS ubuntu +ENV KASMVNC_BUILD_OS_CODENAME focal +ENV XORG_VER 1.20.8 + +RUN sed -i 's$# deb-src$deb-src$' /etc/apt/sources.list + +RUN apt-get update && \ + apt-get -y install sudo + +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 cmake git libgnutls28-dev vim wget tightvncserver +RUN apt-get update && apt-get -y install libpng-dev libtiff-dev libgif-dev libavcodec-dev libssl-dev + +RUN apt-get update && apt-get install -y cmake nasm gcc +RUN git clone https://github.com/libjpeg-turbo/libjpeg-turbo.git +RUN export MAKEFLAGS=-j`nproc`; cd libjpeg-turbo && cmake -G"Unix Makefiles" && make deb +RUN export MAKEFLAGS=-j`nproc`; cd libjpeg-turbo && cmake -DCMAKE_INSTALL_PREFIX=/usr/local -G"Unix Makefiles" && make && make install + +# 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 && adduser docker sudo + +COPY --chown=docker:docker . /src + +USER docker +ENTRYPOINT ["/src/builder/build.sh"] diff --git a/builder/dockerfile.ubuntu_focal+libjpeg-turbo_latest.deb.build b/builder/dockerfile.ubuntu_focal+libjpeg-turbo_latest.deb.build new file mode 100644 index 0000000..f8a640e --- /dev/null +++ b/builder/dockerfile.ubuntu_focal+libjpeg-turbo_latest.deb.build @@ -0,0 +1,25 @@ +FROM ubuntu:20.04 + +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata +RUN apt-get update && \ + apt-get -y install vim build-essential devscripts equivs + +ARG KASMVNC_PACKAGE_DIR +COPY $KASMVNC_PACKAGE_DIR/libjpeg-turbo*deb /tmp +RUN apt-get install /tmp/libjpeg-turbo*deb + +# Install build-deps for the package. +COPY ./debian/control /tmp +RUN apt-get update && echo YYY | mk-build-deps --install --remove /tmp/control + +ENV LD_LIBRARY_PATH="/opt/libjpeg-turbo/lib64/:$LD_LIBRARY_PATH" + +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_focal+libjpeg-turbo_latest.deb.test b/builder/dockerfile.ubuntu_focal+libjpeg-turbo_latest.deb.test new file mode 100644 index 0000000..1edc7e7 --- /dev/null +++ b/builder/dockerfile.ubuntu_focal+libjpeg-turbo_latest.deb.test @@ -0,0 +1,58 @@ +FROM ubuntu:20.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=/opt/libjpeg-turbo/lib64/:/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 startup/ $STARTUPDIR + +### START CUSTOM STUFF #### + +ARG KASMVNC_PACKAGE_DIR +COPY $KASMVNC_PACKAGE_DIR/libjpeg-turbo_*.deb /tmp +RUN apt-get install /tmp/libjpeg-turbo*deb + +ARG BUILD_DEBIAN_REVISION +COPY $KASMVNC_PACKAGE_DIR/kasmvncserver_*$BUILD_DEBIAN_REVISION*.deb /tmp +RUN dpkg -i /tmp/*.deb; apt-get -yf install + +### END CUSTOM STUFF ### + +RUN chown -R 1000:0 $HOME +USER 1000:ssl-cert +WORKDIR $HOME + +ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ]