mirror of
https://github.com/kasmtech/KasmVNC.git
synced 2025-06-27 05:01:41 +02:00
KASM-7194 Refactor build scripts and enable conditional test builds
This commit is contained in:
parent
35d1d49d20
commit
4a4c5f1c49
@ -242,8 +242,9 @@ if(ENABLE_NLS)
|
|||||||
add_subdirectory(po)
|
add_subdirectory(po)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
####add_subdirectory(tests)
|
if (TESTS)
|
||||||
|
add_subdirectory(tests)
|
||||||
|
endif ()
|
||||||
|
|
||||||
include(cmake/BuildPackages.cmake)
|
include(cmake/BuildPackages.cmake)
|
||||||
|
|
||||||
|
129
builder/build.sh
129
builder/build.sh
@ -45,8 +45,10 @@ else
|
|||||||
XORG_PATCH=$(echo "$XORG_VER" | grep -Po '^\d.\d+' | sed 's#\.##')
|
XORG_PATCH=$(echo "$XORG_VER" | grep -Po '^\d.\d+' | sed 's#\.##')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -f xorg-server-"${XORG_VER}".tar.gz ]; then
|
TARBALL="xorg-server-${XORG_VER}.tar.gz"
|
||||||
wget --no-check-certificate https://www.x.org/archive/individual/xserver/xorg-server-"${XORG_VER}".tar.gz
|
|
||||||
|
if [ ! -f "$TARBALL" ]; then
|
||||||
|
wget --no-check-certificate https://www.x.org/archive/individual/xserver/"$TARBALL"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#git clone https://kasmweb@bitbucket.org/kasmtech/kasmvnc.git
|
#git clone https://kasmweb@bitbucket.org/kasmtech/kasmvnc.git
|
||||||
@ -54,96 +56,91 @@ fi
|
|||||||
#git checkout dynjpeg
|
#git checkout dynjpeg
|
||||||
cd /src
|
cd /src
|
||||||
|
|
||||||
# We only want the server, so FLTK and manual tests aren't useful.
|
|
||||||
# Alternatively, install fltk 1.3 and its dev packages.
|
|
||||||
sed -i -e '/find_package(FLTK/s@^@#@' \
|
|
||||||
-e '/add_subdirectory(tests/s@^@#@' \
|
|
||||||
CMakeLists.txt
|
|
||||||
|
|
||||||
cmake -D CMAKE_BUILD_TYPE=RelWithDebInfo . -DBUILD_VIEWER:BOOL=OFF \
|
cmake -D CMAKE_BUILD_TYPE=RelWithDebInfo . -DBUILD_VIEWER:BOOL=OFF \
|
||||||
-DENABLE_GNUTLS:BOOL=OFF
|
-DENABLE_GNUTLS:BOOL=OFF
|
||||||
make -j"$(nproc)"
|
make -j"$(nproc)"
|
||||||
|
|
||||||
tar -C unix/xserver -xf /tmp/xorg-server-${XORG_VER}.tar.gz --strip-components=1
|
if [ ! -d unix/xserver/include ]; then
|
||||||
|
tar -C unix/xserver -xf /tmp/"$TARBALL" --strip-components=1
|
||||||
|
|
||||||
cd unix/xserver
|
cd unix/xserver
|
||||||
# Apply patches
|
# Apply patches
|
||||||
patch -Np1 -i ../xserver${XORG_PATCH}.patch
|
patch -Np1 -i ../xserver"${XORG_PATCH}".patch
|
||||||
case "$XORG_VER" in
|
case "$XORG_VER" in
|
||||||
1.20.*)
|
1.20.*)
|
||||||
patch -s -p0 < ../CVE-2022-2320-v1.20.patch
|
patch -s -p0 < ../CVE-2022-2320-v1.20.patch
|
||||||
if [ -f ../xserver120.7.patch ]; then
|
if [ -f ../xserver120.7.patch ]; then
|
||||||
patch -Np1 -i ../xserver120.7.patch
|
patch -Np1 -i ../xserver120.7.patch
|
||||||
fi ;;
|
fi ;;
|
||||||
1.19.*)
|
1.19.*)
|
||||||
patch -s -p0 < ../CVE-2022-2320-v1.19.patch
|
patch -s -p0 < ../CVE-2022-2320-v1.19.patch
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
autoreconf -i
|
autoreconf -i
|
||||||
# Configuring Xorg is long and has many distro-specific paths.
|
# Configuring Xorg is long and has many distro-specific paths.
|
||||||
# The distro paths start after prefix and end with the font path,
|
# The distro paths start after prefix and end with the font path,
|
||||||
# everything after that is based on BUILDING.txt to remove unneeded
|
# everything after that is based on BUILDING.txt to remove unneeded
|
||||||
# components.
|
# components.
|
||||||
# remove gl check for opensuse
|
# remove gl check for opensuse
|
||||||
if [ "${KASMVNC_BUILD_OS}" == "opensuse" ] || ([ "${KASMVNC_BUILD_OS}" == "oracle" ] && [ "${KASMVNC_BUILD_OS_CODENAME}" == 9 ]); then
|
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
|
sed -i 's/LIBGL="gl >= 7.1.0"/LIBGL="gl >= 1.1"/g' configure
|
||||||
|
fi
|
||||||
|
|
||||||
|
# build X11
|
||||||
|
./configure \
|
||||||
|
--disable-config-hal \
|
||||||
|
--disable-config-udev \
|
||||||
|
--disable-dmx \
|
||||||
|
--disable-dri \
|
||||||
|
--disable-dri2 \
|
||||||
|
--disable-kdrive \
|
||||||
|
--disable-static \
|
||||||
|
--disable-xephyr \
|
||||||
|
--disable-xinerama \
|
||||||
|
--disable-xnest \
|
||||||
|
--disable-xorg \
|
||||||
|
--disable-xvfb \
|
||||||
|
--disable-xwayland \
|
||||||
|
--disable-xwin \
|
||||||
|
--enable-glx \
|
||||||
|
--prefix=/opt/kasmweb \
|
||||||
|
--with-default-font-path="/usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,built-ins" \
|
||||||
|
--without-dtrace \
|
||||||
|
--with-sha1=libcrypto \
|
||||||
|
--with-xkb-bin-directory=/usr/bin \
|
||||||
|
--with-xkb-output=/var/lib/xkb \
|
||||||
|
--with-xkb-path=/usr/share/X11/xkb "${CONFIG_OPTIONS}"
|
||||||
|
|
||||||
|
# remove array bounds errors for new versions of GCC
|
||||||
|
find . -name "Makefile" -exec sed -i 's/-Werror=array-bounds//g' {} \;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# build X11
|
|
||||||
./configure \
|
|
||||||
--disable-config-hal \
|
|
||||||
--disable-config-udev \
|
|
||||||
--disable-dmx \
|
|
||||||
--disable-dri \
|
|
||||||
--disable-dri2 \
|
|
||||||
--disable-kdrive \
|
|
||||||
--disable-static \
|
|
||||||
--disable-xephyr \
|
|
||||||
--disable-xinerama \
|
|
||||||
--disable-xnest \
|
|
||||||
--disable-xorg \
|
|
||||||
--disable-xvfb \
|
|
||||||
--disable-xwayland \
|
|
||||||
--disable-xwin \
|
|
||||||
--enable-glx \
|
|
||||||
--prefix=/opt/kasmweb \
|
|
||||||
--with-default-font-path="/usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,built-ins" \
|
|
||||||
--without-dtrace \
|
|
||||||
--with-sha1=libcrypto \
|
|
||||||
--with-xkb-bin-directory=/usr/bin \
|
|
||||||
--with-xkb-output=/var/lib/xkb \
|
|
||||||
--with-xkb-path=/usr/share/X11/xkb ${CONFIG_OPTIONS}
|
|
||||||
|
|
||||||
# remove array bounds errors for new versions of GCC
|
|
||||||
find . -name "Makefile" -exec sed -i 's/-Werror=array-bounds//g' {} \;
|
|
||||||
make -j"$(nproc)"
|
make -j"$(nproc)"
|
||||||
|
|
||||||
# modifications for the servertarball
|
# modifications for the servertarball
|
||||||
cd /src
|
cd /src
|
||||||
mkdir -p xorg.build/bin
|
mkdir -p xorg.build/bin
|
||||||
cd xorg.build/bin/
|
cd xorg.build/bin/
|
||||||
ln -sf /src/unix/xserver/hw/vnc/Xvnc Xvnc
|
ln -sfn /src/unix/xserver/hw/vnc/Xvnc Xvnc
|
||||||
cd ..
|
cd ..
|
||||||
mkdir -p man/man1
|
mkdir -p man/man1
|
||||||
touch man/man1/Xserver.1
|
touch man/man1/Xserver.1
|
||||||
cp /src/unix/xserver/hw/vnc/Xvnc.man man/man1/Xvnc.1
|
cp /src/unix/xserver/hw/vnc/Xvnc.man man/man1/Xvnc.1
|
||||||
|
|
||||||
if [ ! -d lib ]; then
|
mkdir -p lib
|
||||||
mkdir lib
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd lib
|
cd lib
|
||||||
if [ -d /usr/lib/x86_64-linux-gnu/dri ]; then
|
if [ -d /usr/lib/x86_64-linux-gnu/dri ]; then
|
||||||
ln -s /usr/lib/x86_64-linux-gnu/dri dri
|
ln -sfn /usr/lib/x86_64-linux-gnu/dri dri
|
||||||
elif [ -d /usr/lib/aarch64-linux-gnu/dri ]; then
|
elif [ -d /usr/lib/aarch64-linux-gnu/dri ]; then
|
||||||
ln -s /usr/lib/aarch64-linux-gnu/dri dri
|
ln -sfn /usr/lib/aarch64-linux-gnu/dri dri
|
||||||
elif [ -d /usr/lib/arm-linux-gnueabihf/dri ]; then
|
elif [ -d /usr/lib/arm-linux-gnueabihf/dri ]; then
|
||||||
ln -s /usr/lib/arm-linux-gnueabihf/dri dri
|
ln -sfn /usr/lib/arm-linux-gnueabihf/dri dri
|
||||||
elif [ -d /usr/lib/xorg/modules/dri ]; then
|
elif [ -d /usr/lib/xorg/modules/dri ]; then
|
||||||
ln -s /usr/lib/xorg/modules/dri dri
|
ln -sfn /usr/lib/xorg/modules/dri dri
|
||||||
else
|
else
|
||||||
ln -s /usr/lib64/dri dri
|
ln -sfn /usr/lib64/dri dri
|
||||||
fi
|
fi
|
||||||
cd /src
|
cd /src
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user