You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

rules 9.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. #!/usr/bin/make -f
  2. # Sample debian/rules that uses debhelper.
  3. # GNU copyright 1997 by Joey Hess.
  4. export DEB_BUILD_MAINT_OPTIONS=hardening=+all
  5. CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
  6. CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
  7. CXXFLAGS := $(shell dpkg-buildflags --get CXXFLAGS)
  8. LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
  9. export CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
  10. NUMJOBS := -j$(shell nproc)
  11. # Uncomment this to turn on verbose mode.
  12. #export DH_VERBOSE=1
  13. DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
  14. DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
  15. DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
  16. DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
  17. DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
  18. ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
  19. confflags += --build=$(DEB_HOST_GNU_TYPE)
  20. else
  21. confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
  22. endif
  23. SOURCE_NAME := tigervnc
  24. SOURCE_VERSION := $(shell dpkg-parsechangelog | awk -F': ' '/^Version: / {print $$2}')
  25. BUILDER=For technical support please see http://sourceforge.net/projects/tigervnc/support
  26. libdir = /usr/lib/$(DEB_HOST_MULTIARCH)
  27. ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
  28. CFLAGS += -g -O2 -fPIC
  29. endif
  30. ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
  31. INSTALL_PROGRAM += -s
  32. endif
  33. export CC = gcc
  34. # use xorg sources as shipped in xorg-server-source package
  35. XORG_SOURCE_ARCHIVE = /usr/src/xorg-server.tar.xz
  36. xorg-source-stamp: $(XORG_SOURCE_ARCHIVE)
  37. tar -C unix/xserver -axf $(XORG_SOURCE_ARCHIVE) --strip-components=1
  38. patch -p1 < debian/xorg-source-patches/xserver118-patch.patch
  39. cd unix/xserver && patch -p1 < ../xserver118.patch
  40. patch -p1 < debian/xorg-source-patches/100_rethrow_signals.patch
  41. patch -p1 < debian/xorg-source-patches/516_tigervnc-xorg-manpages.patch
  42. touch xorg-source-stamp
  43. configure: config-stamp
  44. config-stamp: xorg-source-stamp
  45. dh_testdir
  46. # Add here commands to configure the package.
  47. cmake -G"Unix Makefiles" \
  48. -DBUILD_STATIC=off \
  49. -DCMAKE_INSTALL_PREFIX:PATH=/usr \
  50. -DCMAKE_INSTALL_LIBEXECDIR:PATH=lib/$(DEB_HOST_MULTIARCH) \
  51. -DCMAKE_INSTALL_UNITDIR:PATH=/lib/systemd/system
  52. (cd unix/xserver; \
  53. export PIXMANINCDIR=/usr/include/pixman-1; \
  54. autoreconf -fiv; \
  55. patch -p1 -i ../../debian/xorg-source-patches/debian_libtool.patch; \
  56. ./configure --prefix=/usr \
  57. --disable-silent-rules \
  58. --disable-static \
  59. --without-dtrace \
  60. --disable-strict-compilation \
  61. --disable-debug \
  62. --disable-unit-tests \
  63. --with-int10=x86emu \
  64. --with-extra-module-dir="/usr/lib/${DEB_HOST_MULTIARCH}/xorg/extra-modules,/usr/lib/xorg/extra-modules" \
  65. --with-os-vendor="$(VENDOR)" \
  66. --with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" \
  67. --with-xkb-path=/usr/share/X11/xkb \
  68. --with-xkb-output=/var/lib/xkb \
  69. --with-default-xkb-rules=evdev \
  70. --disable-devel-docs \
  71. --enable-mitshm \
  72. --enable-xres \
  73. --disable-xcsecurity \
  74. --disable-tslib \
  75. --enable-dbe \
  76. --disable-xf86bigfont \
  77. --disable-dpms \
  78. --disable-config-hal \
  79. --disable-config-udev \
  80. --disable-xorg \
  81. --disable-xquartz \
  82. --disable-xwin \
  83. --disable-xfake \
  84. --disable-install-setuid \
  85. --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" \
  86. --enable-aiglx \
  87. --enable-composite \
  88. --enable-record \
  89. --enable-xv \
  90. --enable-xvmc \
  91. --enable-dga \
  92. --enable-screensaver \
  93. --enable-xdmcp \
  94. --enable-xdm-auth-1 \
  95. --enable-glx \
  96. --disable-dri --enable-dri2 --enable-dri3 \
  97. --enable-xinerama \
  98. --enable-xf86vidmode \
  99. --enable-xace \
  100. --enable-xfree86-utils \
  101. --disable-dmx \
  102. --disable-xvfb \
  103. --disable-xnest \
  104. --disable-kdrive \
  105. --disable-xephyr \
  106. --enable-xfbdev \
  107. --with-sha1=libgcrypt \
  108. --enable-xcsecurity \
  109. --disable-docs \
  110. --disable-selective-werror)
  111. touch config-stamp
  112. build-arch: config-stamp build-arch-stamp
  113. build-arch-stamp:
  114. dh_testdir
  115. # Add here command to compile/build the package.
  116. # Build first things.
  117. # Build Xvnc
  118. make $(NUMJOBS) LDFLAGS="-lpng"
  119. make $(NUMJOBS) -C unix/xserver
  120. touch build-arch-stamp
  121. build-indep: config-stamp build-indep-stamp
  122. build-indep-stamp:
  123. dh_testdir
  124. # Add here command to compile/build the arch indep package.
  125. # It's ok not to do anything here, if you don't need to build
  126. # anything for this package.
  127. #/usr/bin/docbook-to-man debian/vnc.sgml > vnc.1
  128. (cd media;make)
  129. #(cd java;cmake -G"Unix Makefiles";make)
  130. touch build-indep-stamp
  131. build: build-arch build-indep
  132. clean:
  133. dh_testdir
  134. dh_testroot
  135. rm -f build-arch-stamp build-indep-stamp config-stamp
  136. # Add here commands to clean up after the build process.
  137. dh_clean
  138. install: DH_OPTIONS=
  139. install: build
  140. dh_testdir
  141. dh_testroot
  142. dh_clean -k
  143. dh_prep
  144. dh_installdirs
  145. # Add here commands to install the package into debian/vnc.
  146. make install DESTDIR=$(CURDIR)/debian/tigervncserver
  147. (cd unix/xserver/hw/vnc; make install DESTDIR=$(CURDIR)/debian/tigervncserver)
  148. # rename server files to tigervnc specific names
  149. mv $(CURDIR)/debian/tigervncserver/usr/bin/Xvnc \
  150. $(CURDIR)/debian/tigervncserver/usr/bin/Xtigervnc
  151. mv $(CURDIR)/debian/tigervncserver/usr/bin/vncconfig \
  152. $(CURDIR)/debian/tigervncserver/usr/bin/tigervncconfig
  153. mv $(CURDIR)/debian/tigervncserver/usr/bin/vncpasswd \
  154. $(CURDIR)/debian/tigervncserver/usr/bin/tigervncpasswd
  155. mv $(CURDIR)/debian/tigervncserver/usr/bin/x0vncserver \
  156. $(CURDIR)/debian/tigervncserver/usr/bin/x0tigervncserver
  157. mv $(CURDIR)/debian/tigervncserver/usr/sbin/vncsession \
  158. $(CURDIR)/debian/tigervncserver/usr/sbin/tigervncsession
  159. mv $(CURDIR)/debian/tigervncserver/usr/lib/$(DEB_HOST_MULTIARCH)/vncserver \
  160. $(CURDIR)/debian/tigervncserver/usr/lib/$(DEB_HOST_MULTIARCH)/tigervncserver
  161. mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/vncconfig.1 \
  162. $(CURDIR)/debian/tigervncserver/usr/share/man/man1/tigervncconfig.1
  163. mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/vncpasswd.1 \
  164. $(CURDIR)/debian/tigervncserver/usr/share/man/man1/tigervncpasswd.1
  165. mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/x0vncserver.1 \
  166. $(CURDIR)/debian/tigervncserver/usr/share/man/man1/x0tigervncserver.1
  167. mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/Xvnc.1 \
  168. $(CURDIR)/debian/tigervncserver/usr/share/man/man1/Xtigervnc.1
  169. mv $(CURDIR)/debian/tigervncserver/usr/share/man/man8/vncsession.8 \
  170. $(CURDIR)/debian/tigervncserver/usr/share/man/man8/tigervncsession.8
  171. mv $(CURDIR)/debian/tigervncserver/usr/share/man/man8/vncserver.8 \
  172. $(CURDIR)/debian/tigervncserver/usr/share/man/man8/tigervncserver.8
  173. # delete development files
  174. rm -f $(CURDIR)/debian/tigervncserver/usr/lib/xorg/modules/extensions/libvnc.la
  175. # move viewer files to viewer package, rename on the fly
  176. mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/bin
  177. mv $(CURDIR)/debian/tigervncserver/usr/bin/vncviewer \
  178. $(CURDIR)/debian/xtigervncviewer/usr/bin/xtigervncviewer
  179. mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/share/man/man1
  180. mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/vncviewer.1 \
  181. $(CURDIR)/debian/xtigervncviewer/usr/share/man/man1/xtigervncviewer.1
  182. mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/share
  183. mv $(CURDIR)/debian/tigervncserver/usr/share/applications \
  184. $(CURDIR)/debian/xtigervncviewer/usr/share/
  185. mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/share
  186. mv $(CURDIR)/debian/tigervncserver/usr/share/icons \
  187. $(CURDIR)/debian/xtigervncviewer/usr/share/
  188. # tigervnc-java
  189. #mkdir -p $(CURDIR)/debian/tigervnc-java/usr/share
  190. #(cd java; make install DESTDIR=$(CURDIR)/debian/tigervnc-java/usr/share)
  191. # install additional license files
  192. mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/share/doc/xtigervncviewer
  193. cp $(CURDIR)/debian/tigervncserver/usr/share/doc/tigervnc/* \
  194. $(CURDIR)/debian/xtigervncviewer/usr/share/doc/xtigervncviewer/
  195. #mkdir -p $(CURDIR)/debian/tigervnc-java/usr/share/doc/tigervnc-java
  196. #cp $(CURDIR)/debian/tigervncserver/usr/share/doc/tigervnc/* \
  197. #$(CURDIR)/debian/tigervnc-java/usr/share/doc/tigervnc-java/
  198. mv $(CURDIR)/debian/tigervncserver/usr/share/doc/tigervnc \
  199. $(CURDIR)/debian/tigervncserver/usr/share/doc/tigervncserver
  200. # dh_movefiles
  201. sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \
  202. debian/tigervncserver.postinst.in > debian/tigervncserver.postinst
  203. # Build architecture-independent files here.
  204. # Pass -i to all debhelper commands in this target to reduce clutter.
  205. binary-indep: build install
  206. binary-indep-keep:
  207. dh_testdir -i
  208. dh_testroot -i
  209. # dh_installdebconf -i
  210. dh_install
  211. dh_installdocs -i
  212. dh_installexamples -i
  213. dh_installmenu -i
  214. # dh_installlogrotate -i
  215. # dh_installemacsen -i
  216. # dh_installpam -i
  217. # dh_installmime -i
  218. # dh_installinit -i
  219. dh_installcron -i
  220. dh_installman -i
  221. dh_installinfo -i
  222. # dh_undocumented -i
  223. dh_installchangelogs -i
  224. dh_link -i
  225. dh_compress -i
  226. dh_fixperms -i
  227. dh_installdeb -i
  228. dh_perl -i
  229. dh_gencontrol -i
  230. dh_md5sums -i
  231. dh_builddeb -i
  232. # Build architecture-dependent files here.
  233. binary-arch: build install
  234. dh_testdir -a
  235. dh_testroot -a
  236. # dh_installdebconf -a
  237. dh_installdocs -a
  238. # dh_installexamples -a
  239. dh_installmenu -a
  240. # dh_installlogrotate -a
  241. # dh_installemacsen -a
  242. # dh_installpam -a
  243. # dh_installmime -a
  244. dh_install
  245. dh_installinit -a
  246. # dh_installcron -a
  247. dh_installman -a
  248. dh_installinfo -a
  249. # dh_undocumented -a
  250. dh_installchangelogs -a
  251. # Remove empty directories
  252. dh_strip -a
  253. dh_link -a
  254. dh_compress -a
  255. dh_fixperms -a
  256. dh_makeshlibs -a
  257. dh_installdeb -a
  258. dh_perl -a
  259. dh_shlibdeps -a
  260. dh_gencontrol -a
  261. dh_md5sums -a
  262. dh_builddeb -a
  263. binary: binary-indep binary-arch
  264. .PHONY: build clean binary-indep binary-arch binary install