Provided by: gnulib_20240701-1_all bug

NAME

       dh_gnulib_patch - debhelper gnulib patcher

SYNOPSIS

       dh_gnulib_patch

DESCRIPTION

       dh_gnulib_patch will apply patches to a gnulib directory.  The gnulib git clone is assumed
       to be in the current working directory.

       The purpose of dh_gnulib_patch is to apply patches to fix bugs in gnulib code.  This
       script will be invoked in a gnulib git clone directory with the git commit intended to be
       used checked out.  It is usually invoked from a debian/rules makefile as part of building
       a package.  The idea is that this script is invoked before the gnulib code content is
       actually used to build some other piece of software, thereby allowing the script to patch
       any security problems in the code before it is compiled.

       This script should work on ALL git commits of gnulib, or at least ALL git commits of
       gnulib that are relevant for building other packages that depend on gnulib.  If code that
       we want to patch has changed in gnulib over time, this script needs to figure out how to
       patch any version of that code.

       It is expected that this script will only be used to fix serious gnulib bugs that affect
       many packages that uses code from gnulib.  All packages that vendor gnulib files without
       using dh_gnulib_patch will have to be patched directly instead (although please consider
       converting the packages to use dh_gnulib_patch in the process).

       It is important that this script always perform at least one modification to the gnulib
       git clone tree.  We patch gnulib-tool to modify the --version output to achieve this.  The
       reason is that some gnulib scripts uses git "describe output" to influence other
       decisions, and we want to always trigger the dirty git describe.  Otherwise the dirty git
       describe code path may be untested up until we need to use this mechanism, where it
       potentially could break and causing hard to resolve build failures.

FILES

       Currently the script iterates through a conf.d-style directory path under
       /usr/share/gnulib/debian/patches.d/ asserting that at least one patch from each directory
       applies cleanly, ignoring patches that does not apply cleanly (assuming they were intended
       for some other gnulib git commit).  This is anticipated to be sufficient to solve most
       problems, but this script could do anything it like to make sure patches are applied,
       including explicit file modications without going through patches.

RETURN VALUE

       Returns 0 on success and non-zero on failures.

SEE ALSO

       debhelper(7), dh(1), gnulib-tool(1).

AUTHOR

       Simon Josefsson <simon@josefsson.org>