rules 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. #!/usr/bin/make -f
  2. SHELL := sh -e
  3. ifeq (,$(filter stage1,$(DEB_BUILD_PROFILES)))
  4. -include /usr/share/python/python.mk
  5. endif
  6. DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
  7. DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
  8. DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
  9. DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
  10. ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
  11. CROSS= --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) CC=$(DEB_HOST_GNU_TYPE)-gcc LD=$(DEB_HOST_GNU_TYPE)-ld
  12. else
  13. CROSS= --build=$(DEB_BUILD_GNU_TYPE)
  14. endif
  15. # HOWMANY is the number of bytes looked at by file
  16. CFLAGS += -DHOWMANY=0x18000
  17. ifeq (,$(filter stage1,$(DEB_BUILD_PROFILES)))
  18. PYTHON_VERSIONS=$(shell pyversions -r debian/control)
  19. PYTHON3_VERSIONS=$(shell py3versions -r debian/control)
  20. endif
  21. %:
  22. ifeq (,$(filter stage1,$(DEB_BUILD_PROFILES)))
  23. dh ${@} --with autoreconf,python2,python3
  24. else
  25. dh ${@} --with autoreconf
  26. endif
  27. override_dh_auto_clean:
  28. dh_auto_clean
  29. rm -rf python/build
  30. rm -rf python/__pycache__
  31. rm -f python/*.pyc
  32. override_dh_auto_build:
  33. dh_auto_build
  34. ifeq (,$(filter stage1,$(DEB_BUILD_PROFILES)))
  35. for python in $(PYTHON_VERSIONS); \
  36. do \
  37. (cd python && $$python setup.py build_ext \
  38. -L$(CURDIR)/src/.libs); \
  39. done
  40. for python in $(PYTHON3_VERSIONS); \
  41. do \
  42. (cd python && $$python setup.py build_ext \
  43. -L$(CURDIR)/src/.libs); \
  44. done
  45. endif
  46. override_dh_auto_configure:
  47. dh_auto_configure -- $(CROSS) --prefix=/usr --datadir=\$${prefix}/share --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) --mandir=\$${prefix}/share/man --enable-fsect-man5 --enable-static --disable-silent-rules CFLAGS="$(CFLAGS)"
  48. override_dh_auto_install:
  49. dh_auto_install
  50. mkdir -p debian/tmp/lib/$(DEB_HOST_MULTIARCH)
  51. mv debian/tmp/usr/share/misc debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/file
  52. install -D -m 0644 magic/magic.local debian/tmp/etc/magic
  53. install -D -m 0644 magic/magic.local debian/tmp/etc/magic.mime
  54. ifeq (,$(filter stage1,$(DEB_BUILD_PROFILES)))
  55. for python in $(PYTHON_VERSIONS); \
  56. do \
  57. (cd python && $$python setup.py install --no-compile \
  58. --root=$(CURDIR)/debian/python-magic $(py_setup_install_args)); \
  59. done
  60. for python in $(PYTHON3_VERSIONS); \
  61. do \
  62. (cd python && $$python setup.py install --no-compile \
  63. --root=$(CURDIR)/debian/python3-magic $(py_setup_install_args)); \
  64. done
  65. endif
  66. # Installing additional headers
  67. mkdir -p debian/libmagic-dev/usr/include/file
  68. cp src/file.h debian/libmagic-dev/usr/include/file
  69. # Removing useless files
  70. rm -f debian/tmp/usr/lib/*/*.la
  71. override_dh_builddeb:
  72. dh_builddeb -- -Zxz
  73. override_dh_install:
  74. dh_install --fail-missing
  75. override_dh_shlibdeps:
  76. ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
  77. # use just built file in dh_shlibdeps
  78. PATH=$(CURDIR)/debian/file/usr/bin:$$PATH \
  79. LD_LIBRARY_PATH=$(CURDIR)/debian/libmagic1/usr/lib/$(DEB_HOST_MULTIARCH)$${LD_LIBRARY_PATH+:$${LD_LIBRARY_PATH}} \
  80. MAGIC=$(CURDIR)/debian/libmagic1/usr/lib/$(DEB_HOST_MULTIARCH)/file/magic.mgc \
  81. dh_shlibdeps -Llibmagic1 -ldebian/libmagic1/usr/lib
  82. else
  83. dh_shlibdeps -Llibmagic1 -ldebian/libmagic1/usr/lib
  84. endif
  85. override_dh_strip:
  86. ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
  87. # use just built file in dh_strip
  88. PATH=$(CURDIR)/debian/file/usr/bin:$$PATH \
  89. LD_LIBRARY_PATH=$(CURDIR)/debian/libmagic1/usr/lib/$(DEB_HOST_MULTIARCH)$${LD_LIBRARY_PATH+:$${LD_LIBRARY_PATH}} \
  90. MAGIC=$(CURDIR)/debian/libmagic1/usr/lib/$(DEB_HOST_MULTIARCH)/file/magic.mgc \
  91. dh_strip --dbg-package=file-dbg
  92. else
  93. dh_strip --dbg-package=file-dbg
  94. endif
  95. override_dh_installdeb:
  96. debian/magic-symlink "$(DEB_HOST_ARCH)" "$(DEB_HOST_MULTIARCH)"
  97. dh_installdeb