]> source.dussan.org Git - tigervnc.git/commitdiff
Add build scripts for ubunto 18.04 (bionic)
authorBrian P. Hinz <bphinz@users.sf.net>
Tue, 29 Oct 2019 01:34:11 +0000 (21:34 -0400)
committerBrian P. Hinz <bphinz@users.sf.net>
Tue, 29 Oct 2019 09:50:28 +0000 (05:50 -0400)
16 files changed:
contrib/packages/deb/ubuntu-bionic/debian/changelog [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/compat [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/control [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/copyright [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/local/vncserver.service [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/local/vncserver.sysconfig [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/rules [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/source/format [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/tigervncserver.postinst [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/tigervncserver.prerm [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/xorg-source-patches/100_rethrow_signals.patch [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/xorg-source-patches/516_tigervnc-xorg-manpages.patch [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/xorg-source-patches/debian_libtool.patch [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/xtigervncviewer.menu [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/xtigervncviewer.postinst [new file with mode: 0644]
contrib/packages/deb/ubuntu-bionic/debian/xtigervncviewer.prerm [new file with mode: 0644]

diff --git a/contrib/packages/deb/ubuntu-bionic/debian/changelog b/contrib/packages/deb/ubuntu-bionic/debian/changelog
new file mode 100644 (file)
index 0000000..7e11956
--- /dev/null
@@ -0,0 +1,5 @@
+tigervnc (1.10.0) bionic; urgency=low
+
+  * Initial release.
+
+ -- Brian P. Hinz <bphinz@users.sourceforge.net>  Mon, 28 Oct 2019 21:25:09 -0400
diff --git a/contrib/packages/deb/ubuntu-bionic/debian/compat b/contrib/packages/deb/ubuntu-bionic/debian/compat
new file mode 100644 (file)
index 0000000..ec63514
--- /dev/null
@@ -0,0 +1 @@
+9
diff --git a/contrib/packages/deb/ubuntu-bionic/debian/control b/contrib/packages/deb/ubuntu-bionic/debian/control
new file mode 100644 (file)
index 0000000..6fa5a20
--- /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 (>> 7.1), zlib1g-dev, libjpeg-turbo8-dev, libxaw7-dev (>> 4.1.0), perl-modules, xfonts-base, xutils-dev, libx11-dev, libxau-dev, libxext-dev, libxi-dev, libxkbfile-dev, libxmu-dev, libxt-dev, x11proto-core-dev, cmake, gnutls-dev, libpam0g-dev, libpng-dev, automake, autoconf, libtool, pkg-config, libpixman-1-dev, x11proto-bigreqs-dev, x11proto-composite-dev, x11proto-damage-dev, x11proto-dri2-dev, x11proto-fixes-dev, x11proto-fonts-dev, x11proto-gl-dev, x11proto-input-dev, x11proto-kb-dev, x11proto-randr-dev, x11proto-render-dev, x11proto-resource-dev, x11proto-scrnsaver-dev, x11proto-video-dev, x11proto-xext-dev, x11proto-xf86bigfont-dev, x11proto-xf86dga-dev, x11proto-xf86dri-dev, x11proto-xf86vidmode-dev, x11proto-xinerama-dev, libosmesa6-dev, libgl1-mesa-dev, libgl1-mesa-dri, libgl1-mesa-glx, libxfont-dev, x11proto-record-dev, default-jdk, libxtst-dev, libxft-dev, libexpat1-dev, libfontconfig1-dev, libxrender-dev, libpciaccess-dev, curl, bzip2, quilt, libglu1-mesa-dev, libxcursor-dev, libxinerama-dev, libxfixes-dev, libxfont-dev, libxrandr-dev, libcairo2-dev, x11proto-dri3-dev, x11proto-xcmisc-dev, x11proto-present-dev, xorg-server-source, libfltk1.3-dev, fluid
+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-bin, 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-bin, 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-bionic/debian/copyright b/contrib/packages/deb/ubuntu-bionic/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-bionic/debian/local/vncserver.service b/contrib/packages/deb/ubuntu-bionic/debian/local/vncserver.service
new file mode 100644 (file)
index 0000000..86a8a91
--- /dev/null
@@ -0,0 +1,94 @@
+#!/bin/bash
+#
+# Init file for TigerVNC Server
+#
+# chkconfig: - 91 35
+# description: TigerVNC remote X administration daemon.
+#
+# processname: Xvnc
+
+### BEGIN INIT INFO
+# Provides: vncservers
+# Required-Start: networking
+# Required-Stop: networking
+# Default-Start:
+# Default-Stop: 0 1 2 3 4 5 6
+# Short-Description: Starts and stops vncserver
+# Description: Used to provide remote X administration services.
+### END INIT INFO
+
+# Source function library.
+. /lib/lsb/init-functions
+
+### Default variables
+SYSCONFIG="/etc/default/vncservers"
+VNCSERVERS=""
+
+### Read configuration
+[ -r "$SYSCONFIG" ] && . "$SYSCONFIG"
+
+RETVAL=0
+prog=$"VNC server"
+
+start() {
+  echo -n $"Starting $prog: "
+  ulimit -S -c 0 >/dev/null 2>&1
+  for display in ${VNCSERVERS}; do
+    echo -n "${display} "
+    if [ -r $(eval echo ~${display##*:})/.vnc/passwd ]; then
+      unset BASH_ENV ENV
+      log_begin_msg "Starting VNC Server for user ${display##*:}:"
+      su ${display##*:} -c "cd ~${display##*:} && [ -f .vnc/passwd ] && vncserver :${display%%:*} ${VNCSERVERARGS[${display%:*}]}"
+      RETVAL="$?"
+      if [ "$RETVAL" -ne 0 ]; then
+        log_end_msg 1
+        break
+      else
+        log_end_msg 0
+      fi
+    else
+      log_begin_msg "Not starting VNC Server for user ${display##*:}.\n   File \"~${display##*:}/.vnc/passwd\" not found.\n   Create a password file for the VNC server with vncpasswd"
+      log_end_msg 1
+         fi
+  done
+  echo
+  [ "$RETVAL" -eq 0 ] && touch "/var/lock/vncserver"
+  return $RETVAL
+}
+
+stop() {
+    echo -n $"Shutting down $desc: "
+    for display in ${VNCSERVERS}; do
+      echo -n "${display} "
+      unset BASH_ENV ENV
+      log_begin_msg "Shutting down VNC Server for user ${display##*:}: "
+      su ${display##*:} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1
+      RETVAL="$?"
+      [ "$RETVAL" -eq 0 ] && log_end_msg 0 || log_end_msg 1
+    done
+    echo
+    [ "$RETVAL" -eq 0 ] && rm -f "/var/lock/vncserver"
+    return $RETVAL
+}
+
+restart() {
+    stop
+    start
+}
+
+case "$1" in
+  start)
+    start
+    ;;
+  stop)
+    stop
+    ;;
+  restart|reload)
+    restart
+    ;;
+  *)
+    echo $"Usage: $0 {start|stop|restart}"
+    RETVAL=1
+esac
+
+exit $RETVAL
diff --git a/contrib/packages/deb/ubuntu-bionic/debian/local/vncserver.sysconfig b/contrib/packages/deb/ubuntu-bionic/debian/local/vncserver.sysconfig
new file mode 100644 (file)
index 0000000..d18d0f1
--- /dev/null
@@ -0,0 +1,19 @@
+# The VNCSERVERS variable is a list of display:user pairs.
+#
+# Uncomment the lines below to start a VNC server on display :2
+# as my 'myusername' (adjust this to your own).  You will also
+# need to set a VNC password; run 'man vncpasswd' to see how
+# to do that.
+#
+# DO NOT RUN THIS SERVICE if your local area network is
+# untrusted!  For a secure way of using VNC, see this URL:
+# http://kbase.redhat.com/faq/docs/DOC-7028
+
+# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.
+
+# Use "-localhost" to prevent remote VNC clients connecting except when
+# doing so through a secure tunnel.  See the "-via" option in the
+# `man vncviewer' manual page.
+
+# VNCSERVERS="2:myusername"
+# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
diff --git a/contrib/packages/deb/ubuntu-bionic/debian/rules b/contrib/packages/deb/ubuntu-bionic/debian/rules
new file mode 100644 (file)
index 0000000..70b4892
--- /dev/null
@@ -0,0 +1,287 @@
+#!/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 < ../xserver119.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=/usr
+       (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 --enable-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/vncserver \
+               $(CURDIR)/debian/tigervncserver/usr/bin/tigervncserver
+       mv $(CURDIR)/debian/tigervncserver/usr/bin/x0vncserver \
+               $(CURDIR)/debian/tigervncserver/usr/bin/x0tigervncserver
+       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/vncserver.1 \
+               $(CURDIR)/debian/tigervncserver/usr/share/man/man1/tigervncserver.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
+       # delete development files
+       rm -f $(CURDIR)/debian/tigervncserver/usr/lib/xorg/modules/extensions/libvnc.la
+       # install server service
+       install -o root -g root -m 755 -D $(CURDIR)/debian/local/vncserver.service \
+               $(CURDIR)/debian/tigervncserver/etc/init.d/vncserver
+       install -o root -g root -m 644 -D $(CURDIR)/debian/local/vncserver.sysconfig \
+               $(CURDIR)/debian/tigervncserver/etc/default/vncservers
+       # 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/
+       rm -rf $(CURDIR)/debian/tigervncserver/usr/share/doc/tigervnc-*/
+#      dh_movefiles
+
+# 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-bionic/debian/source/format b/contrib/packages/deb/ubuntu-bionic/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-bionic/debian/tigervncserver.postinst b/contrib/packages/deb/ubuntu-bionic/debian/tigervncserver.postinst
new file mode 100644 (file)
index 0000000..32e7ea7
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "configure" ]; then
+    MAN=/usr/share/man/man1
+    BIN=/usr/bin
+    update-alternatives --install \
+       $BIN/vncserver       vncserver       $BIN/tigervncserver 64 \
+       --slave \
+       $MAN/vncserver.1.gz  vncserver.1.gz  $MAN/tigervncserver.1.gz
+    update-alternatives --install \
+       $BIN/Xvnc            Xvnc            $BIN/Xtigervnc 74 \
+       --slave \
+       $MAN/Xvnc.1.gz       Xvnc.1.gz       $MAN/Xtigervnc.1.gz
+    update-alternatives --install \
+       $BIN/x0vncserver     x0vncserver     $BIN/x0tigervncserver 74 \
+       --slave \
+       $MAN/x0vncserver.1.gz x0vncserver.1.gz $MAN/x0tigervncserver.1.gz
+    update-alternatives --install \
+       $BIN/vncpasswd        vncpasswd            $BIN/tigervncpasswd 74 \
+       --slave \
+       $MAN/vncpasswd.1.gz   vncpasswd.1.gz       $MAN/tigervncpasswd.1.gz
+    update-alternatives --install \
+       $BIN/vncconfig       vncconfig       $BIN/tigervncconfig 64 \
+       --slave \
+       $MAN/vncconfig.1.gz  vncconfig.1.gz  $MAN/tigervncconfig.1.gz
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/contrib/packages/deb/ubuntu-bionic/debian/tigervncserver.prerm b/contrib/packages/deb/ubuntu-bionic/debian/tigervncserver.prerm
new file mode 100644 (file)
index 0000000..26608e3
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "remove" ] ; then
+    BIN=/usr/bin
+    update-alternatives --remove \
+       vncserver $BIN/tigervncserver
+    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-bionic/debian/xorg-source-patches/100_rethrow_signals.patch b/contrib/packages/deb/ubuntu-bionic/debian/xorg-source-patches/100_rethrow_signals.patch
new file mode 100644 (file)
index 0000000..b40b148
--- /dev/null
@@ -0,0 +1,26 @@
+--- a/unix/xserver/hw/vnc/xvnc.c       2013-07-14 14:05:29.963390223 -0400
++++ b/unix/xserver/hw/vnc/xvnc.c       2013-07-14 14:04:12.840357191 -0400
+@@ -250,7 +250,7 @@
+ #if XORG < 111
+ AbortDDX()
+ #else
+-AbortDDX(enum ExitCode error)
++SigAbortDDX(int signo, enum ExitCode error)
+ #endif
+ {
+ #if XORG < 111
+@@ -260,6 +260,14 @@
+ #endif
+ }
++#if XORG >= 111
++void
++AbortDDX(enum ExitCode error)
++{
++    SigAbortDDX(0, error);
++}
++#endif
++
+ #ifdef __DARWIN__
+ void
+ DarwinHandleGUI(int argc, char *argv[])
diff --git a/contrib/packages/deb/ubuntu-bionic/debian/xorg-source-patches/516_tigervnc-xorg-manpages.patch b/contrib/packages/deb/ubuntu-bionic/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-bionic/debian/xorg-source-patches/debian_libtool.patch b/contrib/packages/deb/ubuntu-bionic/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-bionic/debian/xtigervncviewer.menu b/contrib/packages/deb/ubuntu-bionic/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-bionic/debian/xtigervncviewer.postinst b/contrib/packages/deb/ubuntu-bionic/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-bionic/debian/xtigervncviewer.prerm b/contrib/packages/deb/ubuntu-bionic/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