| #!/usr/bin/make -f |
| |
| CC =gcc |
| CPPFLAGS :=$(shell dpkg-buildflags --get CPPFLAGS) |
| CFLAGS :=-Wall $(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS) |
| LDFLAGS :=$(shell dpkg-buildflags --get LDFLAGS) |
| TEST =test |
| OPTS =NO_OPENSSL=1 prefix=/usr gitexecdir=/usr/lib/git-core \ |
| libexecdir=/usr/lib/git-core \ |
| mandir=/usr/share/man htmldir=/usr/share/doc/git/html \ |
| INSTALLDIRS=vendor \ |
| SANE_TOOL_PATH= INSTALL=install TAR=tar \ |
| NO_CROSS_DIRECTORY_HARDLINKS=1 NO_INSTALL_HARDLINKS=1 \ |
| NO_PERL_CPAN_FALLBACKS=1 \ |
| DEFAULT_PAGER=pager DEFAULT_EDITOR=editor \ |
| V=1 \ |
| CC='$(CC)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' |
| DOCS =html |
| DOC_OPTS =prefix=/usr htmldir=/usr/share/doc/git/html \ |
| V=1 \ |
| ASCIIDOC8=1 ASCIIDOC_NO_ROFF=1 |
| |
| # https://wiki.debian.org/ReproducibleBuilds/TimestampsInDocumentationGeneratedByAsciidoc |
| DOC_OPTS += ASCIIDOC='TZ=UTC asciidoc' |
| |
| ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) |
| TEST = |
| endif |
| ifneq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS))) |
| DOCS = |
| endif |
| ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) |
| NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) |
| MAKEFLAGS += -j$(NUMJOBS) |
| # Setting this with a pattern-specific rule prevents -O from |
| # affecting the top-level make, which would break realtime build |
| # output (unless dh is run as +dh, which causes other problems). |
| %: MAKEFLAGS += -O |
| endif |
| ifneq (,$(shell dpkg-query -f '$${Version}' -W libpcre2-dev)) |
| OPTS += USE_LIBPCRE2=1 |
| else |
| OPTS += USE_LIBPCRE1=1 |
| endif |
| |
| TMP = $(CURDIR)/debian/tmp |
| GIT = $(CURDIR)/debian/git |
| |
| %: |
| dh $@ --with apache2 |
| |
| override_dh_auto_configure: |
| |
| build-stamp: |
| -$(CC) -v |
| $(MAKE) all $(OPTS) |
| touch $@ |
| |
| override_dh_auto_build-arch: build-stamp |
| $(MAKE) -C contrib/subtree all $(OPTS) |
| ln -s contrib/subtree/git-subtree |
| |
| override_dh_auto_test-arch: |
| test -z '$(TEST)' || \ |
| GIT_SKIP_TESTS="t9128 t9167" \ |
| GIT_TEST_OPTS=--verbose $(MAKE) $(TEST) $(OPTS) |
| test -z '$(TEST)' || \ |
| GIT_TEST_OPTS=--verbose \ |
| $(MAKE) -C t \ |
| t9128-git-svn-cmd-branch.sh \ |
| t9167-git-svn-cmd-branch-subproject.sh \ |
| $(OPTS) || : |
| test -z '$(TEST)' || \ |
| GIT_TEST_OPTS=--verbose $(MAKE) -C contrib/subtree $(TEST) $(OPTS) |
| |
| override_dh_auto_build-indep: build-stamp |
| # git-man, git-doc |
| $(MAKE) -CDocumentation man $(DOCS) $(DOC_OPTS) |
| # git-mediawiki |
| $(MAKE) -Ccontrib/mw-to-git all $(OPTS) |
| |
| override_dh_auto_test-indep: |
| |
| override_dh_auto_clean: |
| $(MAKE) -C contrib/mw-to-git clean $(OPTS) |
| $(MAKE) -C contrib/subtree clean $(OPTS) |
| $(MAKE) clean $(OPTS) |
| rm -f git-subtree |
| |
| override_dh_auto_install-arch: |
| # git |
| DESTDIR='$(GIT)' $(MAKE) install $(OPTS) |
| DESTDIR='$(GIT)' $(MAKE) -C contrib/subtree install $(OPTS) |
| install -d -m0755 '$(GIT)'/var/lib/git |
| rm -rf '$(GIT)'/usr/share/man |
| # don't include arch, cvs, p4, svn, email, gui tools, and gitk program |
| for i in git-archimport git-cvs git-p4 git-svn git-send-email \ |
| git-gui git-citool; do \ |
| rm -f '$(GIT)'/usr/lib/git-core/$$i*; \ |
| done |
| rm -f '$(GIT)'/usr/bin/git-cvsserver |
| rm -f '$(GIT)'/usr/bin/gitk |
| # don't include git-gui's lib |
| rm -rf '$(GIT)'/usr/share/git-gui/ |
| # don't include gitk's lib |
| rm -rf '$(GIT)'/usr/share/gitk/ |
| # don't include git-svn's lib |
| rm -rf '$(GIT)'/usr/share/perl5/Git/SVN* |
| # sanity check that #642603 fix is still in place |
| test $$(stat -c%h \ |
| '$(GIT)'/usr/lib/git-core/git-branch) -le 10 |
| |
| override_dh_auto_install-indep: |
| DESTDIR='$(TMP)' $(MAKE) install install-doc $(OPTS) |
| DESTDIR='$(TMP)' $(MAKE) -Ccontrib/mw-to-git install $(OPTS) \ |
| INSTLIBDIR=/usr/share/perl5 |
| test -z '$(DOCS)' || \ |
| $(MAKE) -CDocumentation install-webdoc WEBDOC_DEST='$(TMP)'/html \ |
| 2>/dev/null |
| test -z '$(DOCS)' || \ |
| DESTDIR='$(TMP)' $(MAKE) -Ccontrib/subtree install-doc $(OPTS) |
| install -m 0644 contrib/subtree/git-subtree.txt '$(TMP)'/html |
| # RelNotes are shipped in git |
| rm -rf '$(TMP)'/html/RelNotes |
| # don't include git-p4 man page |
| rm -f '$(TMP)'/html/git-p4.* |
| |
| override_dh_install-arch: |
| dh_install --arch |
| rm -rf '$(GIT)'/usr/share/git-core/contrib/hooks/multimail |
| |
| override_dh_install-indep: |
| dh_install --indep |
| for i in git-archimport git-cvs git-p4 git-svn git-send-email gitk \ |
| git-gui git-citool; do \ |
| rm -f '$(GIT)'-man/usr/share/man/man1/$$i*; \ |
| done |
| |
| override_dh_installdocs-arch: |
| dh_installdocs --arch -X.gitignore |
| # These licenses are replaced with symlinks in git.links. |
| diff -q '$(GIT)'/usr/share/doc/git/contrib/persistent-https/LICENSE /usr/share/common-licenses/Apache-2.0 |
| diff -bq '$(GIT)'/usr/share/doc/git/contrib/subtree/COPYING /usr/share/common-licenses/GPL-2 |
| rm -rf '$(GIT)'/usr/share/doc/git/contrib/completion |
| rm -rf '$(GIT)'/usr/share/doc/git/contrib/emacs |
| rm -rf '$(GIT)'/usr/share/doc/git/contrib/hooks |
| rm -rf '$(GIT)'/usr/share/doc/git/contrib/mw-to-git |
| rm -f '$(GIT)'/usr/share/doc/git/contrib/subtree/git-subtree.1 |
| rm -f '$(GIT)'/usr/share/doc/git/contrib/subtree/git-subtree.html |
| rm -f '$(GIT)'/usr/share/doc/git/contrib/subtree/git-subtree.xml |
| find '$(GIT)'/usr/share/doc/git/ -name .gitattributes | xargs rm -f |
| find '$(GIT)'/usr/share/doc/git/ -name .gitignore | xargs rm -f |
| |
| override_dh_installdocs-indep: |
| dh_installdocs --indep -X.gitignore |
| |
| override_dh_installchangelogs: |
| dh_installchangelogs debian/changelog.upstream |
| |
| override_dh_installinit: |
| dh_installinit -pgit-daemon-sysvinit --name=git-daemon |
| dh_installinit |
| |
| # Skip dh_installemacsen to avoid having to rename |
| # /etc/emacs/site-start.d/50git-core.el to |
| # /etc/emacs/site-start.d/50git-el.el. |
| override_dh_installemacsen: |
| |
| override_dh_compress: |
| dh_compress -X.txt -Xcontrib |