Dave Jones <davej@xxxxxxxxxx> writes: > On Sun, Jul 27, 2008 at 02:31:45PM -0400, Tom Lane wrote: >>> I looked around for a place to inject --fuzz=0 into the patch arguments >>> on F-9, and couldn't find one. Is the definition of %patch really >>> hardwired into rpmbuild? > Yes. Ick. > See the ApplyPatch macro in the kernel specfile for a way to work > around it. Double ick. After some poking at rpm I found that making F-9 support fuzz specification decently is really a very small patch (attached). With this, I can put "%_default_patch_fuzz 0" into ~/.rpmmacros and get rawhide-equivalent behavior. I think I'll be using a locally patched rpm if I can't get the maintainer to apply this... regards, tom lane diff -Naur rpm-4.4.2.3.orig/build/parsePrep.c rpm-4.4.2.3/build/parsePrep.c --- rpm-4.4.2.3.orig/build/parsePrep.c 2008-04-01 03:28:21.000000000 -0400 +++ rpm-4.4.2.3/build/parsePrep.c 2008-07-28 16:20:03.000000000 -0400 @@ -61,7 +61,7 @@ * @param strip patch level (i.e. patch -p argument) * @param db saved file suffix (i.e. patch --suffix argument) * @param reverse include -R? - * @param fuzz include -F? + * @param fuzz fuzz factor, fuzz<0 means no fuzz set * @param removeEmpties include -E? * @return expanded %patch macro (NULL on error) */ @@ -98,7 +98,7 @@ #endif t = stpcpy( stpcpy(t, "--suffix "), db); } - if (fuzz) { + if (fuzz>=0) { t = stpcpy(t, " -F"); sprintf(t, "%d", fuzz); t += strlen(t); @@ -463,7 +463,8 @@ int patch_index, x; memset(patch_nums, 0, sizeof(patch_nums)); - opt_P = opt_p = opt_R = opt_E = opt_F = 0; + opt_P = opt_p = opt_R = opt_E = 0; + opt_F = rpmExpandNumeric("%{_default_patch_fuzz}"); /* get default fuzz factor for %patch */ opt_b = NULL; patch_index = 0; @@ -515,7 +516,7 @@ fnum = strtok(NULL, " \t\n"); } opt_F = (fnum ? strtol(fnum, &end, 10) : 0); - if (! opt_F || *end) { + if (opt_F < 0 || *end) { rpmError(RPMERR_BADSPEC, _("line %d: Bad arg to %%patch -F: %s\n"), spec->lineNum, spec->line); diff -Naur rpm-4.4.2.3.orig/macros.in rpm-4.4.2.3/macros.in --- rpm-4.4.2.3.orig/macros.in 2008-04-01 03:28:22.000000000 -0400 +++ rpm-4.4.2.3/macros.in 2008-07-28 16:21:42.000000000 -0400 @@ -340,6 +340,9 @@ # #%vendor +# Default fuzz level for %patch in spec file (-1 means don't set it). +%_default_patch_fuzz -1 + #============================================================================== # ---- Build configuration macros. # -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list