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

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