4
# Debian rules file for xorg-x11 source package
3
# Debian X Strike Force Build System (XSFBS): Make portion
6
5
# Copyright 1996 Stephen Early
7
6
# Copyright 1997 Mark Eichin
8
# Copyright 1998-2005 Branden Robinson
7
# Copyright 1998-2005, 2007 Branden Robinson
9
8
# Copyright 2005 David Nusinow
11
10
# Licensed under the GNU General Public License, version 2. See the file
22
21
# Pass $(DH_OPTIONS) into the environment for debhelper's benefit.
24
# force quilt to not use ~/.quiltrc
25
QUILT = quilt --quiltrc /dev/null
26
# force QUILT_PATCHES to the default in case it is exported in the environment
27
QUILT_PATCHES = patches/
25
29
# Set up parameters for the upstream build environment.
27
31
# Determine (source) package name from Debian changelog.
141
145
echo "Couldn't find quilt. Please install it or add it to the build-depends for this package."; \
144
if quilt next; then \
148
if $(QUILT) next >/dev/null 2>&1; then \
145
149
echo -n "Applying patches..."; \
146
if quilt push -a -v >$(STAMP_DIR)/log/patch 2>&1; then \
150
if $(QUILT) push -a -v >$(STAMP_DIR)/log/patch 2>&1; then \
151
cat $(STAMP_DIR)/log/patch; \
147
152
echo "successful."; \
154
cat $(STAMP_DIR)/log/patch; \
149
155
echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \
160
166
rm -f $(STAMP_DIR)/patch
161
167
@echo -n "Unapplying patches..."; \
162
168
if [ -e $(STAMP_DIR)/patches/applied-patches ]; then \
163
if quilt pop -a -v >$(STAMP_DIR)/log/unpatch 2>&1; then \
169
if $(QUILT) pop -a -v >$(STAMP_DIR)/log/unpatch 2>&1; then \
170
cat $(STAMP_DIR)/log/unpatch; \
164
171
echo "successful."; \
173
cat $(STAMP_DIR)/log/unpatch; \
166
174
echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \
201
208
updatepo: debian/po/pothead
202
209
debian/scripts/debconf-updatepo --pot-header=pothead --verbose
204
# Use the MANIFEST files to determine whether we're shipping everything we
205
# expect to ship, and not shipping anything we don't expect to ship.
206
.PHONY: check-manifest
207
stampdir_targets+=check-manifest
208
check-manifest: $(STAMP_DIR)/check-manifest
209
$(STAMP_DIR)/check-manifest: $(STAMP_DIR)/install
211
(cd debian/tmp && find -type f | LC_ALL=C sort | cut -c3-) \
212
>debian/MANIFEST.$(ARCH).new
213
# Construct MANIFEST files from MANIFEST.$(ARCH).in and
214
# MANIFEST.$(ARCH).all or MANIFEST.all.
215
if expr "$(findstring -DBuildFonts=NO,$(IMAKE_DEFINES))" \
216
: "-DBuildFonts=NO" >/dev/null 2>&1; then \
217
LC_ALL=C sort -u debian/MANIFEST.$(ARCH).in >debian/MANIFEST.$(ARCH); \
219
if [ -e debian/MANIFEST.$(ARCH).all ]; then \
220
LC_ALL=C sort -u debian/MANIFEST.$(ARCH).in debian/MANIFEST.$(ARCH).all >debian/MANIFEST.$(ARCH); \
222
LC_ALL=C sort -u debian/MANIFEST.$(ARCH).in debian/MANIFEST.all >debian/MANIFEST.$(ARCH); \
225
# Confirm that the installed file list has not changed.
226
if [ -e debian/MANIFEST.$(ARCH) ]; then \
227
if ! cmp -s debian/MANIFEST.$(ARCH) debian/MANIFEST.$(ARCH).new; then \
228
diff -U 0 debian/MANIFEST.$(ARCH) debian/MANIFEST.$(ARCH).new || DIFFSTATUS=$$?; \
229
case $${DIFFSTATUS:-0} in \
231
1) if [ -n "$$IGNORE_MANIFEST_CHANGES" ]; then \
232
echo 'MANIFEST check failed; ignoring problem because \$$IGNORE_MANIFEST_CHANGES set' >&2; \
233
echo 'Please ensure that the package maintainer has an up-to-date version of the' >&2; \
234
echo 'MANIFEST.$(ARCH).in file.' >&2; \
236
echo 'MANIFEST check failed; please see debian/README' >&2; \
240
*) echo "diff reported unexpected exit status $$DIFFSTATUS when performing MANIFEST check" >&2; \
248
# Because we build (and install) different files depending on whether or not
249
# any architecture-independent packages are being created, the list of files we
250
# expect to see will differ; see the discussion of the "build" target above.
251
.PHONY: check-manifest-arch check-manifest-indep
252
check-manifest-arch: IMAKE_DEFINES+= -DBuildSpecsDocs=NO -DBuildFonts=NO -DInstallHardcopyDocs=NO
253
check-manifest-arch: check-manifest
254
check-manifest-indep: check-manifest
256
211
# Remove files from the upstream source tree that we don't need, or which have
257
212
# licensing problems. It must be run before creating the .orig.tar.gz.
265
220
grep -rvh '^#' debian/prune/ | xargs --no-run-if-empty rm -rf
267
# Change to what should be the correct directory, ensure it is, and if
268
# so, create the .orig.tar.gz file. Exclude the debian directory and its
269
# contents, and any .svn directories and their contents (so that we can safely
270
# build an .orig.tar.gz from SVN checkout, not just an export).
272
# Note: This rule is for Debian package maintainers' convenience, and is not
273
# needed for conventional build scenarios.
275
# This rule *IS* the recommended method for creating a new .orig.tar.gz file,
276
# for the rare situations when one is needed.
277
.PHONY: make-orig-tar-gz
278
make-orig-tar-gz: clean prune-upstream-tree
280
&& if [ $(shell basename $(CURDIR)) != $(SOURCE_NAME)-$(NO_EPOCH_VER) ]; then \
281
echo "Our current working directory has the wrong name. Renaming..." >&2; \
282
mv $(CURDIR) $(SOURCE_NAME)-$(NO_EPOCH_VER); \
284
tar --exclude=debian --exclude=debian/* \
285
--exclude=.svn --exclude=.svn/* \
286
-cf - $(SOURCE_NAME)-$(NO_EPOCH_VER) \
287
| gzip -9 >$(SOURCE_NAME)_$(NO_EPOCH_VER).orig.tar.gz; \
290
222
# Verify that there are no offsets or fuzz in the patches we apply.
292
224
# Note: This rule is for Debian package maintainers' convenience, and is not
296
228
@echo -n "Auditing patches..."; \
297
229
>$(STAMP_DIR)/log/patch; \
299
while [ -n "$$(quilt next)" ]; do \
300
RESULT=$$(quilt push -v | tee -a $(STAMP_DIR)/log/patch | grep ^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\
231
while [ -n "$$($(QUILT) next)" ]; do \
232
RESULT=$$($(QUILT) push -v | tee -a $(STAMP_DIR)/log/patch | grep ^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\
301
233
case "$$RESULT" in \
303
echo "fuzzy patch: $$(quilt top)" \
304
| tee -a $(STAMP_DIR)/log/$$(quilt top); \
235
echo "fuzzy patch: $$($(QUILT) top)" \
236
| tee -a $(STAMP_DIR)/log/$$($(QUILT) top); \
308
echo "broken patch: $$(quilt next)" \
309
| tee -a $(STAMP_DIR)/log/$$(quilt next); \
240
echo "broken patch: $$($(QUILT) next)" \
241
| tee -a $(STAMP_DIR)/log/$$($(QUILT) next); \