rules 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. #!/usr/bin/make -f
  2. SHELL=bash
  3. .PHONY: clean build binary binary-trees binary-arch binary-indep
  4. BUILD := $(shell pwd)/build
  5. DIR := $(shell pwd)
  6. arch=$(shell dpkg --print-architecture)
  7. mcidir=debian/tmp-main/DEBIAN
  8. $(BUILD)/config.status:
  9. $(checkdir)
  10. $(RM) -r $(BUILD)
  11. install -d $(BUILD)
  12. cd $(BUILD) && $(DIR)/configure \
  13. --enable-shared \
  14. --prefix=/usr \
  15. --datadir=/usr/share \
  16. --mandir=/usr/share/man \
  17. --infodir=/usr/share/info \
  18. --sysconfdir=/etc \
  19. --sharedstatedir=/var/lib \
  20. --localstatedir=/var/lib && \
  21. sed < libtool > libtool-2 \
  22. -e 's/^hardcode_libdir_flag_spec.*$$/hardcode_libdir_flag_spec=" -D__NO_RPATH_PLEASE "/' \
  23. -e '/^archive_cmds="/s/"$$/ \\$$deplibs"/' && \
  24. mv -f libtool-2 libtool && \
  25. chmod 755 libtool
  26. clean:
  27. $(checkdir)
  28. $(RM) -r debian/{files,substvars,tmp*}
  29. $(RM) -r $(BUILD)
  30. find . \( -name '*~' -o -name '#*#' \) -print0 | xargs -r0 $(RM) --
  31. build: $(BUILD)/config.status
  32. $(checkdir)
  33. $(MAKE) -C $(BUILD)
  34. binary: binary-arch binary-indep
  35. binary-trees: build
  36. $(checkdir)
  37. -$(RM) -r debian/tmp-{main,dev}
  38. install -d debian/tmp-{main,dev}/{DEBIAN,etc,usr/share/doc/dpkg}
  39. install -d debian/tmp-dev/usr/{lib/dpkg,share/doc/dpkg,sbin,bin}
  40. ln -s dpkg debian/tmp-dev/usr/share/doc/dpkg-dev
  41. install -d debian/tmp-dev/usr/share/man/{ja/man1,man1,ja/man8,man8}
  42. install -d debian/tmp-dev/usr/share/emacs/site-lisp/dpkg-dev
  43. install -d debian/tmp-main/sbin
  44. set -e; if [ $(arch) = i386 ]; then \
  45. sed -e 's/^# i386elf: //' <debian/preinst >$(mcidir)/preinst ; \
  46. else \
  47. sed -e '/^# i386elf: /d' debian/preinst >$(mcidir)/preinst ; \
  48. fi
  49. set -e; if [ -f debian/shlibs.default.$(arch) ]; then \
  50. echo /etc/dpkg/shlibs.default >> debian/tmp-dev/DEBIAN/conffiles ; \
  51. install -d debian/tmp-main/etc/dpkg; \
  52. install -m644 debian/shlibs.default.$(arch) \
  53. debian/tmp-dev/etc/dpkg/shlibs.default ; \
  54. fi
  55. cp debian/{prerm,postinst} $(mcidir)/.
  56. $(MAKE) -C $(BUILD) install \
  57. prefix=$(DIR)/debian/tmp-main/usr \
  58. sysconfdir=$(DIR)/debian/tmp-main/etc \
  59. sharedstatedir=$(DIR)/debian/tmp-main/var/lib \
  60. localstatedir=$(DIR)/debian/tmp-main/var/lib \
  61. datadir=$(DIR)/debian/tmp-main/usr/share \
  62. mandir=$(DIR)/debian/tmp-main/usr/share/man \
  63. infodir=$(DIR)/debian/tmp-main/usr/share/info
  64. install -m 755 debian/dev-postinst debian/tmp-dev/DEBIAN/postinst
  65. install -m 755 debian/dev-prerm debian/tmp-dev/DEBIAN/prerm
  66. install -d debian/tmp-dev/etc/emacs/site-start.d
  67. install -m 644 debian/50dpkg-dev.el debian/tmp-dev/etc/emacs/site-start.d/.
  68. echo '/etc/emacs/site-start.d/50dpkg-dev.el' >> debian/tmp-dev/DEBIAN/conffiles
  69. install -d debian/tmp-dev/usr/lib/emacsen-common/packages/{install,remove}
  70. install -m 755 debian/emacsen-common-remove \
  71. debian/tmp-dev/usr/lib/emacsen-common/packages/remove/dpkg-dev
  72. install -m 755 debian/emacsen-common-install \
  73. debian/tmp-dev/usr/lib/emacsen-common/packages/install/dpkg-dev
  74. cp scripts/debian-changelog-mode.el \
  75. debian/tmp-dev/usr/share/emacs/site-lisp/dpkg-dev
  76. rm -f debian/tmp-main/usr/share/{x,}emacs/site-lisp/debian-changelog-mode.el*
  77. chmod +x $(mcidir)/{postinst,prerm,preinst}
  78. find debian/tmp-main/usr/share/man -type f | xargs gzip -9vf
  79. set -e; for f in dpkg-buildpackage dpkg-gencontrol dpkg-distaddfile \
  80. dpkg-parsechangelog dpkg-genchanges dpkg-shlibdeps; do \
  81. rm debian/tmp-main/usr/share/man/man1/$$f.1; \
  82. ln -s dpkg-source.1.gz debian/tmp-main/usr/share/man/man1/$$f.1.gz ; \
  83. done
  84. ln -s ../man7/undocumented.7.gz debian/tmp-main/usr/share/man/man1/dpkg-divert.1.gz
  85. gzip -9vf debian/tmp-main/usr/share/doc/dpkg/changelog*
  86. cp debian/copyright debian/tmp-main/usr/share/doc/dpkg/copyright
  87. chmod -x debian/tmp-main/usr/lib/libdpkg.*
  88. set -e; for f in \
  89. usr/share/doc/dpkg/{changelog.manuals.gz} \
  90. usr/bin/dpkg-{source,genchanges,gencontrol,shlibdeps,buildpackage,parsechangelog} \
  91. usr/bin/{dpkg-distaddfile,822-date,dpkg-scanpackages,dpkg-scansources,dpkg-name,dpkg-architecture} \
  92. usr/share/man/{ja,.}/man1/dpkg-{source,genchanges,gencontrol,shlibdeps,buildpackage,architecture}.1.gz \
  93. usr/share/man/{ja,.}/man1/{dpkg-parsechangelog,dpkg-distaddfile,822-date,dpkg-name}.1.gz \
  94. usr/share/man/{ja,.}/man5 usr/share/man/{ja,.}/man8/dpkg-{scanpackages,scansources}.8.gz \
  95. usr/lib/dpkg/parsechangelog usr/lib/dpkg/controllib.pl \
  96. ; do if [ -e debian/tmp-main/$$f -o -L debian/tmp-main/$$f ] ; \
  97. then mv -v debian/tmp-main/$$f debian/tmp-dev/$$f; \
  98. fi done
  99. binary-indep: binary-trees
  100. $(checkdir)
  101. dpkg-gencontrol -pdpkg-dev -Pdebian/tmp-dev
  102. install -d -m755 $(DIR)/debian/tmp-doc/DEBIAN
  103. install -m755 $(DIR)/debian/dpkg-doc-postinst \
  104. $(DIR)/debian/tmp-doc/DEBIAN/postinst
  105. install -m755 $(DIR)/debian/dpkg-doc-prerm \
  106. $(DIR)/debian/tmp-doc/DEBIAN/prerm
  107. dpkg-gencontrol -pdpkg-doc -Pdebian/tmp-doc
  108. chown -R root.root debian/tmp-dev
  109. chmod -R g-ws,a+r,u+w debian/tmp-dev
  110. dpkg-deb --build debian/tmp-dev ..
  111. install -d -m755 $(DIR)/debian/tmp-doc/usr/share/{doc/dpkg,doc-base}
  112. ln -s dpkg $(DIR)/debian/tmp-doc/usr/share/doc/dpkg-doc
  113. $(MAKE) -C $(BUILD)/doc internals
  114. $(MAKE) -C $(BUILD)/doc internals-install \
  115. prefix=$(DIR)/debian/tmp-doc/usr \
  116. sysconfdir=$(DIR)/debian/tmp-doc/etc \
  117. sharedstatedir=$(DIR)/debian/tmp-doc/var/lib \
  118. localstatedir=$(DIR)/debian/tmp-doc/var/lib \
  119. datadir=$(DIR)/debian/tmp-doc/usr/share \
  120. mandir=$(DIR)/debian/tmp-doc/usr/share/man \
  121. infodir=$(DIR)/debian/tmp-doc/usr/share/info
  122. gzip -9vf $(DIR)/debian/tmp-doc/usr/share/info/*
  123. gzip -9vf $(DIR)/debian/tmp-doc/usr/share/doc/dpkg-doc/internals.ps
  124. install -m644 $(DIR)/debian/dpkg-internals $(DIR)/debian/tmp-doc/usr/share/doc-base
  125. dpkg-deb --build debian/tmp-doc ..
  126. set -e;\
  127. version=`sed -n 's/^Version: //p' $(DIR)/debian/tmp-dev/DEBIAN/control`; \
  128. file=dpkg-$${version}.tar.gz; \
  129. if [ -f $(DIR)/../dpkg_$${version}.tar.gz ]; then \
  130. cp $(DIR)/../dpkg_$${version}.tar.gz $(DIR)/../$${file}; \
  131. dpkg-distaddfile -f$(DIR)/debian/files $${file} byhand -; \
  132. fi
  133. binary-arch: binary-trees
  134. $(checkdir)
  135. mv debian/tmp-main/usr/sbin/start-stop-daemon debian/tmp-main/sbin/start-stop-daemon
  136. -strip debian/tmp-main/usr/{bin,sbin}/* debian/tmp-main/sbin/*
  137. -strip --strip-unneeded debian/tmp-main/usr/lib/libdpkg.so.*
  138. -strip --strip-debug debian/tmp-main/usr/lib/libdpkg.a
  139. dpkg-shlibdeps -dPre-Depends debian/tmp-main/usr/{bin,sbin}/*
  140. dpkg-gencontrol -pdpkg -Pdebian/tmp-main
  141. chown -R root.root debian/tmp-main
  142. chmod -R g-ws,a+r,u+w debian/tmp-main
  143. set -e; \
  144. version=`sed -n 's/^Version: //p' $(DIR)/debian/tmp-main/DEBIAN/control`; \
  145. file=dpkg_$${version}_$(arch).nondebbin.tar; \
  146. tar -C $(DIR)/debian/tmp-main -cf $(DIR)/../$${file} usr var; \
  147. gzip -9vf $(DIR)/../$${file}; \
  148. dpkg-distaddfile -f$(DIR)/debian/files $${file}.gz byhand -
  149. dpkg-deb --build debian/tmp-main ..
  150. define checkdir
  151. test -f include/dpkg.h.in
  152. endef