KasmVNC/contrib/packages/deb/ubuntu-xenial/debian/rules
2020-09-20 12:16:44 +00:00

287 lines
9.5 KiB
Makefile

#!/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
# 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
patch -p1 < debian/xorg-source-patches/xserver118-patch.patch
cd unix/xserver && patch -p1 < ../xserver118.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 LDFLAGS="-lpng"
(cd unix/xserver;make)
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