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. patch -p1 < debian/xorg-source-patches/xserver118-patch.patch
  39. cd unix/xserver && patch -p1 < ../xserver118.patch
  40. patch -p1 < debian/xorg-source-patches/516_tigervnc-xorg-manpages.patch
  41. touch xorg-source-stamp
  42. configure: config-stamp
  43. config-stamp: xorg-source-stamp
  44. dh_testdir
  45. # Add here commands to configure the package.
  46. cmake -G"Unix Makefiles" \
  47. -DBUILD_STATIC=off \
  48. -DCMAKE_INSTALL_PREFIX:PATH=/usr \
  49. -DCMAKE_INSTALL_LIBEXECDIR:PATH=lib/$(DEB_HOST_MULTIARCH) \
  50. -DCMAKE_INSTALL_UNITDIR:PATH=/lib/systemd/system
  51. (cd unix/xserver; \
  52. export PIXMANINCDIR=/usr/include/pixman-1; \
  53. autoreconf -fiv; \
  54. patch -p1 -i ../../debian/xorg-source-patches/debian_libtool.patch; \
  55. ./configure --prefix=/usr \
  56. --disable-silent-rules \
  57. --disable-static \
  58. --without-dtrace \
  59. --disable-strict-compilation \
  60. --disable-debug \
  61. --disable-unit-tests \
  62. --with-int10=x86emu \
  63. --with-extra-module-dir="/usr/lib/${DEB_HOST_MULTIARCH}/xorg/extra-modules,/usr/lib/xorg/extra-modules" \
  64. --with-os-vendor="$(VENDOR)" \
  65. --with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" \
  66. --with-xkb-path=/usr/share/X11/xkb \
  67. --with-xkb-output=/var/lib/xkb \
  68. --with-default-xkb-rules=evdev \
  69. --disable-devel-docs \
  70. --enable-mitshm \
  71. --enable-xres \
  72. --disable-xcsecurity \
  73. --disable-tslib \
  74. --enable-dbe \
  75. --disable-xf86bigfont \
  76. --disable-dpms \
  77. --disable-config-hal \
  78. --disable-config-udev \
  79. --disable-xorg \
  80. --disable-xquartz \
  81. --disable-xwin \
  82. --disable-xfake \
  83. --disable-install-setuid \
  84. --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" \
  85. --enable-aiglx \
  86. --enable-composite \
  87. --enable-record \
  88. --enable-xv \
  89. --enable-xvmc \
  90. --enable-dga \
  91. --enable-screensaver \
  92. --enable-xdmcp \
  93. --enable-xdm-auth-1 \
  94. --enable-glx \
  95. --disable-dri --enable-dri2 --enable-dri3 \
  96. --enable-xinerama \
  97. --enable-xf86vidmode \
  98. --enable-xace \
  99. --enable-xfree86-utils \
  100. --disable-dmx \
  101. --disable-xvfb \
  102. --disable-xnest \
  103. --disable-kdrive \
  104. --disable-xephyr \
  105. --enable-xfbdev \
  106. --with-sha1=libgcrypt \
  107. --enable-xcsecurity \
  108. --disable-docs \
  109. --disable-selective-werror)
  110. touch config-stamp
  111. build-arch: config-stamp build-arch-stamp
  112. build-arch-stamp:
  113. dh_testdir
  114. # Add here command to compile/build the package.
  115. # Build first things.
  116. # Build Xvnc
  117. make $(NUMJOBS) LDFLAGS="-lpng"
  118. make $(NUMJOBS) -C unix/xserver
  119. touch build-arch-stamp
  120. build-indep: config-stamp build-indep-stamp
  121. build-indep-stamp:
  122. dh_testdir
  123. # Add here command to compile/build the arch indep package.
  124. # It's ok not to do anything here, if you don't need to build
  125. # anything for this package.
  126. #/usr/bin/docbook-to-man debian/vnc.sgml > vnc.1
  127. (cd media;make)
  128. #(cd java;cmake -G"Unix Makefiles";make)
  129. touch build-indep-stamp
  130. build: build-arch build-indep
  131. clean:
  132. dh_testdir
  133. dh_testroot
  134. rm -f build-arch-stamp build-indep-stamp config-stamp
  135. # Add here commands to clean up after the build process.
  136. dh_clean
  137. install: DH_OPTIONS=
  138. install: build
  139. dh_testdir
  140. dh_testroot
  141. dh_clean -k
  142. dh_prep
  143. dh_installdirs
  144. # Add here commands to install the package into debian/vnc.
  145. make install DESTDIR=$(CURDIR)/debian/tigervncserver
  146. (cd unix/xserver/hw/vnc; make install DESTDIR=$(CURDIR)/debian/tigervncserver)
  147. # rename server files to tigervnc specific names
  148. mv $(CURDIR)/debian/tigervncserver/usr/bin/Xvnc \
  149. $(CURDIR)/debian/tigervncserver/usr/bin/Xtigervnc
  150. mv $(CURDIR)/debian/tigervncserver/usr/bin/vncconfig \
  151. $(CURDIR)/debian/tigervncserver/usr/bin/tigervncconfig
  152. mv $(CURDIR)/debian/tigervncserver/usr/bin/vncpasswd \
  153. $(CURDIR)/debian/tigervncserver/usr/bin/tigervncpasswd
  154. mv $(CURDIR)/debian/tigervncserver/usr/bin/x0vncserver \
  155. $(CURDIR)/debian/tigervncserver/usr/bin/x0tigervncserver
  156. mv $(CURDIR)/debian/tigervncserver/usr/sbin/vncsession \
  157. $(CURDIR)/debian/tigervncserver/usr/sbin/tigervncsession
  158. mv $(CURDIR)/debian/tigervncserver/usr/lib/$(DEB_HOST_MULTIARCH)/vncserver \
  159. $(CURDIR)/debian/tigervncserver/usr/lib/$(DEB_HOST_MULTIARCH)/tigervncserver
  160. mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/vncconfig.1 \
  161. $(CURDIR)/debian/tigervncserver/usr/share/man/man1/tigervncconfig.1
  162. mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/vncpasswd.1 \
  163. $(CURDIR)/debian/tigervncserver/usr/share/man/man1/tigervncpasswd.1
  164. mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/x0vncserver.1 \
  165. $(CURDIR)/debian/tigervncserver/usr/share/man/man1/x0tigervncserver.1
  166. mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/Xvnc.1 \
  167. $(CURDIR)/debian/tigervncserver/usr/share/man/man1/Xtigervnc.1
  168. mv $(CURDIR)/debian/tigervncserver/usr/share/man/man8/vncsession.8 \
  169. $(CURDIR)/debian/tigervncserver/usr/share/man/man8/tigervncsession.8
  170. mv $(CURDIR)/debian/tigervncserver/usr/share/man/man8/vncserver.8 \
  171. $(CURDIR)/debian/tigervncserver/usr/share/man/man8/tigervncserver.8
  172. # delete development files
  173. rm -f $(CURDIR)/debian/tigervncserver/usr/lib/xorg/modules/extensions/libvnc.la
  174. # move viewer files to viewer package, rename on the fly
  175. mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/bin
  176. mv $(CURDIR)/debian/tigervncserver/usr/bin/vncviewer \
  177. $(CURDIR)/debian/xtigervncviewer/usr/bin/xtigervncviewer
  178. mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/share/man/man1
  179. mv $(CURDIR)/debian/tigervncserver/usr/share/man/man1/vncviewer.1 \
  180. $(CURDIR)/debian/xtigervncviewer/usr/share/man/man1/xtigervncviewer.1
  181. mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/share
  182. mv $(CURDIR)/debian/tigervncserver/usr/share/applications \
  183. $(CURDIR)/debian/xtigervncviewer/usr/share/
  184. mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/share
  185. mv $(CURDIR)/debian/tigervncserver/usr/share/icons \
  186. $(CURDIR)/debian/xtigervncviewer/usr/share/
  187. # tigervnc-java
  188. #mkdir -p $(CURDIR)/debian/tigervnc-java/usr/share
  189. #(cd java; make install DESTDIR=$(CURDIR)/debian/tigervnc-java/usr/share)
  190. # install additional license files
  191. mkdir -p $(CURDIR)/debian/xtigervncviewer/usr/share/doc/xtigervncviewer
  192. cp $(CURDIR)/debian/tigervncserver/usr/share/doc/tigervnc/* \
  193. $(CURDIR)/debian/xtigervncviewer/usr/share/doc/xtigervncviewer/
  194. #mkdir -p $(CURDIR)/debian/tigervnc-java/usr/share/doc/tigervnc-java
  195. #cp $(CURDIR)/debian/tigervncserver/usr/share/doc/tigervnc/* \
  196. #$(CURDIR)/debian/tigervnc-java/usr/share/doc/tigervnc-java/
  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