Man Linux: Main Page and Category List

NAME

       dpatch.make - simplistic wrapper around dpatch(1) for make(1).

SYNOPSIS

       include /usr/share/dpatch/dpatch.make

DESCRIPTION

       For  backwards  compatibility  and ease of use, dpatch.make is provided
       along with dpatch(1). Its purpose is to  implement  generic  patch  and
       unpatch rules that can be reused in debian/rules scripts.

USAGE

       Using  dpatch.make  is  rather  straightforward: one has to include the
       file in debian/rules, change the appropriate targets to depend on patch
       and unpatch, and that is all it takes.

       Figuring  out  what  the  appropriate target is, requires some thought.
       Generally, one has a build target, or config.status, or  configure  (or
       any  of  these with a -stamp suffix). Most of the time these are called
       first during the build, so one of these (the one that  exists,  and  is
       not  depended  upon by another one) has to be modified to depend on the
       patch target in dpatch.make.

       Doing the same for the clean target is easier. One only has  to  rename
       the  old  rule  to,  say,  clean-patched,  then make a new one that has
       clean-patched and unpatch in its list of prerequisites.

CUSTOMISATION

       There are a few variables which are used by dpatch.make, which  can  be
       set  before  including  it,  in order to change the systems behaviour a
       little.

       These variables are:

              DEB_SOURCE_PACKAGE
                     This is  the  name  of  the  source  package,  used  when
                     creating the stamp file. By default, it is empty.
              DPATCH_STAMPDIR
                     This  is  the  directory  where  stamp files will be put.
                     Default is debian/patched.
              DPATCH_STAMPFN
                     The name of the stamp  file,  which  contains  the  patch
                     descriptions  and other possible meta-data. Default value
                     is patch-stamp.
              DPATCH_WORKDIR
                     The target directory to apply patches to. By default,  it
                     is the current directory.
              PATCHLIST
                     The  list  of patches to apply. This is an alternative to
                     debian/patches/00list - that is, if this variable is  not
                     empty,  the  contents of 00list will be ignored, and this
                     variable will be used instead.

EXAMPLE

               include /usr/share/dpatch/dpatch.make

               build: build-stamp
               build-stamp: patch-stamp
                   ${MAKE}
                   touch build-stamp

               clean: clean1 unpatch
               clean1:
                   ${MAKE} clean
                   rm -rf debian/files debian/substvars debian/imaginary-package

               .PHONY: patch unpatch ...
                   .
                   .
                   .

SIDE EFFECTS

       Using dpatch.make instead of  calling  dpatch  directly  has  one  side
       effect:  it  will  create  a  file  called  patch-stamp containing some
       meta-information extracted from the scriptlets.

       Depending on a phony patch target directly from build target may  cause
       build target to be reevaluated even when there is no change to be done.
       Instead, try making build-stamp depend on patch-stamp as  specified  in
       this example.

AUTHOR

       Originally by Gergely Nagy.  Modified by Junichi Uekawa.

SEE ALSO

       dpatch(1),   dpatch(7),   dpatch-edit-patch(1),   dpatch-list-patch(1),
       dpatch-get-origtargz(1), dpatch-convert-diffgz(1)