Revision: 4865 http://tigervnc.svn.sourceforge.net/tigervnc/?rev=4865&view=rev Author: dcommander Date: 2012-03-13 17:39:08 +0000 (Tue, 13 Mar 2012) Log Message: ----------- DRC's cross-compatible build scripts
Added Paths: ----------- buildscripts/xc/ buildscripts/xc/README.txt buildscripts/xc/buildtiger buildscripts/xc/buildtiger.linux buildscripts/xc/buildtiger.osx buildscripts/xc/buildtiger.windows buildscripts/xc/uploadtiger Added: buildscripts/xc/README.txt =================================================================== --- buildscripts/xc/README.txt (rev 0) +++ buildscripts/xc/README.txt 2012-03-13 17:39:08 UTC (rev 4865) @@ -0,0 +1,150 @@ +DRC's Cross-Compatible TigerVNC Build Scripts +============================================= + +These scripts are used to build a cross-compatible TigerVNC build that works +on any Linux platform with GLIB 2.5 and later, as well as Windows XP and later +and OS X 10.4 and later. + + +Build Environment: Linux +------------------------ + +Recommended distro: Red Hat or CentOS Enterprise Linux 4 64-bit + +CMake 2.8 or later + +JDK (http://www.oracle.com/technetwork/java/javase/downloads) or OpenJDK +(http://openjdk.java.net/) 1.5 or later. Make sure that keytool and jarsigner +are in the PATH (either sym link them from /usr/java/default/bin to /usr/bin or +just add /usr/java/default/bin to the PATH.) + +64-bit and 32-bit libjpeg-turbo SDK's +(https://sourceforge.net/projects/libjpeg-turbo/files/) installed in the +default location (/opt/libjpeg-turbo) + +As root, configure the libgpg-error, libtasn1, libgcrypt, and GnuTLS source +with the following arguments, then 'make install': + CC=gcc4 CXX=g++4 CFLAGS=-O3 CXXFLAGS=-O3 --enable-static --with-pic \ + --prefix=/opt/gnutls/linux64/ + +As root, configure the libgpg-error, libtasn1, libgcrypt, and GnuTLS source +with the following arguments, then 'make install' + --host i686-pc-linux-gnu CC=gcc4 CXX=g++4 CFLAGS='-m32 -O3' \ + CXXFLAGS='-m32 -O3' --enable-static --with-pic prefix=/opt/gnutls/linux/ + +NOTE: If building on a distro that already has GCC 4, you can leave out the +'CC=gcc4 CXX=g++4' portion of the above command lines. You should also edit +buildtiger.linux and remove that same text from the command lines in there as +well. Or, you could just create sym links from gcc4 -> gcc and g++4 -> g++. + + +Build Environment: OS X +----------------------- + +Recommended version: OS X 10.6 (Snow Leopard) + +Xcode 3.2 (available at https://developer.apple.com/downloads -- Apple ID +required) + +CMake 2.8 or later installed somewhere in the PATH. The version in MacPorts +(http://www.MacPorts.org) works, or just install the CMake application from +the DMG (http://www.cmake.org) and sym link +/Applications/CMake\ {version}.app/Contents/bin/cmake to a directory in your +PATH. + +libjpeg-turbo SDK (https://sourceforge.net/projects/libjpeg-turbo/files/) +installed in its default location (/opt/libjpeg-turbo) + +Configure the libgpg-error, libtasn1, libgcrypt, and GnuTLS source with the +following arguments, then 'make', then 'sudo make install': + --host x86_64-apple-darwin \ + CFLAGS='-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -O3' \ + CXXFLAGS='-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -O3' \ + LDFLAGS='-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5' \ + --prefix /opt/gnutls/osxx8664 + +Configure the libgpg-error, libtasn1, libgcrypt, and GnuTLS source with the +following arguments, then 'sudo make install': + CFLAGS='-I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -O3 -m32' \ + CXXFLAGS='-I/usr/include/c++/4.2.1 -I/usr/include/c++/4.2.1/i686-apple-darwin10 -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -O3 -m32' \ + LDFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -m32' \ + --prefix /opt/gnutls/osxx86 + +Configure the gettext source with the following arguments, then 'make', then +'sudo make install': + --host x86_64-apple-darwin \ + CFLAGS='-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -O3' \ + CXXFLAGS='-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -O3' \ + LDFLAGS='-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5' \ + --prefix /opt/gettext/osxx8664 + +Configure the gettext source with the following arguments, then 'make, then +'sudo make install': + CFLAGS='-I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -O3 -m32' \ + CXXFLAGS='-I/usr/include/c++/4.2.1 -I/usr/include/c++/4.2.1/i686-apple-darwin10 -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -O3 -m32' \ + LDFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -m32' \ + --prefix /opt/gettext/osxx86 + + +Build Environment: Windows +-------------------------- + +Recommended O/S: Windows XP 64-bit + +MinGW (http://www.mingw.org/) installed in c:\MinGW + +MinGW-w64 (http://mingw-w64.sourceforge.net/) unzipped into c:\MinGW\MinGW64 + +JDK (http://www.oracle.com/technetwork/java/javase/downloads) 1.5 or later + +CMake 2.8 or later (http://www.cmake.org). Add the CMake directory (e.g. +c:\program files (x86)\cmake 2.8\bin) to the PATH. + +64-bit and 32-bit libjpeg-turbo SDK's for GCC +(https://sourceforge.net/projects/libjpeg-turbo/files/) installed in the +default locations (c:\libjpeg-turbo-gcc64 and c:\libjpeg-turbo-gcc) + +GnuTLS for Windows (http://josefsson.org/gnutls4win/) installed in c:\GnuTLS + +NOTE: It should be possible to cross-compile the Windows binaries on Linux as +well, but setting that up is left as an exercise for the reader. + + +Build Procedure +--------------- + +Executing + + buildtiger <repository path> + +(where repository path is, for instance, "trunk" or "branches/1_2") will +generate both a pristine source tarball and binaries for the platform on which +the script is executed. These are placed under +$HOME/src/tiger.nightly/YYYYMMDD/files, where YYYYMMDD is a build number based +on today's date. If the build is successful, then a sym link will be created +from $HOME/src/tiger.nightly/latest to $HOME/src/tiger.nightly/YYYYMMDD. + +Once a full build is completed on one platform, then you can use the existing +source tarball to build binaries on other platforms by running 'buildtiger -e' +(assuming that $HOME/src is a shared directory.) + +NOTE: On Windows, buildtiger should be run from inside a MinGW shell. If you +are mounting your home directory as a drive letter (e.g. H:), then set the HOME +environment variable to the MinGW path for that drive (e.g. /h) prior to +running buildtiger. + +Run 'buildtiger -h' for usage information. + + +Distributing a Pre-Release Build +-------------------------------- + +Executing + + uploadtiger <SourceForge user name> + +will upload the files from $HOME/src/tiger.nightly/latest/files to +http://tigervnc.sourceforge.net/tiger.nightly + +Having an SSH key installed is highly recommended to avoid having to enter your +password multiple times. Added: buildscripts/xc/buildtiger =================================================================== --- buildscripts/xc/buildtiger (rev 0) +++ buildscripts/xc/buildtiger 2012-03-13 17:39:08 UTC (rev 4865) @@ -0,0 +1,177 @@ +#!/bin/bash + +TMPDIR= +PREVDIR=`pwd` +export SCRIPT=$0 +SCRIPTDIR=`dirname $0` + +pushd $SCRIPTDIR >/dev/null +SCRIPTDIR=`pwd` +popd >/dev/null + +set -u +set -e +trap onexit INT +trap onexit TERM +trap onexit EXIT + +PLATFORM= + +case "`uname -s`" in +Linux) export PLATFORM=linux ;; +Darwin) export PLATFORM=osx ;; +MINGW*) export PLATFORM=windows ;; +*) echo "Unsupported platform"; exit 1 ;; +esac + +onexit() +{ + cd $PREVDIR + if [ ! "$TMPDIR" = "" ]; then + if [ "$PLATFORM" = "windows" ]; then + rm -rf $TMPDIR + else + sudo rm -rf $TMPDIR + fi + fi +} + +usage() +{ + echo + echo "USAGE: $SCRIPT [-f | -s | -e ] <repository path, e.g. \"trunk\">" + echo + echo "-e = Use existing source tarball in the build directory for today's date" + echo "-f = Force new build (deletes all existing build files for today's date)" + echo "-fb = Use existing source tarball in the build directory for today's date," + echo " but force new binaries to be built for this platform" + echo "-s = Build source tarball only" + echo + exit 1 +} + +if [ ! -d $HOME/src/tiger.nightly ]; then + mkdir -p $HOME/src/tiger.nightly +fi + +BUILD=`date +%Y%m%d` +export OUTDIR=$HOME/src/tiger.nightly/$BUILD + +FORCE=0 +export FORCEBINARY=0 +SRCONLY=0 +NOSRC=0 + +if [ $# -gt 0 ]; then + if [ "$1" = "-f" ]; then + FORCE=1 + shift + elif [ "$1" = "-fb" ]; then + export FORCEBINARY=1 + NOSRC=1 + shift + elif [ "$1" = "-s" ]; then + SRCONLY=1 + shift + elif [ "$1" = "-e" ]; then + if [ $SRCONLY = 1 ]; then + echo Cannot specify both -s and -e + exit 1 + fi + NOSRC=1 + shift + elif [ "$1" = "-h" -o "$1" = "-?" ]; then + usage + fi +fi + +if [ $# -lt 1 -a $NOSRC = 0 ]; then + usage +fi + +if [ ! -d $OUTDIR ]; then + mkdir -p $OUTDIR/files +else + if [ $FORCE = 0 -a $NOSRC = 0 ]; then + if [ $SRCONLY = 0 ]; then + echo + echo Build already exists! + echo "Run $SCRIPT -f to force a full rebuild" + echo " or $SCRIPT -e to use existing source" + echo + exit 1 + fi + else + if [ $NOSRC = 0 ]; then + if [ -d $OUTDIR/files ]; then + rm -f $OUTDIR/files/* + rmdir $OUTDIR/files + fi + rm -f $OUTDIR/* + rmdir $OUTDIR + mkdir -p $OUTDIR/files + fi + fi +fi + +umask 022 +if [ "$PLATFORM" = "windows" ]; then + # /tmp maps to a directory in c:\Documents and Settings, which causes + # barfage in the MinGW resource compiler because of the pathname + # spaces. + TMPDIR=`mktemp -d /c/temp/tigerbuild.XXXXXX` +else + TMPDIR=`mktemp -d /tmp/tigerbuild.XXXXXX` +fi +cd $TMPDIR +if [ $NOSRC = 0 ]; then + echo Checking out TigerVNC ... + svn export https://tigervnc.svn.sourceforge.net/svnroot/tigervnc/$1 tigervnc + echo Creating source tarball and SRPM ... + pushd tigervnc + VERSION=`grep "set(VERSION" CMakeLists.txt | sed -e s/[^0-9\.]//g` + if [ "$VERSION" = "" ]; then + echo Could not parse version from CMakeLists.txt! + exit 1 + fi + popd + mv tigervnc tigervnc-$VERSION + tar cfz tigervnc-$VERSION.tar.gz tigervnc-$VERSION + cp tigervnc-$VERSION.tar.gz $OUTDIR/files/ +else + if [ ! -f $OUTDIR/files/tigervnc-[0-9]*.tar.gz ]; then + echo Source tarball does not exist! + exit 1 + fi +fi + +if [ $SRCONLY = 1 ]; then + exit 0 +fi + +echo Untarring TigerVNC ... +tar xfz $OUTDIR/files/tigervnc-[0-9]*.tar.gz +echo done. +echo Building TigerVNC for $PLATFORM... +cd tigervnc* +sh $SCRIPTDIR/buildtiger.$PLATFORM +echo done. + +cd $OUTDIR/files +if [ -f files.txt ]; then rm files.txt; fi +if [ -f ../files.txt ]; then rm ../files.txt; fi +for i in *; do + LSL=`ls -l $i` + SIZE=`echo $LSL | awk '{print $5}'` + DATE=`echo $LSL | awk '{print $6" "$7" "$8}'` + MD5=`md5sum -b $i | awk '{print $1}'` + echo -e "$i\t$SIZE\t\t$DATE\t$MD5" >>../files.txt +done +mv ../files.txt . +if [ "$PLATFORM" != "windows" ]; then + # sym links aren't implemented properly in MinGW + if [ -h $OUTDIR/../latest ]; then rm $OUTDIR/../latest; fi + ln -fs $BUILD $OUTDIR/../latest +fi + +exit 0 Property changes on: buildscripts/xc/buildtiger ___________________________________________________________________ Added: svn:executable + * Added: buildscripts/xc/buildtiger.linux =================================================================== --- buildscripts/xc/buildtiger.linux (rev 0) +++ buildscripts/xc/buildtiger.linux 2012-03-13 17:39:08 UTC (rev 4865) @@ -0,0 +1,32 @@ +if ls $OUTDIR/files/tigervnc-Linux-*86*-[0-9]*.tar.gz >/dev/null 2>&1; then + if [ $FORCEBINARY = 0 ]; then + echo + echo Binary already exists! + echo Run $SCRIPT -fb to rebuild it. + echo + exit 1 + else + rm -f $OUTDIR/files/tigervnc-Linux-*86*-[0-9]*.tar.gz + fi +fi + +exec > $OUTDIR/log-$PLATFORM.txt 2>&1 + +export CC=gcc4 +export CXX=g++4 + +mkdir linux +pushd linux +sh ../unix/build-xorg init +XORGCFGFLAGS="--with-dri-driver-path=/opt/TigerVNC/lib/dri" CFLAGS='-O3 -m32' CXXFLAGS='-O3 -m32' sh ../unix/build-xorg build -DGNUTLS_INCLUDE_DIR=/opt/gnutls/linux/include/ -DGNUTLS_LIBRARY='/opt/gnutls/linux/lib/libgnutls.a;/opt/gnutls/linux/lib/libgcrypt.a;/opt/gnutls/linux/lib/libtasn1.a;/opt/gnutls/linux/lib/libgpg-error.a' -DJPEG_INCLUDE_DIR=/opt/libjpeg-turbo/include -DJPEG_LIBRARY=/opt/libjpeg-turbo/lib/libjpeg.a -DUSE_INCLUDED_FLTK=1 -DCMAKE_INSTALL_PREFIX=/opt/TigerVNC -DBUILD_JAVA=1 +sudo make servertarball +cp tigervnc-Linux-i686-*.tar.gz $OUTDIR/files/ +popd + +mkdir linux64 +pushd linux64 +sh ../unix/build-xorg init +XORGCFGFLAGS="--with-dri-driver-path=/opt/TigerVNC/lib/dri" sh ../unix/build-xorg build -DGNUTLS_INCLUDE_DIR=/opt/gnutls/linux64/include/ -DGNUTLS_LIBRARY='/opt/gnutls/linux64/lib/libgnutls.a;/opt/gnutls/linux64/lib/libgcrypt.a;/opt/gnutls/linux64/lib/libtasn1.a;/opt/gnutls/linux64/lib/libgpg-error.a' -DJPEG_INCLUDE_DIR=/opt/libjpeg-turbo/include -DJPEG_LIBRARY=/opt/libjpeg-turbo/lib64/libjpeg.a -DUSE_INCLUDED_FLTK=1 -DCMAKE_INSTALL_PREFIX=/opt/TigerVNC -DBUILD_JAVA=1 +sudo make servertarball +cp tigervnc-Linux-x86_64-*.tar.gz $OUTDIR/files/ +popd Added: buildscripts/xc/buildtiger.osx =================================================================== --- buildscripts/xc/buildtiger.osx (rev 0) +++ buildscripts/xc/buildtiger.osx 2012-03-13 17:39:08 UTC (rev 4865) @@ -0,0 +1,27 @@ +if ls $OUTDIR/files/TigerVNC-[0-9]*.dmg >/dev/null 2>&1; then + if [ $FORCEBINARY = 0 ]; then + echo + echo Binary already exists! + echo Run $SCRIPT -fb to rebuild it. + echo + exit 1 + else + rm -f $OUTDIR/files/TigerVNC-[0-9]*.dmg + fi +fi + +exec > $OUTDIR/log-$PLATFORM.txt 2>&1 + +mkdir osxx86 +pushd osxx86 +CFLAGS='-I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include -O3 -m32' CXXFLAGS='-I/usr/include/c++/4.2.1 -I/usr/include/c++/4.2.1/i686-apple-darwin10 -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include -O3 -m32' LDFLAGS='-framework CoreFoundation -m32' cmake -G"Unix Makefiles" -DGNUTLS_INCLUDE_DIR=/opt/gnutls/osxx86/include/ -DGNUTLS_LIBRARY='/opt/gnutls/osxx86/lib/libgnutls.a;/opt/gnutls/osxx86/lib/libgcrypt.a;/opt/gnutls/osxx86/lib/libtasn1.a;/opt/gnutls/osxx86/lib/libgpg-error.a' -DJPEG_INCLUDE_DIR=/opt/libjpeg-turbo/include -DJPEG_LIBRARY=/opt/libjpeg-turbo/lib/libjpeg.a -DUSE_INCLUDED_FLTK=1 -DLIBINTL_LIBRARY=/opt/gettext/osxx86/lib/libintl.a -DICONV_LIBRARIES=/usr/lib/libiconv.dylib -DCMAKE_OSX_DEPLOYMENT_TARGET=10.4 -DCMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.4u.sdk -DUSE_INCLUDED_ZLIB=1 .. +make +popd + +mkdir osxx8664 +pushd osxx8664 +LDFLAGS="-framework CoreFoundation" cmake -G"Unix Makefiles" -DGNUTLS_INCLUDE_DIR=/opt/gnutls/osxx8664/include/ -DGNUTLS_LIBRARY='/opt/gnutls/osxx8664/lib/libgnutls.a;/opt/gnutls/osxx8664/lib/libgcrypt.a;/opt/gnutls/osxx8664/lib/libtasn1.a;/opt/gnutls/osxx8664/lib/libgpg-error.a' -DJPEG_INCLUDE_DIR=/opt/libjpeg-turbo/include -DJPEG_LIBRARY=/opt/libjpeg-turbo/lib/libjpeg.a -DUSE_INCLUDED_FLTK=1 -DLIBINTL_LIBRARY=/opt/gettext/osxx8664/lib/libintl.a -DICONV_LIBRARIES=/usr/lib/libiconv.dylib -DCMAKE_OSX_DEPLOYMENT_TARGET=10.5 -DCMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.5.sdk -DUSE_INCLUDED_ZLIB=1 .. +make +make udmg +mv TigerVNC*.dmg $OUTDIR/files/ +popd Property changes on: buildscripts/xc/buildtiger.osx ___________________________________________________________________ Added: svn:executable + * Added: buildscripts/xc/buildtiger.windows =================================================================== --- buildscripts/xc/buildtiger.windows (rev 0) +++ buildscripts/xc/buildtiger.windows 2012-03-13 17:39:08 UTC (rev 4865) @@ -0,0 +1,27 @@ +if ls $OUTDIR/files/tigervnc*-[0-9]*.exe >/dev/null 2>&1; then + if [ $FORCEBINARY = 0 ]; then + echo + echo Binary already exists! + echo Run $SCRIPT -fb to rebuild it. + echo + exit 1 + else + rm -f $OUTDIR/files/tigervnc*-[0-9]*.exe + fi +fi + +exec > $OUTDIR/log-$PLATFORM.txt 2>&1 + +mkdir win64 +pushd win64 +CC=/mingw/mingw64/bin/x86_64-w64-mingw32-gcc CXX=/mingw/mingw64/bin/x86_64-w64-mingw32-g++ RC=/mingw/mingw64/bin/x86_64-w64-mingw32-windres cmake -G "MSYS Makefiles" -DCMAKE_AR=/mingw/mingw64/bin/x86_64-w64-mingw32-ar -DCMAKE_RANLIB=/mingw/mingw64/bin/x86_64-w64-mingw32-ranlib -DJPEG_INCLUDE_DIR=/c/libjpeg-turbo-gcc64/include -DJPEG_LIBRARY=/c/libjpeg-turbo-gcc64/lib/libjpeg.a -DUSE_INCLUDED_FLTK=1 -DBUILD_STATIC=1 -DBUILD_JAVA=1 .. +make installer +mv tigervnc64-[0-9]*.exe $OUTDIR/files/ +popd + +mkdir win32 +pushd win32 +cmake -G"MSYS Makefiles" -DGETTEXT_INCLUDE_DIR=/mingw/include -DICONV_INCLUDE_DIR=/mingw/include -DICONV_LIBRARIES=/mingw/lib/libiconv.a -DLIBINTL_LIBRARY=/mingw/lib/libintl.a -DJPEG_INCLUDE_DIR=/c/libjpeg-turbo-gcc/include -DJPEG_LIBRARY=/c/libjpeg-turbo-gcc/lib/libjpeg.a -DGNUTLS_INCLUDE_DIR=/c/GnuTLS/include -DGNUTLS_LIBRARY='/c/GnuTLS/lib/libgnutls.a;/c/GnuTLS/lib/libgcrypt.a;/c/GnuTLS/lib/libtasn1.a;/c/GnuTLS/lib/libgpg-error.a' -DUSE_INCLUDED_FLTK=1 -DBUILD_STATIC=1 -DBUILD_JAVA=1 .. +make installer +mv tigervnc-[0-9]*.exe $OUTDIR/files/ +popd Added: buildscripts/xc/uploadtiger =================================================================== --- buildscripts/xc/uploadtiger (rev 0) +++ buildscripts/xc/uploadtiger 2012-03-13 17:39:08 UTC (rev 4865) @@ -0,0 +1,27 @@ +#!/bin/sh + +set -u +set -e + +if [ $# -lt 1 ]; then + echo USAGE: $0 \<SourceForge user name\> + exit -1 +fi + +BUILDDIR=$HOME/src/tiger.nightly/latest/files +PROJWEB=/home/project-web/tigervnc/htdocs/ +SSHSERVER=$1,tiger...@shell.sourceforge.net + +if [ ! -d $BUILDDIR ]; then + echo No nightly build to upload! + exit -1 +fi + +echo Uploading build ... +chmod 644 $BUILDDIR/* +ssh $SSHSERVER create +ssh $SSHSERVER mkdir $PROJWEB/tiger.nightly || true +ssh $SSHSERVER rm $PROJWEB/tiger.nightly/* || true +scp $BUILDDIR/* $SSHSERVER:$PROJWEB/tiger.nightly + +exit 0 Property changes on: buildscripts/xc/uploadtiger ___________________________________________________________________ Added: svn:executable + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d _______________________________________________ Tigervnc-commits mailing list Tigervnc-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tigervnc-commits