Why does patch not find this file?
file, linux, patch, u-boot
Solution
There are three file paths involved here:
- The patch's original file: `u-boot-2013.01/arch/powerpc/cpu/mpc85xx/cpu_init.c`
- The patch's target file: `u-boot-2013.01.modified/arch/powerpc/cpu/mpc85xx/cpu_init.c`
- The stripped target file due to `-p1`: `arch/powerpc/cpu/mpc85xx/cpu_init.c`
Patch looks for the stripped target file, and it doesn't exist.
`cd u-boot-2013.01` and then `patch -p1 < ../../u-boot/u-boot-2013.01-wr.patch`, and you should have more luck.
Problem
I would like to apply a patch to the u-boot sources but some how, Linux doesn't let me. What I have: ``` reg@ubuntu:~/NextGen/trunk/FW/thirdparty/u-boot$ patch -p1 < ../u-boot/u-boot-2013.01-wr.patch can't find file to patch at input line 4 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff -uNr u-boot-2013.01/arch/powerpc/cpu/mpc85xx/cpu_init.c u-boot-2013.01.modified/arch/powerpc/cpu/mpc85xx/cpu_init.c |--- u-boot-2013.01/arch/powerpc/cpu/mpc85xx/cpu_init.c 2013-01-15 13:47:42.000000000 -0800 |+++ u-boot-2013.01.modified/arch/powerpc/cpu/mpc85xx/cpu_init.c 2013-05-16 10:58:08.973906692 -0700 -------------------------- File to patch: ^C reg@ubuntu:~/NextGen/trunk/FW/thirdparty/u-boot$ ls -l u-boot-2013.01/arch/powerpc/cpu/mpc85xx/cpu_init.c -rw-r--r-- 1 reg reg 16745 Jan 15 2013 u-boot-2013.01/arch/powerpc/cpu/mpc85xx/cpu_init.c reg@ubuntu:~/NextGen/trunk/FW/thirdparty/u-boot$ ``` So why can it not find the file when it's perfectly at the right location? What's going on here?