]> source.dussan.org Git - tigervnc.git/commitdiff
Initial support for ubuntu focal
authorBrian P. Hinz <bphinz@users.sf.net>
Sat, 19 Dec 2020 20:30:16 +0000 (15:30 -0500)
committerBrian P. Hinz <bphinz@users.sf.net>
Sat, 19 Dec 2020 21:46:00 +0000 (16:46 -0500)
17 files changed:
.travis.yml
.travis/focal/Dockerfile [new file with mode: 0644]
.travis/focal/build.sh [new file with mode: 0755]
contrib/packages/deb/ubuntu-focal/debian/changelog [new file with mode: 0644]
contrib/packages/deb/ubuntu-focal/debian/compat [new file with mode: 0644]
contrib/packages/deb/ubuntu-focal/debian/control [new file with mode: 0644]
contrib/packages/deb/ubuntu-focal/debian/copyright [new file with mode: 0644]
contrib/packages/deb/ubuntu-focal/debian/rules [new file with mode: 0644]
contrib/packages/deb/ubuntu-focal/debian/source/format [new file with mode: 0644]
contrib/packages/deb/ubuntu-focal/debian/tigervncserver.postinst.in [new file with mode: 0644]
contrib/packages/deb/ubuntu-focal/debian/tigervncserver.prerm [new file with mode: 0644]
contrib/packages/deb/ubuntu-focal/debian/xorg-source-patches/100_rethrow_signals.patch [new file with mode: 0644]
contrib/packages/deb/ubuntu-focal/debian/xorg-source-patches/516_tigervnc-xorg-manpages.patch [new file with mode: 0644]
contrib/packages/deb/ubuntu-focal/debian/xorg-source-patches/debian_libtool.patch [new file with mode: 0644]
contrib/packages/deb/ubuntu-focal/debian/xtigervncviewer.menu [new file with mode: 0644]
contrib/packages/deb/ubuntu-focal/debian/xtigervncviewer.postinst [new file with mode: 0644]
contrib/packages/deb/ubuntu-focal/debian/xtigervncviewer.prerm [new file with mode: 0644]

index f221dc585a9c5ababc8edfc1b3d20696ad95273c..34493262bf15e7de2fa057ef9a38c8097f66275d 100644 (file)
@@ -5,6 +5,7 @@ env:
   - DOCKER=centos7
   - DOCKER=xenial
   - DOCKER=bionic
+  - DOCKER=focal
 
 matrix:
   include:
