4 CPPFLAGS
:=$(shell dpkg-buildflags
--get CPPFLAGS
)
5 CFLAGS
:=-Wall
$(shell dpkg-buildflags
--get CFLAGS
) $(CPPFLAGS
)
6 LDFLAGS
:=$(shell dpkg-buildflags
--get LDFLAGS
)
8 OPTS
=NO_OPENSSL
=1 prefix=/usr gitexecdir
=/usr
/lib
/git-core \
9 libexecdir
=/usr
/lib
/git-core \
10 mandir=/usr
/share
/man htmldir
=/usr
/share
/doc
/git
/html \
12 SANE_TOOL_PATH
= INSTALL
=install TAR
=tar \
13 NO_CROSS_DIRECTORY_HARDLINKS
=1 NO_INSTALL_HARDLINKS
=1 \
14 DEFAULT_PAGER
=pager DEFAULT_EDITOR
=editor \
16 CC
='$(CC)' CFLAGS
='$(CFLAGS)' LDFLAGS
='$(LDFLAGS)'
18 DOC_OPTS
=prefix=/usr htmldir
=/usr
/share
/doc
/git
/html \
20 ASCIIDOC8
=1 ASCIIDOC_NO_ROFF
=1
22 # https://wiki.debian.org/ReproducibleBuilds/TimestampsInDocumentationGeneratedByAsciidoc
23 DOC_OPTS
+= ASCIIDOC
='TZ=UTC asciidoc'
25 ifneq (,$(findstring nocheck
,$(DEB_BUILD_OPTIONS
)))
28 ifneq (,$(findstring nodoc
,$(DEB_BUILD_OPTIONS
)))
31 ifneq (,$(filter parallel
=%,$(DEB_BUILD_OPTIONS
)))
32 NUMJOBS
= $(patsubst parallel
=%,%,$(filter parallel
=%,$(DEB_BUILD_OPTIONS
)))
33 MAKEFLAGS
+= -j
$(NUMJOBS
)
34 # Setting this with a pattern-specific rule prevents -O from
35 # affecting the top-level make, which would break realtime build
36 # output (unless dh is run as +dh, which causes other problems).
39 ifneq (,$(shell dpkg-query
-f
'$${Version}' -W libpcre2-dev
))
40 OPTS
+= USE_LIBPCRE2
=1
42 OPTS
+= USE_LIBPCRE1
=1
45 TMP
= $(CURDIR
)/debian
/tmp
46 GIT
= $(CURDIR
)/debian
/git
51 override_dh_auto_configure
:
58 override_dh_auto_build-arch
: build-stamp
59 $(MAKE
) -C contrib
/subtree
all $(OPTS
)
60 ln
-s contrib
/subtree
/git-subtree
62 override_dh_auto_test-arch
:
63 test -z
'$(TEST)' || \
64 GIT_SKIP_TESTS
="t9128 t9167" \
65 GIT_TEST_OPTS
=--verbose
$(MAKE
) $(TEST
) $(OPTS
)
66 test -z
'$(TEST)' || \
67 GIT_TEST_OPTS
=--verbose \
69 t9128-git-svn-cmd-branch.sh \
70 t9167-git-svn-cmd-branch-subproject.sh \
72 test -z
'$(TEST)' || \
73 GIT_TEST_OPTS
=--verbose
$(MAKE
) -C contrib
/subtree
$(TEST
) $(OPTS
)
75 override_dh_auto_build-indep
: build-stamp
77 $(MAKE
) -CDocumentation man
$(DOCS
) $(DOC_OPTS
)
79 $(MAKE
) -Ccontrib
/mw-to-git
all $(OPTS
)
81 override_dh_auto_test-indep
:
83 override_dh_auto_clean
:
84 $(MAKE
) -C contrib
/mw-to-git
clean $(OPTS
)
85 $(MAKE
) -C contrib
/subtree
clean $(OPTS
)
89 override_dh_auto_install-arch
:
91 DESTDIR
='$(GIT)' $(MAKE
) install $(OPTS
)
92 DESTDIR
='$(GIT)' $(MAKE
) -C contrib
/subtree
install $(OPTS
)
93 install -d
-m0755
'$(GIT)'/var
/lib
/git
94 rm -f
'$(GIT)'/usr
/share
/perl5
/Error.pm
95 rm -rf
'$(GIT)'/usr
/share
/man
96 # don't include arch, cvs, p4, svn, email, gui tools, and gitk program
97 for i in git-archimport git-cvs git-p4 git-svn git-send-email \
98 git-gui git-citool
; do \
99 rm -f
'$(GIT)'/usr
/lib
/git-core
/$$i*; \
101 rm -f
'$(GIT)'/usr
/bin
/git-cvsserver
102 rm -f
'$(GIT)'/usr
/bin
/gitk
103 # don't include git-gui's lib
104 rm -rf
'$(GIT)'/usr
/share
/git-gui
/
105 # don't include gitk's lib
106 rm -rf
'$(GIT)'/usr
/share
/gitk
/
107 # don't include git-svn's lib
108 rm -rf
'$(GIT)'/usr
/share
/perl5
/Git
/SVN
*
109 # sanity check that #642603 fix is still in place
111 '$(GIT)'/usr
/lib
/git-core
/git-branch
) -le
10
113 override_dh_auto_install-indep
:
114 DESTDIR
='$(TMP)' $(MAKE
) install install-doc
$(OPTS
)
115 DESTDIR
='$(TMP)' $(MAKE
) -Ccontrib
/mw-to-git
install $(OPTS
) \
116 INSTLIBDIR
=/usr
/share
/perl5
117 test -z
'$(DOCS)' || \
118 $(MAKE
) -CDocumentation install-webdoc WEBDOC_DEST
='$(TMP)'/html \
120 test -z
'$(DOCS)' || \
121 DESTDIR
='$(TMP)' $(MAKE
) -Ccontrib
/subtree install-doc
$(OPTS
)
122 install -m
0644 contrib
/subtree
/git-subtree.txt
'$(TMP)'/html
123 # RelNotes are shipped in git
124 rm -rf
'$(TMP)'/html
/RelNotes
125 # don't include git-p4 man page
126 rm -f
'$(TMP)'/html
/git-p4.
*
128 override_dh_install-arch
:
130 rm -rf
'$(GIT)'/usr
/share
/git-core
/contrib
/hooks
/multimail
132 override_dh_install-indep
:
134 for i in git-archimport git-cvs git-p4 git-svn git-send-email gitk \
135 git-gui git-citool
; do \
136 rm -f
'$(GIT)'-man
/usr
/share
/man
/man1
/$$i*; \
138 rm -f
'$(GIT)'-man
/usr
/share
/man
/man3
/Git
::SVN
*.3pm
140 override_dh_installdocs-arch
:
141 dh_installdocs
--arch
-X.gitignore
142 # These licenses are replaced with symlinks in git.links.
143 diff
-q
'$(GIT)'/usr
/share
/doc
/git
/contrib
/persistent-https
/LICENSE
/usr
/share
/common-licenses
/Apache-2.0
144 diff
-bq
'$(GIT)'/usr
/share
/doc
/git
/contrib
/subtree
/COPYING
/usr
/share
/common-licenses
/GPL-2
145 rm -rf
'$(GIT)'/usr
/share
/doc
/git
/contrib
/completion
146 rm -rf
'$(GIT)'/usr
/share
/doc
/git
/contrib
/emacs
147 rm -rf
'$(GIT)'/usr
/share
/doc
/git
/contrib
/hooks
148 rm -rf
'$(GIT)'/usr
/share
/doc
/git
/contrib
/mw-to-git
149 rm -f
'$(GIT)'/usr
/share
/doc
/git
/contrib
/subtree
/git-subtree
.1
150 rm -f
'$(GIT)'/usr
/share
/doc
/git
/contrib
/subtree
/git-subtree.html
151 rm -f
'$(GIT)'/usr
/share
/doc
/git
/contrib
/subtree
/git-subtree.xml
152 find
'$(GIT)'/usr
/share
/doc
/git
/ -name .gitattributes | xargs
rm -f
153 find
'$(GIT)'/usr
/share
/doc
/git
/ -name .gitignore | xargs
rm -f
155 override_dh_installdocs-indep
:
156 dh_installdocs
--indep
-X.gitignore
158 override_dh_installchangelogs
:
159 dh_installchangelogs debian
/changelog.upstream
161 override_dh_installinit
:
162 dh_installinit
-pgit-daemon-sysvinit
--name
=git-daemon
165 # Skip dh_installemacsen to avoid having to rename
166 # /etc/emacs/site-start.d/50git-core.el to
167 # /etc/emacs/site-start.d/50git-el.el.
168 override_dh_installemacsen
:
170 override_dh_compress
:
171 dh_compress
-X.txt
-Xcontrib