Help with applying a differential

Warner Losh imp at bsdimp.com
Mon Mar 22 16:59:27 UTC 2021


On Mon, Mar 22, 2021, 10:19 AM Rainer Duffner <rainer at ultra-secure.de>
wrote:

>
>
> > Am 22.03.2021 um 16:34 schrieb Juraj Lutter <juraj at lutter.sk>:
> >
> >
> > To which branch do you want to apply those patches?
> >
> > Judging from the original patch date, I’d say that they have been
> developed against 13.0 at some point.
> > That being said, you may want to try to apply them manually against 13.0
> sources and see if/how they fail.
> >
> > otis
>
>
> Well, I tried this:
>
> git clone -o freebsd https://github.com/freebsd/freebsd-src.git -b
> releng/13.0 src
> cd src/sys/dev/smartpqi/
> git apply --check  ~/Downloads/D24428.diff
>
> but it doesn’t really make a difference.
>
> rduffner at suse5:~/f2/src/sys/dev/smartpqi> git apply --check
> ~/Downloads/D24428.diff
> error: patch failed: sys/dev/smartpqi/smartpqi_cam.c:231
> error: sys/dev/smartpqi/smartpqi_cam.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_cmd.c:43
> error: sys/dev/smartpqi/smartpqi_cmd.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_defines.h:77
> error: sys/dev/smartpqi/smartpqi_defines.h: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_discovery.c:62
> error: sys/dev/smartpqi/smartpqi_discovery.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_event.c:35
> error: sys/dev/smartpqi/smartpqi_event.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_helper.c:43
> error: sys/dev/smartpqi/smartpqi_helper.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_init.c:31
> error: sys/dev/smartpqi/smartpqi_init.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_intr.c:32
> error: sys/dev/smartpqi/smartpqi_intr.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_ioctl.h:67
> error: sys/dev/smartpqi/smartpqi_ioctl.h: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_ioctl.c:53
> error: sys/dev/smartpqi/smartpqi_ioctl.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_main.c:134
> error: sys/dev/smartpqi/smartpqi_main.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_misc.c:39
> error: sys/dev/smartpqi/smartpqi_misc.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_prototypes.h:120
> error: sys/dev/smartpqi/smartpqi_prototypes.h: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_queue.c:32
> error: sys/dev/smartpqi/smartpqi_queue.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_request.c:47
> error: sys/dev/smartpqi/smartpqi_request.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_response.c:85
> error: sys/dev/smartpqi/smartpqi_response.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_sis.c:77
> error: sys/dev/smartpqi/smartpqi_sis.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_structures.h:29
> error: sys/dev/smartpqi/smartpqi_structures.h: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_tag.c:73
> error: sys/dev/smartpqi/smartpqi_tag.c: patch does not apply
>
> where-as for the 12.2-src I get less problems actually:
>
> rduffner at suse5:~/f2/src-12/sys/dev/smartpqi> git apply --check
> ~/Downloads/D24428.diff
> error: patch failed: sys/dev/smartpqi/smartpqi_cam.c:473
> error: sys/dev/smartpqi/smartpqi_cam.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_defines.h:856
> error: sys/dev/smartpqi/smartpqi_defines.h: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_main.c:312
> error: sys/dev/smartpqi/smartpqi_main.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_mem.c:28
> error: sys/dev/smartpqi/smartpqi_mem.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_misc.c:69
> error: sys/dev/smartpqi/smartpqi_misc.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_queue.c:280
> error: sys/dev/smartpqi/smartpqi_queue.c: patch does not apply
> error: patch failed: sys/dev/smartpqi/smartpqi_request.c:540
> error: sys/dev/smartpqi/smartpqi_request.c: patch does not apply
>
>
> I really wonder against what source I need to apply that patch…
>

For me, It almost applied cleanly to stable/12 branch, but not to the main
branch:

% find . -name \*.rej
./sys/dev/smartpqi/smartpqi_mem.c.rej
./sys/dev/smartpqi/smartpqi_queue.c.rej
./sys/dev/smartpqi/smartpqi_defines.h.rej
./sys/dev/smartpqi/smartpqi_cam.c.rej
./sys/dev/smartpqi/smartpqi_misc.c.rej
./sys/dev/smartpqi/smartpqi_main.c.rej
./sys/dev/smartpqi/smartpqi_request.c.rej

In the main branch, it crashed patch :(.

A quick sample of the .rej files shows the diffs likely are easy to resolve
by hand, but with such a large patch I'm leery to do so. Add '-l' to patch
to cope with whitespace changes didn't seem to help.

So it looks like this patch needs to be regenerated and/or moved to git
where patch generation and uploading is a bit more reliable.

Warner


More information about the freebsd-stable mailing list