/usr/share/cdbs/1/rules/patchsys-quilt.mk is in quilt 0.63-8.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | # -*- mode: makefile; coding: utf-8 -*-
# Copyright © 2003 Martin Quinson <mquinson@debian.org>
# Description: An advanced patch system based on the quilt facilities.
# please refere to the documentation of the quilt package for more information.
#
# Used variables for configuration:
#
####
# If you use autotools.mk, or any other rule/class which uses it,
# include this file (patchsys-quilt.mk) *after* those.
####
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2, or (at
# your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
# 02111-1307 USA.
ifndef _cdbs_bootstrap
_cdbs_scripts_path ?= /usr/lib/cdbs
_cdbs_rules_path ?= /usr/share/cdbs/1/rules
_cdbs_class_path ?= /usr/share/cdbs/1/class
endif
ifndef _cdbs_rules_patchsys_quilt
_cdbs_rules_patchsys_quilt := 1
ifdef _cdbs_rules_patchsys
$(error cannot load two patch systems at the same time)
endif
include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix)
DEB_SRCDIR ?= .
_cdbs_patch_system_apply_rule := apply-patches
_cdbs_patch_system_unapply_rule := reverse-patches
# standard targets, as recommended by Debian policy 3.8.0
.PHONY: patch unpatch
patch: apply-patches
unpatch: reverse-patches
# DEB_PATCHDIRS: directory containing your source file for patches.
#
# You might find it convenient to add the snippet below to your
# $HOME/.quiltrc so that you can use quilt without having to reset
# QUILT_PATCHES when you switch from one project to the other:
# for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do
# if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then
# export QUILT_PATCHES=debian/patches
# fi
# done
QUILT_PATCH_DIR ?= $(CURDIR)/debian/patches
DEB_PATCHDIRS = $(QUILT_PATCH_DIR)
# DEB_QUILT_TOPDIR: directory where patches will be applied
# Use it only to override back to "." when CDBS sets DEB_SRCDIR
# and you don't want the quilt patching to happen in a subdirectory
DEB_QUILT_TOPDIR ?= $(DEB_SRCDIR)
# Internal variables, do not change it unless you know what you're doing
DEB_QUILT_CMD = cd $(DEB_QUILT_TOPDIR) && QUILT_PATCHES=$(DEB_PATCHDIRS) quilt --quiltrc /dev/null
# Declare Build-Dep of packages using this file onto quilt
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), quilt
# Build-Dep on patchutils to check for fool souls patching config.* files
# This is a Bad Thing since cdbs updates those files automatically.
# (code stolen from cdbs itself, in dpatch.mk)
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), patchutils (>= 0.2.25)
# target reverse-config, which we use, don't exist in old cdbs
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), cdbs (>= 0.4.27)
evil_patches_that_do_nasty_things := $(shell \
if lsdiff=`which lsdiff` ; then \
patchlist=`$(DEB_QUILT_CMD) series \
| sed 's|^|$(DEB_PATCHDIRS)/|' \
| tr "\n" " "`; \
if [ "x$$patchlist" != x ] ; then \
$$lsdiff -H $$patchlist \
| egrep "/config\.(guess|sub|rpath)$$" | tr "\n" " " ; \
fi;\
fi)
ifneq (, $(evil_patches_that_do_nasty_things))
$(warning WARNING: The following patches are modifying auto-updated files. This can result in serious trouble: $(evil_patches_that_do_nasty_things))
endif
post-patches:: apply-patches
clean:: reverse-patches
# The patch subsystem
apply-patches: pre-build debian/stamp-patched
debian/stamp-patched:
# reverse-config must be first
$(MAKE) -f debian/rules reverse-config
# quilt exits with 2 as return when there was nothing to do.
# That's not an error here (but it's usefull to break loops in crude scripts)
$(DEB_QUILT_CMD) push -a || test $$? = 2
touch debian/stamp-patched
$(MAKE) -f debian/rules update-config
# update-config must be last
reverse-patches:
# reverse-config must be first
$(MAKE) -f debian/rules reverse-config
if [ -d "$(DEB_QUILT_TOPDIR)" ]; then \
$(DEB_QUILT_CMD) pop -a -R || test $$? = 2 ; \
fi
rm -rf $(DEB_QUILT_TOPDIR)/.pc
rm -f debian/stamp-patch*
endif
|