diff --git a/.travis/focal/Dockerfile b/.travis/focal/Dockerfile
new file mode 100644 (file)
index 0000000..7fea0d1
--- /dev/null
@@ -0,0 +1,13 @@
+FROM ubuntu:focal
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+RUN apt-get update
+RUN apt-get -y install packaging-dev equivs
+
+RUN useradd -s /bin/bash -m deb
+RUN echo >> /etc/sudoers
+RUN echo "deb ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
+
+USER deb
+WORKDIR /home/deb
diff --git a/.travis/focal/build.sh b/.travis/focal/build.sh
new file mode 100755 (executable)
index 0000000..892aefa
--- /dev/null
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+set -e
+set -x
+
+## Basic variables
+
+CURDIR=$(dirname $(readlink -f $0))
+TOPDIR=$(git rev-parse --show-toplevel 2>/dev/null)
+
+DEBDIR=${TOPDIR}/contrib/packages/deb/ubuntu-focal
+
+VERSION=$(grep '^set(VERSION ' ${TOPDIR}/CMakeLists.txt | sed 's@^set(VERSION \(.*\))@\1@')
+
+## Prepare the build directory
+
+rm -rf ${CURDIR}/build
+mkdir -p ${CURDIR}/build
+chmod a+w ${CURDIR}/build
+[ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled && chcon -Rt container_file_t ${CURDIR}/build
+
+## Copy over the source code
+
+(cd ${TOPDIR} && git archive --prefix tigervnc-${VERSION}/ HEAD) | xz > ${CURDIR}/build/tigervnc_${VERSION}.orig.tar.xz
+
+## Copy over the packaging files
+
+cp -r ${DEBDIR}/debian ${CURDIR}/build/debian
+
+chmod a+x ${CURDIR}/build/debian/rules
+
+# Assemble a fake changelog entry to get the correct version
+
+cat - > ${CURDIR}/build/debian/changelog << EOT
+tigervnc (${VERSION}-1ubuntu1) UNRELEASED; urgency=low
+
+  * Automated build for TigerVNC
+
+ -- Build bot <tigervncbot@tigervnc.org>  $(date -R)
+
+EOT
+cat ${DEBDIR}/debian/changelog >> ${CURDIR}/build/debian/changelog
+
+## Start the build
+
+docker run --volume ${CURDIR}/build:/home/deb/build --interactive --tty --rm tigervnc/${DOCKER} \
+       bash -c "
+       tar -C ~/build -axf ~/build/tigervnc_${VERSION}.orig.tar.xz &&
+       cp -a ~/build/debian ~/build/tigervnc-${VERSION}/debian &&
+       mk-build-deps ~/build/tigervnc-${VERSION}/debian/control &&
+       sudo dpkg --unpack ~/tigervnc-build-deps_*.deb &&
+       sudo apt-get update &&
+       sudo apt-get -f install -y &&
+       cd ~/build/tigervnc-${VERSION} && dpkg-buildpackage
+       "
diff --git a/contrib/packages/deb/ubuntu-focal/debian/changelog b/contrib/packages/deb/ubuntu-focal/debian/changelog
new file mode 100644 (file)
index 0000000..fc50c97
--- /dev/null
@@ -0,0 +1,5 @@
+tigervnc (1.11.80) focal; urgency=low
+
+  * Initial release.
+
+ -- Brian P. Hinz <bphinz@users.sourceforge.net>  Sat, 19 Dec 2020 15:27:35 -0400
diff --git a/contrib/packages/deb/ubuntu-focal/debian/compat b/contrib/packages/deb/ubuntu-focal/debian/compat
new file mode 100644 (file)
index 0000000..ec63514
--- /dev/null
@@ -0,0 +1 @@
+9
diff --git a/contrib/packages/deb/ubuntu-focal/debian/control b/contrib/packages/deb/ubuntu-focal/debian/control
new file mode 100644 (file)
index 0000000..a3cba9d
--- /dev/null
@@ -0,0 +1,70 @@
+Source: tigervnc
+Section: x11
+Priority: optional
+Maintainer: Brian P. Hinz <bphinz@users.sourceforge.net>
+Standards-Version: 3.8.4
+Build-Depends: debhelper (>= 9),dh-autoreconf,po-debconf,dpkg-dev (>= 1.16.1),quilt,lsb-release,pkg-config,bison,flex,xauth,xutils-dev (>= 1:7.6+4),xfonts-utils (>= 1:7.5+1),x11proto-bigreqs-dev (>= 1:1.1.0),x11proto-composite-dev (>= 1:0.4),x11proto-core-dev (>= 7.0.31),x11proto-damage-dev (>= 1.1),x11proto-fixes-dev (>= 1:5.0),x11proto-fonts-dev (>= 2.1.3),x11proto-kb-dev (>= 1.0.3),x11proto-xinerama-dev,x11proto-randr-dev (>= 1.5.0),x11proto-record-dev (>= 1.13.99.1),x11proto-render-dev (>= 2:0.11),x11proto-resource-dev (>= 1.2.0),x11proto-scrnsaver-dev,x11proto-video-dev,x11proto-xcmisc-dev (>= 1.2.0),x11proto-xext-dev (>= 7.2.99.901),x11proto-xf86bigfont-dev (>= 1.2.0),x11proto-xf86dga-dev (>= 2.0.99.1),x11proto-xf86vidmode-dev (>= 2.2.99.1),x11proto-present-dev,x11proto-dri3-dev,xtrans-dev (>= 1.3.5),libxau-dev (>= 1:1.0.5-2),x11proto-input-dev (>= 2.3),x11proto-dri2-dev (>= 2.8),libxdmcp-dev (>= 1:0.99.1),libxfont-dev (>= 1:2.0.1),libxkbfile-dev (>= 1:0.99.1),libpixman-1-dev (>= 0.27.2),libpciaccess-dev (>= 0.12.901),libgcrypt-dev,nettle-dev,libudev-dev (>= 151-3) [linux-any],libselinux1-dev (>= 2.0.80) [linux-any],libaudit-dev [linux-any],x11proto-xf86dri-dev (>= 2.1.0),libdrm-dev (>= 2.4.46) [!hurd-i386],x11proto-gl-dev (>= 1.4.17),libgl1-mesa-dev (>= 9.2),libxmuu-dev (>= 1:0.99.1),libxext-dev (>= 1:0.99.1),libx11-dev (>= 2:1.6),libxrender-dev (>= 1:0.9.0),libxi-dev (>= 2:1.6.99.1),x11proto-dmx-dev (>= 1:2.2.99.1),libdmx-dev (>= 1:1.0.1),libxpm-dev (>= 1:3.5.3),libxaw7-dev (>= 1:0.99.1),libxt-dev (>= 1:0.99.1),libxmu-dev (>= 1:0.99.1),libxtst-dev (>= 1:0.99.1),libxres-dev (>= 1:0.99.1),libxfixes-dev (>= 1:3.0.0),libxv-dev,libxinerama-dev,libxshmfence-dev (>= 1.1) [!hurd-i386],libepoxy-dev [linux-any kfreebsd-any],libegl1-mesa-dev [linux-any kfreebsd-any],libgbm-dev (>= 10.2) [linux-any kfreebsd-any],libxcb1-dev,libxcb-xkb-dev,libxcb-shape0-dev,libxcb-render0-dev,libxcb-render-util0-dev,libxcb-util0-dev,libxcb-image0-dev,libxcb-icccm4-dev,libxcb-shm0-dev,libxcb-keysyms1-dev,libxcb-randr0-dev,libxcb-xv0-dev,libxcb-glx0-dev,libxcb-xf86dri0-dev (>= 1.6),xkb-data,x11-xkb-utils,libbsd-dev,libwayland-dev [linux-any],wayland-protocols (>= 1.9) [linux-any],libdbus-1-dev (>= 1.0) [linux-any],libsystemd-dev [linux-any],libmirclient-dev (>= 0.13.1) [!powerpc !ppc64el !s390x],mir-client-platform-mesa-dev,zlib1g-dev,libjpeg-turbo8-dev,perl-modules,cmake,gnutls-dev,libpam0g-dev,libpng-dev,automake,autoconf,libtool,pkg-config,openjdk-8-jdk,xorg-server-source,libfltk1.3-dev,fluid,curl,bzip2,quilt,libosmesa6-dev,libgl1-mesa-dri,libgl1-mesa-glx,libxft-dev,xfonts-base,libexpat1-dev,libfontconfig1-dev,libglu1-mesa-dev,libxcursor-dev,libxrandr-dev,libcairo2-dev,mesa-common-dev
+Homepage: http://www.tigervnc.com
+
+Package: tigervncserver
+Architecture: any
+Provides: xserver, vnc-server
+Depends: x11-common | xserver-common, x11-utils, xauth, libbz2-1.0, libc6, libfontenc1, libfreetype6, libgcc1, libgl1-mesa-dri, libgnutls30, libjpeg-turbo8, libp11-kit0, libpam0g, libpixman-1-0, libstdc++6, libtasn1-6, libx11-6, libxau6, libxcb1, libxdmcp6, libxext6, libxfont-dev, libxtst6, zlib1g, libglu1-mesa, libxcursor1, libxinerama1, libxfixes3, x11-xkb-utils
+Recommends: xfonts-base, x11-xserver-utils
+Suggests: xtigervncviewer, tigervnc-java
+Description: virtual network computing server software
+ Virtual Network Computing (VNC) is a remote display system which allows you to
+ view and interact with a virtual desktop environment that is running on another
+ computer on the network.  Using VNC, you can run graphical applications on a
+ remote machine and send only the display from these applications to your local
+ machine.  VNC is platform-independent and supports a wide variety of operating
+ systems and architectures as both servers and clients.
+ .
+ TigerVNC is a high-speed version of VNC based on the RealVNC 4 and X.org code
+ bases.  TigerVNC started as a next-generation development effort for TightVNC
+ on Unix and Linux platforms, but it split from its parent project in early 2009
+ so that TightVNC could focus on Windows platforms.  TigerVNC supports a variant
+ of Tight encoding that is greatly accelerated by the use of the libjpeg-turbo
+ JPEG codec.
+
+Package: xtigervncviewer
+Architecture: any
+Provides: vncviewer, vnc-viewer
+Depends: libc6, libexpat1, libfontconfig1, libfreetype6, libgcc1, libgnutls30, libjpeg-turbo8, libp11-kit0, libpng16-16, libstdc++6, libtasn1-6, libx11-6, libxau6, libxcb1, libxdmcp6, libxext6, libxft2, libxrender1, zlib1g, libglu1-mesa, libxcursor1, libxinerama1, libxfixes3, libfltk1.3, libfltk-images1.3
+Recommends: xfonts-base
+Suggests: tigervncserver, ssh
+Description: virtual network computing client software for X
+ Virtual Network Computing (VNC) is a remote display system which allows you to
+ view and interact with a virtual desktop environment that is running on another
+ computer on the network.  Using VNC, you can run graphical applications on a
+ remote machine and send only the display from these applications to your local
+ machine.  VNC is platform-independent and supports a wide variety of operating
+ systems and architectures as both servers and clients.
+ .
+ TigerVNC is a high-speed version of VNC based on the RealVNC 4 and X.org code
+ bases.  TigerVNC started as a next-generation development effort for TightVNC
+ on Unix and Linux platforms, but it split from its parent project in early 2009
+ so that TightVNC could focus on Windows platforms.  TigerVNC supports a variant
+ of Tight encoding that is greatly accelerated by the use of the libjpeg-turbo
+ JPEG codec.
+
+Package: tigervnc-java
+Architecture: any
+Suggests: tigervncserver
+Provides: vncviewer, vnc-viewer
+Depends:  default-jre
+Description: TigerVNC java applet
+ Virtual Network Computing (VNC) is a remote display system which allows you to
+ view and interact with a virtual desktop environment that is running on another
+ computer on the network.  Using VNC, you can run graphical applications on a
+ remote machine and send only the display from these applications to your local
+ machine.  VNC is platform-independent and supports a wide variety of operating
+ systems and architectures as both servers and clients.
+ .
+ TigerVNC is a high-speed version of VNC based on the RealVNC 4 and X.org code
+ bases.  TigerVNC started as a next-generation development effort for TightVNC
+ on Unix and Linux platforms, but it split from its parent project in early 2009
+ so that TightVNC could focus on Windows platforms.  TigerVNC supports a variant
+ of Tight encoding that is greatly accelerated by the use of the libjpeg-turbo
+ JPEG codec.
+
diff --git a/contrib/packages/deb/ubuntu-focal/debian/copyright b/contrib/packages/deb/ubuntu-focal/debian/copyright
new file mode 100644 (file)
index 0000000..905754e
--- /dev/null
@@ -0,0 +1,116 @@
+This package was packaged for Debian by Brian P. Hinz <bphinz@users.sourceforge.net>
+on Mon, 28 Oct 2019 21:29:33 +0500 using the tightvnc package as a base.
+
+It was downloaded from:
+       https://www.tigervnc.org/
+
+COPYRIGHT:
+==========
+
+TigerVNC is
+
+        Copyright (C) 1999 AT&T Laboratories Cambridge
+        Copyright (C) 2002-2005 RealVNC Ltd.
+        Copyright (C) 2000-2006 TightVNC Group
+        Copyright (C) 2005-2006 Martin Koegler
+        Copyright (C) 2005-2006 Sun Microsystems, Inc.
+        Copyright (C) 2006 OCCAM Financial Technology
+        Copyright (C) 2000-2008 Constantin Kaplinsky
+        Copyright (C) 2004-2017 Peter Astrand for Cendio AB
+        Copyright (C) 2010 Antoine Martin
+        Copyright (C) 2010 m-privacy GmbH
+        Copyright (C) 2009-2011 D. R. Commander
+        Copyright (C) 2009-2011 Pierre Ossman for Cendio AB
+        Copyright (C) 2004, 2009-2011 Red Hat, Inc.
+        Copyright (C) 2009-2019 TigerVNC Team
+        All Rights Reserved.
+
+This software is distributed under the GNU General Public Licence as published
+by the Free Software Foundation.  See the file LICENCE.TXT for the conditions
+under which this software is made available.  TigerVNC also contains code from
+other sources.  See the Acknowledgements section below, and the individual
+source files, for details of the conditions under which they are made
+available.
+
+ACKNOWLEDGEMENTS
+================
+
+This distribution contains zlib compression software.  This is:
+
+  Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  Jean-loup Gailly        Mark Adler
+  jloup@gzip.org          madler@alumni.caltech.edu
+
+  The data format used by the zlib library is described by RFCs (Request for
+  Comments) 1950 to 1952 in the files ftp://ds.internic.net/rfc/rfc1950.txt
+  (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
+
+
+This distribution contains public domain DES software by Richard Outerbridge.
+This is:
+
+    Copyright (c) 1988,1989,1990,1991,1992 by Richard Outerbridge.
+    (GEnie : OUTER; CIS : [71755,204]) Graven Imagery, 1992.
+
+
+This distribution contains software from the X Window System.  This is:
+
+ Copyright 1987, 1988, 1998  The Open Group
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+ OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ Except as contained in this notice, the name of The Open Group shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from The Open Group.
+ Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+                         All Rights Reserved
+ Permission to use, copy, modify, and distribute this software and its 
+ documentation for any purpose and without fee is hereby granted, 
+ provided that the above copyright notice appear in all copies and that
+ both that copyright notice and this permission notice appear in 
+ supporting documentation, and that the name of Digital not be
+ used in advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.  
+ DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
diff --git a/contrib/packages/deb/ubuntu-focal/debian/rules b/contrib/packages/deb/ubuntu-focal/debian/rules
new file mode 100644 (file)
index 0000000..7590e91
--- /dev/null
@@ -0,0 +1,289 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 by Joey Hess.
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+
+CFLAGS   := $(shell dpkg-buildflags --get CFLAGS)
+CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
+CXXFLAGS := $(shell dpkg-buildflags --get CXXFLAGS)
+LDFLAGS  := $(shell dpkg-buildflags --get LDFLAGS)
+
+export CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+
+NUMJOBS := -j$(shell nproc)
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_HOST_ARCH_OS   ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+       confflags += --build=$(DEB_HOST_GNU_TYPE)
+else
+       confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+endif
+SOURCE_NAME    := tigervnc
+SOURCE_VERSION := $(shell dpkg-parsechangelog | awk -F': ' '/^Version: / {print $$2}')
+BUILDER=For technical support please see http://sourceforge.net/projects/tigervnc/support
+libdir = /usr/lib/$(DEB_HOST_MULTIARCH)
+
+
+ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
+       CFLAGS += -g -O2 -fPIC
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+       INSTALL_PROGRAM += -s
+endif
+
+export CC = gcc
+
+# use xorg sources as shipped in xorg-server-source package
+XORG_SOURCE_ARCHIVE = /usr/src/xorg-server.tar.xz
+
+xorg-source-stamp: $(XORG_SOURCE_ARCHIVE)
+       tar -C unix/xserver -axf $(XORG_SOURCE_ARCHIVE) --strip-components=1
+       cd unix/xserver && patch -p1 < ../xserver120.patch
+       patch -p1 < debian/xorg-source-patches/100_rethrow_signals.patch
+       patch -p1 < debian/xorg-source-patches/516_tigervnc-xorg-manpages.patch
+       touch xorg-source-stamp
+
+configure: config-stamp
+config-stamp: xorg-source-stamp
+       dh_testdir
+       # Add here commands to configure the package.
+       cmake -G"Unix Makefiles" \
+               -DBUILD_STATIC=off \
+               -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+               -DCMAKE_INSTALL_LIBEXECDIR:PATH=lib/$(DEB_HOST_MULTIARCH) \
+               -DCMAKE_INSTALL_UNITDIR:PATH=/lib/systemd/system
+       (cd unix/xserver; \
+       export PIXMANINCDIR=/usr/include/pixman-1; \
+       autoreconf -fiv; \
+  patch -p1 -i ../../debian/xorg-source-patches/debian_libtool.patch; \
+       ./configure --prefix=/usr \
+               --disable-silent-rules \
+               --disable-static \
+               --without-dtrace \
+               --disable-strict-compilation \
+               --disable-debug \
+               --disable-unit-tests \
+               --with-int10=x86emu \
+               --with-extra-module-dir="/usr/lib/${DEB_HOST_MULTIARCH}/xorg/extra-modules,/usr/lib/xorg/extra-modules" \
+               --with-os-vendor="$(VENDOR)" \
+               --with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" \
+               --with-xkb-path=/usr/share/X11/xkb \
+               --with-xkb-output=/var/lib/xkb \
+               --with-default-xkb-rules=evdev \
+               --disable-devel-docs \
+               --enable-mitshm \
+               --enable-xres \
+               --disable-xcsecurity \
+               --disable-tslib \
+               --enable-dbe \
+               --disable-xf86bigfont \
+               --disable-dpms \
+               --disable-config-hal \
+               --disable-config-udev \
+               --disable-xorg \
+               --disable-xquartz \
+               --disable-xwin \
+               --disable-xfake \
+               --disable-install-setuid \
+               --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,/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType,built-ins" \
+               --enable-aiglx \
+               --enable-composite \
+               --enable-record \
+               --enable-xv \
+               --enable-xvmc \
+               --enable-dga \
+               --enable-screensaver \
+               --enable-xdmcp \
+               --enable-xdm-auth-1 \
+               --enable-glx \
+               --disable-dri --enable-dri2 --disable-dri3 \
+               --enable-xinerama \
+               --enable-xf86vidmode \
+               --enable-xace \
+               --enable-xfree86-utils \
+               --disable-dmx \
+               --disable-xvfb \
+               --disable-xnest \
+               --disable-kdrive \
+               --disable-xephyr \
+               --enable-xfbdev \
+               --with-sha1=libgcrypt \
+               --enable-xcsecurity \
+               --disable-docs \
+               --disable-selective-werror)
+       touch config-stamp
+
+build-arch: config-stamp build-arch-stamp
+build-arch-stamp:
+       dh_testdir
+
+       # Add here command to compile/build the package.
+       # Build first things.
+       # Build Xvnc
+       make $(NUMJOBS) LDFLAGS="-lpng"
+       make $(NUMJOBS) -C unix/xserver
+
+       touch build-arch-stamp
+
+build-indep: config-stamp  build-indep-stamp
+build-indep-stamp:
+       dh_testdir
+
+       # Add here command to compile/build the arch indep package.
+       # It's ok not to do anything here, if you don't need to build
+       #  anything for this package.
+       #/usr/bin/docbook-to-man debian/vnc.sgml > vnc.1
+       (cd media;make)
+       #(cd java;cmake -G"Unix Makefiles";make)
+
+       touch build-indep-stamp
+
+build: build-arch build-indep
+
+clean:
+       dh_testdir
+       dh_testroot
+       rm -f build-arch-stamp build-indep-stamp config-stamp
+
+       # Add here commands to clean up after the build process.
+       dh_clean
+
+install: DH_OPTIONS=
+install: build
+       dh_testdir
+       dh_testroot
+       dh_clean -k
+       dh_prep
+       dh_installdirs
+       # Add here commands to install the package into debian/vnc.
+       make install DESTDIR=$(CURDIR)/debian/tigervncserver
+       (cd unix/xserver/hw/vnc; make install DESTDIR=$(CURDIR)/debian/tigervncserver)
+       # rename server files to tigervnc specific names
+       mv $(CURDIR)/debian/tigervncserver/usr/bin/Xvnc \
+               $(CURDIR)/debian/tigervncserver/usr/bin/Xtigervnc
+       mv $(CURDIR)/debian/tigervncserver/usr/bin/vncconfig \
+               $(CURDIR)/debian/tigervncserver/usr/bin/tigervncconfig
+       mv $(CURDIR)/debian/tigervncserver/usr/bin/vncpasswd \
+               $(CURDIR)/debian/tigervncserver/usr/bin/tigervncpasswd
+       mv $(CURDIR)/debian/tigervncserver/usr/bin/x0vncserver \
+               $(CURDIR)/debian/tigervncserver/usr/bin/x0tigervncserver
+       mv $(CURDIR)/debian/tigervncserver/usr/sbin/vncsession \
+               $(CURDIR)/debian/tigervncserver/usr/sbin/tigervncsession
+       mv $(CURDIR)/debian/tigervncserver/usr/lib/$(DEB_HOST_MULTIARCH)/vncserver \
+               $(CURDIR)/debian/tigervncserver/usr/lib/$(DEB_HOST_MULTIARCH)/tigervncserver
+       mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/vncconfig.1 \
+               $(CURDIR)/debian/tigervncserver/usr/share/man/man1/tigervncconfig.1
+       mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/vncpasswd.1 \
+               $(CURDIR)/debian/tigervncserver/usr/share/man/man1/tigervncpasswd.1
+       mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/x0vncserver.1 \
+               $(CURDIR)/debian/tigervncserver/usr/share/man/man1/x0tigervncserver.1
+       mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/Xvnc.1 \
+               $(CURDIR)/debian/tigervncserver/usr/share/man/man1/Xtigervnc.1
+       mv $(CURDIR)/debian/tigervncserver/usr/share/man/man8/vncsession.8 \
+               $(CURDIR)/debian/tigervncserver/usr/share/man/man8/tigervncsession.8
+       mv $(CURDIR)/debian/tigervncserver/usr/share/man/man8/vncserver.8 \
+               $(CURDIR)/debian/tigervncserver/usr/share/man/man8/tigervncserver.8
+       # delete development files
+       rm -f $(CURDIR)/debian/tigervncserver/usr/lib/xorg/modules/extensions/libvnc.la
+       # move viewer files to viewer package, rename on the fly
+       mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/bin
+       mv $(CURDIR)/debian/tigervncserver/usr/bin/vncviewer \
+               $(CURDIR)/debian/xtigervncviewer/usr/bin/xtigervncviewer
+       mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/share/man/man1
+       mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/vncviewer.1 \
+               $(CURDIR)/debian/xtigervncviewer/usr/share/man/man1/xtigervncviewer.1
+       mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/share
+       mv $(CURDIR)/debian/tigervncserver/usr/share/applications \
+               $(CURDIR)/debian/xtigervncviewer/usr/share/
+       mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/share
+       mv $(CURDIR)/debian/tigervncserver/usr/share/icons \
+               $(CURDIR)/debian/xtigervncviewer/usr/share/
+       # tigervnc-java
+       #mkdir -p $(CURDIR)/debian/tigervnc-java/usr/share
+       #(cd java; make install DESTDIR=$(CURDIR)/debian/tigervnc-java/usr/share)
+       # install additional license files
+       mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/share/doc/xtigervncviewer
+       cp $(CURDIR)/debian/tigervncserver/usr/share/doc/tigervnc/* \
+               $(CURDIR)/debian/xtigervncviewer/usr/share/doc/xtigervncviewer/
+       #mkdir -p $(CURDIR)/debian/tigervnc-java/usr/share/doc/tigervnc-java
+       #cp $(CURDIR)/debian/tigervncserver/usr/share/doc/tigervnc/* \
+               #$(CURDIR)/debian/tigervnc-java/usr/share/doc/tigervnc-java/
+       mkdir -p $(CURDIR)/debian/tigervncserver/usr/share/doc/tigervncserver
+       mv $(CURDIR)/debian/tigervncserver/usr/share/doc/tigervnc \
+               $(CURDIR)/debian/tigervncserver/usr/share/doc/tigervncserver
+#      dh_movefiles
+       sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \
+               debian/tigervncserver.postinst.in > debian/tigervncserver.postinst
+
+# Build architecture-independent files here.
+# Pass -i to all debhelper commands in this target to reduce clutter.
+binary-indep: build install
+
+binary-indep-keep:
+       dh_testdir -i
+       dh_testroot -i
+#      dh_installdebconf -i
+       dh_install
+       dh_installdocs -i
+       dh_installexamples -i
+       dh_installmenu -i
+#      dh_installlogrotate -i
+#      dh_installemacsen -i
+#      dh_installpam -i
+#      dh_installmime -i
+#      dh_installinit -i
+       dh_installcron -i
+       dh_installman -i
+       dh_installinfo -i
+#      dh_undocumented -i
+       dh_installchangelogs  -i
+       dh_link -i
+       dh_compress -i
+       dh_fixperms -i
+       dh_installdeb -i
+       dh_perl -i
+       dh_gencontrol -i
+       dh_md5sums -i
+       dh_builddeb -i
+
+# Build architecture-dependent files here.
+binary-arch: build install
+       dh_testdir -a
+       dh_testroot -a
+#      dh_installdebconf -a
+       dh_installdocs -a
+#      dh_installexamples -a
+       dh_installmenu -a
+#      dh_installlogrotate -a
+#      dh_installemacsen -a
+#      dh_installpam -a
+#      dh_installmime -a
+       dh_install
+       dh_installinit -a
+#      dh_installcron -a
+       dh_installman -a
+       dh_installinfo -a
+#      dh_undocumented -a
+       dh_installchangelogs  -a
+       # Remove empty directories
+       dh_strip -a
+       dh_link -a
+       dh_compress -a
+       dh_fixperms -a
+       dh_makeshlibs -a
+       dh_installdeb -a
+       dh_perl -a
+       dh_shlibdeps -a
+       dh_gencontrol -a
+       dh_md5sums -a
+       dh_builddeb -a
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install
diff --git a/contrib/packages/deb/ubuntu-focal/debian/source/format b/contrib/packages/deb/ubuntu-focal/debian/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/contrib/packages/deb/ubuntu-focal/debian/tigervncserver.postinst.in b/contrib/packages/deb/ubuntu-focal/debian/tigervncserver.postinst.in
new file mode 100644 (file)
index 0000000..2491329
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "configure" ]; then
+    MAN=/usr/share/man
+    BIN=/usr/bin
+    SBIN=/usr/sbin
+    LIB=/usr/lib/@DEB_HOST_MULTIARCH@
+    update-alternatives --install \
+       $SBIN/vncsession          vncsession      $SBIN/tigervncsession 64 \
+       --slave \
+       $LIB/vncserver            vncserver       $LIB/tigervncserver \
+       --slave \
+       $MAN/man8/vncsession.8.gz vncsession.8.gz $MAN/man8/tigervncsession.8.gz \
+       --slave \
+       $MAN/man8/vncserver.8.gz  vncserver.8.gz  $MAN/man8/tigervncserver.8.gz
+    update-alternatives --install \
+       $BIN/Xvnc            Xvnc            $BIN/Xtigervnc 74 \
+       --slave \
+       $MAN/man1/Xvnc.1.gz  Xvnc.1.gz       $MAN/man1/Xtigervnc.1.gz
+    update-alternatives --install \
+       $BIN/x0vncserver           x0vncserver     $BIN/x0tigervncserver 74 \
+       --slave \
+       $MAN/man1/x0vncserver.1.gz x0vncserver.1.gz $MAN/man1/x0tigervncserver.1.gz
+    update-alternatives --install \
+       $BIN/vncpasswd           vncpasswd            $BIN/tigervncpasswd 74 \
+       --slave \
+       $MAN/man1/vncpasswd.1.gz vncpasswd.1.gz       $MAN/man1/tigervncpasswd.1.gz
+    update-alternatives --install \
+       $BIN/vncconfig           vncconfig       $BIN/tigervncconfig 64 \
+       --slave \
+       $MAN/man1/vncconfig.1.gz vncconfig.1.gz  $MAN/man1/tigervncconfig.1.gz
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/contrib/packages/deb/ubuntu-focal/debian/tigervncserver.prerm b/contrib/packages/deb/ubuntu-focal/debian/tigervncserver.prerm
new file mode 100644 (file)
index 0000000..2e8e77c
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "remove" ] ; then
+    BIN=/usr/bin
+    SBIN=/usr/sbin
+    update-alternatives --remove \
+       vncsession $SBIN/tigervncsession
+    update-alternatives --remove \
+       Xvnc $BIN/Xtigervnc
+    update-alternatives --remove \
+       x0vncserver $BIN/x0tigervncserver
+    update-alternatives --remove \
+       vncpasswd $BIN/tigervncpasswd
+    update-alternatives --remove \
+       tigervncconfig $BIN/tigervncconfig
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/contrib/packages/deb/ubuntu-focal/debian/xorg-source-patches/100_rethrow_signals.patch b/contrib/packages/deb/ubuntu-focal/debian/xorg-source-patches/100_rethrow_signals.patch
new file mode 100644 (file)
index 0000000..8c24720
--- /dev/null
@@ -0,0 +1,22 @@
+diff -up tigervnc-1.10.80/unix/xserver/hw/vnc/xvnc.c.orig tigervnc-1.10.80/unix/xserver/hw/vnc/xvnc.c
+--- tigervnc-1.10.80/unix/xserver/hw/vnc/xvnc.c.orig   2020-04-02 11:18:00.000000000 +0200
++++ tigervnc-1.10.80/unix/xserver/hw/vnc/xvnc.c        2020-04-02 12:44:06.365607230 +0200
+@@ -229,11 +229,17 @@ void ddxGiveUp(enum ExitCode error)
+ }
+ void
+-AbortDDX(enum ExitCode error)
++SigAbortDDX(int signo, enum ExitCode error)
+ {
+     ddxGiveUp(error);
+ }
++void
++AbortDDX(enum ExitCode error)
++{
++    SigAbortDDX(0, error);
++}
++
+ #ifdef __DARWIN__
+ void
+ DarwinHandleGUI(int argc, char *argv[])
diff --git a/contrib/packages/deb/ubuntu-focal/debian/xorg-source-patches/516_tigervnc-xorg-manpages.patch b/contrib/packages/deb/ubuntu-focal/debian/xorg-source-patches/516_tigervnc-xorg-manpages.patch
new file mode 100644 (file)
index 0000000..4575f6a
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/unix/xserver/man/Makefile.am     2013-03-30 17:51:01.707258746 -0400
++++ b/unix/xserver/man/Makefile.am     2013-03-30 17:51:47.606569692 -0400
+@@ -2,5 +2,7 @@
+ # (i.e. those handled in the os/utils.c options processing instead of in
+ #  the DDX-level options processing)
++if ENABLE_DOCS
+ include $(top_srcdir)/manpages.am
+ appman_PRE = Xserver.man
++endif ENABLE_DOCS 
diff --git a/contrib/packages/deb/ubuntu-focal/debian/xorg-source-patches/debian_libtool.patch b/contrib/packages/deb/ubuntu-focal/debian/xorg-source-patches/debian_libtool.patch
new file mode 100644 (file)
index 0000000..d24877d
--- /dev/null
@@ -0,0 +1,87 @@
+Index: a/ltmain.sh
+===================================================================
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -7890,19 +7890,19 @@
+           # It is a libtool convenience library, so add in its objects.
+           func_append convenience " $ladir/$objdir/$old_library"
+           func_append old_convenience " $ladir/$objdir/$old_library"
+-          tmp_libs=
+-          for deplib in $dependency_libs; do
+-            deplibs="$deplib $deplibs"
+-            if $opt_preserve_dup_deps; then
+-              case "$tmp_libs " in
+-              *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+-              esac
+-            fi
+-            func_append tmp_libs " $deplib"
+-          done
+         elif test prog != "$linkmode" && test lib != "$linkmode"; then
+           func_fatal_error "'$lib' is not a convenience library"
+         fi
++        tmp_libs=
++        for deplib in $dependency_libs; do
++          deplibs="$deplib $deplibs"
++          if $opt_preserve_dup_deps; then
++            case "$tmp_libs " in
++            *" $deplib "*) func_append specialdeplibs " $deplib" ;;
++            esac
++          fi
++          func_append tmp_libs " $deplib"
++        done
+         continue
+       fi # $pass = conv
+## Do not link against deplibs.  This is not needed for shared libs
+## on atleast ELF systems since those already know which libs they
+## need themself.  This seems to break a few things and will be fixed
+## in a better way in a future upstream version.
+
+Index: a/ltmain.sh
+===================================================================
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -7568,10 +7568,7 @@
+       case $pass in
+       dlopen) libs=$dlfiles ;;
+       dlpreopen) libs=$dlprefiles ;;
+-      link)
+-        libs="$deplibs %DEPLIBS%"
+-        test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+-        ;;
++      link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+       esac
+       fi
+       if test lib,dlpreopen = "$linkmode,$pass"; then
+Index: a/m4/libtool.m4
+===================================================================
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -4936,9 +4936,6 @@
+       ;;
+     esac
+     ;;
+-  linux* | k*bsd*-gnu | gnu*)
+-    _LT_TAGVAR(link_all_deplibs, $1)=no
+-    ;;
+   *)
+     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+     ;;
+@@ -4998,9 +5001,6 @@
+   openbsd* | bitrig*)
+     with_gnu_ld=no
+     ;;
+-  linux* | k*bsd*-gnu | gnu*)
+-    _LT_TAGVAR(link_all_deplibs, $1)=no
+-    ;;
+   esac
+   _LT_TAGVAR(ld_shlibs, $1)=yes
+@@ -5773,7 +5779,6 @@
+       if test yes = "$lt_cv_irix_exported_symbol"; then
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
+       fi
+-      _LT_TAGVAR(link_all_deplibs, $1)=no
+       else
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
diff --git a/contrib/packages/deb/ubuntu-focal/debian/xtigervncviewer.menu b/contrib/packages/deb/ubuntu-focal/debian/xtigervncviewer.menu
new file mode 100644 (file)
index 0000000..aac942c
--- /dev/null
@@ -0,0 +1,5 @@
+?package(xtigervncviewer):needs="x11" \
+  section="Applications/Network/Communication" \
+  hints="VNC,remote-control"\
+  title="xtigervncviewer" \
+  command="/usr/bin/xtigervncviewer"
diff --git a/contrib/packages/deb/ubuntu-focal/debian/xtigervncviewer.postinst b/contrib/packages/deb/ubuntu-focal/debian/xtigervncviewer.postinst
new file mode 100644 (file)
index 0000000..4df0c65
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/sh -e
+
+if [ "$1" = "configure" ]; then
+    MAN=/usr/share/man/man1
+    BIN=/usr/bin
+    update-alternatives --install \
+       $BIN/vncviewer       vncviewer       $BIN/xtigervncviewer 74 \
+       --slave \
+       $MAN/vncviewer.1.gz  vncviewer.1.gz  $MAN/xtigervncviewer.1.gz \
+       --slave \
+       $MAN/xvncviewer.1.gz xvncviewer.1.gz $MAN/xtigervncviewer.1.gz \
+       --slave \
+       $BIN/xvncviewer      xvncviewer      $BIN/xtigervncviewer
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/contrib/packages/deb/ubuntu-focal/debian/xtigervncviewer.prerm b/contrib/packages/deb/ubuntu-focal/debian/xtigervncviewer.prerm
new file mode 100644 (file)
index 0000000..7a51fd2
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh -e
+
+if [ "$1" = "remove" ] ; then
+    BIN=/usr/bin
+    update-alternatives --remove \
+       vncviewer $BIN/xtigervncviewer
+fi
+
+#DEBHELPER#
+
+exit 0