From f8dd8877ad82aa55e818a25275a00bf689c7ff46 Mon Sep 17 00:00:00 2001 From: "Brian P. Hinz" Date: Mon, 28 Oct 2019 21:34:11 -0400 Subject: [PATCH] Add build scripts for ubunto 18.04 (bionic) --- .../deb/ubuntu-bionic/debian/changelog | 5 + .../packages/deb/ubuntu-bionic/debian/compat | 1 + .../packages/deb/ubuntu-bionic/debian/control | 70 +++++ .../deb/ubuntu-bionic/debian/copyright | 116 +++++++ .../debian/local/vncserver.service | 94 ++++++ .../debian/local/vncserver.sysconfig | 19 ++ .../packages/deb/ubuntu-bionic/debian/rules | 287 ++++++++++++++++++ .../deb/ubuntu-bionic/debian/source/format | 1 + .../debian/tigervncserver.postinst | 32 ++ .../ubuntu-bionic/debian/tigervncserver.prerm | 21 ++ .../100_rethrow_signals.patch | 26 ++ .../516_tigervnc-xorg-manpages.patch | 10 + .../xorg-source-patches/debian_libtool.patch | 87 ++++++ .../ubuntu-bionic/debian/xtigervncviewer.menu | 5 + .../debian/xtigervncviewer.postinst | 18 ++ .../debian/xtigervncviewer.prerm | 11 + 16 files changed, 803 insertions(+) create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/changelog create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/compat create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/control create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/copyright create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/local/vncserver.service create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/local/vncserver.sysconfig create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/rules create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/source/format create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/tigervncserver.postinst create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/tigervncserver.prerm create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/xorg-source-patches/100_rethrow_signals.patch create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/xorg-source-patches/516_tigervnc-xorg-manpages.patch create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/xorg-source-patches/debian_libtool.patch create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/xtigervncviewer.menu create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/xtigervncviewer.postinst create mode 100644 contrib/packages/deb/ubuntu-bionic/debian/xtigervncviewer.prerm diff --git a/contrib/packages/deb/ubuntu-bionic/debian/changelog b/contrib/packages/deb/ubuntu-bionic/debian/changelog new file mode 100644 index 00000000..7e11956e --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/changelog @@ -0,0 +1,5 @@ +tigervnc (1.10.0) bionic; urgency=low + + * Initial release. + + -- Brian P. Hinz 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 index 00000000..ec635144 --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/compat @@ -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 index 00000000..6fa5a203 --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/control @@ -0,0 +1,70 @@ +Source: tigervnc +Section: x11 +Priority: optional +Maintainer: Brian P. Hinz +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 index 00000000..905754e3 --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/copyright @@ -0,0 +1,116 @@ +This package was packaged for Debian by Brian P. Hinz +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 index 00000000..86a8a910 --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/local/vncserver.service @@ -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 index 00000000..d18d0f14 --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/local/vncserver.sysconfig @@ -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 index 00000000..70b4892d --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/rules @@ -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 index 00000000..163aaf8d --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/source/format @@ -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 index 00000000..32e7ea79 --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/tigervncserver.postinst @@ -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 index 00000000..26608e37 --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/tigervncserver.prerm @@ -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 index 00000000..b40b1483 --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/xorg-source-patches/100_rethrow_signals.patch @@ -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 index 00000000..4575f6a9 --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/xorg-source-patches/516_tigervnc-xorg-manpages.patch @@ -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 index 00000000..d24877d2 --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/xorg-source-patches/debian_libtool.patch @@ -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 index 00000000..aac942ca --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/xtigervncviewer.menu @@ -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 index 00000000..4df0c65f --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/xtigervncviewer.postinst @@ -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 index 00000000..7a51fd2c --- /dev/null +++ b/contrib/packages/deb/ubuntu-bionic/debian/xtigervncviewer.prerm @@ -0,0 +1,11 @@ +#!/bin/sh -e + +if [ "$1" = "remove" ] ; then + BIN=/usr/bin + update-alternatives --remove \ + vncviewer $BIN/xtigervncviewer +fi + +#DEBHELPER# + +exit 0 -- 2.39.5